刘光辉
4 小时以前 06f314545ac3514d7ce28939920866ae8188d31c
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package jnpf.flowable.util;
 
import jnpf.flowable.entity.RecordEntity;
import jnpf.flowable.mapper.CirculateMapper;
import jnpf.flowable.mapper.EventLogMapper;
import jnpf.flowable.mapper.NodeRecordMapper;
import jnpf.flowable.mapper.OperatorMapper;
import jnpf.flowable.mapper.RecordMapper;
import jnpf.flowable.mapper.TriggerLaunchflowMapper;
import jnpf.flowable.mapper.TriggerTaskMapper;
import jnpf.flowable.model.record.RecordVo;
import jnpf.permission.entity.OrganizeEntity;
import jnpf.permission.entity.UserEntity;
import org.junit.Test;
 
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
 
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.mockito.ArgumentMatchers.anyList;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
 
public class RecordUtilTest {
 
    @Test
    public void includesHandlerDepartmentsInConfiguredOrder() {
        ServiceUtil serviceUtil = mock(ServiceUtil.class);
        RecordUtil recordUtil = new RecordUtil(serviceUtil, mock(RecordMapper.class), mock(CirculateMapper.class),
                mock(OperatorMapper.class), mock(EventLogMapper.class), mock(NodeRecordMapper.class),
                mock(TriggerTaskMapper.class), mock(TriggerLaunchflowMapper.class));
 
        UserEntity user = new UserEntity();
        user.setId("user-1");
        user.setRealName("审核人");
        user.setAccount("reviewer");
        user.setOrganizeId("dept-2,dept-1,dept-3,deleted-dept");
        OrganizeEntity first = new OrganizeEntity();
        first.setId("dept-1");
        first.setFullName("研发部");
        first.setOrgNameTree("博思涛/研发部");
        OrganizeEntity second = new OrganizeEntity();
        second.setId("dept-2");
        second.setFullName("质控部");
        second.setOrgNameTree("博思涛/质量中心/质控部");
        OrganizeEntity legacy = new OrganizeEntity();
        legacy.setId("dept-3");
        legacy.setFullName("旧部门");
        when(serviceUtil.getUserName(anyList())).thenReturn(Collections.singletonList(user));
        when(serviceUtil.getOrganizeList(anyList())).thenReturn(Arrays.asList(first, second, legacy));
 
        RecordEntity handled = new RecordEntity();
        handled.setHandleId("user-1");
        RecordEntity missingUser = new RecordEntity();
        missingUser.setHandleId("missing-user");
 
        List<RecordVo> records = recordUtil.getRecordList(Arrays.asList(handled, missingUser));
        assertEquals("审核人/reviewer", records.get(0).getUserName());
        assertEquals("博思涛/质量中心/质控部、博思涛/研发部、旧部门", records.get(0).getDepartmentName());
        assertNull(records.get(1).getDepartmentName());
    }
}