mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 18:28:43 +08:00 
			
		
		
		
	简化 dict type 的单元测试,将新增、修改、删除涉及的公用方法,单独测试
This commit is contained in:
		| @@ -99,8 +99,8 @@ public class SysDictTypeServiceImpl implements SysDictTypeService { | ||||
|     } | ||||
|  | ||||
|     @VisibleForTesting | ||||
|     public void checkDictTypeNameUnique(Long id, String type) { | ||||
|         SysDictTypeDO dictType = dictTypeMapper.selectByName(type); | ||||
|     public void checkDictTypeNameUnique(Long id, String name) { | ||||
|         SysDictTypeDO dictType = dictTypeMapper.selectByName(name); | ||||
|         if (dictType == null) { | ||||
|             return; | ||||
|         } | ||||
|   | ||||
| @@ -204,6 +204,11 @@ public class SysDictDataServiceTest extends BaseSpringBootUnitTest { | ||||
|         dictDataService.checkDictDataExists(dbDictData.getId()); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testCheckDictDataExists_notExists() { | ||||
|         assertServiceException(() -> dictDataService.checkDictDataExists(randomLongId()), DICT_DATA_NOT_EXISTS); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testCheckDictTypeValid_success() { | ||||
|         // mock 方法,数据类型被禁用 | ||||
|   | ||||
| @@ -23,8 +23,8 @@ import static cn.hutool.core.util.RandomUtil.randomEle; | ||||
| import static cn.iocoder.dashboard.modules.system.enums.SysErrorCodeConstants.*; | ||||
| import static cn.iocoder.dashboard.util.AssertUtils.assertPojoEquals; | ||||
| import static cn.iocoder.dashboard.util.AssertUtils.assertServiceException; | ||||
| import static cn.iocoder.dashboard.util.RandomUtils.randomLongId; | ||||
| import static cn.iocoder.dashboard.util.RandomUtils.randomPojo; | ||||
| import static cn.iocoder.dashboard.util.RandomUtils.*; | ||||
| import static cn.iocoder.dashboard.util.RandomUtils.randomString; | ||||
| import static cn.iocoder.dashboard.util.date.DateUtils.buildTime; | ||||
| import static org.junit.jupiter.api.Assertions.*; | ||||
| import static org.mockito.ArgumentMatchers.eq; | ||||
| @@ -142,32 +142,6 @@ public class SysDictTypeServiceTest extends BaseSpringBootUnitTest { | ||||
|         assertPojoEquals(reqVO, dictType); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testCreateDictType_nameDuplicate() { | ||||
|         // mock 数据 | ||||
|         SysDictTypeDO dbDictType = randomDictTypeDO(); | ||||
|         dictTypeMapper.insert(dbDictType);// @Sql: 先插入出一条存在的数据 | ||||
|         // 准备参数 | ||||
|         SysDictTypeCreateReqVO reqVO = randomPojo(SysDictTypeCreateReqVO.class, | ||||
|                 o -> o.setName(dbDictType.getName())); // 模拟 name 重复 | ||||
|  | ||||
|         // 调用, 并断言异常 | ||||
|         assertServiceException(() -> dictTypeService.createDictType(reqVO), DICT_TYPE_NAME_DUPLICATE); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testCreateDictType_typeDuplicate() { | ||||
|         // mock 数据 | ||||
|         SysDictTypeDO dbDictType = randomDictTypeDO(); | ||||
|         dictTypeMapper.insert(dbDictType);// @Sql: 先插入出一条存在的数据 | ||||
|         // 准备参数 | ||||
|         SysDictTypeCreateReqVO reqVO = randomPojo(SysDictTypeCreateReqVO.class, | ||||
|                 o -> o.setType(dbDictType.getType())); // 模拟 type 重复 | ||||
|  | ||||
|         // 调用, 并断言异常 | ||||
|         assertServiceException(() -> dictTypeService.createDictType(reqVO), DICT_TYPE_TYPE_DUPLICATE); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testUpdateDictType_success() { | ||||
|         // mock 数据 | ||||
| @@ -186,33 +160,6 @@ public class SysDictTypeServiceTest extends BaseSpringBootUnitTest { | ||||
|         assertPojoEquals(reqVO, dictType); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testUpdateDictType_notExists() { | ||||
|         // 准备参数 | ||||
|         SysDictTypeUpdateReqVO reqVO = randomPojo(SysDictTypeUpdateReqVO.class); | ||||
|  | ||||
|         // 调用, 并断言异常 | ||||
|         assertServiceException(() -> dictTypeService.updateDictType(reqVO), DICT_TYPE_NOT_EXISTS); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testUpdateDictType_nameDuplicate() { | ||||
|         // mock 数据,稍后更新它 | ||||
|         SysDictTypeDO dbDictType = randomDictTypeDO(); | ||||
|         dictTypeMapper.insert(dbDictType); | ||||
|         // mock 数据,ks稍后模拟重复它的名字 | ||||
|         SysDictTypeDO nameDictType = randomDictTypeDO(); | ||||
|         dictTypeMapper.insert(nameDictType); | ||||
|         // 准备参数 | ||||
|         SysDictTypeUpdateReqVO reqVO = randomPojo(SysDictTypeUpdateReqVO.class, o -> { | ||||
|             o.setId(dbDictType.getId()); // 设置更新的 ID | ||||
|             o.setName(nameDictType.getName()); // 模拟 name 重复 | ||||
|         }); | ||||
|  | ||||
|         // 调用, 并断言异常 | ||||
|         assertServiceException(() -> dictTypeService.updateDictType(reqVO), DICT_TYPE_NAME_DUPLICATE); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testDeleteDictType_success() { | ||||
|         // mock 数据 | ||||
| @@ -227,15 +174,6 @@ public class SysDictTypeServiceTest extends BaseSpringBootUnitTest { | ||||
|         assertNull(dictTypeMapper.selectById(id)); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testDeleteDictType_notExists() { | ||||
|         // 准备参数 | ||||
|         Long id = randomLongId(); | ||||
|  | ||||
|         // 调用, 并断言异常 | ||||
|         assertServiceException(() -> dictTypeService.deleteDictType(id), DICT_TYPE_NOT_EXISTS); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testDeleteDictType_hasChildren() { | ||||
|         // mock 数据 | ||||
| @@ -250,6 +188,84 @@ public class SysDictTypeServiceTest extends BaseSpringBootUnitTest { | ||||
|         assertServiceException(() -> dictTypeService.deleteDictType(id), DICT_TYPE_HAS_CHILDREN); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testCheckDictDataExists_success() { | ||||
|         // mock 数据 | ||||
|         SysDictTypeDO dbDictType = randomDictTypeDO(); | ||||
|         dictTypeMapper.insert(dbDictType);// @Sql: 先插入出一条存在的数据 | ||||
|  | ||||
|         // 调用成功 | ||||
|         dictTypeService.checkDictTypeExists(dbDictType.getId()); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testCheckDictDataExists_notExists() { | ||||
|         assertServiceException(() -> dictTypeService.checkDictTypeExists(randomLongId()), DICT_TYPE_NOT_EXISTS); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testCheckDictTypeUnique_success() { | ||||
|         // 调用,成功 | ||||
|         dictTypeService.checkDictTypeUnique(randomLongId(), randomString()); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testCheckDictTypeUnique_valueDuplicateForCreate() { | ||||
|         // 准备参数 | ||||
|         String type = randomString(); | ||||
|         // mock 数据 | ||||
|         dictTypeMapper.insert(randomDictTypeDO(o -> o.setType(type))); | ||||
|  | ||||
|         // 调用,校验异常 | ||||
|         assertServiceException(() -> dictTypeService.checkDictTypeUnique(null, type), | ||||
|                 DICT_TYPE_TYPE_DUPLICATE); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testCheckDictTypeUnique_valueDuplicateForUpdate() { | ||||
|         // 准备参数 | ||||
|         Long id = randomLongId(); | ||||
|         String type = randomString(); | ||||
|         // mock 数据 | ||||
|         dictTypeMapper.insert(randomDictTypeDO(o -> o.setType(type))); | ||||
|  | ||||
|         // 调用,校验异常 | ||||
|         assertServiceException(() -> dictTypeService.checkDictTypeUnique(id, type), | ||||
|                 DICT_TYPE_TYPE_DUPLICATE); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     @Test | ||||
|     public void testCheckDictTypNameUnique_success() { | ||||
|         // 调用,成功 | ||||
|         dictTypeService.checkDictTypeNameUnique(randomLongId(), randomString()); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testCheckDictTypeNameUnique_valueDuplicateForCreate() { | ||||
|         // 准备参数 | ||||
|         String name = randomString(); | ||||
|         // mock 数据 | ||||
|         dictTypeMapper.insert(randomDictTypeDO(o -> o.setName(name))); | ||||
|  | ||||
|         // 调用,校验异常 | ||||
|         assertServiceException(() -> dictTypeService.checkDictTypeNameUnique(null, name), | ||||
|                 DICT_TYPE_NAME_DUPLICATE); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testCheckDictTypeNameUnique_valueDuplicateForUpdate() { | ||||
|         // 准备参数 | ||||
|         Long id = randomLongId(); | ||||
|         String name = randomString(); | ||||
|         // mock 数据 | ||||
|         dictTypeMapper.insert(randomDictTypeDO(o -> o.setName(name))); | ||||
|  | ||||
|         // 调用,校验异常 | ||||
|         assertServiceException(() -> dictTypeService.checkDictTypeNameUnique(id, name), | ||||
|                 DICT_TYPE_NAME_DUPLICATE); | ||||
|     } | ||||
|  | ||||
|     // ========== 随机对象 ========== | ||||
|  | ||||
|     @SafeVarargs | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV