Commit 83003021e192cace1a19b689ea9101898f93f602

Authored by YunaiV
1 parent d897f8fb

完善 TenantPackageServiceImpl 单元测试

yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.java
... ... @@ -140,9 +140,9 @@ public class DeptServiceImpl implements DeptService {
140 140 }
141 141 List<DeptDO> result = new ArrayList<>();
142 142 // 递归,简单粗暴
143   - this.getDeptsByParentIdFromCache(result, parentId,
144   - recursive ? Integer.MAX_VALUE : 1, // 如果递归获取,则无限;否则,只递归 1 次
145   - parentDeptCache);
  143 + getDeptsByParentIdFromCache(result, parentId,
  144 + recursive ? Integer.MAX_VALUE : 1, // 如果递归获取,则无限;否则,只递归 1 次
  145 + parentDeptCache);
146 146 return result;
147 147 }
148 148  
... ... @@ -205,7 +205,7 @@ public class DeptServiceImpl implements DeptService {
205 205 throw exception(DEPT_NOT_ENABLE);
206 206 }
207 207 // 父部门不能是原来的子部门
208   - List<DeptDO> children = this.getDeptListByParentIdFromCache(id, true);
  208 + List<DeptDO> children = getDeptListByParentIdFromCache(id, true);
209 209 if (children.stream().anyMatch(dept1 -> dept1.getId().equals(parentId))) {
210 210 throw exception(DEPT_PARENT_IS_CHILD);
211 211 }
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelServiceImpl.java
... ... @@ -68,7 +68,7 @@ public class SmsChannelServiceImpl implements SmsChannelService {
68 68 @Override
69 69 public void updateSmsChannel(SmsChannelUpdateReqVO updateReqVO) {
70 70 // 校验存在
71   - this.validateSmsChannelExists(updateReqVO.getId());
  71 + validateSmsChannelExists(updateReqVO.getId());
72 72 // 更新
73 73 SmsChannelDO updateObj = SmsChannelConvert.INSTANCE.convert(updateReqVO);
74 74 smsChannelMapper.updateById(updateObj);
... ... @@ -79,7 +79,7 @@ public class SmsChannelServiceImpl implements SmsChannelService {
79 79 @Override
80 80 public void deleteSmsChannel(Long id) {
81 81 // 校验存在
82   - this.validateSmsChannelExists(id);
  82 + validateSmsChannelExists(id);
83 83 // 校验是否有在使用该账号的模版
84 84 if (smsTemplateService.countByChannelId(id) > 0) {
85 85 throw exception(SMS_CHANNEL_HAS_CHILDREN);
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsSendServiceImpl.java
... ... @@ -90,7 +90,7 @@ public class SmsSendServiceImpl implements SmsSendService {
90 90 // 校验手机号码是否存在
91 91 mobile = validateMobile(mobile);
92 92 // 构建有序的模板参数。为什么放在这个位置,是提前保证模板参数的正确性,而不是到了插入发送日志
93   - List<KeyValue<String, Object>> newTemplateParams = this.buildTemplateParams(template, templateParams);
  93 + List<KeyValue<String, Object>> newTemplateParams = buildTemplateParams(template, templateParams);
94 94  
95 95 // 创建发送日志。如果模板被禁用,则不发送短信,只记录日志
96 96 Boolean isSend = CommonStatusEnum.ENABLE.getStatus().equals(template.getStatus())
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImpl.java
... ... @@ -125,7 +125,7 @@ public class SmsTemplateServiceImpl implements SmsTemplateService {
125 125 @Override
126 126 public void updateSmsTemplate(SmsTemplateUpdateReqVO updateReqVO) {
127 127 // 校验存在
128   - this.validateSmsTemplateExists(updateReqVO.getId());
  128 + validateSmsTemplateExists(updateReqVO.getId());
129 129 // 校验短信渠道
130 130 SmsChannelDO channelDO = checkSmsChannel(updateReqVO.getChannelId());
131 131 // 校验短信编码是否重复
... ... @@ -145,7 +145,7 @@ public class SmsTemplateServiceImpl implements SmsTemplateService {
145 145 @Override
146 146 public void deleteSmsTemplate(Long id) {
147 147 // 校验存在
148   - this.validateSmsTemplateExists(id);
  148 + validateSmsTemplateExists(id);
149 149 // 更新
150 150 smsTemplateMapper.deleteById(id);
151 151 // 发送刷新消息
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantPackageServiceImpl.java
... ... @@ -64,9 +64,9 @@ public class TenantPackageServiceImpl implements TenantPackageService {
64 64 @Override
65 65 public void deleteTenantPackage(Long id) {
66 66 // 校验存在
67   - this.validateTenantPackageExists(id);
  67 + validateTenantPackageExists(id);
68 68 // 校验正在使用
69   - this.validateTenantUsed(id);
  69 + validateTenantUsed(id);
70 70 // 删除
71 71 tenantPackageMapper.deleteById(id);
72 72 }
... ...
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImplTest.java
1 1 package cn.iocoder.yudao.module.system.service.sms;
2 2  
3   -import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateCreateReqVO;
4   -import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateExportReqVO;
5   -import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplatePageReqVO;
6   -import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateUpdateReqVO;
7   -import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO;
8   -import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsTemplateDO;
9   -import cn.iocoder.yudao.module.system.dal.mysql.sms.SmsTemplateMapper;
10   -import cn.iocoder.yudao.module.system.mq.producer.sms.SmsProducer;
11   -import cn.iocoder.yudao.module.system.enums.sms.SmsTemplateTypeEnum;
12 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
13 4 import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants;
14 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
... ... @@ -19,23 +10,32 @@ import cn.iocoder.yudao.framework.sms.core.client.SmsClientFactory;
19 10 import cn.iocoder.yudao.framework.sms.core.client.SmsCommonResult;
20 11 import cn.iocoder.yudao.framework.sms.core.client.dto.SmsTemplateRespDTO;
21 12 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
  13 +import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateCreateReqVO;
  14 +import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateExportReqVO;
  15 +import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplatePageReqVO;
  16 +import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateUpdateReqVO;
  17 +import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO;
  18 +import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsTemplateDO;
  19 +import cn.iocoder.yudao.module.system.dal.mysql.sms.SmsTemplateMapper;
  20 +import cn.iocoder.yudao.module.system.enums.sms.SmsTemplateTypeEnum;
  21 +import cn.iocoder.yudao.module.system.mq.producer.sms.SmsProducer;
22 22 import com.google.common.collect.Lists;
23 23 import org.junit.jupiter.api.Test;
24 24 import org.springframework.boot.test.mock.mockito.MockBean;
25 25 import org.springframework.context.annotation.Import;
26 26  
27 27 import javax.annotation.Resource;
28   -import java.time.LocalDateTime;
29 28 import java.util.List;
30 29 import java.util.Map;
31 30 import java.util.function.Consumer;
32 31  
33 32 import static cn.hutool.core.util.RandomUtil.randomEle;
34   -import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
  33 +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime;
35 34 import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime;
36 35 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
37 36 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
38 37 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
  38 +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
39 39 import static org.junit.jupiter.api.Assertions.*;
40 40 import static org.mockito.ArgumentMatchers.eq;
41 41 import static org.mockito.Mockito.*;
... ... @@ -224,7 +224,7 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
224 224 reqVO.setContent("芋道");
225 225 reqVO.setApiTemplateId("yu");
226 226 reqVO.setChannelId(1L);
227   - reqVO.setCreateTime((new LocalDateTime[]{buildTime(2021, 11, 1),buildTime(2021, 12, 1)}));
  227 + reqVO.setCreateTime(buildBetweenTime(2021, 11, 1, 2021, 12, 1));
228 228  
229 229 // 调用
230 230 PageResult<SmsTemplateDO> pageResult = smsTemplateService.getSmsTemplatePage(reqVO);
... ... @@ -269,7 +269,7 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
269 269 reqVO.setContent("芋道");
270 270 reqVO.setApiTemplateId("yu");
271 271 reqVO.setChannelId(1L);
272   - reqVO.setCreateTime((new LocalDateTime[]{buildTime(2021, 11, 1),buildTime(2021, 12, 1)}));
  272 + reqVO.setCreateTime(buildBetweenTime(2021, 11, 1, 2021, 12, 1));
273 273  
274 274 // 调用
275 275 List<SmsTemplateDO> list = smsTemplateService.getSmsTemplateList(reqVO);
... ...
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/social/SocialUserServiceTest.java renamed to yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/social/SocialUserServiceImplTest.java
... ... @@ -35,7 +35,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
35 35 import static org.mockito.Mockito.*;
36 36  
37 37 @Import(SocialUserServiceImpl.class)
38   -public class SocialUserServiceTest extends BaseDbAndRedisUnitTest {
  38 +public class SocialUserServiceImplTest extends BaseDbAndRedisUnitTest {
39 39  
40 40 @Resource
41 41 private SocialUserServiceImpl socialUserService;
... ...
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/tenant/TenantPackageServiceImplTest.java
... ... @@ -2,21 +2,22 @@ package cn.iocoder.yudao.module.system.service.tenant;
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.test.core.ut.BaseDbUnitTest;
5 6 import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.packages.TenantPackageCreateReqVO;
6 7 import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.packages.TenantPackagePageReqVO;
7 8 import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.packages.TenantPackageUpdateReqVO;
8 9 import cn.iocoder.yudao.module.system.dal.dataobject.tenant.TenantDO;
9 10 import cn.iocoder.yudao.module.system.dal.dataobject.tenant.TenantPackageDO;
10 11 import cn.iocoder.yudao.module.system.dal.mysql.tenant.TenantPackageMapper;
11   -import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
12 12 import org.junit.jupiter.api.Test;
13 13 import org.springframework.boot.test.mock.mockito.MockBean;
14 14 import org.springframework.context.annotation.Import;
15 15  
16 16 import javax.annotation.Resource;
17 17  
18   -import java.time.LocalDateTime;
  18 +import java.util.List;
19 19  
  20 +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime;
20 21 import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime;
21 22 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
22 23 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
... ... @@ -158,7 +159,7 @@ public class TenantPackageServiceImplTest extends BaseDbUnitTest {
158 159 reqVO.setName("芋道");
159 160 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
160 161 reqVO.setRemark("源码");
161   - reqVO.setCreateTime((new LocalDateTime[]{buildTime(2022, 10, 9),buildTime(2022, 10, 11)}));
  162 + reqVO.setCreateTime(buildBetweenTime(2022, 10, 9, 2022, 10, 11));
162 163  
163 164 // 调用
164 165 PageResult<TenantPackageDO> pageResult = tenantPackageService.getTenantPackagePage(reqVO);
... ... @@ -201,4 +202,34 @@ public class TenantPackageServiceImplTest extends BaseDbUnitTest {
201 202 assertServiceException(() -> tenantPackageService.validTenantPackage(dbTenantPackage.getId()),
202 203 TENANT_PACKAGE_DISABLE, dbTenantPackage.getName());
203 204 }
  205 +
  206 + @Test
  207 + public void testGetTenantPackage() {
  208 + // mock 数据
  209 + TenantPackageDO dbTenantPackage = randomPojo(TenantPackageDO.class);
  210 + tenantPackageMapper.insert(dbTenantPackage);// @Sql: 先插入出一条存在的数据
  211 +
  212 + // 调用
  213 + TenantPackageDO result = tenantPackageService.getTenantPackage(dbTenantPackage.getId());
  214 + // 断言
  215 + assertPojoEquals(result, dbTenantPackage);
  216 + }
  217 +
  218 + @Test
  219 + public void testGetTenantPackageListByStatus() {
  220 + // mock 数据
  221 + TenantPackageDO dbTenantPackage = randomPojo(TenantPackageDO.class,
  222 + o -> o.setStatus(CommonStatusEnum.ENABLE.getStatus()));
  223 + tenantPackageMapper.insert(dbTenantPackage);
  224 + // 测试 status 不匹配
  225 + tenantPackageMapper.insert(cloneIgnoreId(dbTenantPackage,
  226 + o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
  227 +
  228 + // 调用
  229 + List<TenantPackageDO> list = tenantPackageService.getTenantPackageListByStatus(
  230 + CommonStatusEnum.ENABLE.getStatus());
  231 + assertEquals(1, list.size());
  232 + assertPojoEquals(dbTenantPackage, list.get(0));
  233 + }
  234 +
204 235 }
... ...