Commit 83003021e192cace1a19b689ea9101898f93f602
1 parent
d897f8fb
完善 TenantPackageServiceImpl 单元测试
Showing
8 changed files
with
59 additions
and
28 deletions
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 | } | ... | ... |