From c056ddb95dc4b1f6f9e578812acd52472aeeb282 Mon Sep 17 00:00:00 2001 From: ekgns33 Date: Wed, 2 Jul 2025 20:34:09 +0900 Subject: [PATCH 1/4] :recycle: refactor : add comment to SignUpUsecaseImpl --- .../org/runimo/runimo/auth/service/SignUpUsecaseImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/org/runimo/runimo/auth/service/SignUpUsecaseImpl.java b/src/main/java/org/runimo/runimo/auth/service/SignUpUsecaseImpl.java index 00b5001..f9e0f95 100644 --- a/src/main/java/org/runimo/runimo/auth/service/SignUpUsecaseImpl.java +++ b/src/main/java/org/runimo/runimo/auth/service/SignUpUsecaseImpl.java @@ -40,15 +40,19 @@ public class SignUpUsecaseImpl implements SignUpUsecase { @Override @Transactional public SignupUserResponse register(UserSignupCommand command) { + // 1. 토큰 검증 SignupTokenPayload payload = jwtResolver.getSignupTokenPayload(command.registerToken()); SignupToken signupToken = findUnExpiredSignupToken(payload.token()); + // 2. 유저생성 userRegisterService.validateExistingUser(payload.providerId(), payload.socialProvider()); String imgUrl = fileStorageService.storeFile(command.profileImage()); User savedUser = userRegisterService.registerUser( mapToUserCreateCommand(payload, imgUrl, command)); + // 3. 애플 토큰 생성 if (payload.socialProvider() == SocialProvider.APPLE) { createAppleUserToken(savedUser.getId(), signupToken); } + // 4. 신규회원 보상 지급 Egg grantedEgg = eggGrantService.grantGreetingEggToUser(savedUser); removeSignupToken(payload.token()); From 9355f44eeed3a1169c71b3cd77cde2b21e0d4c65 Mon Sep 17 00:00:00 2001 From: ekgns33 Date: Wed, 2 Jul 2025 20:37:44 +0900 Subject: [PATCH 2/4] :sparkles: feat : set default lovePoint as 10 when creating new user --- src/main/java/org/runimo/runimo/user/service/UserCreator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/runimo/runimo/user/service/UserCreator.java b/src/main/java/org/runimo/runimo/user/service/UserCreator.java index cc22a32..1d3be6f 100644 --- a/src/main/java/org/runimo/runimo/user/service/UserCreator.java +++ b/src/main/java/org/runimo/runimo/user/service/UserCreator.java @@ -19,6 +19,7 @@ @RequiredArgsConstructor public class UserCreator { + private final static long GREETING_LOVE_POINT = 10; private final UserRepository userRepository; private final OAuthInfoRepository oAuthInfoRepository; private final LovePointRepository lovePointRepository; @@ -48,7 +49,7 @@ public OAuthInfo createUserOAuthInfo(User user, SocialProvider provider, String public LovePoint createLovePoint(Long userId) { LovePoint lovePoint = LovePoint.builder() .userId(userId) - .amount(0L) + .amount(GREETING_LOVE_POINT) .build(); return lovePointRepository.save(lovePoint); } From 26f5f7812cf8f6330f5a10b9c2da070dbbcda134 Mon Sep 17 00:00:00 2001 From: ekgns33 Date: Wed, 2 Jul 2025 20:38:18 +0900 Subject: [PATCH 3/4] :white_check_mark: test : update test codes --- .../auth/controller/AuthAcceptanceTest.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/test/java/org/runimo/runimo/auth/controller/AuthAcceptanceTest.java b/src/test/java/org/runimo/runimo/auth/controller/AuthAcceptanceTest.java index c2399d1..a45c2f6 100644 --- a/src/test/java/org/runimo/runimo/auth/controller/AuthAcceptanceTest.java +++ b/src/test/java/org/runimo/runimo/auth/controller/AuthAcceptanceTest.java @@ -98,6 +98,35 @@ void tearDown() { .body("payload.token_pair.refresh_token", notNullValue()); } + @Test + void 회원가입_시_애정포인트_10_지급() throws JsonProcessingException { + AuthSignupRequest request = new AuthSignupRequest(token, "username", Gender.UNKNOWN); + + String token = String.valueOf(given() + .contentType(ContentType.MULTIPART) + .multiPart("request", objectMapper.writeValueAsString(request)) + .when() + .post("/api/v1/auth/signup") + .then() + .statusCode(HttpStatus.CREATED.value()) + .log().all() + .body("payload.nickname", equalTo("username")) + .body("payload.token_pair.access_token", notNullValue()) + .body("payload.token_pair.refresh_token", notNullValue()) + .extract() + .path("payload.token_pair.access_token").toString()); + + given() + .contentType(ContentType.JSON) + .header("Authorization", "Bearer " + token) + .when() + .get("/api/v1/main") + .then() + .statusCode(HttpStatus.OK.value()) + .log().all() + .body("payload.user_info.love_point", equalTo(10)); + } + @Test void 토큰_오류_회원가입_실패_401응답() throws JsonProcessingException { AuthSignupRequest request = new AuthSignupRequest(token, "username", Gender.UNKNOWN); From 5e5d592ddad43a3ac8f9b4d687496d32126f3082 Mon Sep 17 00:00:00 2001 From: ekgns33 Date: Wed, 2 Jul 2025 21:56:04 +0900 Subject: [PATCH 4/4] :white_check_mark: test : change variable name --- .../org/runimo/runimo/auth/controller/AuthAcceptanceTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/runimo/runimo/auth/controller/AuthAcceptanceTest.java b/src/test/java/org/runimo/runimo/auth/controller/AuthAcceptanceTest.java index a45c2f6..e4a4faf 100644 --- a/src/test/java/org/runimo/runimo/auth/controller/AuthAcceptanceTest.java +++ b/src/test/java/org/runimo/runimo/auth/controller/AuthAcceptanceTest.java @@ -102,7 +102,7 @@ void tearDown() { void 회원가입_시_애정포인트_10_지급() throws JsonProcessingException { AuthSignupRequest request = new AuthSignupRequest(token, "username", Gender.UNKNOWN); - String token = String.valueOf(given() + String accessToken = String.valueOf(given() .contentType(ContentType.MULTIPART) .multiPart("request", objectMapper.writeValueAsString(request)) .when() @@ -118,7 +118,7 @@ void tearDown() { given() .contentType(ContentType.JSON) - .header("Authorization", "Bearer " + token) + .header("Authorization", "Bearer " + accessToken) .when() .get("/api/v1/main") .then()