Skip to content

Commit eba261b

Browse files
committed
test[member]: 회원 탈퇴 시 연관 데이터 삭제 로직 추가에 따른 테스트 코드 수정
1 parent a61d13b commit eba261b

File tree

2 files changed

+38
-4
lines changed

2 files changed

+38
-4
lines changed

backend/src/test/java/com/ai/lawyer/domain/member/service/MemberServiceOAuth2Test.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,15 @@ class MemberServiceOAuth2Test {
5757
@Mock
5858
private EmailAuthService emailAuthService;
5959

60+
@Mock
61+
private com.ai.lawyer.domain.post.repository.PostRepository postRepository;
62+
63+
@Mock
64+
private com.ai.lawyer.domain.poll.repository.PollVoteRepository pollVoteRepository;
65+
66+
@Mock
67+
private com.ai.lawyer.domain.chatbot.repository.HistoryRepository historyRepository;
68+
6069
@Mock
6170
private HttpServletResponse response;
6271

@@ -74,7 +83,10 @@ void setUp() {
7483
tokenProvider,
7584
cookieUtil,
7685
emailService,
77-
emailAuthService
86+
emailAuthService,
87+
postRepository,
88+
pollVoteRepository,
89+
historyRepository
7890
);
7991
memberService.setOauth2MemberRepository(oauth2MemberRepository);
8092

backend/src/test/java/com/ai/lawyer/domain/member/service/MemberServiceTest.java

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,15 @@ class MemberServiceTest {
5252
@Mock
5353
private EmailAuthService emailAuthService;
5454

55+
@Mock
56+
private com.ai.lawyer.domain.post.repository.PostRepository postRepository;
57+
58+
@Mock
59+
private com.ai.lawyer.domain.poll.repository.PollVoteRepository pollVoteRepository;
60+
61+
@Mock
62+
private com.ai.lawyer.domain.chatbot.repository.HistoryRepository historyRepository;
63+
5564
@Mock
5665
private HttpServletResponse response;
5766

@@ -73,7 +82,10 @@ void setUp() {
7382
tokenProvider,
7483
cookieUtil,
7584
emailService,
76-
emailAuthService
85+
emailAuthService,
86+
postRepository,
87+
pollVoteRepository,
88+
historyRepository
7789
);
7890
memberService.setOauth2MemberRepository(oauth2MemberRepository);
7991

@@ -300,9 +312,19 @@ void withdraw_Success() {
300312
memberService.deleteMember(loginId);
301313

302314
// then
303-
verify(tokenProvider).deleteAllTokens(loginId); // Redis 토큰 삭제
315+
// 1. 회원 조회
304316
verify(memberRepository).findByLoginId(loginId);
305-
verify(memberRepository).delete(member); // 회원 삭제 (cascade로 연관 데이터 자동 삭제)
317+
318+
// 2. 연관 데이터 명시적 삭제 (순서 중요)
319+
verify(historyRepository).deleteByMemberIdValue(member.getMemberId());
320+
verify(pollVoteRepository).deleteByMemberIdValue(member.getMemberId());
321+
verify(postRepository).deleteByMemberIdValue(member.getMemberId());
322+
323+
// 3. Redis 토큰 삭제
324+
verify(tokenProvider).deleteAllTokens(loginId);
325+
326+
// 4. 회원 삭제
327+
verify(memberRepository).delete(member);
306328
}
307329

308330
@Test

0 commit comments

Comments
 (0)