This commit is contained in:
Owen 2025-01-10 14:20:19 +08:00
parent 3e61923c7b
commit f711ad2468
1 changed files with 0 additions and 166 deletions

View File

@ -1,166 +0,0 @@
package cn.iocoder.yudao.module.haoka.service.smstask;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.mock.mockito.MockBean;
import jakarta.annotation.Resource;
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
import cn.iocoder.yudao.module.haoka.controller.admin.smstask.vo.*;
import cn.iocoder.yudao.module.haoka.dal.dataobject.smstask.SmsTaskDO;
import cn.iocoder.yudao.module.haoka.dal.mysql.smstask.SmsTaskMapper;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import jakarta.annotation.Resource;
import org.springframework.context.annotation.Import;
import java.util.*;
import java.time.LocalDateTime;
import static cn.hutool.core.util.RandomUtil.*;
import static cn.iocoder.yudao.module.haoka.enums.ErrorCodeConstants.*;
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*;
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*;
import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
/**
* {@link SmsTaskServiceImpl} 的单元测试类
*
* @author 超级管理员
*/
@Import(SmsTaskServiceImpl.class)
public class SmsTaskServiceImplTest extends BaseDbUnitTest {
@Resource
private SmsTaskServiceImpl smsTaskService;
@Resource
private SmsTaskMapper smsTaskMapper;
@Test
public void testCreateSmsTask_success() {
// 准备参数
SmsTaskSaveReqVO createReqVO = randomPojo(SmsTaskSaveReqVO.class).setId(null);
// 调用
Long smsTaskId = smsTaskService.createSmsTask(createReqVO);
// 断言
assertNotNull(smsTaskId);
// 校验记录的属性是否正确
SmsTaskDO smsTask = smsTaskMapper.selectById(smsTaskId);
assertPojoEquals(createReqVO, smsTask, "id");
}
@Test
public void testUpdateSmsTask_success() {
// mock 数据
SmsTaskDO dbSmsTask = randomPojo(SmsTaskDO.class);
smsTaskMapper.insert(dbSmsTask);// @Sql: 先插入出一条存在的数据
// 准备参数
SmsTaskSaveReqVO updateReqVO = randomPojo(SmsTaskSaveReqVO.class, o -> {
o.setId(dbSmsTask.getId()); // 设置更新的 ID
});
// 调用
smsTaskService.updateSmsTask(updateReqVO);
// 校验是否更新正确
SmsTaskDO smsTask = smsTaskMapper.selectById(updateReqVO.getId()); // 获取最新的
assertPojoEquals(updateReqVO, smsTask);
}
@Test
public void testUpdateSmsTask_notExists() {
// 准备参数
SmsTaskSaveReqVO updateReqVO = randomPojo(SmsTaskSaveReqVO.class);
// 调用, 并断言异常
assertServiceException(() -> smsTaskService.updateSmsTask(updateReqVO), SMS_TASK_NOT_EXISTS);
}
@Test
public void testDeleteSmsTask_success() {
// mock 数据
SmsTaskDO dbSmsTask = randomPojo(SmsTaskDO.class);
smsTaskMapper.insert(dbSmsTask);// @Sql: 先插入出一条存在的数据
// 准备参数
Long id = dbSmsTask.getId();
// 调用
smsTaskService.deleteSmsTask(id);
// 校验数据不存在了
assertNull(smsTaskMapper.selectById(id));
}
@Test
public void testDeleteSmsTask_notExists() {
// 准备参数
Long id = randomLongId();
// 调用, 并断言异常
assertServiceException(() -> smsTaskService.deleteSmsTask(id), SMS_TASK_NOT_EXISTS);
}
@Test
@Disabled // TODO 请修改 null 为需要的值然后删除 @Disabled 注解
public void testGetSmsTaskPage() {
// mock 数据
SmsTaskDO dbSmsTask = randomPojo(SmsTaskDO.class, o -> { // 等会查询到
o.setName(null);
o.setOrderStatus(null);
o.setOrderSourceList(null);
o.setOrderOnSaleProductList(null);
o.setCallStatus(null);
o.setSendTime(null);
o.setSmsChannelId(null);
o.setSmsType(null);
o.setSmsTemplateId(null);
o.setTestPhone(null);
});
smsTaskMapper.insert(dbSmsTask);
// 测试 name 不匹配
smsTaskMapper.insert(cloneIgnoreId(dbSmsTask, o -> o.setName(null)));
// 测试 orderStatus 不匹配
smsTaskMapper.insert(cloneIgnoreId(dbSmsTask, o -> o.setOrderStatus(null)));
// 测试 orderSourceList 不匹配
smsTaskMapper.insert(cloneIgnoreId(dbSmsTask, o -> o.setOrderSourceList(null)));
// 测试 orderOnSaleProductList 不匹配
smsTaskMapper.insert(cloneIgnoreId(dbSmsTask, o -> o.setOrderOnSaleProductList(null)));
// 测试 callStatus 不匹配
smsTaskMapper.insert(cloneIgnoreId(dbSmsTask, o -> o.setCallStatus(null)));
// 测试 sendTime 不匹配
smsTaskMapper.insert(cloneIgnoreId(dbSmsTask, o -> o.setSendTime(null)));
// 测试 smsChannelId 不匹配
smsTaskMapper.insert(cloneIgnoreId(dbSmsTask, o -> o.setSmsChannelId(null)));
// 测试 smsType 不匹配
smsTaskMapper.insert(cloneIgnoreId(dbSmsTask, o -> o.setSmsType(null)));
// 测试 smsTemplateId 不匹配
smsTaskMapper.insert(cloneIgnoreId(dbSmsTask, o -> o.setSmsTemplateId(null)));
// 测试 testPhone 不匹配
smsTaskMapper.insert(cloneIgnoreId(dbSmsTask, o -> o.setTestPhone(null)));
// 准备参数
SmsTaskPageReqVO reqVO = new SmsTaskPageReqVO();
reqVO.setName(null);
reqVO.setOrderStatus(null);
reqVO.setOrderSourceList(null);
reqVO.setOrderOnSaleProductList(null);
reqVO.setCallStatus(null);
reqVO.setSendTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
reqVO.setSmsChannelId(null);
reqVO.setSmsType(null);
reqVO.setSmsTemplateId(null);
reqVO.setTestPhone(null);
// 调用
PageResult<SmsTaskDO> pageResult = smsTaskService.getSmsTaskPage(reqVO);
// 断言
assertEquals(1, pageResult.getTotal());
assertEquals(1, pageResult.getList().size());
assertPojoEquals(dbSmsTask, pageResult.getList().get(0));
}
}