package cn.iocoder.yudao.module.mes.service.md.item;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.module.mes.controller.admin.md.item.vo.MesMdItemPageReqVO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemTypeDO;
|
import cn.iocoder.yudao.module.mes.dal.mysql.md.item.MesMdItemMapper;
|
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.mockito.InjectMocks;
|
import org.mockito.Mock;
|
import org.mockito.junit.jupiter.MockitoExtension;
|
|
import java.util.List;
|
import java.util.Set;
|
|
import static org.junit.jupiter.api.Assertions.assertSame;
|
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.when;
|
|
@ExtendWith(MockitoExtension.class)
|
class MesMdItemServiceImplTest {
|
|
@InjectMocks
|
private MesMdItemServiceImpl itemService;
|
|
@Mock
|
private MesMdItemMapper itemMapper;
|
@Mock
|
private MesMdItemTypeService itemTypeService;
|
|
@Test
|
void getItemPage_excludesEquipmentAndItsChildren() {
|
MesMdItemPageReqVO reqVO = new MesMdItemPageReqVO();
|
reqVO.setExcludeItemTypeCode("EQUIPMENT");
|
MesMdItemTypeDO equipment = new MesMdItemTypeDO().setId(100L).setCode("EQUIPMENT");
|
MesMdItemTypeDO equipmentChild = new MesMdItemTypeDO().setId(101L).setParentId(100L);
|
PageResult<MesMdItemDO> expected = new PageResult<>(List.of(), 0L);
|
when(itemTypeService.getItemTypeByCode("EQUIPMENT")).thenReturn(equipment);
|
when(itemTypeService.getItemTypeChildrenList(100L)).thenReturn(List.of(equipmentChild));
|
when(itemMapper.selectPage(reqVO, null, Set.of(100L, 101L))).thenReturn(expected);
|
|
PageResult<MesMdItemDO> result = itemService.getItemPage(reqVO);
|
|
assertSame(expected, result);
|
verify(itemMapper).selectPage(reqVO, null, Set.of(100L, 101L));
|
}
|
|
}
|