diff --git a/play-admin/src/test/java/com/starry/admin/modules/clerk/service/impl/PlayClerkDataReviewInfoServiceImplTest.java b/play-admin/src/test/java/com/starry/admin/modules/clerk/service/impl/PlayClerkDataReviewInfoServiceImplTest.java index 45d4ed6..ea78495 100644 --- a/play-admin/src/test/java/com/starry/admin/modules/clerk/service/impl/PlayClerkDataReviewInfoServiceImplTest.java +++ b/play-admin/src/test/java/com/starry/admin/modules/clerk/service/impl/PlayClerkDataReviewInfoServiceImplTest.java @@ -178,6 +178,50 @@ class PlayClerkDataReviewInfoServiceImplTest { assertThat(row.getMediaVideoUrls()).containsExactly((String) null); } + @Test + void updateDataReviewStateUpdatesAvatarOnApproval() { + PlayClerkDataReviewInfoEntity review = buildReview("review-avatar", "clerk-1", "1", + java.util.Collections.singletonList("https://oss/avatar.png")); + // 审核服务内部通过 selectPlayClerkDataReviewInfoById 查询审核记录 + org.mockito.Mockito.doReturn(review).when(service).selectPlayClerkDataReviewInfoById("review-avatar"); + + PlayClerkDataReviewStateEditVo vo = new PlayClerkDataReviewStateEditVo(); + vo.setId("review-avatar"); + vo.setReviewState(ClerkReviewState.APPROVED); + + service.updateDataReviewState(vo); + + ArgumentCaptor captor = ArgumentCaptor.forClass(PlayClerkUserInfoEntity.class); + verify(clerkUserInfoService).update(captor.capture()); + PlayClerkUserInfoEntity updated = captor.getValue(); + assertThat(updated.getId()).isEqualTo("clerk-1"); + assertThat(updated.getAvatar()).isEqualTo("https://oss/avatar.png"); + // 其他字段不应被误改 + assertThat(updated.getNickname()).isNull(); + assertThat(updated.getAudio()).isNull(); + } + + @Test + void updateDataReviewStateUpdatesAudioOnApproval() { + PlayClerkDataReviewInfoEntity review = buildReview("review-audio", "clerk-2", "3", + java.util.Collections.singletonList("https://oss/audio.m4a")); + org.mockito.Mockito.doReturn(review).when(service).selectPlayClerkDataReviewInfoById("review-audio"); + + PlayClerkDataReviewStateEditVo vo = new PlayClerkDataReviewStateEditVo(); + vo.setId("review-audio"); + vo.setReviewState(ClerkReviewState.APPROVED); + + service.updateDataReviewState(vo); + + ArgumentCaptor captor = ArgumentCaptor.forClass(PlayClerkUserInfoEntity.class); + verify(clerkUserInfoService, org.mockito.Mockito.atLeastOnce()).update(captor.capture()); + PlayClerkUserInfoEntity updated = captor.getValue(); + assertThat(updated.getId()).isEqualTo("clerk-2"); + assertThat(updated.getAudio()).isEqualTo("https://oss/audio.m4a"); + assertThat(updated.getNickname()).isNull(); + assertThat(updated.getAvatar()).isNull(); + } + private PlayClerkDataReviewInfoEntity buildReview(String id, String clerkId, String dataType, java.util.List payload) { PlayClerkDataReviewInfoEntity entity = new PlayClerkDataReviewInfoEntity();