forked from sfms3.0/sfms3.0
4 changed files with 20 additions and 370 deletions
@ -1,367 +0,0 @@ |
|||||
package com.win.module.wms.service.itembasic; |
|
||||
|
|
||||
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.win.framework.test.core.ut.BaseDbUnitTest; |
|
||||
|
|
||||
import com.win.module.wms.controller.admin.itembasic.vo.*; |
|
||||
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; |
|
||||
import com.win.module.wms.dal.mysql.itembasic.ItembasicMapper; |
|
||||
import com.win.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.win.framework.test.core.util.AssertUtils.*; |
|
||||
import static com.win.framework.test.core.util.RandomUtils.*; |
|
||||
import static com.win.framework.common.util.date.LocalDateTimeUtils.*; |
|
||||
import static com.win.framework.common.util.object.ObjectUtils.*; |
|
||||
import static com.win.framework.common.util.date.DateUtils.*; |
|
||||
import static com.win.module.wms.enums.itembasic.ErrorCodeConstants.ITEMBASIC_NOT_EXISTS; |
|
||||
import static org.junit.jupiter.api.Assertions.*; |
|
||||
import static org.mockito.Mockito.*; |
|
||||
|
|
||||
/** |
|
||||
* {@link ItembasicServiceImpl} 的单元测试类 |
|
||||
* |
|
||||
* @author 超级管理员 |
|
||||
*/ |
|
||||
@Import(ItembasicServiceImpl.class) |
|
||||
public class ItembasicServiceImplTest extends BaseDbUnitTest { |
|
||||
|
|
||||
@Resource |
|
||||
private ItembasicServiceImpl itembasicService; |
|
||||
|
|
||||
@Resource |
|
||||
private ItembasicMapper itembasicMapper; |
|
||||
|
|
||||
@Test |
|
||||
public void testCreateItembasic_success() { |
|
||||
// 准备参数
|
|
||||
ItembasicCreateReqVO reqVO = randomPojo(ItembasicCreateReqVO.class); |
|
||||
|
|
||||
// 调用
|
|
||||
Long itembasicId = itembasicService.createItembasic(reqVO); |
|
||||
// 断言
|
|
||||
assertNotNull(itembasicId); |
|
||||
// 校验记录的属性是否正确
|
|
||||
ItembasicDO itembasic = itembasicMapper.selectById(itembasicId); |
|
||||
assertPojoEquals(reqVO, itembasic); |
|
||||
} |
|
||||
|
|
||||
@Test |
|
||||
public void testUpdateItembasic_success() { |
|
||||
// mock 数据
|
|
||||
ItembasicDO dbItembasic = randomPojo(ItembasicDO.class); |
|
||||
itembasicMapper.insert(dbItembasic);// @Sql: 先插入出一条存在的数据
|
|
||||
// 准备参数
|
|
||||
ItembasicUpdateReqVO reqVO = randomPojo(ItembasicUpdateReqVO.class, o -> { |
|
||||
o.setId(dbItembasic.getId()); // 设置更新的 ID
|
|
||||
}); |
|
||||
|
|
||||
// 调用
|
|
||||
itembasicService.updateItembasic(reqVO); |
|
||||
// 校验是否更新正确
|
|
||||
ItembasicDO itembasic = itembasicMapper.selectById(reqVO.getId()); // 获取最新的
|
|
||||
assertPojoEquals(reqVO, itembasic); |
|
||||
} |
|
||||
|
|
||||
@Test |
|
||||
public void testUpdateItembasic_notExists() { |
|
||||
// 准备参数
|
|
||||
ItembasicUpdateReqVO reqVO = randomPojo(ItembasicUpdateReqVO.class); |
|
||||
|
|
||||
// 调用, 并断言异常
|
|
||||
assertServiceException(() -> itembasicService.updateItembasic(reqVO), ITEMBASIC_NOT_EXISTS); |
|
||||
} |
|
||||
|
|
||||
@Test |
|
||||
public void testDeleteItembasic_success() { |
|
||||
// mock 数据
|
|
||||
ItembasicDO dbItembasic = randomPojo(ItembasicDO.class); |
|
||||
itembasicMapper.insert(dbItembasic);// @Sql: 先插入出一条存在的数据
|
|
||||
// 准备参数
|
|
||||
Long id = dbItembasic.getId(); |
|
||||
|
|
||||
// 调用
|
|
||||
itembasicService.deleteItembasic(id); |
|
||||
// 校验数据不存在了
|
|
||||
assertNull(itembasicMapper.selectById(id)); |
|
||||
} |
|
||||
|
|
||||
@Test |
|
||||
public void testDeleteItembasic_notExists() { |
|
||||
// 准备参数
|
|
||||
Long id = randomLongId(); |
|
||||
|
|
||||
// 调用, 并断言异常
|
|
||||
assertServiceException(() -> itembasicService.deleteItembasic(id), ITEMBASIC_NOT_EXISTS); |
|
||||
} |
|
||||
|
|
||||
@Test |
|
||||
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
|
|
||||
public void testGetItembasicPage() { |
|
||||
// mock 数据
|
|
||||
ItembasicDO dbItembasic = randomPojo(ItembasicDO.class, o -> { // 等会查询到
|
|
||||
o.setCode(null); |
|
||||
o.setName(null); |
|
||||
o.setDesc1(null); |
|
||||
o.setDesc2(null); |
|
||||
o.setStatus(null); |
|
||||
o.setUom(null); |
|
||||
o.setAltUom(null); |
|
||||
o.setIsStdPack(null); |
|
||||
o.setEnableBuy(null); |
|
||||
o.setEnableMake(null); |
|
||||
o.setEnableOutsourcing(null); |
|
||||
o.setIsRecycled(null); |
|
||||
o.setIsPhantom(null); |
|
||||
o.setAbcClass(null); |
|
||||
o.setType(null); |
|
||||
o.setCategory(null); |
|
||||
o.setItemGroup(null); |
|
||||
o.setColor(null); |
|
||||
o.setConfiguration(null); |
|
||||
o.setProject(null); |
|
||||
o.setEqLevel(null); |
|
||||
o.setValidityDays(null); |
|
||||
o.setAvailable(null); |
|
||||
o.setActiveTime(null); |
|
||||
o.setExpireTime(null); |
|
||||
o.setRemark(null); |
|
||||
o.setCreateTime(null); |
|
||||
o.setCreator(null); |
|
||||
}); |
|
||||
itembasicMapper.insert(dbItembasic); |
|
||||
// 测试 code 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setCode(null))); |
|
||||
// 测试 name 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setName(null))); |
|
||||
// 测试 desc1 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setDesc1(null))); |
|
||||
// 测试 desc2 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setDesc2(null))); |
|
||||
// 测试 status 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setStatus(null))); |
|
||||
// 测试 uom 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setUom(null))); |
|
||||
// 测试 altUom 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setAltUom(null))); |
|
||||
// 测试 isStdPack 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setIsStdPack(null))); |
|
||||
// 测试 enableBuy 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setEnableBuy(null))); |
|
||||
// 测试 enableMake 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setEnableMake(null))); |
|
||||
// 测试 enableOutsourcing 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setEnableOutsourcing(null))); |
|
||||
// 测试 isRecycled 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setIsRecycled(null))); |
|
||||
// 测试 isPhantom 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setIsPhantom(null))); |
|
||||
// 测试 abcClass 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setAbcClass(null))); |
|
||||
// 测试 type 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setType(null))); |
|
||||
// 测试 category 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setCategory(null))); |
|
||||
// 测试 itemGroup 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setItemGroup(null))); |
|
||||
// 测试 color 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setColor(null))); |
|
||||
// 测试 configuration 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setConfiguration(null))); |
|
||||
// 测试 project 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setProject(null))); |
|
||||
// 测试 eqLevel 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setEqLevel(null))); |
|
||||
// 测试 validityDays 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setValidityDays(null))); |
|
||||
// 测试 available 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setAvailable(null))); |
|
||||
// 测试 activeTime 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setActiveTime(null))); |
|
||||
// 测试 expireTime 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setExpireTime(null))); |
|
||||
// 测试 remark 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setRemark(null))); |
|
||||
// 测试 createTime 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setCreateTime(null))); |
|
||||
// 测试 creator 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setCreator(null))); |
|
||||
// 准备参数
|
|
||||
ItembasicPageReqVO reqVO = new ItembasicPageReqVO(); |
|
||||
reqVO.setCode(null); |
|
||||
reqVO.setName(null); |
|
||||
reqVO.setDesc1(null); |
|
||||
reqVO.setDesc2(null); |
|
||||
reqVO.setStatus(null); |
|
||||
reqVO.setUom(null); |
|
||||
reqVO.setAltUom(null); |
|
||||
reqVO.setIsStdPack(null); |
|
||||
reqVO.setEnableBuy(null); |
|
||||
reqVO.setEnableMake(null); |
|
||||
reqVO.setEnableOutsourcing(null); |
|
||||
reqVO.setIsRecycled(null); |
|
||||
reqVO.setIsPhantom(null); |
|
||||
reqVO.setAbcClass(null); |
|
||||
reqVO.setType(null); |
|
||||
reqVO.setCategory(null); |
|
||||
reqVO.setItemGroup(null); |
|
||||
reqVO.setColor(null); |
|
||||
reqVO.setConfiguration(null); |
|
||||
reqVO.setProject(null); |
|
||||
reqVO.setEqLevel(null); |
|
||||
reqVO.setValidityDays(null); |
|
||||
reqVO.setAvailable(null); |
|
||||
reqVO.setActiveTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); |
|
||||
reqVO.setExpireTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); |
|
||||
reqVO.setRemark(null); |
|
||||
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); |
|
||||
reqVO.setCreator(null); |
|
||||
|
|
||||
// 调用
|
|
||||
PageResult<ItembasicDO> pageResult = itembasicService.getItembasicPage(reqVO); |
|
||||
// 断言
|
|
||||
assertEquals(1, pageResult.getTotal()); |
|
||||
assertEquals(1, pageResult.getList().size()); |
|
||||
assertPojoEquals(dbItembasic, pageResult.getList().get(0)); |
|
||||
} |
|
||||
|
|
||||
@Test |
|
||||
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
|
|
||||
public void testGetItembasicList() { |
|
||||
// mock 数据
|
|
||||
ItembasicDO dbItembasic = randomPojo(ItembasicDO.class, o -> { // 等会查询到
|
|
||||
o.setCode(null); |
|
||||
o.setName(null); |
|
||||
o.setDesc1(null); |
|
||||
o.setDesc2(null); |
|
||||
o.setStatus(null); |
|
||||
o.setUom(null); |
|
||||
o.setAltUom(null); |
|
||||
o.setIsStdPack(null); |
|
||||
o.setEnableBuy(null); |
|
||||
o.setEnableMake(null); |
|
||||
o.setEnableOutsourcing(null); |
|
||||
o.setIsRecycled(null); |
|
||||
o.setIsPhantom(null); |
|
||||
o.setAbcClass(null); |
|
||||
o.setType(null); |
|
||||
o.setCategory(null); |
|
||||
o.setItemGroup(null); |
|
||||
o.setColor(null); |
|
||||
o.setConfiguration(null); |
|
||||
o.setProject(null); |
|
||||
o.setEqLevel(null); |
|
||||
o.setValidityDays(null); |
|
||||
o.setAvailable(null); |
|
||||
o.setActiveTime(null); |
|
||||
o.setExpireTime(null); |
|
||||
o.setRemark(null); |
|
||||
o.setCreateTime(null); |
|
||||
o.setCreator(null); |
|
||||
}); |
|
||||
itembasicMapper.insert(dbItembasic); |
|
||||
// 测试 code 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setCode(null))); |
|
||||
// 测试 name 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setName(null))); |
|
||||
// 测试 desc1 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setDesc1(null))); |
|
||||
// 测试 desc2 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setDesc2(null))); |
|
||||
// 测试 status 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setStatus(null))); |
|
||||
// 测试 uom 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setUom(null))); |
|
||||
// 测试 altUom 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setAltUom(null))); |
|
||||
// 测试 isStdPack 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setIsStdPack(null))); |
|
||||
// 测试 enableBuy 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setEnableBuy(null))); |
|
||||
// 测试 enableMake 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setEnableMake(null))); |
|
||||
// 测试 enableOutsourcing 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setEnableOutsourcing(null))); |
|
||||
// 测试 isRecycled 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setIsRecycled(null))); |
|
||||
// 测试 isPhantom 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setIsPhantom(null))); |
|
||||
// 测试 abcClass 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setAbcClass(null))); |
|
||||
// 测试 type 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setType(null))); |
|
||||
// 测试 category 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setCategory(null))); |
|
||||
// 测试 itemGroup 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setItemGroup(null))); |
|
||||
// 测试 color 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setColor(null))); |
|
||||
// 测试 configuration 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setConfiguration(null))); |
|
||||
// 测试 project 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setProject(null))); |
|
||||
// 测试 eqLevel 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setEqLevel(null))); |
|
||||
// 测试 validityDays 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setValidityDays(null))); |
|
||||
// 测试 available 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setAvailable(null))); |
|
||||
// 测试 activeTime 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setActiveTime(null))); |
|
||||
// 测试 expireTime 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setExpireTime(null))); |
|
||||
// 测试 remark 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setRemark(null))); |
|
||||
// 测试 createTime 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setCreateTime(null))); |
|
||||
// 测试 creator 不匹配
|
|
||||
itembasicMapper.insert(cloneIgnoreId(dbItembasic, o -> o.setCreator(null))); |
|
||||
// 准备参数
|
|
||||
ItembasicExportReqVO reqVO = new ItembasicExportReqVO(); |
|
||||
reqVO.setCode(null); |
|
||||
reqVO.setName(null); |
|
||||
reqVO.setDesc1(null); |
|
||||
reqVO.setDesc2(null); |
|
||||
reqVO.setStatus(null); |
|
||||
reqVO.setUom(null); |
|
||||
reqVO.setAltUom(null); |
|
||||
reqVO.setIsStdPack(null); |
|
||||
reqVO.setEnableBuy(null); |
|
||||
reqVO.setEnableMake(null); |
|
||||
reqVO.setEnableOutsourcing(null); |
|
||||
reqVO.setIsRecycled(null); |
|
||||
reqVO.setIsPhantom(null); |
|
||||
reqVO.setAbcClass(null); |
|
||||
reqVO.setType(null); |
|
||||
reqVO.setCategory(null); |
|
||||
reqVO.setItemGroup(null); |
|
||||
reqVO.setColor(null); |
|
||||
reqVO.setConfiguration(null); |
|
||||
reqVO.setProject(null); |
|
||||
reqVO.setEqLevel(null); |
|
||||
reqVO.setValidityDays(null); |
|
||||
reqVO.setAvailable(null); |
|
||||
reqVO.setActiveTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); |
|
||||
reqVO.setExpireTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); |
|
||||
reqVO.setRemark(null); |
|
||||
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); |
|
||||
reqVO.setCreator(null); |
|
||||
|
|
||||
// 调用
|
|
||||
List<ItembasicDO> list = itembasicService.getItembasicList(reqVO); |
|
||||
// 断言
|
|
||||
assertEquals(1, list.size()); |
|
||||
assertPojoEquals(dbItembasic, list.get(0)); |
|
||||
} |
|
||||
|
|
||||
} |
|
Loading…
Reference in new issue