Skip to content

Commit

Permalink
Merge pull request #65 from Nexters/develop
Browse files Browse the repository at this point in the history
테스트코드 추가
  • Loading branch information
emost22 authored Jun 20, 2024
2 parents 7142ce5 + 5ad33cf commit 7b279c2
Show file tree
Hide file tree
Showing 14 changed files with 115 additions and 16 deletions.
3 changes: 1 addition & 2 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,8 @@ jobs:
distribution: 'corretto'

- name: make application.yml
if: contains(github.ref, 'develop') || contains(github.ref, 'main')
if: github.event.pull_request.base.ref == 'main'
run: |
mkdir ./src/main/resources
cd ./src/main/resources
touch ./application.yml
echo "${{ secrets.YML_PROD }}" > ./application.yml
Expand Down
2 changes: 2 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ dependencies {
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"

testImplementation 'com.h2database:h2:2.1.214'
compileOnly('com.h2database:h2:2.1.214')
}

// === Querydsl 빌드 옵션 ===
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
package com.sirius.spurt.common.resolver;

import com.sirius.spurt.common.exception.GlobalException;
import com.sirius.spurt.common.meta.JobGroup;
import com.sirius.spurt.common.meta.ResultCode;
import com.sirius.spurt.common.resolver.user.LoginUser;
import com.sirius.spurt.store.provider.auth.AuthProvider;
import com.sirius.spurt.store.provider.auth.vo.AuthVo;
import com.sirius.spurt.store.provider.jobgroup.JobGroupProvider;
import com.sirius.spurt.store.provider.user.UserProvider;
import com.sirius.spurt.store.provider.user.vo.UserVo;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
import org.springframework.core.MethodParameter;
Expand Down Expand Up @@ -54,11 +52,11 @@ public Object resolveArgument(
String accessToken = accessHeader.replace(TOKEN_TYPE, "");
userInfo = authProvider.getUserId(accessToken);
// 로그인 이후 직군 미선택 유저 추가 체크
// UserVo userVo = userProvider.getUserInfo(userInfo.getUserId());
// if (userVo == null) {
// jobGroupProvider.saveJobGroup(
// userInfo.getUserId(), userInfo.getEmail(), JobGroup.DEVELOPER);
// }
// UserVo userVo = userProvider.getUserInfo(userInfo.getUserId());
// if (userVo == null) {
// jobGroupProvider.saveJobGroup(
// userInfo.getUserId(), userInfo.getEmail(), JobGroup.DEVELOPER);
// }
}
return new LoginUser(userInfo.getUserId(), userInfo.getEmail());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@ public QuestionVoList randomQuestion(

@Override
public void deleteQuestion(final String userId, final Long questionId) {
QuestionEntity questionEntity = questionRepository.findByQuestionIdAndUserId(questionId, userId);
QuestionEntity questionEntity =
questionRepository.findByQuestionIdAndUserId(questionId, userId);
QuestionValidator.validate(questionEntity);
questionRepository.delete(questionEntity);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "CATEGORY")
@Table(name = "tb_category")
public class CategoryEntity extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "EXPERIENCE")
@Table(name = "tb_experience")
public class ExperienceEntity extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "KEYWORD")
@Table(name = "tb_keyword")
public class KeyWordEntity extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "QUESTION")
@Table(name = "tb_question")
public class QuestionEntity extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "SAMPLE")
@Table(name = "tb_sample")
public class SampleEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "USER")
@Table(name = "tb_user")
public class UserEntity extends BaseEntity {
@Id private String userId;

Expand Down
23 changes: 23 additions & 0 deletions src/main/resources/application-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
spring:
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:mem:testdb;MODE=MySQL;
username: sa
password:

jpa:
open-in-view: true
hibernate:
ddl-auto: update
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
show-sql: true
properties:
hibernate:
format_sql: true
dialect: org.hibernate.dialect.MySQL8InnoDBDialect
defer-datasource-initialization: true
sql:
init:
mode: always
encoding: UTF-8
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.sirius.spurt.common.config;

import com.querydsl.jpa.impl.JPAQueryFactory;
import com.sirius.spurt.store.repository.database.custom.impl.QuestionRepositoryImpl;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import org.springframework.boot.test.context.TestConfiguration;
import org.springframework.context.annotation.Bean;

@TestConfiguration
public class QuerydslConfigTest {
@PersistenceContext private EntityManager entityManager;

@Bean
public JPAQueryFactory jpaQueryFactory() {
return new JPAQueryFactory(entityManager);
}

@Bean
public QuestionRepositoryImpl questionRepositoryImpl() {
return new QuestionRepositoryImpl(jpaQueryFactory());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.sirius.spurt.store.repository.database.repository;

import static org.assertj.core.api.Assertions.assertThat;

import com.sirius.spurt.common.config.QuerydslConfigTest;
import com.sirius.spurt.test.UserTest;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.ActiveProfiles;

@DataJpaTest
@ActiveProfiles("test")
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@Import(QuerydslConfigTest.class)
class UserRepositoryTest implements UserTest {
@Autowired private UserRepository userRepository;

@Test
void 유저_존재_확인_테스트() {
// given
userRepository.save(TEST_USER);

// when
boolean isExistsUser = userRepository.existsByUserId(TEST_USER_ID);

// then
assertThat(isExistsUser).isEqualTo(true);
}
}
21 changes: 21 additions & 0 deletions src/test/java/com/sirius/spurt/test/UserTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.sirius.spurt.test;

import com.sirius.spurt.common.meta.JobGroup;
import com.sirius.spurt.store.repository.database.entity.UserEntity;

public interface UserTest {
String TEST_USER_ID = "userId";
JobGroup TEST_JOB_GROUP = JobGroup.DEVELOPER;
String TEST_EMAIL = "[email protected]";
Boolean TEST_HAS_PINED = Boolean.TRUE;
Boolean TEST_HAS_POSTED = Boolean.TRUE;

UserEntity TEST_USER =
UserEntity.builder()
.userId(TEST_USER_ID)
.jobGroup(TEST_JOB_GROUP)
.email(TEST_EMAIL)
.hasPined(TEST_HAS_PINED)
.hasPosted(TEST_HAS_POSTED)
.build();
}

0 comments on commit 7b279c2

Please sign in to comment.