Commit 97fd7a7187d916cd1f16a3e200b18213f3e4a046
1 parent
d7f86afd
完善 SmsChannelServiceImpl 单元测试
Showing
4 changed files
with
44 additions
and
41 deletions
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsChannelController.java
| ... | ... | @@ -70,7 +70,7 @@ public class SmsChannelController { |
| 70 | 70 | |
| 71 | 71 | @GetMapping("/list-all-simple") |
| 72 | 72 | @ApiOperation(value = "获得短信渠道精简列表", notes = "包含被禁用的短信渠道") |
| 73 | - public CommonResult<List<SmsChannelSimpleRespVO>> getSimpleSmsChannels() { | |
| 73 | + public CommonResult<List<SmsChannelSimpleRespVO>> getSimpleSmsChannelList() { | |
| 74 | 74 | List<SmsChannelDO> list = smsChannelService.getSmsChannelList(); |
| 75 | 75 | // 排序后,返回给前端 |
| 76 | 76 | list.sort(Comparator.comparing(SmsChannelDO::getId)); | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelService.java
| 1 | 1 | package cn.iocoder.yudao.module.system.service.sms; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO; | |
| 4 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | 4 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO; |
| 6 | 5 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelPageReqVO; |
| 7 | 6 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelUpdateReqVO; |
| 7 | +import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO; | |
| 8 | 8 | |
| 9 | 9 | import javax.validation.Valid; |
| 10 | -import java.util.Collection; | |
| 11 | 10 | import java.util.List; |
| 12 | 11 | |
| 13 | 12 | /** |
| ... | ... | @@ -54,14 +53,6 @@ public interface SmsChannelService { |
| 54 | 53 | SmsChannelDO getSmsChannel(Long id); |
| 55 | 54 | |
| 56 | 55 | /** |
| 57 | - * 获得短信渠道列表 | |
| 58 | - * | |
| 59 | - * @param ids 编号 | |
| 60 | - * @return 短信渠道列表 | |
| 61 | - */ | |
| 62 | - List<SmsChannelDO> getSmsChannelList(Collection<Long> ids); | |
| 63 | - | |
| 64 | - /** | |
| 65 | 56 | * 获得所有短信渠道列表 |
| 66 | 57 | * |
| 67 | 58 | * @return 短信渠道列表 | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelServiceImpl.java
| ... | ... | @@ -15,7 +15,6 @@ import org.springframework.stereotype.Service; |
| 15 | 15 | |
| 16 | 16 | import javax.annotation.PostConstruct; |
| 17 | 17 | import javax.annotation.Resource; |
| 18 | -import java.util.Collection; | |
| 19 | 18 | import java.util.List; |
| 20 | 19 | |
| 21 | 20 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| ... | ... | @@ -103,11 +102,6 @@ public class SmsChannelServiceImpl implements SmsChannelService { |
| 103 | 102 | } |
| 104 | 103 | |
| 105 | 104 | @Override |
| 106 | - public List<SmsChannelDO> getSmsChannelList(Collection<Long> ids) { | |
| 107 | - return smsChannelMapper.selectBatchIds(ids); | |
| 108 | - } | |
| 109 | - | |
| 110 | - @Override | |
| 111 | 105 | public List<SmsChannelDO> getSmsChannelList() { |
| 112 | 106 | return smsChannelMapper.selectList(); |
| 113 | 107 | } | ... | ... |
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelServiceTest.java
| ... | ... | @@ -2,8 +2,6 @@ package cn.iocoder.yudao.module.system.service.sms; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | -import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils; | |
| 6 | -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | |
| 7 | 5 | import cn.iocoder.yudao.framework.sms.core.client.SmsClientFactory; |
| 8 | 6 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; |
| 9 | 7 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO; |
| ... | ... | @@ -17,11 +15,12 @@ import org.springframework.boot.test.mock.mockito.MockBean; |
| 17 | 15 | import org.springframework.context.annotation.Import; |
| 18 | 16 | |
| 19 | 17 | import javax.annotation.Resource; |
| 20 | -import java.time.LocalDateTime; | |
| 21 | -import java.util.function.Consumer; | |
| 22 | 18 | |
| 23 | -import static cn.hutool.core.util.RandomUtil.randomEle; | |
| 19 | +import java.util.List; | |
| 20 | + | |
| 21 | +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime; | |
| 24 | 22 | import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime; |
| 23 | +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; | |
| 25 | 24 | import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; |
| 26 | 25 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; |
| 27 | 26 | import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.SMS_CHANNEL_HAS_CHILDREN; |
| ... | ... | @@ -49,9 +48,9 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { |
| 49 | 48 | @Test |
| 50 | 49 | public void testInitLocalCache_success() { |
| 51 | 50 | // mock 数据 |
| 52 | - SmsChannelDO smsChannelDO01 = randomSmsChannelDO(); | |
| 51 | + SmsChannelDO smsChannelDO01 = randomPojo(SmsChannelDO.class); | |
| 53 | 52 | smsChannelMapper.insert(smsChannelDO01); |
| 54 | - SmsChannelDO smsChannelDO02 = randomSmsChannelDO(); | |
| 53 | + SmsChannelDO smsChannelDO02 = randomPojo(SmsChannelDO.class); | |
| 55 | 54 | smsChannelMapper.insert(smsChannelDO02); |
| 56 | 55 | |
| 57 | 56 | // 调用 |
| ... | ... | @@ -82,7 +81,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { |
| 82 | 81 | @Test |
| 83 | 82 | public void testUpdateSmsChannel_success() { |
| 84 | 83 | // mock 数据 |
| 85 | - SmsChannelDO dbSmsChannel = randomSmsChannelDO(); | |
| 84 | + SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class); | |
| 86 | 85 | smsChannelMapper.insert(dbSmsChannel);// @Sql: 先插入出一条存在的数据 |
| 87 | 86 | // 准备参数 |
| 88 | 87 | SmsChannelUpdateReqVO reqVO = randomPojo(SmsChannelUpdateReqVO.class, o -> { |
| ... | ... | @@ -112,7 +111,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { |
| 112 | 111 | @Test |
| 113 | 112 | public void testDeleteSmsChannel_success() { |
| 114 | 113 | // mock 数据 |
| 115 | - SmsChannelDO dbSmsChannel = randomSmsChannelDO(); | |
| 114 | + SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class); | |
| 116 | 115 | smsChannelMapper.insert(dbSmsChannel);// @Sql: 先插入出一条存在的数据 |
| 117 | 116 | // 准备参数 |
| 118 | 117 | Long id = dbSmsChannel.getId(); |
| ... | ... | @@ -137,7 +136,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { |
| 137 | 136 | @Test |
| 138 | 137 | public void testDeleteSmsChannel_hasChildren() { |
| 139 | 138 | // mock 数据 |
| 140 | - SmsChannelDO dbSmsChannel = randomSmsChannelDO(); | |
| 139 | + SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class); | |
| 141 | 140 | smsChannelMapper.insert(dbSmsChannel);// @Sql: 先插入出一条存在的数据 |
| 142 | 141 | // 准备参数 |
| 143 | 142 | Long id = dbSmsChannel.getId(); |
| ... | ... | @@ -149,6 +148,35 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { |
| 149 | 148 | } |
| 150 | 149 | |
| 151 | 150 | @Test |
| 151 | + public void testGetSmsChannel() { | |
| 152 | + // mock 数据 | |
| 153 | + SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class); | |
| 154 | + smsChannelMapper.insert(dbSmsChannel); // @Sql: 先插入出一条存在的数据 | |
| 155 | + // 准备参数 | |
| 156 | + Long id = dbSmsChannel.getId(); | |
| 157 | + | |
| 158 | + // 调用,并断言 | |
| 159 | + assertPojoEquals(dbSmsChannel, smsChannelService.getSmsChannel(id)); | |
| 160 | + } | |
| 161 | + | |
| 162 | + @Test | |
| 163 | + public void testGetSmsChannelList() { | |
| 164 | + // mock 数据 | |
| 165 | + SmsChannelDO dbSmsChannel01 = randomPojo(SmsChannelDO.class); | |
| 166 | + smsChannelMapper.insert(dbSmsChannel01); | |
| 167 | + SmsChannelDO dbSmsChannel02 = randomPojo(SmsChannelDO.class); | |
| 168 | + smsChannelMapper.insert(dbSmsChannel02); | |
| 169 | + // 准备参数 | |
| 170 | + | |
| 171 | + // 调用 | |
| 172 | + List<SmsChannelDO> list = smsChannelService.getSmsChannelList(); | |
| 173 | + // 断言 | |
| 174 | + assertEquals(2, list.size()); | |
| 175 | + assertPojoEquals(dbSmsChannel01, list.get(0)); | |
| 176 | + assertPojoEquals(dbSmsChannel02, list.get(1)); | |
| 177 | + } | |
| 178 | + | |
| 179 | + @Test | |
| 152 | 180 | public void testGetSmsChannelPage() { |
| 153 | 181 | // mock 数据 |
| 154 | 182 | SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class, o -> { // 等会查询到 |
| ... | ... | @@ -158,16 +186,16 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { |
| 158 | 186 | }); |
| 159 | 187 | smsChannelMapper.insert(dbSmsChannel); |
| 160 | 188 | // 测试 signature 不匹配 |
| 161 | - smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setSignature("源码"))); | |
| 189 | + smsChannelMapper.insert(cloneIgnoreId(dbSmsChannel, o -> o.setSignature("源码"))); | |
| 162 | 190 | // 测试 status 不匹配 |
| 163 | - smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); | |
| 191 | + smsChannelMapper.insert(cloneIgnoreId(dbSmsChannel, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); | |
| 164 | 192 | // 测试 createTime 不匹配 |
| 165 | - smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setCreateTime(buildTime(2020, 11, 11)))); | |
| 193 | + smsChannelMapper.insert(cloneIgnoreId(dbSmsChannel, o -> o.setCreateTime(buildTime(2020, 11, 11)))); | |
| 166 | 194 | // 准备参数 |
| 167 | 195 | SmsChannelPageReqVO reqVO = new SmsChannelPageReqVO(); |
| 168 | 196 | reqVO.setSignature("芋道"); |
| 169 | 197 | reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); |
| 170 | - reqVO.setCreateTime((new LocalDateTime[]{buildTime(2020, 12, 1),buildTime(2020, 12, 24)})); | |
| 198 | + reqVO.setCreateTime(buildBetweenTime(2020, 12, 1, 2020, 12, 24)); | |
| 171 | 199 | |
| 172 | 200 | // 调用 |
| 173 | 201 | PageResult<SmsChannelDO> pageResult = smsChannelService.getSmsChannelPage(reqVO); |
| ... | ... | @@ -177,14 +205,4 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { |
| 177 | 205 | assertPojoEquals(dbSmsChannel, pageResult.getList().get(0)); |
| 178 | 206 | } |
| 179 | 207 | |
| 180 | - // ========== 随机对象 ========== | |
| 181 | - | |
| 182 | - @SafeVarargs | |
| 183 | - private static SmsChannelDO randomSmsChannelDO(Consumer<SmsChannelDO>... consumers) { | |
| 184 | - Consumer<SmsChannelDO> consumer = (o) -> { | |
| 185 | - o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围 | |
| 186 | - }; | |
| 187 | - return randomPojo(SmsChannelDO.class, ArrayUtils.append(consumer, consumers)); | |
| 188 | - } | |
| 189 | - | |
| 190 | 208 | } | ... | ... |