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,9 +140,9 @@ public class DeptServiceImpl implements DeptService {
140 } 140 }
141 List<DeptDO> result = new ArrayList<>(); 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 return result; 146 return result;
147 } 147 }
148 148
@@ -205,7 +205,7 @@ public class DeptServiceImpl implements DeptService { @@ -205,7 +205,7 @@ public class DeptServiceImpl implements DeptService {
205 throw exception(DEPT_NOT_ENABLE); 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 if (children.stream().anyMatch(dept1 -> dept1.getId().equals(parentId))) { 209 if (children.stream().anyMatch(dept1 -> dept1.getId().equals(parentId))) {
210 throw exception(DEPT_PARENT_IS_CHILD); 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,7 +68,7 @@ public class SmsChannelServiceImpl implements SmsChannelService {
68 @Override 68 @Override
69 public void updateSmsChannel(SmsChannelUpdateReqVO updateReqVO) { 69 public void updateSmsChannel(SmsChannelUpdateReqVO updateReqVO) {
70 // 校验存在 70 // 校验存在
71 - this.validateSmsChannelExists(updateReqVO.getId()); 71 + validateSmsChannelExists(updateReqVO.getId());
72 // 更新 72 // 更新
73 SmsChannelDO updateObj = SmsChannelConvert.INSTANCE.convert(updateReqVO); 73 SmsChannelDO updateObj = SmsChannelConvert.INSTANCE.convert(updateReqVO);
74 smsChannelMapper.updateById(updateObj); 74 smsChannelMapper.updateById(updateObj);
@@ -79,7 +79,7 @@ public class SmsChannelServiceImpl implements SmsChannelService { @@ -79,7 +79,7 @@ public class SmsChannelServiceImpl implements SmsChannelService {
79 @Override 79 @Override
80 public void deleteSmsChannel(Long id) { 80 public void deleteSmsChannel(Long id) {
81 // 校验存在 81 // 校验存在
82 - this.validateSmsChannelExists(id); 82 + validateSmsChannelExists(id);
83 // 校验是否有在使用该账号的模版 83 // 校验是否有在使用该账号的模版
84 if (smsTemplateService.countByChannelId(id) > 0) { 84 if (smsTemplateService.countByChannelId(id) > 0) {
85 throw exception(SMS_CHANNEL_HAS_CHILDREN); 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,7 +90,7 @@ public class SmsSendServiceImpl implements SmsSendService {
90 // 校验手机号码是否存在 90 // 校验手机号码是否存在
91 mobile = validateMobile(mobile); 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 Boolean isSend = CommonStatusEnum.ENABLE.getStatus().equals(template.getStatus()) 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,7 +125,7 @@ public class SmsTemplateServiceImpl implements SmsTemplateService {
125 @Override 125 @Override
126 public void updateSmsTemplate(SmsTemplateUpdateReqVO updateReqVO) { 126 public void updateSmsTemplate(SmsTemplateUpdateReqVO updateReqVO) {
127 // 校验存在 127 // 校验存在
128 - this.validateSmsTemplateExists(updateReqVO.getId()); 128 + validateSmsTemplateExists(updateReqVO.getId());
129 // 校验短信渠道 129 // 校验短信渠道
130 SmsChannelDO channelDO = checkSmsChannel(updateReqVO.getChannelId()); 130 SmsChannelDO channelDO = checkSmsChannel(updateReqVO.getChannelId());
131 // 校验短信编码是否重复 131 // 校验短信编码是否重复
@@ -145,7 +145,7 @@ public class SmsTemplateServiceImpl implements SmsTemplateService { @@ -145,7 +145,7 @@ public class SmsTemplateServiceImpl implements SmsTemplateService {
145 @Override 145 @Override
146 public void deleteSmsTemplate(Long id) { 146 public void deleteSmsTemplate(Long id) {
147 // 校验存在 147 // 校验存在
148 - this.validateSmsTemplateExists(id); 148 + validateSmsTemplateExists(id);
149 // 更新 149 // 更新
150 smsTemplateMapper.deleteById(id); 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,9 +64,9 @@ public class TenantPackageServiceImpl implements TenantPackageService {
64 @Override 64 @Override
65 public void deleteTenantPackage(Long id) { 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 tenantPackageMapper.deleteById(id); 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 package cn.iocoder.yudao.module.system.service.sms; 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 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
13 import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; 4 import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants;
14 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
@@ -19,23 +10,32 @@ import cn.iocoder.yudao.framework.sms.core.client.SmsClientFactory; @@ -19,23 +10,32 @@ import cn.iocoder.yudao.framework.sms.core.client.SmsClientFactory;
19 import cn.iocoder.yudao.framework.sms.core.client.SmsCommonResult; 10 import cn.iocoder.yudao.framework.sms.core.client.SmsCommonResult;
20 import cn.iocoder.yudao.framework.sms.core.client.dto.SmsTemplateRespDTO; 11 import cn.iocoder.yudao.framework.sms.core.client.dto.SmsTemplateRespDTO;
21 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; 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 import com.google.common.collect.Lists; 22 import com.google.common.collect.Lists;
23 import org.junit.jupiter.api.Test; 23 import org.junit.jupiter.api.Test;
24 import org.springframework.boot.test.mock.mockito.MockBean; 24 import org.springframework.boot.test.mock.mockito.MockBean;
25 import org.springframework.context.annotation.Import; 25 import org.springframework.context.annotation.Import;
26 26
27 import javax.annotation.Resource; 27 import javax.annotation.Resource;
28 -import java.time.LocalDateTime;  
29 import java.util.List; 28 import java.util.List;
30 import java.util.Map; 29 import java.util.Map;
31 import java.util.function.Consumer; 30 import java.util.function.Consumer;
32 31
33 import static cn.hutool.core.util.RandomUtil.randomEle; 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 import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime; 34 import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime;
36 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 35 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
37 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 36 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
38 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; 37 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
  38 +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
39 import static org.junit.jupiter.api.Assertions.*; 39 import static org.junit.jupiter.api.Assertions.*;
40 import static org.mockito.ArgumentMatchers.eq; 40 import static org.mockito.ArgumentMatchers.eq;
41 import static org.mockito.Mockito.*; 41 import static org.mockito.Mockito.*;
@@ -224,7 +224,7 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest { @@ -224,7 +224,7 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
224 reqVO.setContent("芋道"); 224 reqVO.setContent("芋道");
225 reqVO.setApiTemplateId("yu"); 225 reqVO.setApiTemplateId("yu");
226 reqVO.setChannelId(1L); 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 PageResult<SmsTemplateDO> pageResult = smsTemplateService.getSmsTemplatePage(reqVO); 230 PageResult<SmsTemplateDO> pageResult = smsTemplateService.getSmsTemplatePage(reqVO);
@@ -269,7 +269,7 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest { @@ -269,7 +269,7 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
269 reqVO.setContent("芋道"); 269 reqVO.setContent("芋道");
270 reqVO.setApiTemplateId("yu"); 270 reqVO.setApiTemplateId("yu");
271 reqVO.setChannelId(1L); 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 List<SmsTemplateDO> list = smsTemplateService.getSmsTemplateList(reqVO); 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,7 +35,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
35 import static org.mockito.Mockito.*; 35 import static org.mockito.Mockito.*;
36 36
37 @Import(SocialUserServiceImpl.class) 37 @Import(SocialUserServiceImpl.class)
38 -public class SocialUserServiceTest extends BaseDbAndRedisUnitTest { 38 +public class SocialUserServiceImplTest extends BaseDbAndRedisUnitTest {
39 39
40 @Resource 40 @Resource
41 private SocialUserServiceImpl socialUserService; 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,21 +2,22 @@ package cn.iocoder.yudao.module.system.service.tenant;
2 2
3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  5 +import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
5 import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.packages.TenantPackageCreateReqVO; 6 import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.packages.TenantPackageCreateReqVO;
6 import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.packages.TenantPackagePageReqVO; 7 import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.packages.TenantPackagePageReqVO;
7 import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.packages.TenantPackageUpdateReqVO; 8 import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.packages.TenantPackageUpdateReqVO;
8 import cn.iocoder.yudao.module.system.dal.dataobject.tenant.TenantDO; 9 import cn.iocoder.yudao.module.system.dal.dataobject.tenant.TenantDO;
9 import cn.iocoder.yudao.module.system.dal.dataobject.tenant.TenantPackageDO; 10 import cn.iocoder.yudao.module.system.dal.dataobject.tenant.TenantPackageDO;
10 import cn.iocoder.yudao.module.system.dal.mysql.tenant.TenantPackageMapper; 11 import cn.iocoder.yudao.module.system.dal.mysql.tenant.TenantPackageMapper;
11 -import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;  
12 import org.junit.jupiter.api.Test; 12 import org.junit.jupiter.api.Test;
13 import org.springframework.boot.test.mock.mockito.MockBean; 13 import org.springframework.boot.test.mock.mockito.MockBean;
14 import org.springframework.context.annotation.Import; 14 import org.springframework.context.annotation.Import;
15 15
16 import javax.annotation.Resource; 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 import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime; 21 import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime;
21 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; 22 import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
22 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 23 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
@@ -158,7 +159,7 @@ public class TenantPackageServiceImplTest extends BaseDbUnitTest { @@ -158,7 +159,7 @@ public class TenantPackageServiceImplTest extends BaseDbUnitTest {
158 reqVO.setName("芋道"); 159 reqVO.setName("芋道");
159 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); 160 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
160 reqVO.setRemark("源码"); 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 PageResult<TenantPackageDO> pageResult = tenantPackageService.getTenantPackagePage(reqVO); 165 PageResult<TenantPackageDO> pageResult = tenantPackageService.getTenantPackagePage(reqVO);
@@ -201,4 +202,34 @@ public class TenantPackageServiceImplTest extends BaseDbUnitTest { @@ -201,4 +202,34 @@ public class TenantPackageServiceImplTest extends BaseDbUnitTest {
201 assertServiceException(() -> tenantPackageService.validTenantPackage(dbTenantPackage.getId()), 202 assertServiceException(() -> tenantPackageService.validTenantPackage(dbTenantPackage.getId()),
202 TENANT_PACKAGE_DISABLE, dbTenantPackage.getName()); 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 }