11package com .semosan .api .domain .user .service ;
22
3+ import com .semosan .api .domain .hiking .repository .CourseDifficultyFeedbackRepository ;
34import com .semosan .api .domain .hiking .repository .HikingMemberRepository ;
45import com .semosan .api .domain .hiking .repository .HikingRecordRepository ;
56import com .semosan .api .domain .mountain .repository .CourseLikeRepository ;
1718import com .semosan .api .domain .user .repository .UserRepository ;
1819import org .junit .jupiter .api .Test ;
1920import org .junit .jupiter .api .extension .ExtendWith ;
21+ import org .mockito .InOrder ;
2022import org .mockito .InjectMocks ;
2123import org .mockito .Mock ;
2224import org .mockito .junit .jupiter .MockitoExtension ;
2729
2830import static org .assertj .core .api .Assertions .assertThat ;
2931import static org .mockito .ArgumentMatchers .any ;
32+ import static org .mockito .Mockito .inOrder ;
3033import static org .mockito .Mockito .verify ;
3134import static org .mockito .Mockito .when ;
3235
@@ -57,6 +60,9 @@ class UserServiceTest {
5760 @ Mock
5861 private HikingRecordRepository hikingRecordRepository ;
5962
63+ @ Mock
64+ private CourseDifficultyFeedbackRepository courseDifficultyFeedbackRepository ;
65+
6066 @ Mock
6167 private NotificationRepository notificationRepository ;
6268
@@ -173,8 +179,10 @@ void withdrawUserDeletesUserChildRecordsAndSoftDeletesUser() {
173179
174180 verify (mountainLikeRepository ).deleteByUser_Id (1L );
175181 verify (reviewRepository ).deleteByUser_Id (1L );
182+ verify (courseDifficultyFeedbackRepository ).deleteByUser_Id (1L );
176183 verify (hikingRecordRepository ).findRecordIdsOnlyParticipatedByUser (1L );
177184 verify (hikingMemberRepository ).deleteByUser_Id (1L );
185+ verify (courseDifficultyFeedbackRepository ).deleteByHikingRecord_IdIn (List .of (10L , 11L ));
178186 verify (hikingRecordRepository ).deleteAllByIdInBatch (List .of (10L , 11L ));
179187 verify (notificationRepository ).deleteAllByUserId (1L );
180188 verify (userOnboardingRepository ).deleteByUser_Id (1L );
@@ -187,5 +195,9 @@ void withdrawUserDeletesUserChildRecordsAndSoftDeletesUser() {
187195 assertThat (user .getNickname ()).isNull ();
188196 assertThat (user .getOauthId ()).isEqualTo ("WITHDRAWN:1:TEST" );
189197 assertThat (user .getOnboardingStatus ()).isEqualTo (OnboardingStatus .INCOMPLETE );
198+
199+ InOrder deleteOrder = inOrder (courseDifficultyFeedbackRepository , hikingRecordRepository );
200+ deleteOrder .verify (courseDifficultyFeedbackRepository ).deleteByHikingRecord_IdIn (List .of (10L , 11L ));
201+ deleteOrder .verify (hikingRecordRepository ).deleteAllByIdInBatch (List .of (10L , 11L ));
190202 }
191203}
0 commit comments