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 records = recordUtil.getRecordList(Arrays.asList(handled, missingUser)); assertEquals("审核人/reviewer", records.get(0).getUserName()); assertEquals("博思涛/质量中心/质控部、博思涛/研发部、旧部门", records.get(0).getDepartmentName()); assertNull(records.get(1).getDepartmentName()); } }