Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down