import org.kuali.rice.kew.actionitem.ActionItem; //导入方法依赖的package包/类
@Test public void testConvertActionItem() throws Exception {
// get test data
String testWorkgroupName = "TestWorkgroup";
Group testWorkgroup = KimApiServiceLocator.getGroupService().getGroupByNamespaceCodeAndName(
KimConstants.KIM_GROUP_WORKFLOW_NAMESPACE_CODE, testWorkgroupName);
String testWorkgroupId = testWorkgroup.getId();
assertTrue("Test workgroup '" + testWorkgroupName + "' should have at least one user", KimApiServiceLocator.getGroupService().getDirectMemberPrincipalIds(
testWorkgroup.getId()).size() > 0);
String workflowId = KimApiServiceLocator.getGroupService().getDirectMemberPrincipalIds(testWorkgroup.getId()).get(0);
assertNotNull("User from workgroup should not be null", workflowId);
String actionRequestCd = KewApiConstants.ACTION_REQUEST_ACKNOWLEDGE_REQ;
String actionRequestId = "4";
String docName = "dummy";
String roleName = "fakeRole";
String documentId = "23";
Timestamp dateAssigned = new Timestamp(new Date().getTime());
String docHandlerUrl = "http://this.is.not.us";
String docTypeLabel = "Label Me";
String docTitle = "Title me";
String responsibilityId = "35";
DelegationType delegationType = DelegationType.PRIMARY;
// create fake action item
ActionItem actionItem = new ActionItem();
actionItem.setActionRequestCd(actionRequestCd);
actionItem.setActionRequestId(actionRequestId);
actionItem.setDocName(docName);
actionItem.setRoleName(roleName);
actionItem.setPrincipalId(workflowId);
actionItem.setDocumentId(documentId);
actionItem.setDateAssigned(dateAssigned);
actionItem.setDocHandlerURL(docHandlerUrl);
actionItem.setDocLabel(docTypeLabel);
actionItem.setDocTitle(docTitle);
actionItem.setGroupId(testWorkgroupId);
actionItem.setResponsibilityId(responsibilityId);
actionItem.setDelegationType(delegationType);
actionItem.setDelegatorPrincipalId(workflowId);
actionItem.setDelegatorGroupId(testWorkgroupId);
// convert to action item vo object and verify
org.kuali.rice.kew.api.action.ActionItem actionItemVO = ActionItem.to(actionItem);
assertEquals("Action Item VO object has incorrect value", actionRequestCd, actionItemVO.getActionRequestCd());
assertEquals("Action Item VO object has incorrect value", actionRequestId, actionItemVO.getActionRequestId());
assertEquals("Action Item VO object has incorrect value", docName, actionItemVO.getDocName());
assertEquals("Action Item VO object has incorrect value", roleName, actionItemVO.getRoleName());
assertEquals("Action Item VO object has incorrect value", workflowId, actionItemVO.getPrincipalId());
assertEquals("Action Item VO object has incorrect value", documentId, actionItemVO.getDocumentId());
assertEquals("Action Item VO object has incorrect value", new DateTime(dateAssigned.getTime()), actionItemVO.getDateTimeAssigned());
assertEquals("Action Item VO object has incorrect value", docHandlerUrl, actionItemVO.getDocHandlerURL());
assertEquals("Action Item VO object has incorrect value", docTypeLabel, actionItemVO.getDocLabel());
assertEquals("Action Item VO object has incorrect value", docTitle, actionItemVO.getDocTitle());
assertEquals("Action Item VO object has incorrect value", "" + testWorkgroupId, actionItemVO.getGroupId());
assertEquals("Action Item VO object has incorrect value", responsibilityId, actionItemVO.getResponsibilityId());
assertEquals("Action Item VO object has incorrect value", delegationType, actionItemVO.getDelegationType());
assertEquals("Action Item VO object has incorrect value", workflowId, actionItemVO.getDelegatorPrincipalId());
assertEquals("Action Item VO object has incorrect value", testWorkgroupId, actionItemVO.getDelegatorGroupId());
}