diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/test/java/cn/hangtag/module/oms/service/product/ProductPriceServiceImplTest.java b/hangtag-module-oms/hangtag-module-oms-biz/src/test/java/cn/hangtag/module/oms/service/product/ProductPriceServiceImplTest.java deleted file mode 100644 index fd9ff9d..0000000 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/test/java/cn/hangtag/module/oms/service/product/ProductPriceServiceImplTest.java +++ /dev/null @@ -1,138 +0,0 @@ -package cn.hangtag.module.oms.service.product; - -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 cn.hangtag.framework.test.core.ut.BaseDbUnitTest; - -import cn.hangtag.module.oms.controller.admin.product.vo.*; -import cn.hangtag.module.oms.dal.dataobject.product.ProductPriceDO; -import cn.hangtag.module.oms.dal.mysql.product.ProductPriceMapper; -import cn.hangtag.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 cn.hangtag.module.oms.enums.ErrorCodeConstants.*; -import static cn.hangtag.framework.test.core.util.AssertUtils.*; -import static cn.hangtag.framework.test.core.util.RandomUtils.*; -import static cn.hangtag.framework.common.util.date.LocalDateTimeUtils.*; -import static cn.hangtag.framework.common.util.object.ObjectUtils.*; -import static cn.hangtag.framework.common.util.date.DateUtils.*; -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.Mockito.*; - -/** - * {@link ProductPriceServiceImpl} 的单元测试类 - * - * @author wwb - */ -@Import(ProductPriceServiceImpl.class) -public class ProductPriceServiceImplTest extends BaseDbUnitTest { - - @Resource - private ProductPriceServiceImpl productPriceService; - - @Resource - private ProductPriceMapper productPriceMapper; - - @Test - public void testCreateProductPrice_success() { - // 准备参数 - ProductPriceSaveReqVO createReqVO = randomPojo(ProductPriceSaveReqVO.class).setId(null); - - // 调用 - Long productPriceId = productPriceService.createProductPrice(createReqVO); - // 断言 - assertNotNull(productPriceId); - // 校验记录的属性是否正确 - ProductPriceDO productPrice = productPriceMapper.selectById(productPriceId); - assertPojoEquals(createReqVO, productPrice, "id"); - } - - @Test - public void testUpdateProductPrice_success() { - // mock 数据 - ProductPriceDO dbProductPrice = randomPojo(ProductPriceDO.class); - productPriceMapper.insert(dbProductPrice);// @Sql: 先插入出一条存在的数据 - // 准备参数 - ProductPriceSaveReqVO updateReqVO = randomPojo(ProductPriceSaveReqVO.class, o -> { - o.setId(dbProductPrice.getId()); // 设置更新的 ID - }); - - // 调用 - productPriceService.updateProductPrice(updateReqVO); - // 校验是否更新正确 - ProductPriceDO productPrice = productPriceMapper.selectById(updateReqVO.getId()); // 获取最新的 - assertPojoEquals(updateReqVO, productPrice); - } - - @Test - public void testUpdateProductPrice_notExists() { - // 准备参数 - ProductPriceSaveReqVO updateReqVO = randomPojo(ProductPriceSaveReqVO.class); - - // 调用, 并断言异常 - assertServiceException(() -> productPriceService.updateProductPrice(updateReqVO), PRODUCT_PRICE_NOT_EXISTS); - } - - @Test - public void testDeleteProductPrice_success() { - // mock 数据 - ProductPriceDO dbProductPrice = randomPojo(ProductPriceDO.class); - productPriceMapper.insert(dbProductPrice);// @Sql: 先插入出一条存在的数据 - // 准备参数 - Long id = dbProductPrice.getId(); - - // 调用 - productPriceService.deleteProductPrice(id); - // 校验数据不存在了 - assertNull(productPriceMapper.selectById(id)); - } - - @Test - public void testDeleteProductPrice_notExists() { - // 准备参数 - Long id = randomLongId(); - - // 调用, 并断言异常 - assertServiceException(() -> productPriceService.deleteProductPrice(id), PRODUCT_PRICE_NOT_EXISTS); - } - - @Test - @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 - public void testGetProductPricePage() { - // mock 数据 - ProductPriceDO dbProductPrice = randomPojo(ProductPriceDO.class, o -> { // 等会查询到 - o.setProductId(null); - o.setPrice(null); - o.setCreateTime(null); - }); - productPriceMapper.insert(dbProductPrice); - // 测试 productId 不匹配 - productPriceMapper.insert(cloneIgnoreId(dbProductPrice, o -> o.setProductId(null))); - // 测试 price 不匹配 - productPriceMapper.insert(cloneIgnoreId(dbProductPrice, o -> o.setPrice(null))); - // 测试 createTime 不匹配 - productPriceMapper.insert(cloneIgnoreId(dbProductPrice, o -> o.setCreateTime(null))); - // 准备参数 - ProductPricePageReqVO reqVO = new ProductPricePageReqVO(); - reqVO.setProductId(null); - reqVO.setPrice(null); - reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); - - // 调用 - PageResult pageResult = productPriceService.getProductPricePage(reqVO); - // 断言 - assertEquals(1, pageResult.getTotal()); - assertEquals(1, pageResult.getList().size()); - assertPojoEquals(dbProductPrice, pageResult.getList().get(0)); - } - -} \ No newline at end of file