RealNameBackfillServiceTest.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package com.etotem.cfc.service;
  2. import com.etotem.cfc.entity.User;
  3. import com.etotem.cfc.mapper.UserMapper;
  4. import org.junit.jupiter.api.Test;
  5. import org.junit.jupiter.api.extension.ExtendWith;
  6. import org.mockito.InjectMocks;
  7. import org.mockito.Mock;
  8. import org.mockito.junit.jupiter.MockitoExtension;
  9. import static org.junit.jupiter.api.Assertions.*;
  10. import static org.mockito.Mockito.*;
  11. @ExtendWith(MockitoExtension.class)
  12. class RealNameBackfillServiceTest {
  13. @Mock
  14. private UserMapper userMapper;
  15. @InjectMocks
  16. private RealNameBackfillService realNameBackfillService;
  17. @Test
  18. void backfill_真实姓名为null时回填联系人姓名() {
  19. User user = new User();
  20. user.setRealName(null);
  21. when(userMapper.selectById(1L)).thenReturn(user);
  22. realNameBackfillService.backfill(1L, "张三");
  23. assertEquals("张三", user.getRealName());
  24. verify(userMapper).updateById(user);
  25. }
  26. @Test
  27. void backfill_真实姓名为空白时回填联系人姓名() {
  28. User user = new User();
  29. user.setRealName(" ");
  30. when(userMapper.selectById(1L)).thenReturn(user);
  31. realNameBackfillService.backfill(1L, "李四");
  32. assertEquals("李四", user.getRealName());
  33. verify(userMapper).updateById(user);
  34. }
  35. @Test
  36. void backfill_联系人姓名去除首尾空白后回填() {
  37. User user = new User();
  38. user.setRealName(null);
  39. when(userMapper.selectById(1L)).thenReturn(user);
  40. realNameBackfillService.backfill(1L, " 王五 ");
  41. assertEquals("王五", user.getRealName());
  42. verify(userMapper).updateById(user);
  43. }
  44. @Test
  45. void backfill_真实姓名已有值时不覆盖() {
  46. User user = new User();
  47. user.setRealName("原有姓名");
  48. when(userMapper.selectById(1L)).thenReturn(user);
  49. realNameBackfillService.backfill(1L, "张三");
  50. assertEquals("原有姓名", user.getRealName());
  51. verify(userMapper, never()).updateById(any());
  52. }
  53. @Test
  54. void backfill_联系人姓名为null时跳过() {
  55. realNameBackfillService.backfill(1L, null);
  56. verifyNoInteractions(userMapper);
  57. }
  58. @Test
  59. void backfill_联系人姓名为空白时跳过() {
  60. realNameBackfillService.backfill(1L, " ");
  61. verifyNoInteractions(userMapper);
  62. }
  63. @Test
  64. void backfill_userId为null时跳过() {
  65. realNameBackfillService.backfill(null, "张三");
  66. verifyNoInteractions(userMapper);
  67. }
  68. @Test
  69. void backfill_用户不存在时跳过() {
  70. when(userMapper.selectById(99L)).thenReturn(null);
  71. realNameBackfillService.backfill(99L, "张三");
  72. verify(userMapper, never()).updateById(any());
  73. }
  74. }