Skip to content

Commit 8c85909

Browse files
committed
fix : 멤버 엔티티 수정 - 이메일 nullable false 삭제
- OauthServiceTest 추가
1 parent ad24d52 commit 8c85909

File tree

2 files changed

+63
-1
lines changed

2 files changed

+63
-1
lines changed

src/main/java/umc/th/juinjang/domain/member/model/Member.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ public class Member extends BaseEntity implements UserDetails {
4343
@GeneratedValue(strategy = GenerationType.IDENTITY)
4444
private Long memberId;
4545

46-
@Column(nullable = false)
4746
private String email;
4847

4948
private String nickname;
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package umc.th.juinjang.api.auth.service;
2+
3+
import static org.assertj.core.api.Assertions.*;
4+
import static org.mockito.ArgumentMatchers.*;
5+
6+
import org.junit.jupiter.api.DisplayName;
7+
import org.junit.jupiter.api.Test;
8+
import org.mockito.BDDMockito;
9+
import org.springframework.beans.factory.annotation.Autowired;
10+
import org.springframework.boot.test.mock.mockito.MockBean;
11+
import org.springframework.http.HttpStatus;
12+
import org.springframework.http.ResponseEntity;
13+
14+
import umc.th.juinjang.api.IntegrationTestSupport;
15+
import umc.th.juinjang.domain.member.model.Member;
16+
import umc.th.juinjang.domain.member.model.MemberStatus;
17+
import umc.th.juinjang.domain.member.repository.MemberRepository;
18+
import umc.th.juinjang.external.openfeign.kakao.KakaoUnlinkClient;
19+
20+
public class OauthServiceTest extends IntegrationTestSupport {
21+
22+
@MockBean
23+
private KakaoUnlinkClient kakaoUnlinkClient;
24+
25+
@Autowired
26+
private MemberRepository memberRepository;
27+
28+
@Autowired
29+
private OAuthServiceV2 oauthService;
30+
31+
@Test
32+
@DisplayName("카카오 탈퇴 성공 - 카카오 연결 끊기 성공 시 회원 상태가 WITHDRAWN으로 변경")
33+
void kakaoWithdraw_Success() {
34+
// given
35+
Long testTargetId = 123456789L;
36+
37+
Member testMember = Member.createKakaoMember(
38+
"test@example.com",
39+
testTargetId,
40+
"테스트유저",
41+
"1.0"
42+
);
43+
memberRepository.save(testMember);
44+
45+
ResponseEntity<String> successResponse = new ResponseEntity<>("success", HttpStatus.OK);
46+
47+
BDDMockito.when(
48+
kakaoUnlinkClient.unlinkUser(any(), any(), any())
49+
).thenReturn(successResponse);
50+
51+
// when
52+
boolean result = oauthService.kakaoWithdraw(testMember, testTargetId);
53+
54+
// then
55+
Member updatedMember = memberRepository.findById(testMember.getMemberId()).orElseThrow();
56+
assertThat(updatedMember)
57+
.extracting(Member::getMemberId, Member::getStatus, Member::getKakaoTargetId, Member::getNickname,
58+
Member::getDeletedAt)
59+
.containsExactly(testMember.getMemberId(), MemberStatus.WITHDRAWN, null, null,
60+
updatedMember.getDeletedAt());
61+
}
62+
63+
}

0 commit comments

Comments
 (0)