package org.activiti.examples.bpmn.usertask; import java.util.List; import org.activiti.engine.impl.test.PluggableActivitiTestCase; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; import org.activiti.engine.test.Deployment; public class FinancialReportProcessTest extends PluggableActivitiTestCase { public void setUp() throws Exception { identityService.saveUser(identityService.newUser("fozzie")); identityService.saveUser(identityService.newUser("kermit")); identityService.saveGroup(identityService.newGroup("accountancy")); identityService.saveGroup(identityService.newGroup("management")); identityService.createMembership("fozzie", "accountancy"); identityService.createMembership("kermit", "management"); } public void tearDown() throws Exception { identityService.deleteUser("fozzie"); identityService.deleteUser("kermit"); identityService.deleteGroup("accountancy"); identityService.deleteGroup("management"); } @Deployment(resources={ "org/activiti/examples/bpmn/usertask/FinancialReportProcess.bpmn20.xml"}) public void testProcess() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("financialReport"); List<Task> tasks = taskService.createTaskQuery().taskCandidateUser("fozzie").list(); assertEquals(1, tasks.size()); Task task = tasks.get(0); assertEquals("Write monthly financial report", task.getName()); taskService.claim(task.getId(), "fozzie"); tasks = taskService .createTaskQuery() .taskAssignee("fozzie") .list(); assertEquals(1, tasks.size()); taskService.complete(task.getId()); tasks = taskService.createTaskQuery().taskCandidateUser("fozzie").list(); assertEquals(0, tasks.size()); tasks = taskService.createTaskQuery().taskCandidateUser("kermit").list(); assertEquals(1, tasks.size()); assertEquals("Verify monthly financial report", tasks.get(0).getName()); taskService.complete(tasks.get(0).getId()); assertProcessEnded(processInstance.getId()); } }