From 92a75a7b157e6fd6423df17cfd32015017bdb8c9 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 14 八月 2026 09:21:58 +0800
Subject: [PATCH] update
---
backend/src/test/java/com/tourguide/modules/user/service/GuideAutoDisableServiceTest.java | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/backend/src/test/java/com/tourguide/modules/user/service/GuideAutoDisableServiceTest.java b/backend/src/test/java/com/tourguide/modules/user/service/GuideAutoDisableServiceTest.java
index e95af94..7e4d4be 100644
--- a/backend/src/test/java/com/tourguide/modules/user/service/GuideAutoDisableServiceTest.java
+++ b/backend/src/test/java/com/tourguide/modules/user/service/GuideAutoDisableServiceTest.java
@@ -11,7 +11,9 @@
import org.junit.jupiter.api.Test;
import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.Collections;
+import java.util.List;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
@@ -56,6 +58,41 @@
}
@Test
+ void shouldNotDisableGuideWithoutAnEffectiveRating() {
+ GuideUser guide = eligibleGuide(0);
+ guide.setRating(BigDecimal.ZERO);
+ when(configMapper.selectById(1)).thenReturn(validConfig());
+ when(guideUserMapper.selectById(8L)).thenReturn(guide);
+
+ service.disableGuideIfEligible(8L);
+
+ verify(guideUserMapper, never()).autoDisableIfEligible(any(), any(), any());
+ verifyNoInteractions(orderMapper, realtimeStatusMapper, receivingSessionMapper);
+ }
+
+ @Test
+ void shouldContinueScanningAfterAFullBatchOfBlockedGuides() {
+ List<GuideUser> firstBatch = new ArrayList<>();
+ for (long id = 1; id <= 100; id++) {
+ GuideUser guide = eligibleGuide(0);
+ guide.setId(id);
+ firstBatch.add(guide);
+ }
+ GuideUser laterGuide = eligibleGuide(0);
+ laterGuide.setId(101L);
+ when(configMapper.selectById(1)).thenReturn(validConfig());
+ when(guideUserMapper.selectList(any())).thenReturn(firstBatch, Collections.singletonList(laterGuide));
+ when(orderMapper.selectCount(any())).thenReturn(1L).thenReturn(0L);
+ when(guideUserMapper.autoDisableIfEligible(101L, 10, new BigDecimal("4.50"))).thenReturn(1);
+
+ service.disableEligibleGuides();
+
+ verify(guideUserMapper).autoDisableIfEligible(101L, 10, new BigDecimal("4.50"));
+ verify(realtimeStatusMapper).disableReceiving(101L);
+ verify(receivingSessionMapper).stopReceivingByGuide(101L);
+ }
+
+ @Test
void shouldNeverDisableWhitelistedGuide() {
service.disableIfEligible(eligibleGuide(1), validConfig());
--
Gitblit v1.7.1