From ad491191ab50a259da548863d805c57d8a95d083 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 15 九月 2026 11:16:12 +0800
Subject: [PATCH] update
---
backend/src/test/java/com/tourguide/modules/user/service/GuideUserServiceProfileTest.java | 38 +++++++++++++++++++++++++++++++-------
1 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/backend/src/test/java/com/tourguide/modules/user/service/GuideUserServiceProfileTest.java b/backend/src/test/java/com/tourguide/modules/user/service/GuideUserServiceProfileTest.java
index 291c985..e494fef 100644
--- a/backend/src/test/java/com/tourguide/modules/user/service/GuideUserServiceProfileTest.java
+++ b/backend/src/test/java/com/tourguide/modules/user/service/GuideUserServiceProfileTest.java
@@ -24,6 +24,7 @@
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -95,11 +96,14 @@
}
@Test
- void shouldReuseCancelledGuideForNewRegistration() {
+ void shouldCreateNewGuideForCancelledRegistration() {
GuideUser cancelledGuide = new GuideUser();
cancelledGuide.setId(12L);
cancelledGuide.setStatus(GuideUserService.STATUS_CANCELLED);
cancelledGuide.setMobile("13800138000");
+ cancelledGuide.setUsername("13800138000");
+ cancelledGuide.setCertificateNo("CERT-12");
+ cancelledGuide.setIdCardNo("11010519491231002X");
cancelledGuide.setAutoDisableWhitelisted(1);
cancelledGuide.setAutoDisabled(1);
when(userMapper.selectOne(any())).thenReturn(cancelledGuide);
@@ -111,12 +115,32 @@
service.createPendingFromApplication(application);
- ArgumentCaptor<GuideUser> captor = ArgumentCaptor.forClass(GuideUser.class);
- verify(userMapper).updateById(captor.capture());
- GuideUser reusedGuide = captor.getValue();
- assertThat(reusedGuide.getStatus()).isEqualTo(GuideUserService.STATUS_PENDING);
- assertThat(reusedGuide.getAutoDisableWhitelisted()).isZero();
- assertThat(reusedGuide.getAutoDisabled()).isZero();
+ verify(userMapper).anonymizeCancelledGuide(eq(12L), org.mockito.ArgumentMatchers.argThat(
+ username -> username.startsWith("deleted_") && username.length() == 32));
+ verify(userMapper).clearCancelledIdentityByIdCard("11010519491231002X");
+
+ ArgumentCaptor<GuideUser> insertCaptor = ArgumentCaptor.forClass(GuideUser.class);
+ verify(userMapper).insert(insertCaptor.capture());
+ GuideUser newGuide = insertCaptor.getValue();
+ assertThat(newGuide.getStatus()).isEqualTo(GuideUserService.STATUS_PENDING);
+ assertThat(newGuide.getUsername()).isEqualTo("13800138000");
+ assertThat(newGuide.getMobile()).isEqualTo("13800138000");
+ assertThat(newGuide.getAutoDisableWhitelisted()).isNull();
+ assertThat(newGuide.getAutoDisabled()).isNull();
+ }
+
+ @Test
+ void shouldReleaseIdentityFromStaleCancelledGuideBeforeNewRegistration() {
+ GuideApplication application = new GuideApplication();
+ application.setMobile("13900139000");
+ application.setRealName("新导游");
+ application.setIdCardNo("11010519491231002X");
+ when(userMapper.selectOne(any())).thenReturn(null);
+
+ service.createPendingFromApplication(application);
+
+ verify(userMapper).clearCancelledIdentityByIdCard("11010519491231002X");
+ verify(userMapper).insert(any(GuideUser.class));
}
@Test
--
Gitblit v1.7.1