parent
ee9e4c0a18
commit
f0640c6b92
@ -1,174 +0,0 @@
|
||||
package com.chanko.yunxi.mes.module.heli.service.procedure;
|
||||
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.test.core.ut.BaseDbUnitTest;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.procedure.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.procedure.ProcedureMapper;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.hutool.core.util.RandomUtil.*;
|
||||
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*;
|
||||
import static com.chanko.yunxi.mes.framework.test.core.util.AssertUtils.*;
|
||||
import static com.chanko.yunxi.mes.framework.test.core.util.RandomUtils.*;
|
||||
import static com.chanko.yunxi.mes.framework.common.util.date.LocalDateTimeUtils.*;
|
||||
import static com.chanko.yunxi.mes.framework.common.util.object.ObjectUtils.*;
|
||||
import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
/**
|
||||
* {@link ProcedureServiceImpl} 的单元测试类
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@Import(ProcedureServiceImpl.class)
|
||||
public class ProcedureServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private ProcedureServiceImpl procedureService;
|
||||
|
||||
@Resource
|
||||
private ProcedureMapper procedureMapper;
|
||||
|
||||
@Test
|
||||
public void testCreateProcedure_success() {
|
||||
// 准备参数
|
||||
ProcedureSaveReqVO createReqVO = randomPojo(ProcedureSaveReqVO.class).setId(null);
|
||||
|
||||
// 调用
|
||||
Long procedureId = procedureService.createProcedure(createReqVO);
|
||||
// 断言
|
||||
assertNotNull(procedureId);
|
||||
// 校验记录的属性是否正确
|
||||
ProcedureDO procedure = procedureMapper.selectById(procedureId);
|
||||
assertPojoEquals(createReqVO, procedure, "id");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateProcedure_success() {
|
||||
// mock 数据
|
||||
ProcedureDO dbProcedure = randomPojo(ProcedureDO.class);
|
||||
procedureMapper.insert(dbProcedure);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
ProcedureSaveReqVO updateReqVO = randomPojo(ProcedureSaveReqVO.class, o -> {
|
||||
o.setId(dbProcedure.getId()); // 设置更新的 ID
|
||||
});
|
||||
|
||||
// 调用
|
||||
procedureService.updateProcedure(updateReqVO);
|
||||
// 校验是否更新正确
|
||||
ProcedureDO procedure = procedureMapper.selectById(updateReqVO.getId()); // 获取最新的
|
||||
assertPojoEquals(updateReqVO, procedure);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateProcedure_notExists() {
|
||||
// 准备参数
|
||||
ProcedureSaveReqVO updateReqVO = randomPojo(ProcedureSaveReqVO.class);
|
||||
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> procedureService.updateProcedure(updateReqVO), PROCEDURE_NOT_EXISTS);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteProcedure_success() {
|
||||
// mock 数据
|
||||
ProcedureDO dbProcedure = randomPojo(ProcedureDO.class);
|
||||
procedureMapper.insert(dbProcedure);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
Long id = dbProcedure.getId();
|
||||
|
||||
// 调用
|
||||
procedureService.deleteProcedure(id);
|
||||
// 校验数据不存在了
|
||||
assertNull(procedureMapper.selectById(id));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteProcedure_notExists() {
|
||||
// 准备参数
|
||||
Long id = randomLongId();
|
||||
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> procedureService.deleteProcedure(id), PROCEDURE_NOT_EXISTS);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
|
||||
public void testGetProcedurePage() {
|
||||
// mock 数据
|
||||
ProcedureDO dbProcedure = randomPojo(ProcedureDO.class, o -> { // 等会查询到
|
||||
o.setCode(null);
|
||||
o.setName(null);
|
||||
o.setDescription(null);
|
||||
o.setStatus(null);
|
||||
o.setCreator(null);
|
||||
o.setCreateTime(null);
|
||||
o.setUpdater(null);
|
||||
o.setUpdateTime(null);
|
||||
o.setDeleted(null);
|
||||
o.setTenantId(null);
|
||||
o.setIsReport(null);
|
||||
o.setWid(null);
|
||||
});
|
||||
procedureMapper.insert(dbProcedure);
|
||||
// 测试 code 不匹配
|
||||
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setCode(null)));
|
||||
// 测试 name 不匹配
|
||||
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setName(null)));
|
||||
// 测试 description 不匹配
|
||||
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setDescription(null)));
|
||||
// 测试 status 不匹配
|
||||
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setStatus(null)));
|
||||
// 测试 creator 不匹配
|
||||
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setCreator(null)));
|
||||
// 测试 createTime 不匹配
|
||||
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setCreateTime(null)));
|
||||
// 测试 updater 不匹配
|
||||
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setUpdater(null)));
|
||||
// 测试 updateTime 不匹配
|
||||
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setUpdateTime(null)));
|
||||
// 测试 deleted 不匹配
|
||||
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setDeleted(null)));
|
||||
// 测试 tenantId 不匹配
|
||||
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setTenantId(null)));
|
||||
// 测试 isReport 不匹配
|
||||
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setIsReport(null)));
|
||||
// 测试 wid 不匹配
|
||||
procedureMapper.insert(cloneIgnoreId(dbProcedure, o -> o.setWid(null)));
|
||||
// 准备参数
|
||||
ProcedurePageReqVO reqVO = new ProcedurePageReqVO();
|
||||
reqVO.setCode(null);
|
||||
reqVO.setName(null);
|
||||
reqVO.setDescription(null);
|
||||
reqVO.setStatus(null);
|
||||
reqVO.setCreator(null);
|
||||
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
|
||||
reqVO.setUpdater(null);
|
||||
reqVO.setUpdateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
|
||||
reqVO.setDeleted(null);
|
||||
reqVO.setTenantId(null);
|
||||
reqVO.setIsReport(null);
|
||||
reqVO.setWid(null);
|
||||
|
||||
// 调用
|
||||
PageResult<ProcedureDO> pageResult = procedureService.getProcedurePage(reqVO);
|
||||
// 断言
|
||||
assertEquals(1, pageResult.getTotal());
|
||||
assertEquals(1, pageResult.getList().size());
|
||||
assertPojoEquals(dbProcedure, pageResult.getList().get(0));
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in new issue