fix: 完善商品管理

This commit is contained in:
puhui999
2023-06-01 11:41:26 +08:00
parent e86214015d
commit 8d2bcc57aa
14 changed files with 197 additions and 25 deletions

View File

@@ -49,13 +49,10 @@ public class ProductSkuServiceTest extends BaseDbUnitTest {
@MockBean
private ProductPropertyValueService productPropertyValueService;
// TODO @puhui999是不是可以删除这 2 方法
public Long generateId() {
return RandomUtil.randomLong(100000, 999999);
}
public int generaInt(){return RandomUtil.randomInt(1,9999999);}
@Test
public void testUpdateSkuList() {
// mock 数据
@@ -109,7 +106,14 @@ public class ProductSkuServiceTest extends BaseDbUnitTest {
ProductSkuUpdateStockReqDTO updateStockReqDTO = new ProductSkuUpdateStockReqDTO()
.setItems(singletonList(new ProductSkuUpdateStockReqDTO.Item().setId(1L).setIncrCount(10)));
// mock 数据
productSkuMapper.insert(randomPojo(ProductSkuDO.class, o -> o.setId(1L).setSpuId(10L).setStock(20)));
productSkuMapper.insert(randomPojo(ProductSkuDO.class, o -> {
o.setId(1L).setSpuId(10L).setStock(20);
o.getProperties().forEach(p -> {
// 指定 id 范围 解决 Value too long
p.setPropertyId(generateId());
p.setValueId(generateId());
});
}));
// 调用
productSkuService.updateSkuStock(updateStockReqDTO);
@@ -129,7 +133,14 @@ public class ProductSkuServiceTest extends BaseDbUnitTest {
ProductSkuUpdateStockReqDTO updateStockReqDTO = new ProductSkuUpdateStockReqDTO()
.setItems(singletonList(new ProductSkuUpdateStockReqDTO.Item().setId(1L).setIncrCount(-10)));
// mock 数据
productSkuMapper.insert(randomPojo(ProductSkuDO.class, o -> o.setId(1L).setSpuId(10L).setStock(20)));
productSkuMapper.insert(randomPojo(ProductSkuDO.class, o -> {
o.setId(1L).setSpuId(10L).setStock(20);
o.getProperties().forEach(p -> {
// 指定 id 范围 解决 Value too long
p.setPropertyId(generateId());
p.setValueId(generateId());
});
}));
// 调用
productSkuService.updateSkuStock(updateStockReqDTO);
@@ -149,8 +160,14 @@ public class ProductSkuServiceTest extends BaseDbUnitTest {
ProductSkuUpdateStockReqDTO updateStockReqDTO = new ProductSkuUpdateStockReqDTO()
.setItems(singletonList(new ProductSkuUpdateStockReqDTO.Item().setId(1L).setIncrCount(-30)));
// mock 数据
productSkuMapper.insert(randomPojo(ProductSkuDO.class, o -> o.setId(1L).setSpuId(10L).setStock(20)));
productSkuMapper.insert(randomPojo(ProductSkuDO.class, o -> {
o.setId(1L).setSpuId(10L).setStock(20);
o.getProperties().forEach(p -> {
// 指定 id 范围 解决 Value too long
p.setPropertyId(generateId());
p.setValueId(generateId());
});
}));
// 调用并断言
AssertUtils.assertServiceException(() -> productSkuService.updateSkuStock(updateStockReqDTO),
SKU_STOCK_NOT_ENOUGH);
@@ -158,9 +175,16 @@ public class ProductSkuServiceTest extends BaseDbUnitTest {
@Test
public void testDeleteSku_success() {
ProductSkuDO dbSku = randomPojo(ProductSkuDO.class, o -> {
o.setId(generateId()).setSpuId(generateId());
o.getProperties().forEach(p -> {
// 指定 id 范围 解决 Value too long
p.setPropertyId(generateId());
p.setValueId(generateId());
});
});
// mock 数据
ProductSkuDO dbSku = randomPojo(ProductSkuDO.class);
productSkuMapper.insert(dbSku);// @Sql: 先插入出一条存在的数据
productSkuMapper.insert(dbSku);
// 准备参数
Long id = dbSku.getId();

View File

@@ -455,7 +455,7 @@ public class ProductSpuServiceImplTest extends BaseDbUnitTest {
public void testUpdateSpuStock() {
// 准备参数
Map<Long, Integer> stockIncrCounts = MapUtil.builder(1L, 10).put(2L, -20).build();
// mock 方法(数据) // TODO ProductSpuDO中已没有相关属性
// mock 方法(数据)
productSpuMapper.insert(randomPojo(ProductSpuDO.class, o ->{
o.setCategoryId(generateId());
o.setBrandId(generateId());
@@ -495,7 +495,7 @@ public class ProductSpuServiceImplTest extends BaseDbUnitTest {
// 调用
productSpuService.updateSpuStock(stockIncrCounts);
// 断言 // TODO ProductSpuDO中已没有相关属性
// 断言
assertEquals(productSpuService.getSpu(1L).getStock(), 30);
assertEquals(productSpuService.getSpu(2L).getStock(), 10);
}