Skip to content

Commit 009ccfc

Browse files
committed
Feat(#71): 회원 탈퇴 시 이벤트 처리 테스트 추가
1 parent c833d6a commit 009ccfc

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

application/wypl-core/src/test/java/com/wypl/wyplcore/member/service/MemberServiceTest.java

+16
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.wypl.wyplcore.member.service;
22

33
import static org.assertj.core.api.Assertions.*;
4+
import static org.mockito.ArgumentCaptor.*;
45
import static org.mockito.ArgumentMatchers.*;
56
import static org.mockito.BDDMockito.*;
67

@@ -14,9 +15,12 @@
1415
import org.junit.jupiter.api.extension.ExtendWith;
1516
import org.junit.jupiter.params.ParameterizedTest;
1617
import org.junit.jupiter.params.provider.EnumSource;
18+
import org.mockito.ArgumentCaptor;
1719
import org.mockito.InjectMocks;
1820
import org.mockito.Mock;
1921
import org.mockito.junit.jupiter.MockitoExtension;
22+
import org.springframework.context.ApplicationEventPublisher;
23+
import org.springframework.test.context.event.RecordApplicationEvents;
2024

2125
import com.wypl.googleoauthclient.GoogleOAuthClient;
2226
import com.wypl.googleoauthclient.data.response.GoogleUserInfoResponse;
@@ -26,8 +30,10 @@
2630
import com.wypl.jpamemberdomain.member.domain.SocialMember;
2731
import com.wypl.jpamemberdomain.member.repository.MemberRepository;
2832
import com.wypl.jpamemberdomain.member.repository.SocialMemberRepository;
33+
import com.wypl.wyplcore.member.data.MemberEventDto;
2934
import com.wypl.wyplcore.member.fixture.MemberFixture;
3035

36+
@RecordApplicationEvents
3137
@ExtendWith(MockitoExtension.class)
3238
public class MemberServiceTest {
3339
@InjectMocks
@@ -38,6 +44,8 @@ public class MemberServiceTest {
3844
private GoogleOAuthClient googleOAuthClient;
3945
@Mock
4046
private SocialMemberRepository socialMemberRepository;
47+
@Mock
48+
private ApplicationEventPublisher applicationEventPublisher;
4149

4250
@DisplayName("Member를 정상적으로 삭제한다.")
4351
@Test
@@ -53,6 +61,14 @@ void quitMemberTest() {
5361

5462
// Then
5563
verify(memberRepository).deleteById(anyLong());
64+
65+
// ArgumentCaptor를 사용하여 이벤트 캡처 (파라미터 캡처)
66+
ArgumentCaptor<MemberEventDto> eventCaptor = forClass(MemberEventDto.class);
67+
verify(applicationEventPublisher).publishEvent(eventCaptor.capture());
68+
69+
// 캡처된 이벤트 검증 (파라미터 검증)
70+
MemberEventDto capturedEvent = eventCaptor.getValue();
71+
assertThat(capturedEvent.accessToken()).isEqualTo("accessToken");
5672
}
5773

5874
@DisplayName("로그인 및 회원가입 로직을 테스트한다.")

0 commit comments

Comments
 (0)