BPMN Comformance Set 2
Last updated
Last updated
This scenario checks User Tasks and basic assignments properties. It also check the events generated by the Task Runtime. Task Operations are used to interact against Task resources. The source code of these tests can be found here.
User Task with User Assignment
We should be able to start the process and check that the Status after start is RUNNING
This process instance has a concrete assignee: “user1”
We should query for the tasks for the assigned user and check that we get just one task
We should check that User2 doesn’t have any task
We should be able to get the task by id using User1
Start Process Operation:
PROCESS_CREATED
PROCESS_STARTED
ACTIVITY_STARTED
ACTIVITY_COMPLETED
SEQUENCE_FLOW_TAKEN
ACTIVITY_STARTED
TASK_CREATED
TASK_ASSIGNED
TASK_UPDATED
User1 should be able to complete the task
Task Complete Operation
TASK_COMPLETED
ACTIVITY_COMPLETED
SEQUENCE_FLOW_TAKEN
ACTIVITY_STARTED
ACTIVITY_COMPLETED
PROCESS_COMPLETED
We should be able to start the process and check that the Status after start is RUNNING
This process instance has no concrete assignee
We should query for the tasks for the candidate user and check that we get just one task
We should check that User2 doesn’t have any task
We should be able to get the task by id using User1
We should check that User2 cannot get the task by id
Neither User1 or User2 should be able to complete the task before having an assignee set (different errors User2 not found, User1 cannot complete without assignee)
User1 should be able to claim the task
After claim the assignee should be set
If User1 is an assignee he/she should be able to complete the task
We should check that the assignee was removed after release
Start Process Operation:
PROCESS_CREATED
PROCESS_STARTED
ACTIVITY_STARTED
ACTIVITY_COMPLETED
SEQUENCE_FLOW_TAKEN
ACTIVITY_STARTED
TASK_CREATED
We should get the following events after claiming the task
Claim Task Operation:
TASK_ASSIGNED
TASK_UPDATED
We should get the following events after releasing the task
Release Task Operation:
TASK_COMPLETED
ACTIVITY_COMPLETED
SEQUENCE_FLOW_TAKEN
ACTIVITY_STARTED
ACTIVITY_COMPLETED
PROCESS_COMPLETED
User Task with Candidate User Claim & Release Task
We should be able to start the process and check that the Status after start is RUNNING
Start Process Operation
PROCESS_CREATED
PROCESS_STARTED
ACTIVITY_STARTED
ACTIVITY_COMPLETED
SEQUENCE_FLOW_TAKEN
ACTIVITY_STARTED
TASK_CREATED
This process instance has no concrete assignee
We should query for the tasks for the candidate user and check that we get just one task
We should check that User2 doesn’t have any task
User1 should be able to claim the task
The task status should be ASSIGNED
User1 should be able to release the task
The task status should be CREATED
Claim Task Operation
TASK_ASSIGNED
TASK_UPDATED
Release Task Operation
TASK_ASSIGNED
TASK_UPDATED
User Task with Candidate Group
We should be able to start the process and check that the Status after start is RUNNING
This process instance has no concrete assignee
We should query for the tasks for the candidate group Group1, User1 and User3 get one task
We should check that User2 doesn’t have any task
We should be able to get the task by id using User1 and User3
We should check that User2 cannot get the task by id
Neither User1 or User2 should be able to complete the task before having an assignee set
User1 should claim the task
User3 will no longer see that task because it was assigned to User1
Start Process Operation
PROCESS_CREATED
PROCESS_STARTED
ACTIVITY_STARTED
ACTIVITY_COMPLETED
SEQUENCE_FLOW_TAKEN
ACTIVITY_STARTED
TASK_CREATED
Claim Task Operation
TASK_ASSIGNED
TASK_UPDATED
Release Task Operation
TASK_COMPLETED,
ACTIVITY_COMPLETED
SEQUENCE_FLOW_TAKEN
ACTIVITY_STARTED
ACTIVITY_COMPLETED
PROCESS_COMPLETED
User Task with Candidate Group Claim & Release Task
We should be able to start the process and check that the Status after start is RUNNING
Start Process Operation
PROCESS_CREATED
PROCESS_STARTED
ACTIVITY_STARTED
ACTIVITY_COMPLETED
SEQUENCE_FLOW_TAKEN
ACTIVITY_STARTED
TASK_CREATED
This process instance has no concrete assignee
We should query for the tasks for the candidate user and check that we get just one task
We should check that User2 doesn’t have any task
We should be able to get the task by id using User1
We should check that User2 cannot get the task by id
Neither User1 or User2 should be able to complete the task before having an assignee set
Claim Task Operation
TASK_ASSIGNED
TASK_UPDATED
Release Task Operation
TASK_ASSIGNED
TASK_UPDATED
User3 and User1 should be able to see the task again after release
We should be able to start the process and check that the Status after start is RUNNING
Neither User1 or User2 should be able to see any task, due the task has no assignee, candidateUser or candidateGroup
A user with ACTIVITI_ADMIN role should be able to see the task, but more on Admins later
A process creates a task and the user execute delete on it
The user is the assignee of the task, so no need to claim
Calling delete on a task that belongs to a process should produce an ActivitiException: “The task cannot be deleted because is part of a running process”
User Task For Candidate Delete
A process creates a task and the user execute delete on it
The user is the candidate of the task
Calling delete on a task that belongs to a process should produce an ActivitiException