mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-01 02:38:43 +08:00 
			
		
		
		
	完善 SmsChannelServiceImpl 单元测试
This commit is contained in:
		| @@ -2,8 +2,6 @@ package cn.iocoder.yudao.module.system.service.sms; | ||||
|  | ||||
| import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils; | ||||
| import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | ||||
| import cn.iocoder.yudao.framework.sms.core.client.SmsClientFactory; | ||||
| import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; | ||||
| import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO; | ||||
| @@ -17,11 +15,12 @@ import org.springframework.boot.test.mock.mockito.MockBean; | ||||
| import org.springframework.context.annotation.Import; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
| import java.time.LocalDateTime; | ||||
| import java.util.function.Consumer; | ||||
|  | ||||
| import static cn.hutool.core.util.RandomUtil.randomEle; | ||||
| import java.util.List; | ||||
|  | ||||
| import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime; | ||||
| import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime; | ||||
| import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; | ||||
| import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; | ||||
| import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; | ||||
| import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.SMS_CHANNEL_HAS_CHILDREN; | ||||
| @@ -49,9 +48,9 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||||
|     @Test | ||||
|     public void testInitLocalCache_success() { | ||||
|         // mock 数据 | ||||
|         SmsChannelDO smsChannelDO01 = randomSmsChannelDO(); | ||||
|         SmsChannelDO smsChannelDO01 = randomPojo(SmsChannelDO.class); | ||||
|         smsChannelMapper.insert(smsChannelDO01); | ||||
|         SmsChannelDO smsChannelDO02 = randomSmsChannelDO(); | ||||
|         SmsChannelDO smsChannelDO02 = randomPojo(SmsChannelDO.class); | ||||
|         smsChannelMapper.insert(smsChannelDO02); | ||||
|  | ||||
|         // 调用 | ||||
| @@ -82,7 +81,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||||
|     @Test | ||||
|     public void testUpdateSmsChannel_success() { | ||||
|         // mock 数据 | ||||
|         SmsChannelDO dbSmsChannel = randomSmsChannelDO(); | ||||
|         SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class); | ||||
|         smsChannelMapper.insert(dbSmsChannel);// @Sql: 先插入出一条存在的数据 | ||||
|         // 准备参数 | ||||
|         SmsChannelUpdateReqVO reqVO = randomPojo(SmsChannelUpdateReqVO.class, o -> { | ||||
| @@ -112,7 +111,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||||
|     @Test | ||||
|     public void testDeleteSmsChannel_success() { | ||||
|         // mock 数据 | ||||
|         SmsChannelDO dbSmsChannel = randomSmsChannelDO(); | ||||
|         SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class); | ||||
|         smsChannelMapper.insert(dbSmsChannel);// @Sql: 先插入出一条存在的数据 | ||||
|         // 准备参数 | ||||
|         Long id = dbSmsChannel.getId(); | ||||
| @@ -137,7 +136,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||||
|     @Test | ||||
|     public void testDeleteSmsChannel_hasChildren() { | ||||
|         // mock 数据 | ||||
|         SmsChannelDO dbSmsChannel = randomSmsChannelDO(); | ||||
|         SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class); | ||||
|         smsChannelMapper.insert(dbSmsChannel);// @Sql: 先插入出一条存在的数据 | ||||
|         // 准备参数 | ||||
|         Long id = dbSmsChannel.getId(); | ||||
| @@ -148,6 +147,35 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||||
|         assertServiceException(() -> smsChannelService.deleteSmsChannel(id), SMS_CHANNEL_HAS_CHILDREN); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testGetSmsChannel() { | ||||
|         // mock 数据 | ||||
|         SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class); | ||||
|         smsChannelMapper.insert(dbSmsChannel); // @Sql: 先插入出一条存在的数据 | ||||
|         // 准备参数 | ||||
|         Long id = dbSmsChannel.getId(); | ||||
|  | ||||
|         // 调用,并断言 | ||||
|         assertPojoEquals(dbSmsChannel, smsChannelService.getSmsChannel(id)); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testGetSmsChannelList() { | ||||
|         // mock 数据 | ||||
|         SmsChannelDO dbSmsChannel01 = randomPojo(SmsChannelDO.class); | ||||
|         smsChannelMapper.insert(dbSmsChannel01); | ||||
|         SmsChannelDO dbSmsChannel02 = randomPojo(SmsChannelDO.class); | ||||
|         smsChannelMapper.insert(dbSmsChannel02); | ||||
|         // 准备参数 | ||||
|  | ||||
|         // 调用 | ||||
|         List<SmsChannelDO> list = smsChannelService.getSmsChannelList(); | ||||
|         // 断言 | ||||
|         assertEquals(2, list.size()); | ||||
|         assertPojoEquals(dbSmsChannel01, list.get(0)); | ||||
|         assertPojoEquals(dbSmsChannel02, list.get(1)); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testGetSmsChannelPage() { | ||||
|        // mock 数据 | ||||
| @@ -158,16 +186,16 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||||
|        }); | ||||
|        smsChannelMapper.insert(dbSmsChannel); | ||||
|        // 测试 signature 不匹配 | ||||
|        smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setSignature("源码"))); | ||||
|        smsChannelMapper.insert(cloneIgnoreId(dbSmsChannel, o -> o.setSignature("源码"))); | ||||
|        // 测试 status 不匹配 | ||||
|        smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); | ||||
|        smsChannelMapper.insert(cloneIgnoreId(dbSmsChannel, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); | ||||
|        // 测试 createTime 不匹配 | ||||
|        smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setCreateTime(buildTime(2020, 11, 11)))); | ||||
|        smsChannelMapper.insert(cloneIgnoreId(dbSmsChannel, o -> o.setCreateTime(buildTime(2020, 11, 11)))); | ||||
|        // 准备参数 | ||||
|        SmsChannelPageReqVO reqVO = new SmsChannelPageReqVO(); | ||||
|        reqVO.setSignature("芋道"); | ||||
|        reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); | ||||
|        reqVO.setCreateTime((new LocalDateTime[]{buildTime(2020, 12, 1),buildTime(2020, 12, 24)})); | ||||
|        reqVO.setCreateTime(buildBetweenTime(2020, 12, 1, 2020, 12, 24)); | ||||
|  | ||||
|        // 调用 | ||||
|        PageResult<SmsChannelDO> pageResult = smsChannelService.getSmsChannelPage(reqVO); | ||||
| @@ -177,14 +205,4 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||||
|        assertPojoEquals(dbSmsChannel, pageResult.getList().get(0)); | ||||
|     } | ||||
|  | ||||
|     // ========== 随机对象 ========== | ||||
|  | ||||
|     @SafeVarargs | ||||
|     private static SmsChannelDO randomSmsChannelDO(Consumer<SmsChannelDO>... consumers) { | ||||
|         Consumer<SmsChannelDO> consumer = (o) -> { | ||||
|             o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围 | ||||
|         }; | ||||
|         return randomPojo(SmsChannelDO.class, ArrayUtils.append(consumer, consumers)); | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV