|
|
@@ -0,0 +1,100 @@
|
|
|
+package com.etotem.cfc.service;
|
|
|
+
|
|
|
+import com.etotem.cfc.entity.User;
|
|
|
+import com.etotem.cfc.mapper.UserMapper;
|
|
|
+import org.junit.jupiter.api.Test;
|
|
|
+import org.junit.jupiter.api.extension.ExtendWith;
|
|
|
+import org.mockito.InjectMocks;
|
|
|
+import org.mockito.Mock;
|
|
|
+import org.mockito.junit.jupiter.MockitoExtension;
|
|
|
+
|
|
|
+import static org.junit.jupiter.api.Assertions.*;
|
|
|
+import static org.mockito.Mockito.*;
|
|
|
+
|
|
|
+@ExtendWith(MockitoExtension.class)
|
|
|
+class RealNameBackfillServiceTest {
|
|
|
+
|
|
|
+ @Mock
|
|
|
+ private UserMapper userMapper;
|
|
|
+
|
|
|
+ @InjectMocks
|
|
|
+ private RealNameBackfillService realNameBackfillService;
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void backfill_真实姓名为null时回填联系人姓名() {
|
|
|
+ User user = new User();
|
|
|
+ user.setRealName(null);
|
|
|
+ when(userMapper.selectById(1L)).thenReturn(user);
|
|
|
+
|
|
|
+ realNameBackfillService.backfill(1L, "张三");
|
|
|
+
|
|
|
+ assertEquals("张三", user.getRealName());
|
|
|
+ verify(userMapper).updateById(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void backfill_真实姓名为空白时回填联系人姓名() {
|
|
|
+ User user = new User();
|
|
|
+ user.setRealName(" ");
|
|
|
+ when(userMapper.selectById(1L)).thenReturn(user);
|
|
|
+
|
|
|
+ realNameBackfillService.backfill(1L, "李四");
|
|
|
+
|
|
|
+ assertEquals("李四", user.getRealName());
|
|
|
+ verify(userMapper).updateById(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void backfill_联系人姓名去除首尾空白后回填() {
|
|
|
+ User user = new User();
|
|
|
+ user.setRealName(null);
|
|
|
+ when(userMapper.selectById(1L)).thenReturn(user);
|
|
|
+
|
|
|
+ realNameBackfillService.backfill(1L, " 王五 ");
|
|
|
+
|
|
|
+ assertEquals("王五", user.getRealName());
|
|
|
+ verify(userMapper).updateById(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void backfill_真实姓名已有值时不覆盖() {
|
|
|
+ User user = new User();
|
|
|
+ user.setRealName("原有姓名");
|
|
|
+ when(userMapper.selectById(1L)).thenReturn(user);
|
|
|
+
|
|
|
+ realNameBackfillService.backfill(1L, "张三");
|
|
|
+
|
|
|
+ assertEquals("原有姓名", user.getRealName());
|
|
|
+ verify(userMapper, never()).updateById(any());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void backfill_联系人姓名为null时跳过() {
|
|
|
+ realNameBackfillService.backfill(1L, null);
|
|
|
+
|
|
|
+ verifyNoInteractions(userMapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void backfill_联系人姓名为空白时跳过() {
|
|
|
+ realNameBackfillService.backfill(1L, " ");
|
|
|
+
|
|
|
+ verifyNoInteractions(userMapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void backfill_userId为null时跳过() {
|
|
|
+ realNameBackfillService.backfill(null, "张三");
|
|
|
+
|
|
|
+ verifyNoInteractions(userMapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ void backfill_用户不存在时跳过() {
|
|
|
+ when(userMapper.selectById(99L)).thenReturn(null);
|
|
|
+
|
|
|
+ realNameBackfillService.backfill(99L, "张三");
|
|
|
+
|
|
|
+ verify(userMapper, never()).updateById(any());
|
|
|
+ }
|
|
|
+}
|