Преглед на файлове

完善 SmsChannelServiceImpl 单元测试

YunaiV преди 2 години
родител
ревизия
97fd7a7187

+ 1 - 1
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 {
 
     @GetMapping("/list-all-simple")
     @ApiOperation(value = "获得短信渠道精简列表", notes = "包含被禁用的短信渠道")
-    public CommonResult<List<SmsChannelSimpleRespVO>> getSimpleSmsChannels() {
+    public CommonResult<List<SmsChannelSimpleRespVO>> getSimpleSmsChannelList() {
         List<SmsChannelDO> list = smsChannelService.getSmsChannelList();
         // 排序后,返回给前端
         list.sort(Comparator.comparing(SmsChannelDO::getId));

+ 1 - 10
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelService.java

@@ -1,13 +1,12 @@
 package cn.iocoder.yudao.module.system.service.sms;
 
-import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelPageReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelUpdateReqVO;
+import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO;
 
 import javax.validation.Valid;
-import java.util.Collection;
 import java.util.List;
 
 /**
@@ -53,14 +52,6 @@ public interface SmsChannelService {
      */
     SmsChannelDO getSmsChannel(Long id);
 
-    /**
-     * 获得短信渠道列表
-     *
-     * @param ids 编号
-     * @return 短信渠道列表
-     */
-    List<SmsChannelDO> getSmsChannelList(Collection<Long> ids);
-
     /**
      * 获得所有短信渠道列表
      *

+ 0 - 6
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;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
-import java.util.Collection;
 import java.util.List;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -102,11 +101,6 @@ public class SmsChannelServiceImpl implements SmsChannelService {
         return smsChannelMapper.selectById(id);
     }
 
-    @Override
-    public List<SmsChannelDO> getSmsChannelList(Collection<Long> ids) {
-        return smsChannelMapper.selectBatchIds(ids);
-    }
-
     @Override
     public List<SmsChannelDO> getSmsChannelList() {
         return smsChannelMapper.selectList();

+ 42 - 24
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;
 
 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));
-    }
-
 }