From 6201c1ddf2bf2fb87ee3495d6899129b25230a74 Mon Sep 17 00:00:00 2001 From: Kwak Seong Joon Date: Thu, 18 Jul 2024 08:46:19 +0900 Subject: [PATCH 1/5] =?UTF-8?q?[chore]=20=EC=8A=A4=EC=9B=A8=EA=B1=B0=20?= =?UTF-8?q?=EB=B0=9B=EC=95=84=EC=98=A4=EB=8A=94=20=ED=86=A0=ED=81=B0?= =?UTF-8?q?=EB=AA=85=20=EB=B3=80=EA=B2=BD=20-=20#161?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/dateroad/user/api/UserApi.java | 6 ++--- .../dateroad/user/service/AuthService.java | 2 -- .../dateroad/user/service/UserService.java | 1 - .../user/service/AuthServiceTest.java | 26 +++++++++++++++++++ 4 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 dateroad-api/src/test/java/org/dateroad/user/service/AuthServiceTest.java diff --git a/dateroad-api/src/main/java/org/dateroad/user/api/UserApi.java b/dateroad-api/src/main/java/org/dateroad/user/api/UserApi.java index a2915e38..d0a670f7 100644 --- a/dateroad-api/src/main/java/org/dateroad/user/api/UserApi.java +++ b/dateroad-api/src/main/java/org/dateroad/user/api/UserApi.java @@ -41,9 +41,9 @@ public interface UserApi { @ApiResponse(responseCode = "500", description = "서버 오류") }) ResponseEntity signUp( - @RequestHeader(name = "Authorization", required = true) @Parameter(description = "Bearer 토큰") final String token, + @RequestHeader(name = "Authorization", required = true) @Parameter(description = "플랫폼 토큰") final String token, @RequestPart(name = "userSignUpReq", required = true) @Parameter(description = "회원가입 요청 데이터") final UserSignUpReq userSignUpReq, - @RequestPart(name = "image", required = true) @Parameter(description = "프로필 이미지") MultipartFile image, + @RequestPart(name = "image", required = false) @Parameter(description = "프로필 이미지") MultipartFile image, @RequestPart(name = "tag", required = true) @Parameter(description = "사용자 태그") List tag ) throws IOException, ExecutionException, InterruptedException; @@ -55,7 +55,7 @@ ResponseEntity signUp( @ApiResponse(responseCode = "500", description = "서버 오류") }) ResponseEntity signIn( - @RequestHeader(name = "Authorization", required = true) @Parameter(description = "Bearer 토큰") final String token, + @RequestHeader(name = "Authorization", required = true) @Parameter(description = "플랫폼 토큰") final String token, @RequestBody(description = "로그인 요청 데이터", required = true) final UserSignInReq userSignInReq ); diff --git a/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java b/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java index 5fdce0af..69482fa3 100644 --- a/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java +++ b/dateroad-api/src/main/java/org/dateroad/user/service/AuthService.java @@ -14,7 +14,6 @@ import org.dateroad.exception.UnauthorizedException; import org.dateroad.refreshtoken.domain.RefreshToken; import org.dateroad.refreshtoken.repository.RefreshTokenRepository; -import org.dateroad.s3.S3Service; import org.dateroad.tag.domain.DateTagType; import org.dateroad.tag.domain.UserTag; import org.dateroad.tag.repository.UserTagRepository; @@ -25,7 +24,6 @@ import org.dateroad.user.repository.UserRepository; import org.dateroad.user.dto.request.UserSignUpReq; import org.dateroad.user.dto.response.UserJwtInfoRes; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; diff --git a/dateroad-api/src/main/java/org/dateroad/user/service/UserService.java b/dateroad-api/src/main/java/org/dateroad/user/service/UserService.java index 610d794c..5148019e 100644 --- a/dateroad-api/src/main/java/org/dateroad/user/service/UserService.java +++ b/dateroad-api/src/main/java/org/dateroad/user/service/UserService.java @@ -1,7 +1,6 @@ package org.dateroad.user.service; import io.micrometer.common.lang.Nullable; -import lombok.AccessLevel; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dateroad.code.FailureCode; diff --git a/dateroad-api/src/test/java/org/dateroad/user/service/AuthServiceTest.java b/dateroad-api/src/test/java/org/dateroad/user/service/AuthServiceTest.java new file mode 100644 index 00000000..8cfc320f --- /dev/null +++ b/dateroad-api/src/test/java/org/dateroad/user/service/AuthServiceTest.java @@ -0,0 +1,26 @@ +package org.dateroad.user.service; + +import org.assertj.core.api.Assertions; +import org.dateroad.code.FailureCode; +import org.dateroad.common.ValidatorUtil; +import org.dateroad.exception.InvalidValueException; +import org.dateroad.tag.domain.DateTagType; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.mockito.InjectMocks; +import org.mockito.Mock; + +import java.util.Collections; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; + +class AuthServiceTest { + + @Mock + + + @Test + @DisplayName("유저가 회원가입을 한다.") + +} \ No newline at end of file From 03b33fc487afb48907b9674009843074ea4c7774 Mon Sep 17 00:00:00 2001 From: Kwak Seong Joon Date: Thu, 18 Jul 2024 09:49:11 +0900 Subject: [PATCH 2/5] =?UTF-8?q?[chore]=20=EC=8A=A4=EC=9B=A8=EA=B1=B0=20?= =?UTF-8?q?=EC=9D=B4=EB=A6=84=20=EB=B3=80=EA=B2=BD=20-=20#161?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dateroad-api/src/main/java/org/dateroad/user/api/UserApi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dateroad-api/src/main/java/org/dateroad/user/api/UserApi.java b/dateroad-api/src/main/java/org/dateroad/user/api/UserApi.java index d0a670f7..ace0398b 100644 --- a/dateroad-api/src/main/java/org/dateroad/user/api/UserApi.java +++ b/dateroad-api/src/main/java/org/dateroad/user/api/UserApi.java @@ -55,7 +55,7 @@ ResponseEntity signUp( @ApiResponse(responseCode = "500", description = "서버 오류") }) ResponseEntity signIn( - @RequestHeader(name = "Authorization", required = true) @Parameter(description = "플랫폼 토큰") final String token, + @RequestHeader(name = "Authorization", required = true) @Parameter(description = "플랫폼폼 토큰") final String token, @RequestBody(description = "로그인 요청 데이터", required = true) final UserSignInReq userSignInReq ); From e3ee243d99c131d59edf141902b6e04d36e63d27 Mon Sep 17 00:00:00 2001 From: Kwak Seong Joon Date: Fri, 19 Jul 2024 04:40:35 +0900 Subject: [PATCH 3/5] =?UTF-8?q?[feat]=20AuthServiceTest=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=20-=20#161?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/service/AuthServiceTest.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/dateroad-api/src/test/java/org/dateroad/user/service/AuthServiceTest.java b/dateroad-api/src/test/java/org/dateroad/user/service/AuthServiceTest.java index 8cfc320f..d85e78b3 100644 --- a/dateroad-api/src/test/java/org/dateroad/user/service/AuthServiceTest.java +++ b/dateroad-api/src/test/java/org/dateroad/user/service/AuthServiceTest.java @@ -3,12 +3,21 @@ import org.assertj.core.api.Assertions; import org.dateroad.code.FailureCode; import org.dateroad.common.ValidatorUtil; +import org.dateroad.exception.ConflictException; import org.dateroad.exception.InvalidValueException; import org.dateroad.tag.domain.DateTagType; +import org.dateroad.user.domain.Platform; +import org.dateroad.user.domain.User; +import org.dateroad.user.dto.request.UserSignUpReq; +import org.dateroad.user.repository.UserRepository; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.Mockito; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.util.Assert; import java.util.Collections; import java.util.List; @@ -18,9 +27,18 @@ class AuthServiceTest { @Mock + UserRepository userRepository; + @InjectMocks + AuthService authService; @Test @DisplayName("유저가 회원가입을 한다.") - + void testDuplicatedNickName() { + User user = User.create("성준", "dfsjalsadf", Platform.KAKAO, "null"); + Mockito.when(userRepository.save(user)).thenReturn(user); + Assertions.assertThatThrownBy( + () -> authService.checkNickname(user.getName()) + ).isInstanceOf(ConflictException.class); + } } \ No newline at end of file From 72e8ccb37ee92f8d01c45be30113488b7ebbe118 Mon Sep 17 00:00:00 2001 From: Kwak Seong Joon Date: Fri, 19 Jul 2024 08:39:27 +0900 Subject: [PATCH 4/5] [feat] AuthTest - #161 --- .../user/service/AuthServiceTest.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/dateroad-api/src/test/java/org/dateroad/user/service/AuthServiceTest.java b/dateroad-api/src/test/java/org/dateroad/user/service/AuthServiceTest.java index d85e78b3..4d04b474 100644 --- a/dateroad-api/src/test/java/org/dateroad/user/service/AuthServiceTest.java +++ b/dateroad-api/src/test/java/org/dateroad/user/service/AuthServiceTest.java @@ -13,9 +13,11 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.util.Assert; @@ -23,22 +25,30 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; +@ExtendWith(MockitoExtension.class) class AuthServiceTest { + @InjectMocks + AuthService authService; @Mock UserRepository userRepository; - @InjectMocks - AuthService authService; - @Test @DisplayName("유저가 회원가입을 한다.") void testDuplicatedNickName() { + + //given User user = User.create("성준", "dfsjalsadf", Platform.KAKAO, "null"); - Mockito.when(userRepository.save(user)).thenReturn(user); + + //when + userRepository.save(user); + + //then Assertions.assertThatThrownBy( - () -> authService.checkNickname(user.getName()) + () -> authService.checkNickname("성준") ).isInstanceOf(ConflictException.class); } } \ No newline at end of file From 8224d5fc11388141d23eccb621e06e21578d60b6 Mon Sep 17 00:00:00 2001 From: Kwak Seong Joon Date: Tue, 13 Aug 2024 23:24:37 +0900 Subject: [PATCH 5/5] =?UTF-8?q?[fix]=20=EC=9C=A0=EC=A0=80=20=ED=94=84?= =?UTF-8?q?=EB=A1=9C=ED=95=84=20=EC=88=98=EC=A0=95=20=EC=9D=B4=EB=AF=B8?= =?UTF-8?q?=EC=A7=80=20nullable=20=EC=88=98=EC=A0=95=20-=20#161?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/dateroad/user/api/UserController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dateroad-api/src/main/java/org/dateroad/user/api/UserController.java b/dateroad-api/src/main/java/org/dateroad/user/api/UserController.java index 40f9db6f..7fb801cc 100644 --- a/dateroad-api/src/main/java/org/dateroad/user/api/UserController.java +++ b/dateroad-api/src/main/java/org/dateroad/user/api/UserController.java @@ -87,7 +87,7 @@ public ResponseEntity getUserInfoMyPage(@UserId final Long public ResponseEntity patchUserProfile(@UserId final Long userId, @RequestPart("name") final String name, @RequestPart("tags") final List tags, - @Nullable @RequestPart("image") final MultipartFile image ) throws IOException, ExecutionException, InterruptedException { + @Nullable @RequestPart(name = "image", required = false) final MultipartFile image ) throws IOException, ExecutionException, InterruptedException { userService.editUserProfile(userId, name, tags, image); return ResponseEntity .ok()