|
@@ -8,10 +8,8 @@ import cn.iocoder.yudao.framework.sms.core.client.SmsClient;
|
|
|
import cn.iocoder.yudao.framework.sms.core.client.dto.SmsTemplateRespDTO;
|
|
|
import cn.iocoder.yudao.framework.sms.core.enums.SmsTemplateAuditStatusEnum;
|
|
|
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.SmsTemplateSaveReqVO;
|
|
|
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;
|
|
@@ -66,11 +64,11 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
|
|
|
@SuppressWarnings("unchecked")
|
|
|
public void testCreateSmsTemplate_success() throws Throwable {
|
|
|
// 准备参数
|
|
|
- SmsTemplateCreateReqVO reqVO = randomPojo(SmsTemplateCreateReqVO.class, o -> {
|
|
|
+ SmsTemplateSaveReqVO reqVO = randomPojo(SmsTemplateSaveReqVO.class, o -> {
|
|
|
o.setContent("正在进行登录操作{operation},您的验证码是{code}");
|
|
|
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围
|
|
|
o.setType(randomEle(SmsTemplateTypeEnum.values()).getType()); // 保证 type 的 范围
|
|
|
- });
|
|
|
+ }).setId(null); // 防止 id 被赋值
|
|
|
// mock Channel 的方法
|
|
|
SmsChannelDO channelDO = randomPojo(SmsChannelDO.class, o -> {
|
|
|
o.setId(reqVO.getChannelId());
|
|
@@ -88,7 +86,7 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
|
|
|
assertNotNull(smsTemplateId);
|
|
|
// 校验记录的属性是否正确
|
|
|
SmsTemplateDO smsTemplate = smsTemplateMapper.selectById(smsTemplateId);
|
|
|
- assertPojoEquals(reqVO, smsTemplate);
|
|
|
+ assertPojoEquals(reqVO, smsTemplate, "id");
|
|
|
assertEquals(Lists.newArrayList("operation", "code"), smsTemplate.getParams());
|
|
|
assertEquals(channelDO.getCode(), smsTemplate.getChannelCode());
|
|
|
}
|
|
@@ -100,7 +98,7 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
|
|
|
SmsTemplateDO dbSmsTemplate = randomSmsTemplateDO();
|
|
|
smsTemplateMapper.insert(dbSmsTemplate);// @Sql: 先插入出一条存在的数据
|
|
|
// 准备参数
|
|
|
- SmsTemplateUpdateReqVO reqVO = randomPojo(SmsTemplateUpdateReqVO.class, o -> {
|
|
|
+ SmsTemplateSaveReqVO reqVO = randomPojo(SmsTemplateSaveReqVO.class, o -> {
|
|
|
o.setId(dbSmsTemplate.getId()); // 设置更新的 ID
|
|
|
o.setContent("正在进行登录操作{operation},您的验证码是{code}");
|
|
|
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围
|
|
@@ -129,7 +127,7 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
|
|
|
@Test
|
|
|
public void testUpdateSmsTemplate_notExists() {
|
|
|
// 准备参数
|
|
|
- SmsTemplateUpdateReqVO reqVO = randomPojo(SmsTemplateUpdateReqVO.class);
|
|
|
+ SmsTemplateSaveReqVO reqVO = randomPojo(SmsTemplateSaveReqVO.class);
|
|
|
|
|
|
// 调用, 并断言异常
|
|
|
assertServiceException(() -> smsTemplateService.updateSmsTemplate(reqVO), SMS_TEMPLATE_NOT_EXISTS);
|
|
@@ -203,50 +201,6 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
|
|
|
assertPojoEquals(dbSmsTemplate, pageResult.getList().get(0));
|
|
|
}
|
|
|
|
|
|
- @Test
|
|
|
- public void testGetSmsTemplateList() {
|
|
|
- // mock 数据
|
|
|
- SmsTemplateDO dbSmsTemplate = randomPojo(SmsTemplateDO.class, o -> { // 等会查询到
|
|
|
- o.setType(SmsTemplateTypeEnum.PROMOTION.getType());
|
|
|
- o.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
|
|
- o.setCode("tudou");
|
|
|
- o.setContent("芋道源码");
|
|
|
- o.setApiTemplateId("yunai");
|
|
|
- o.setChannelId(1L);
|
|
|
- o.setCreateTime(buildTime(2021, 11, 11));
|
|
|
- });
|
|
|
- smsTemplateMapper.insert(dbSmsTemplate);
|
|
|
- // 测试 type 不匹配
|
|
|
- smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setType(SmsTemplateTypeEnum.VERIFICATION_CODE.getType())));
|
|
|
- // 测试 status 不匹配
|
|
|
- smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
|
|
|
- // 测试 code 不匹配
|
|
|
- smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setCode("yuanma")));
|
|
|
- // 测试 content 不匹配
|
|
|
- smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setContent("源码")));
|
|
|
- // 测试 apiTemplateId 不匹配
|
|
|
- smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setApiTemplateId("nai")));
|
|
|
- // 测试 channelId 不匹配
|
|
|
- smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setChannelId(2L)));
|
|
|
- // 测试 createTime 不匹配
|
|
|
- smsTemplateMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsTemplate, o -> o.setCreateTime(buildTime(2021, 12, 12))));
|
|
|
- // 准备参数
|
|
|
- SmsTemplateExportReqVO reqVO = new SmsTemplateExportReqVO();
|
|
|
- reqVO.setType(SmsTemplateTypeEnum.PROMOTION.getType());
|
|
|
- reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
|
|
- reqVO.setCode("tu");
|
|
|
- reqVO.setContent("芋道");
|
|
|
- reqVO.setApiTemplateId("yu");
|
|
|
- reqVO.setChannelId(1L);
|
|
|
- reqVO.setCreateTime(buildBetweenTime(2021, 11, 1, 2021, 12, 1));
|
|
|
-
|
|
|
- // 调用
|
|
|
- List<SmsTemplateDO> list = smsTemplateService.getSmsTemplateList(reqVO);
|
|
|
- // 断言
|
|
|
- assertEquals(1, list.size());
|
|
|
- assertPojoEquals(dbSmsTemplate, list.get(0));
|
|
|
- }
|
|
|
-
|
|
|
@Test
|
|
|
public void testValidateSmsChannel_success() {
|
|
|
// 准备参数
|