@Test public void testUserTaskWithUpdatedContainer() throws Exception { Long processInstanceId = processClient.startProcess(CONTAINER_ID, PROCESS_ID_USERTASK); try { List<TaskSummary> tasks = taskClient.findTasksAssignedAsPotentialOwner(USER_YODA, 0, 10); assertEquals(1, tasks.size()); assertEquals("First task", tasks.get(0).getName()); assertTrue("Task should be skippable.", tasks.get(0).getSkipable().booleanValue()); // Update container to new version and restart process. processClient.abortProcessInstance(CONTAINER_ID, processInstanceId); KieServerAssert.assertSuccess(client.updateReleaseId(CONTAINER_ID, releaseId101)); processInstanceId = processClient.startProcess(CONTAINER_ID, PROCESS_ID_USERTASK); tasks = taskClient.findTasksAssignedAsPotentialOwner(USER_YODA, 0, 10); assertEquals(1, tasks.size()); assertEquals("Updated first task", tasks.get(0).getName()); assertFalse("Task shouldn't be skippable.", tasks.get(0).getSkipable().booleanValue()); } finally { processClient.abortProcessInstance(CONTAINER_ID, processInstanceId); } }
@Test public void testSkipUserTask() throws Exception { Long processInstanceId = processClient.startProcess(CONTAINER_ID, PROCESS_ID_USERTASK); assertNotNull(processInstanceId); assertTrue(processInstanceId.longValue() > 0); try { List<TaskSummary> taskList = taskClient.findTasksAssignedAsPotentialOwner(USER_YODA, 0, 10); assertNotNull(taskList); assertEquals(1, taskList.size()); TaskSummary taskSummary = taskList.get(0); assertEquals("First task", taskSummary.getName()); assertTrue(taskSummary.getSkipable().booleanValue()); taskClient.skipTask(CONTAINER_ID, taskSummary.getId(), USER_YODA); // find all tasks with Obsolete status - should be only one taskList = taskClient.findTasksByStatusByProcessInstanceId(processInstanceId, Arrays.asList("Obsolete"), 0, 10); assertNotNull(taskList); assertEquals(1, taskList.size()); taskSummary = taskList.get(0); checkTaskNameAndStatus(taskSummary, "First task", Status.Obsolete); // Verify we did skip the task and process moved on taskList = taskClient.findTasksAssignedAsPotentialOwner(USER_YODA, 0, 10); assertNotNull(taskList); assertEquals(1, taskList.size()); taskSummary = taskList.get(0); checkTaskNameAndStatus(taskSummary, "Second task", Status.Reserved); } finally { processClient.abortProcessInstance(CONTAINER_ID, processInstanceId); } }
assertTrue(taskSummary.getSkipable().booleanValue()); assertEquals("First task", taskSummary.getName()); KieServerAssert.assertNullOrEmpty(taskSummary.getDescription());