mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 10:18:42 +08:00 
			
		
		
		
	完善 TenantPackageServiceImpl 单元测试
This commit is contained in:
		| @@ -140,7 +140,7 @@ public class DeptServiceImpl implements DeptService { | ||||
|         } | ||||
|         List<DeptDO> result = new ArrayList<>(); | ||||
|         // 递归,简单粗暴 | ||||
|         this.getDeptsByParentIdFromCache(result, parentId, | ||||
|        getDeptsByParentIdFromCache(result, parentId, | ||||
|                recursive ? Integer.MAX_VALUE : 1, // 如果递归获取,则无限;否则,只递归 1 次 | ||||
|                parentDeptCache); | ||||
|         return result; | ||||
| @@ -205,7 +205,7 @@ public class DeptServiceImpl implements DeptService { | ||||
|             throw exception(DEPT_NOT_ENABLE); | ||||
|         } | ||||
|         // 父部门不能是原来的子部门 | ||||
|         List<DeptDO> children = this.getDeptListByParentIdFromCache(id, true); | ||||
|         List<DeptDO> children = getDeptListByParentIdFromCache(id, true); | ||||
|         if (children.stream().anyMatch(dept1 -> dept1.getId().equals(parentId))) { | ||||
|             throw exception(DEPT_PARENT_IS_CHILD); | ||||
|         } | ||||
|   | ||||
| @@ -68,7 +68,7 @@ public class SmsChannelServiceImpl implements SmsChannelService { | ||||
|     @Override | ||||
|     public void updateSmsChannel(SmsChannelUpdateReqVO updateReqVO) { | ||||
|         // 校验存在 | ||||
|         this.validateSmsChannelExists(updateReqVO.getId()); | ||||
|         validateSmsChannelExists(updateReqVO.getId()); | ||||
|         // 更新 | ||||
|         SmsChannelDO updateObj = SmsChannelConvert.INSTANCE.convert(updateReqVO); | ||||
|         smsChannelMapper.updateById(updateObj); | ||||
| @@ -79,7 +79,7 @@ public class SmsChannelServiceImpl implements SmsChannelService { | ||||
|     @Override | ||||
|     public void deleteSmsChannel(Long id) { | ||||
|         // 校验存在 | ||||
|         this.validateSmsChannelExists(id); | ||||
|         validateSmsChannelExists(id); | ||||
|         // 校验是否有在使用该账号的模版 | ||||
|         if (smsTemplateService.countByChannelId(id) > 0) { | ||||
|             throw exception(SMS_CHANNEL_HAS_CHILDREN); | ||||
|   | ||||
| @@ -90,7 +90,7 @@ public class SmsSendServiceImpl implements SmsSendService { | ||||
|         // 校验手机号码是否存在 | ||||
|         mobile = validateMobile(mobile); | ||||
|         // 构建有序的模板参数。为什么放在这个位置,是提前保证模板参数的正确性,而不是到了插入发送日志 | ||||
|         List<KeyValue<String, Object>> newTemplateParams = this.buildTemplateParams(template, templateParams); | ||||
|         List<KeyValue<String, Object>> newTemplateParams = buildTemplateParams(template, templateParams); | ||||
|  | ||||
|         // 创建发送日志。如果模板被禁用,则不发送短信,只记录日志 | ||||
|         Boolean isSend = CommonStatusEnum.ENABLE.getStatus().equals(template.getStatus()) | ||||
|   | ||||
| @@ -125,7 +125,7 @@ public class SmsTemplateServiceImpl implements SmsTemplateService { | ||||
|     @Override | ||||
|     public void updateSmsTemplate(SmsTemplateUpdateReqVO updateReqVO) { | ||||
|         // 校验存在 | ||||
|         this.validateSmsTemplateExists(updateReqVO.getId()); | ||||
|         validateSmsTemplateExists(updateReqVO.getId()); | ||||
|         // 校验短信渠道 | ||||
|         SmsChannelDO channelDO = checkSmsChannel(updateReqVO.getChannelId()); | ||||
|         // 校验短信编码是否重复 | ||||
| @@ -145,7 +145,7 @@ public class SmsTemplateServiceImpl implements SmsTemplateService { | ||||
|     @Override | ||||
|     public void deleteSmsTemplate(Long id) { | ||||
|         // 校验存在 | ||||
|         this.validateSmsTemplateExists(id); | ||||
|         validateSmsTemplateExists(id); | ||||
|         // 更新 | ||||
|         smsTemplateMapper.deleteById(id); | ||||
|         // 发送刷新消息 | ||||
|   | ||||
| @@ -64,9 +64,9 @@ public class TenantPackageServiceImpl implements TenantPackageService { | ||||
|     @Override | ||||
|     public void deleteTenantPackage(Long id) { | ||||
|         // 校验存在 | ||||
|         this.validateTenantPackageExists(id); | ||||
|         validateTenantPackageExists(id); | ||||
|         // 校验正在使用 | ||||
|         this.validateTenantUsed(id); | ||||
|         validateTenantUsed(id); | ||||
|         // 删除 | ||||
|         tenantPackageMapper.deleteById(id); | ||||
|     } | ||||
|   | ||||
| @@ -1,14 +1,5 @@ | ||||
| package cn.iocoder.yudao.module.system.service.sms; | ||||
|  | ||||
| import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateCreateReqVO; | ||||
| import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateExportReqVO; | ||||
| import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplatePageReqVO; | ||||
| import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateUpdateReqVO; | ||||
| import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO; | ||||
| import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsTemplateDO; | ||||
| import cn.iocoder.yudao.module.system.dal.mysql.sms.SmsTemplateMapper; | ||||
| import cn.iocoder.yudao.module.system.mq.producer.sms.SmsProducer; | ||||
| import cn.iocoder.yudao.module.system.enums.sms.SmsTemplateTypeEnum; | ||||
| import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | ||||
| import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| @@ -19,23 +10,32 @@ import cn.iocoder.yudao.framework.sms.core.client.SmsClientFactory; | ||||
| import cn.iocoder.yudao.framework.sms.core.client.SmsCommonResult; | ||||
| import cn.iocoder.yudao.framework.sms.core.client.dto.SmsTemplateRespDTO; | ||||
| import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; | ||||
| import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateCreateReqVO; | ||||
| import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateExportReqVO; | ||||
| import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplatePageReqVO; | ||||
| import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.SmsTemplateUpdateReqVO; | ||||
| import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO; | ||||
| import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsTemplateDO; | ||||
| import cn.iocoder.yudao.module.system.dal.mysql.sms.SmsTemplateMapper; | ||||
| import cn.iocoder.yudao.module.system.enums.sms.SmsTemplateTypeEnum; | ||||
| import cn.iocoder.yudao.module.system.mq.producer.sms.SmsProducer; | ||||
| import com.google.common.collect.Lists; | ||||
| import org.junit.jupiter.api.Test; | ||||
| 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.List; | ||||
| import java.util.Map; | ||||
| import java.util.function.Consumer; | ||||
|  | ||||
| import static cn.hutool.core.util.RandomUtil.randomEle; | ||||
| import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; | ||||
| 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.test.core.util.AssertUtils.assertPojoEquals; | ||||
| import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; | ||||
| import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; | ||||
| import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; | ||||
| import static org.junit.jupiter.api.Assertions.*; | ||||
| import static org.mockito.ArgumentMatchers.eq; | ||||
| import static org.mockito.Mockito.*; | ||||
| @@ -224,7 +224,7 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest { | ||||
|        reqVO.setContent("芋道"); | ||||
|        reqVO.setApiTemplateId("yu"); | ||||
|        reqVO.setChannelId(1L); | ||||
|        reqVO.setCreateTime((new LocalDateTime[]{buildTime(2021, 11, 1),buildTime(2021, 12, 1)})); | ||||
|        reqVO.setCreateTime(buildBetweenTime(2021, 11, 1, 2021, 12, 1)); | ||||
|  | ||||
|        // 调用 | ||||
|        PageResult<SmsTemplateDO> pageResult = smsTemplateService.getSmsTemplatePage(reqVO); | ||||
| @@ -269,7 +269,7 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest { | ||||
|         reqVO.setContent("芋道"); | ||||
|         reqVO.setApiTemplateId("yu"); | ||||
|         reqVO.setChannelId(1L); | ||||
|         reqVO.setCreateTime((new LocalDateTime[]{buildTime(2021, 11, 1),buildTime(2021, 12, 1)})); | ||||
|         reqVO.setCreateTime(buildBetweenTime(2021, 11, 1, 2021, 12, 1)); | ||||
|  | ||||
|        // 调用 | ||||
|        List<SmsTemplateDO> list = smsTemplateService.getSmsTemplateList(reqVO); | ||||
|   | ||||
| @@ -35,7 +35,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; | ||||
| import static org.mockito.Mockito.*; | ||||
| 
 | ||||
| @Import(SocialUserServiceImpl.class) | ||||
| public class SocialUserServiceTest extends BaseDbAndRedisUnitTest { | ||||
| public class SocialUserServiceImplTest extends BaseDbAndRedisUnitTest { | ||||
| 
 | ||||
|     @Resource | ||||
|     private SocialUserServiceImpl socialUserService; | ||||
| @@ -2,21 +2,22 @@ package cn.iocoder.yudao.module.system.service.tenant; | ||||
|  | ||||
| import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; | ||||
| import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.packages.TenantPackageCreateReqVO; | ||||
| import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.packages.TenantPackagePageReqVO; | ||||
| import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.packages.TenantPackageUpdateReqVO; | ||||
| import cn.iocoder.yudao.module.system.dal.dataobject.tenant.TenantDO; | ||||
| import cn.iocoder.yudao.module.system.dal.dataobject.tenant.TenantPackageDO; | ||||
| import cn.iocoder.yudao.module.system.dal.mysql.tenant.TenantPackageMapper; | ||||
| import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; | ||||
| import org.junit.jupiter.api.Test; | ||||
| 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.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.assertPojoEquals; | ||||
| @@ -158,7 +159,7 @@ public class TenantPackageServiceImplTest extends BaseDbUnitTest { | ||||
|        reqVO.setName("芋道"); | ||||
|        reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); | ||||
|        reqVO.setRemark("源码"); | ||||
|        reqVO.setCreateTime((new LocalDateTime[]{buildTime(2022, 10, 9),buildTime(2022, 10, 11)})); | ||||
|        reqVO.setCreateTime(buildBetweenTime(2022, 10, 9, 2022, 10, 11)); | ||||
|  | ||||
|        // 调用 | ||||
|        PageResult<TenantPackageDO> pageResult = tenantPackageService.getTenantPackagePage(reqVO); | ||||
| @@ -201,4 +202,34 @@ public class TenantPackageServiceImplTest extends BaseDbUnitTest { | ||||
|         assertServiceException(() -> tenantPackageService.validTenantPackage(dbTenantPackage.getId()), | ||||
|                 TENANT_PACKAGE_DISABLE, dbTenantPackage.getName()); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testGetTenantPackage() { | ||||
|         // mock 数据 | ||||
|         TenantPackageDO dbTenantPackage = randomPojo(TenantPackageDO.class); | ||||
|         tenantPackageMapper.insert(dbTenantPackage);// @Sql: 先插入出一条存在的数据 | ||||
|  | ||||
|         // 调用 | ||||
|         TenantPackageDO result = tenantPackageService.getTenantPackage(dbTenantPackage.getId()); | ||||
|         // 断言 | ||||
|         assertPojoEquals(result, dbTenantPackage); | ||||
|     } | ||||
|  | ||||
|     @Test | ||||
|     public void testGetTenantPackageListByStatus() { | ||||
|         // mock 数据 | ||||
|         TenantPackageDO dbTenantPackage = randomPojo(TenantPackageDO.class, | ||||
|                 o -> o.setStatus(CommonStatusEnum.ENABLE.getStatus())); | ||||
|         tenantPackageMapper.insert(dbTenantPackage); | ||||
|         // 测试 status 不匹配 | ||||
|         tenantPackageMapper.insert(cloneIgnoreId(dbTenantPackage, | ||||
|                 o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); | ||||
|  | ||||
|         // 调用 | ||||
|         List<TenantPackageDO> list = tenantPackageService.getTenantPackageListByStatus( | ||||
|                 CommonStatusEnum.ENABLE.getStatus()); | ||||
|         assertEquals(1, list.size()); | ||||
|         assertPojoEquals(dbTenantPackage, list.get(0)); | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV