Skip to content

Commit 318e9cf

Browse files
authored
Merge pull request Kernel360#394 from oxix97/test/Kernel360#393-base-test
Test : �Base 테스트 코드 클래스 작성
2 parents 48d79a8 + 277c0a6 commit 318e9cf

27 files changed

+510
-533
lines changed

orury-client/src/test/java/org/orury/client/auth/application/AuthFacadeTest.java

+2-17
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
package org.orury.client.auth.application;
22

33
import jakarta.servlet.http.HttpServletRequest;
4-
import org.junit.jupiter.api.BeforeEach;
54
import org.junit.jupiter.api.DisplayName;
65
import org.junit.jupiter.api.Test;
7-
import org.junit.jupiter.api.extension.ExtendWith;
8-
import org.mockito.junit.jupiter.MockitoExtension;
96
import org.orury.client.auth.interfaces.message.AuthMessage;
107
import org.orury.client.auth.interfaces.request.LoginRequest;
118
import org.orury.client.auth.interfaces.response.LoginResponse;
9+
import org.orury.client.config.FacadeTest;
1210
import org.orury.domain.auth.domain.dto.JwtToken;
1311
import org.orury.domain.auth.domain.dto.LoginDto;
1412
import org.orury.domain.auth.domain.dto.SignUpDto;
1513
import org.orury.domain.user.domain.dto.UserDto;
1614
import org.orury.domain.user.domain.dto.UserStatus;
1715
import org.springframework.mock.web.MockHttpServletRequest;
18-
import org.springframework.test.context.ActiveProfiles;
1916

2017
import java.time.LocalDate;
2118
import java.time.LocalDateTime;
@@ -25,22 +22,10 @@
2522
import static org.mockito.ArgumentMatchers.any;
2623
import static org.mockito.BDDMockito.given;
2724
import static org.mockito.BDDMockito.then;
28-
import static org.mockito.Mockito.mock;
2925
import static org.mockito.Mockito.times;
3026

31-
@ExtendWith(MockitoExtension.class)
3227
@DisplayName("[Facade] AuthFacade 테스트")
33-
@ActiveProfiles("test")
34-
class AuthFacadeTest {
35-
private AuthFacade authFacade;
36-
private AuthService authService;
37-
38-
@BeforeEach
39-
void setUp() {
40-
authService = mock(AuthService.class);
41-
42-
authFacade = new AuthFacade(authService);
43-
}
28+
class AuthFacadeTest extends FacadeTest {
4429

4530
@DisplayName("UserDto를 받아, 회원가입하고 SignUpResponse를 반환한다.")
4631
@Test

orury-client/src/test/java/org/orury/client/auth/application/AuthServiceImplTest.java

+2-26
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,23 @@
11
package org.orury.client.auth.application;
22

33
import jakarta.servlet.http.HttpServletRequest;
4-
import org.junit.jupiter.api.BeforeEach;
54
import org.junit.jupiter.api.DisplayName;
65
import org.junit.jupiter.api.Test;
7-
import org.junit.jupiter.api.extension.ExtendWith;
8-
import org.mockito.junit.jupiter.MockitoExtension;
9-
import org.orury.client.auth.application.jwt.JwtTokenService;
106
import org.orury.client.auth.application.oauth.AppleOAuthService;
117
import org.orury.client.auth.application.oauth.KakaoOAuthService;
128
import org.orury.client.auth.application.oauth.OAuthService;
13-
import org.orury.client.auth.application.oauth.OAuthServiceManager;
149
import org.orury.client.auth.interfaces.message.AuthMessage;
1510
import org.orury.client.auth.interfaces.request.LoginRequest;
11+
import org.orury.client.config.ServiceTest;
1612
import org.orury.common.error.code.AuthErrorCode;
1713
import org.orury.common.error.code.UserErrorCode;
1814
import org.orury.common.error.exception.AuthException;
1915
import org.orury.common.error.exception.BusinessException;
2016
import org.orury.domain.auth.domain.dto.LoginDto;
21-
import org.orury.domain.user.domain.UserReader;
22-
import org.orury.domain.user.domain.UserStore;
2317
import org.orury.domain.user.domain.dto.UserDto;
2418
import org.orury.domain.user.domain.dto.UserStatus;
2519
import org.orury.domain.user.domain.entity.User;
2620
import org.springframework.dao.DataIntegrityViolationException;
27-
import org.springframework.test.context.ActiveProfiles;
2821

2922
import java.time.LocalDate;
3023
import java.time.LocalDateTime;
@@ -35,25 +28,8 @@
3528
import static org.mockito.ArgumentMatchers.*;
3629
import static org.mockito.BDDMockito.*;
3730

38-
@ExtendWith(MockitoExtension.class)
3931
@DisplayName("[Service] AuthServiceImpl 테스트")
40-
@ActiveProfiles("test")
41-
class AuthServiceImplTest {
42-
private AuthService authService;
43-
private UserReader userReader;
44-
private UserStore userStore;
45-
private JwtTokenService jwtTokenService;
46-
private OAuthServiceManager oAuthServiceManager;
47-
48-
@BeforeEach
49-
void setUp() {
50-
userReader = mock(UserReader.class);
51-
userStore = mock(UserStore.class);
52-
jwtTokenService = mock(JwtTokenService.class);
53-
oAuthServiceManager = mock(OAuthServiceManager.class);
54-
55-
authService = new AuthServiceImpl(userReader, userStore, jwtTokenService, oAuthServiceManager);
56-
}
32+
class AuthServiceImplTest extends ServiceTest {
5733

5834
@Test
5935
@DisplayName("email 중복되지 않는 경우, 회원정보 저장하고 JwtToken 발급하여 반환한다.")

orury-client/src/test/java/org/orury/client/auth/application/KakaoOAuthServiceTest.java

+3-29
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,27 @@
11
package org.orury.client.auth.application;
22

3-
import org.junit.jupiter.api.BeforeEach;
43
import org.junit.jupiter.api.DisplayName;
54
import org.junit.jupiter.api.Test;
6-
import org.junit.jupiter.api.extension.ExtendWith;
7-
import org.mockito.junit.jupiter.MockitoExtension;
8-
import org.orury.client.auth.application.oauth.KakaoOAuthService;
9-
import org.orury.client.auth.application.oauth.OAuthService;
10-
import org.orury.client.auth.application.oauth.kakaofeign.KakaoAuthClient;
11-
import org.orury.client.auth.application.oauth.kakaofeign.KakaoKapiClient;
5+
import org.orury.client.config.ServiceTest;
126
import org.orury.domain.auth.domain.dto.kakao.KakaoAccount;
137
import org.orury.domain.auth.domain.dto.kakao.KakaoAccountDto;
148
import org.orury.domain.auth.domain.dto.kakao.KakaoOAuthTokenDto;
159
import org.orury.domain.auth.domain.dto.kakao.Profile;
16-
import org.springframework.test.context.ActiveProfiles;
1710

1811
import java.time.LocalDateTime;
1912

2013
import static org.junit.jupiter.api.Assertions.assertEquals;
2114
import static org.mockito.ArgumentMatchers.any;
2215
import static org.mockito.BDDMockito.given;
2316
import static org.mockito.BDDMockito.then;
24-
import static org.mockito.Mockito.mock;
2517
import static org.mockito.Mockito.times;
2618

27-
@ExtendWith(MockitoExtension.class)
2819
@DisplayName("[Service] KakaoOAuthService 테스트")
29-
@ActiveProfiles("test")
30-
class KakaoOAuthServiceTest {
31-
32-
private OAuthService oAuthService;
33-
private KakaoAuthClient kakaoAuthClient;
34-
private KakaoKapiClient kakaoKapiClient;
35-
private static final int KAKAO_SIGN_UP_TYPE = 1;
36-
37-
@BeforeEach
38-
void setUp() {
39-
kakaoAuthClient = mock(KakaoAuthClient.class);
40-
kakaoKapiClient = mock(KakaoKapiClient.class);
41-
42-
oAuthService = new KakaoOAuthService(kakaoAuthClient, kakaoKapiClient);
43-
}
20+
class KakaoOAuthServiceTest extends ServiceTest {
4421

4522
@Test
4623
void getKakaoSignUpType() {
47-
assertEquals(
48-
KAKAO_SIGN_UP_TYPE,
49-
oAuthService.getSignUpType()
50-
);
24+
assertEquals(KAKAO_SIGN_UP_TYPE, oAuthService.getSignUpType());
5125
}
5226

5327
@DisplayName("OAuth인증코드를 받으면, Kakao OAuth 인증 서버에 요청을 보낸 후 응답에서 이메일 찾아 반환한다.")

orury-client/src/test/java/org/orury/client/comment/application/CommentFacadeTest.java

+10-33
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,34 @@
11
package org.orury.client.comment.application;
22

3-
import static org.junit.jupiter.api.Assertions.assertEquals;
4-
import static org.mockito.ArgumentMatchers.any;
5-
import static org.mockito.ArgumentMatchers.anyLong;
6-
import static org.mockito.BDDMockito.given;
7-
import static org.mockito.BDDMockito.then;
8-
import static org.mockito.Mockito.mock;
9-
import static org.mockito.Mockito.never;
10-
import static org.mockito.Mockito.times;
11-
12-
import org.junit.jupiter.api.BeforeEach;
133
import org.junit.jupiter.api.DisplayName;
144
import org.junit.jupiter.api.Test;
15-
import org.junit.jupiter.api.extension.ExtendWith;
16-
import org.mockito.junit.jupiter.MockitoExtension;
175
import org.orury.client.comment.interfaces.request.CommentCreateRequest;
186
import org.orury.client.comment.interfaces.request.CommentUpdateRequest;
197
import org.orury.client.comment.interfaces.response.CommentsWithCursorResponse;
20-
import org.orury.client.notification.application.NotificationService;
21-
import org.orury.client.post.application.PostService;
22-
import org.orury.client.user.application.UserService;
8+
import org.orury.client.config.FacadeTest;
239
import org.orury.domain.comment.domain.dto.CommentDto;
2410
import org.orury.domain.comment.domain.dto.CommentLikeDto;
2511
import org.orury.domain.comment.domain.entity.CommentLikePK;
2612
import org.orury.domain.global.constants.NumberConstants;
2713
import org.orury.domain.post.domain.dto.PostDto;
2814
import org.orury.domain.user.domain.dto.UserDto;
2915
import org.orury.domain.user.domain.dto.UserStatus;
30-
import org.springframework.test.context.ActiveProfiles;
3116

3217
import java.time.LocalDate;
3318
import java.time.LocalDateTime;
3419
import java.util.Collections;
3520
import java.util.List;
3621

37-
@ExtendWith(MockitoExtension.class)
22+
import static org.junit.jupiter.api.Assertions.assertEquals;
23+
import static org.mockito.ArgumentMatchers.any;
24+
import static org.mockito.ArgumentMatchers.anyLong;
25+
import static org.mockito.BDDMockito.given;
26+
import static org.mockito.BDDMockito.then;
27+
import static org.mockito.Mockito.never;
28+
import static org.mockito.Mockito.times;
29+
3830
@DisplayName("[Facade] 댓글 Facade 테스트")
39-
@ActiveProfiles("test")
40-
class CommentFacadeTest {
41-
CommentFacade commentFacade;
42-
CommentService commentService;
43-
PostService postService;
44-
UserService userService;
45-
NotificationService notificationService;
46-
47-
@BeforeEach
48-
void setUp() {
49-
commentService = mock(CommentService.class);
50-
postService = mock(PostService.class);
51-
userService = mock(UserService.class);
52-
53-
commentFacade = new CommentFacade(commentService, postService, userService, notificationService);
54-
}
31+
class CommentFacadeTest extends FacadeTest {
5532

5633
@DisplayName("댓글생성Request와 유저id를 받으면, 댓글을 생성한다.")
5734
@Test

orury-client/src/test/java/org/orury/client/comment/application/CommentServiceImplTest.java

+4-21
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
package org.orury.client.comment.application;
22

3-
import org.junit.jupiter.api.BeforeEach;
43
import org.junit.jupiter.api.DisplayName;
54
import org.junit.jupiter.api.Test;
6-
import org.junit.jupiter.api.extension.ExtendWith;
7-
import org.mockito.junit.jupiter.MockitoExtension;
5+
import org.orury.client.config.ServiceTest;
86
import org.orury.common.error.code.CommentErrorCode;
97
import org.orury.common.error.exception.BusinessException;
10-
import org.orury.domain.comment.domain.CommentReader;
11-
import org.orury.domain.comment.domain.CommentStore;
128
import org.orury.domain.comment.domain.dto.CommentDto;
139
import org.orury.domain.comment.domain.dto.CommentLikeDto;
1410
import org.orury.domain.comment.domain.entity.Comment;
@@ -20,7 +16,6 @@
2016
import org.orury.domain.user.domain.dto.UserStatus;
2117
import org.orury.domain.user.domain.entity.User;
2218
import org.springframework.data.domain.PageRequest;
23-
import org.springframework.test.context.ActiveProfiles;
2419

2520
import java.time.LocalDate;
2621
import java.time.LocalDateTime;
@@ -33,23 +28,11 @@
3328
import static org.mockito.ArgumentMatchers.anyLong;
3429
import static org.mockito.BDDMockito.given;
3530
import static org.mockito.BDDMockito.then;
36-
import static org.mockito.Mockito.*;
31+
import static org.mockito.Mockito.never;
32+
import static org.mockito.Mockito.times;
3733

38-
@ExtendWith(MockitoExtension.class)
3934
@DisplayName("[Service] 댓글 ServiceImpl 테스트")
40-
@ActiveProfiles("test")
41-
class CommentServiceImplTest {
42-
private CommentService commentService;
43-
private CommentReader commentReader;
44-
private CommentStore commentStore;
45-
46-
@BeforeEach
47-
void setUp() {
48-
commentReader = mock(CommentReader.class);
49-
commentStore = mock(CommentStore.class);
50-
51-
commentService = new CommentServiceImpl(commentReader, commentStore);
52-
}
35+
class CommentServiceImplTest extends ServiceTest {
5336

5437
@Test
5538
@DisplayName("부모댓글id로 0을 가진 댓글Dto가 들어오면, 댓글이 생성되고 게시글의 댓글수가 증가되어야 한다.")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package org.orury.client.config;
2+
3+
import org.junit.jupiter.api.BeforeEach;
4+
import org.junit.jupiter.api.extension.ExtendWith;
5+
import org.mockito.junit.jupiter.MockitoExtension;
6+
import org.orury.client.auth.application.AuthFacade;
7+
import org.orury.client.auth.application.AuthService;
8+
import org.orury.client.comment.application.CommentFacade;
9+
import org.orury.client.comment.application.CommentService;
10+
import org.orury.client.crew.application.CrewFacade;
11+
import org.orury.client.crew.application.CrewService;
12+
import org.orury.client.gym.application.GymFacade;
13+
import org.orury.client.gym.application.GymService;
14+
import org.orury.client.meeting.application.MeetingFacade;
15+
import org.orury.client.meeting.application.MeetingService;
16+
import org.orury.client.notification.application.NotificationService;
17+
import org.orury.client.post.application.PostService;
18+
import org.orury.client.review.application.ReviewFacade;
19+
import org.orury.client.review.application.ReviewService;
20+
import org.orury.client.user.application.UserFacade;
21+
import org.orury.client.user.application.UserService;
22+
import org.springframework.test.context.ActiveProfiles;
23+
24+
import static org.mockito.Mockito.mock;
25+
26+
@ExtendWith(MockitoExtension.class)
27+
@ActiveProfiles("test")
28+
public abstract class FacadeTest {
29+
protected AuthFacade authFacade;
30+
protected AuthService authService;
31+
protected CommentFacade commentFacade;
32+
protected CommentService commentService;
33+
protected CrewFacade crewFacade;
34+
protected CrewService crewService;
35+
protected PostService postService;
36+
protected UserService userService;
37+
protected GymFacade gymFacade;
38+
protected GymService gymService;
39+
protected ReviewService reviewService;
40+
protected ReviewFacade reviewFacade;
41+
protected UserFacade userFacade;
42+
protected MeetingService meetingService;
43+
protected MeetingFacade meetingFacade;
44+
protected NotificationService notificationService;
45+
46+
@BeforeEach
47+
void setUp() {
48+
authService = mock(AuthService.class);
49+
commentService = mock(CommentService.class);
50+
crewService = mock(CrewService.class);
51+
postService = mock(PostService.class);
52+
userService = mock(UserService.class);
53+
gymService = mock(GymService.class);
54+
reviewService = mock(ReviewService.class);
55+
userService = mock(UserService.class);
56+
gymService = mock(GymService.class);
57+
meetingService = mock(MeetingService.class);
58+
notificationService = mock(NotificationService.class);
59+
60+
userFacade = new UserFacade(userService, postService, reviewService, commentService);
61+
gymFacade = new GymFacade(gymService, reviewService);
62+
commentFacade = new CommentFacade(commentService, postService, userService, notificationService);
63+
crewFacade = new CrewFacade(crewService, userService);
64+
authFacade = new AuthFacade(authService);
65+
reviewFacade = new ReviewFacade(reviewService, userService, gymService);
66+
meetingFacade = new MeetingFacade(meetingService, crewService, userService, gymService);
67+
}
68+
}

0 commit comments

Comments
 (0)