liu
昨天 381e02b9eccbe953b31d09f2af1c2ce77c816140
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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));
    }
 
}