From 825a575deb96cce822468bb9d9ac3e4eea0f91d1 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 17 九月 2026 08:58:14 +0800
Subject: [PATCH] update
---
backend/src/test/java/com/tourguide/modules/user/service/GuideUserServiceProfileTest.java | 66 +++++++++++++++++++++++++++++---
1 files changed, 59 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..a185f79 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,60 @@
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
+ void shouldReleaseIdentityFromStalePendingGuideBeforeNewRegistration() {
+ 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).clearPendingIdentityByIdCard("11010519491231002X");
+ verify(userMapper).insert(any(GuideUser.class));
+ }
+
+ @Test
+ void shouldReleasePendingIdentityWhenRejectingApplication() {
+ GuideUser pendingGuide = new GuideUser();
+ pendingGuide.setId(12L);
+ pendingGuide.setStatus(GuideUserService.STATUS_PENDING);
+ pendingGuide.setMobile("13800138000");
+ when(userMapper.selectOne(any())).thenReturn(pendingGuide);
+
+ service.releaseIdentityForRejectedApplication("13800138000");
+
+ verify(userMapper).releasePendingIdentity(12L);
}
@Test
--
Gitblit v1.7.1