Skip to content

Commit

Permalink
[#37] refactor: 사용자 정보 create 호출 시 넘기도록 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
kimyu0218 committed Feb 3, 2025
1 parent 4cffb17 commit 8d8c4fd
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,23 +48,22 @@ public Long kakaoLogin(final KakaoLoginCommand command) {
final KakaoTokenResponse token =
getKakaoToken(command.authorizationCode(), command.redirectUri());
log.info("kakao 토큰 받아오기 완료");
final KakaoUserInfoResponse userInfo = getKakaoUserInfo(token.getAccessToken());
final KakaoUserInfoResponse userInfo = getKakaoUserInfo(token.accessToken());
log.info("kakao 사용자 정보 받아오기 완료");

final String oauthId = userInfo.getId().toString();
final String oauthId = userInfo.id().toString();
final Member member = findKakaoMember(oauthId);
if (member == null) {
return signupKakaoMember(command.authorizationCode()).getId();
final Member newMember =
memberRepository.save(
Member.create(userInfo.kakaoAccount().name(), userInfo.kakaoAccount().email()));
socialAccountRepository.save(SocialAccount.kakaoSignup(oauthId, newMember));
return newMember.getId();
}
member.updateUserInfo(userInfo.kakaoAccount().name(), userInfo.kakaoAccount().email());
return member.getId();
}

private Member signupKakaoMember(final String oauthId) {
final Member member = memberRepository.save(Member.create());
socialAccountRepository.save(SocialAccount.kakaoSignup(oauthId, member));
return member;
}

private Member findKakaoMember(final String oauthId) {
return socialAccountRepository
.findByOauthIdAndSocialProviderAndDeletedAtIsNull(oauthId, SocialProvider.KAKAO)
Expand Down Expand Up @@ -100,7 +99,8 @@ public Long appleLogin(final AppleLoginCommand command) {
.map(account -> account.getMember().getId())
.orElseGet(
() -> {
final Member member = memberRepository.save(Member.create());
final Member member =
memberRepository.save(Member.create("TODO: name", "TODO: email"));
socialAccountRepository.save(
SocialAccount.appleSignUp(authorization.getSub(), member));
return member.getId();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import org.nexters.jaknaesocore.common.support.ServiceTest;
import org.nexters.jaknaesocore.domain.auth.restclient.dto.KakaoTokenResponse;
import org.nexters.jaknaesocore.domain.auth.restclient.dto.KakaoUserInfoResponse;
import org.nexters.jaknaesocore.domain.auth.restclient.dto.KakaoUserInfoResponse.KakaoAccount;
import org.nexters.jaknaesocore.domain.auth.service.dto.KakaoLoginCommand;
import org.nexters.jaknaesocore.domain.member.model.Member;
import org.nexters.jaknaesocore.domain.socialaccount.model.SocialAccount;
Expand All @@ -37,7 +38,7 @@ class OauthServiceTest extends ServiceTest {
given(kakaoAuthClient.requestToken(makeKakaoTokenRequestParams(command.authorizationCode())))
.willReturn(new KakaoTokenResponse("bearer", "access token", 1, "refresh token", 1));
given(kakaoClient.requestUserInfo(BEARER_PREFIX + "access token"))
.willReturn(new KakaoUserInfoResponse(oauthId));
.willReturn(new KakaoUserInfoResponse(oauthId, new KakaoAccount("name", "email")));
given(
socialAccountRepository.findByOauthIdAndSocialProviderAndDeletedAtIsNull(
oauthId.toString(), KAKAO))
Expand All @@ -59,7 +60,7 @@ class OauthServiceTest extends ServiceTest {
given(kakaoAuthClient.requestToken(makeKakaoTokenRequestParams(command.authorizationCode())))
.willReturn(new KakaoTokenResponse("bearer", "access token", 1, "refresh token", 1));
given(kakaoClient.requestUserInfo(BEARER_PREFIX + "access token"))
.willReturn(new KakaoUserInfoResponse(oauthId));
.willReturn(new KakaoUserInfoResponse(oauthId, new KakaoAccount("name", "email")));
given(
socialAccountRepository.findByOauthIdAndSocialProviderAndDeletedAtIsNull(
oauthId.toString(), KAKAO))
Expand Down Expand Up @@ -91,7 +92,7 @@ class OauthServiceTest extends ServiceTest {
}

private Member createMemberWithId(final Long id) {
Member member = Member.create();
Member member = Member.create("name", "email");
ReflectionTestUtils.setField(member, "id", id);
return member;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class MemberRepositoryTest extends RepositoryTest {

@Test
void 아이디에_해당하는_멤버를_조회한다() {
Member member = memberRepository.save(Member.create());
Member member = memberRepository.save(Member.create("name", "email"));

then(memberRepository.findMember(member.getId())).isEqualTo(member);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ void tearDown() {

@Test
void 멤버를_삭제한다() {
Member member = memberRepository.save(Member.create());
Member member = memberRepository.save(Member.create("name", "email"));

sut.deleteMember(member.getId());

Expand All @@ -39,7 +39,7 @@ void tearDown() {

@Test
void 멤버_삭제_시_멤버의_소셜_계정도_함께_삭제한다() {
Member member = memberRepository.save(Member.create());
Member member = memberRepository.save(Member.create("name", "email"));
SocialAccount account =
socialAccountRepository.save(SocialAccount.kakaoSignup("oauthId1", member));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class SocialAccountRepositoryTest extends RepositoryTest {

@Test
void oauthId와_socialProvider에_해당하는_소셜_계정을_조회한다() {
Member member = memberRepository.save(Member.create());
Member member = memberRepository.save(Member.create("name", "email"));
socialAccountRepository.save(SocialAccount.kakaoSignup("oauthId1", member));

Optional<SocialAccount> actual1 =
Expand All @@ -34,7 +34,7 @@ class SocialAccountRepositoryTest extends RepositoryTest {

@Test
void oauthId와_socialProvider에_해당하는_소셜_계정_존재_여부를_조회한다() {
Member member = memberRepository.save(Member.create());
Member member = memberRepository.save(Member.create("name", "email"));
socialAccountRepository.save(SocialAccount.kakaoSignup("oauthId1", member));

boolean actual1 =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class SurveySubscriptionsTest {
@Test
void getSubmittedSurvey() {
// given
Member member = Member.create();
Member member = Member.create("name", "email");
ReflectionTestUtils.setField(member, "id", 1L);

SurveyBundle surveyBundle = new SurveyBundle();
Expand Down Expand Up @@ -51,10 +51,10 @@ void getSubmittedSurvey() {
@Test
void getSubmittedSurvey_OtherMember() {
// given
Member member1 = Member.create();
Member member1 = Member.create("name", "email");
ReflectionTestUtils.setField(member1, "id", 1L);

Member member2 = Member.create();
Member member2 = Member.create("name", "email");
ReflectionTestUtils.setField(member2, "id", 2L);

SurveyBundle surveyBundle = new SurveyBundle();
Expand Down Expand Up @@ -90,7 +90,7 @@ void getSubmittedSurvey_OtherMember() {
@Test
void getSubmittedSurvey_Empty() {
// given
Member member = Member.create();
Member member = Member.create("name", "email");
ReflectionTestUtils.setField(member, "id", 1L);

// when
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.nexters.jaknaesocore.domain.survey.repository;

import static org.assertj.core.api.BDDAssertions.*;
import static org.assertj.core.api.BDDAssertions.then;
import static org.assertj.core.api.BDDAssertions.tuple;

import java.math.BigDecimal;
import java.util.List;
Expand All @@ -10,7 +11,12 @@
import org.nexters.jaknaesocore.common.support.IntegrationTest;
import org.nexters.jaknaesocore.domain.member.model.Member;
import org.nexters.jaknaesocore.domain.member.repository.MemberRepository;
import org.nexters.jaknaesocore.domain.survey.model.*;
import org.nexters.jaknaesocore.domain.survey.model.BalanceSurvey;
import org.nexters.jaknaesocore.domain.survey.model.Keyword;
import org.nexters.jaknaesocore.domain.survey.model.KeywordScore;
import org.nexters.jaknaesocore.domain.survey.model.SurveyBundle;
import org.nexters.jaknaesocore.domain.survey.model.SurveyOption;
import org.nexters.jaknaesocore.domain.survey.model.SurveySubmission;
import org.springframework.beans.factory.annotation.Autowired;

class SurveySubmissionRepositoryTest extends IntegrationTest {
Expand All @@ -34,7 +40,7 @@ void tearDown() {
@DisplayName("회원이 제출한 설문 ID를 가져온다.")
@Test
void findByMember_IdAndDeletedAtIsNull() {
Member member = Member.create();
Member member = Member.create("name", "email");
memberRepository.save(member);
SurveyBundle surveyBundle = new SurveyBundle();
surveyBundleRepository.save(surveyBundle);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.nexters.jaknaesocore.domain.survey.service;

import static org.assertj.core.api.BDDAssertions.*;
import static org.assertj.core.api.BDDAssertions.then;
import static org.assertj.core.api.BDDAssertions.tuple;

import java.math.BigDecimal;
import java.util.List;
Expand All @@ -11,13 +12,18 @@
import org.nexters.jaknaesocore.domain.member.model.Member;
import org.nexters.jaknaesocore.domain.member.repository.MemberRepository;
import org.nexters.jaknaesocore.domain.survey.dto.SurveyResponse;
import org.nexters.jaknaesocore.domain.survey.model.*;
import org.nexters.jaknaesocore.domain.survey.model.BalanceSurvey;
import org.nexters.jaknaesocore.domain.survey.model.Keyword;
import org.nexters.jaknaesocore.domain.survey.model.KeywordScore;
import org.nexters.jaknaesocore.domain.survey.model.SurveyBundle;
import org.nexters.jaknaesocore.domain.survey.model.SurveyOption;
import org.nexters.jaknaesocore.domain.survey.repository.SurveyBundleRepository;
import org.nexters.jaknaesocore.domain.survey.repository.SurveyOptionRepository;
import org.nexters.jaknaesocore.domain.survey.repository.SurveyRepository;
import org.springframework.beans.factory.annotation.Autowired;

class SurveyServiceTest extends IntegrationTest {

@Autowired private SurveyService surveyService;

@Autowired private MemberRepository memberRepository;
Expand All @@ -37,7 +43,7 @@ void tearDown() {
@Test
void getNextSurvey() {
// given
Member member = Member.create();
Member member = Member.create("name", "email");
memberRepository.save(member);
SurveyBundle surveyBundle = new SurveyBundle();
surveyBundleRepository.save(surveyBundle);
Expand Down

0 comments on commit 8d8c4fd

Please sign in to comment.