package cn.iocoder.yudao.module.wms.service.md.item;
|
|
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
|
import cn.iocoder.yudao.module.wms.controller.admin.md.item.vo.brand.WmsItemBrandSaveReqVO;
|
import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemBrandDO;
|
import cn.iocoder.yudao.module.wms.dal.mysql.md.item.WmsItemBrandMapper;
|
import jakarta.annotation.Resource;
|
import org.junit.jupiter.api.Test;
|
import org.springframework.context.annotation.Import;
|
import org.springframework.test.context.bean.override.mockito.MockitoBean;
|
|
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
|
import static cn.iocoder.yudao.module.wms.enums.ErrorCodeConstants.ITEM_BRAND_NAME_DUPLICATE;
|
|
@Import(WmsItemBrandServiceImpl.class)
|
public class WmsItemBrandServiceImplTest extends BaseDbUnitTest {
|
|
@Resource
|
private WmsItemBrandServiceImpl brandService;
|
|
@Resource
|
private WmsItemBrandMapper brandMapper;
|
|
@MockitoBean
|
private WmsItemService itemService;
|
|
@Test
|
public void testCreateItemBrand_nameDuplicate() {
|
// mock 数据
|
brandMapper.insert(createBrand("B001", "华为"));
|
WmsItemBrandSaveReqVO reqVO = createBrandSaveReqVO(null, "B002", "华为");
|
|
// 调用,并断言
|
assertServiceException(() -> brandService.createItemBrand(reqVO), ITEM_BRAND_NAME_DUPLICATE);
|
}
|
|
@Test
|
public void testUpdateItemBrand_nameDuplicate() {
|
// mock 数据
|
brandMapper.insert(createBrand("B001", "华为"));
|
WmsItemBrandDO brand = createBrand("B002", "小米");
|
brandMapper.insert(brand);
|
WmsItemBrandSaveReqVO reqVO = createBrandSaveReqVO(brand.getId(), "B002", "华为");
|
|
// 调用,并断言
|
assertServiceException(() -> brandService.updateItemBrand(reqVO), ITEM_BRAND_NAME_DUPLICATE);
|
}
|
|
private static WmsItemBrandDO createBrand(String code, String name) {
|
return WmsItemBrandDO.builder()
|
.code(code)
|
.name(name)
|
.build();
|
}
|
|
private static WmsItemBrandSaveReqVO createBrandSaveReqVO(Long id, String code, String name) {
|
WmsItemBrandSaveReqVO reqVO = new WmsItemBrandSaveReqVO();
|
reqVO.setId(id);
|
reqVO.setCode(code);
|
reqVO.setName(name);
|
return reqVO;
|
}
|
|
}
|