feat(media): refine clerk album review and tests

This commit is contained in:
irving
2025-12-05 22:16:01 -05:00
parent e683ef6863
commit 21bbd0386d
7 changed files with 469 additions and 30 deletions

View File

@@ -213,9 +213,23 @@ class WxClerkMediaControllerApiTest extends AbstractApiTest {
assertThat(customerMediaIdsAfterFirst).containsAll(allMediaIds);
List<String> keptMedia = List.of(mediaIdA, mediaIdC);
// 第二次提交:只删除与重新排序,不再生成新的资料审核记录,应直接生效
long reviewCountBeforeSecond = dataReviewInfoService.lambdaQuery()
.eq(com.starry.admin.modules.clerk.module.entity.PlayClerkDataReviewInfoEntity::getClerkId,
ApiTestDataSeeder.DEFAULT_CLERK_ID)
.eq(com.starry.admin.modules.clerk.module.entity.PlayClerkDataReviewInfoEntity::getDataType, "2")
.count();
submitAlbumUpdate(keptMedia, clerkToken);
ensureTenantContext();
approveLatestAlbumReview();
long reviewCountAfterSecond = dataReviewInfoService.lambdaQuery()
.eq(com.starry.admin.modules.clerk.module.entity.PlayClerkDataReviewInfoEntity::getClerkId,
ApiTestDataSeeder.DEFAULT_CLERK_ID)
.eq(com.starry.admin.modules.clerk.module.entity.PlayClerkDataReviewInfoEntity::getDataType, "2")
.count();
assertThat(reviewCountAfterSecond)
.as("deleting/reordering album should not create another review record")
.isEqualTo(reviewCountBeforeSecond);
List<PlayClerkMediaAssetEntity> assetsAfterSecondApprove = mediaAssetService
.listActiveByUsage(ApiTestDataSeeder.DEFAULT_CLERK_ID, ClerkMediaUsage.PROFILE);
@@ -224,27 +238,14 @@ class WxClerkMediaControllerApiTest extends AbstractApiTest {
.filter(a -> mediaIdA.equals(a.getMediaId()))
.max(Comparator.comparing(PlayClerkMediaAssetEntity::getCreatedTime))
.orElse(null);
PlayClerkMediaAssetEntity assetB = assetsAfterSecondApprove.stream()
.filter(a -> mediaIdB.equals(a.getMediaId()))
.max(Comparator.comparing(PlayClerkMediaAssetEntity::getCreatedTime))
.orElse(null);
PlayClerkMediaAssetEntity assetC = assetsAfterSecondApprove.stream()
.filter(a -> mediaIdC.equals(a.getMediaId()))
.max(Comparator.comparing(PlayClerkMediaAssetEntity::getCreatedTime))
.orElse(null);
PlayClerkMediaAssetEntity assetD = assetsAfterSecondApprove.stream()
.filter(a -> mediaIdD.equals(a.getMediaId()))
.max(Comparator.comparing(PlayClerkMediaAssetEntity::getCreatedTime))
.orElse(null);
assertThat(assetA).isNotNull();
assertThat(assetA.getReviewState()).isEqualTo(ClerkMediaReviewState.APPROVED.getCode());
assertThat(assetC).isNotNull();
assertThat(assetA.getOrderIndex()).isEqualTo(0);
assertThat(assetC.getReviewState()).isEqualTo(ClerkMediaReviewState.APPROVED.getCode());
assertThat(assetB).isNotNull();
assertThat(assetB.getReviewState()).isEqualTo(ClerkMediaReviewState.REJECTED.getCode());
assertThat(assetD).isNotNull();
assertThat(assetD.getReviewState()).isEqualTo(ClerkMediaReviewState.REJECTED.getCode());
assertThat(assetC.getOrderIndex()).isEqualTo(1);
PlayClerkUserInfoResultVo customerDetailAfterSecond =
clerkUserInfoService.buildCustomerDetail(ApiTestDataSeeder.DEFAULT_CLERK_ID, "");