示例#1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Deployment public void testTwoSubProcessInParallelWithinSubProcess()
        public virtual void testTwoSubProcessInParallelWithinSubProcess()
        {
            ProcessInstance pi        = runtimeService.startProcessInstanceByKey("twoSubProcessInParallelWithinSubProcess");
            TaskQuery       taskQuery = taskService.createTaskQuery().processInstanceId(pi.Id).orderByTaskName().asc();
            IList <Task>    tasks     = taskQuery.list();

            // After process start, both tasks in the subprocesses should be active
            Task taskA = tasks[0];
            Task taskB = tasks[1];

            assertEquals("Task in subprocess A", taskA.Name);
            assertEquals("Task in subprocess B", taskB.Name);

            // validate activity instance tree
            ActivityInstance rootActivityInstance = runtimeService.getActivityInstance(pi.ProcessInstanceId);

            ActivityInstanceAssert.assertThat(rootActivityInstance).hasStructure(ActivityInstanceAssert.describeActivityInstanceTree(pi.ProcessDefinitionId).beginScope("outerSubProcess").beginScope("subProcessA").activity("subProcessATask").endScope().beginScope("subProcessB").activity("subProcessBTask").done());

            // Completing both tasks should active the tasks outside the subprocesses
            taskService.complete(taskA.Id);
            taskService.complete(taskB.Id);

            Task taskAfterSubProcess = taskQuery.singleResult();

            assertEquals("Task after subprocess", taskAfterSubProcess.Name);

            // Completing this task should end the process
            taskService.complete(taskAfterSubProcess.Id);
            assertProcessEnded(pi.Id);
        }
示例#2
0
        public virtual void testActivityInstanceTreeAfterSuccessfulCompletion()
        {
            ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("transactionProcess");

            // the tx task is present
            Task task = taskService.createTaskQuery().singleResult();

            assertNotNull(task);

            // making the tx succeed
            taskService.setVariable(task.Id, "confirmed", true);
            taskService.complete(task.Id);

            ActivityInstance tree = runtimeService.getActivityInstance(processInstance.Id);

            ActivityInstanceAssert.assertThat(tree).hasStructure(ActivityInstanceAssert.describeActivityInstanceTree(processInstance.ProcessDefinitionId).activity("afterSuccess").done());
        }