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());
|
}
|
}
|