@Test public void testTaskDefinition() { // given: a plan item // when CmmnActivity activity = handler.handleElement(planItem, context); // then // there exists a taskDefinition HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); assertNotNull(behavior.getTaskDefinition()); }
@Test public void testTaskDefinitionCandidateGroups() { // given String aCandidateGroups = "accounting,management,backoffice"; humanTask.setCamundaCandidateGroups(aCandidateGroups); // when CmmnActivity activity = handler.handleElement(planItem, context); // then HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); Set<Expression> candidateGroupExpressions = taskDefinition.getCandidateGroupIdExpressions(); assertEquals(3, candidateGroupExpressions.size()); for (Expression candidateGroupExpression : candidateGroupExpressions) { String candidateGroup = candidateGroupExpression.getExpressionText(); if ("accounting".equals(candidateGroup)) { assertEquals("accounting", candidateGroup); } else if ("management".equals(candidateGroup)) { assertEquals("management", candidateGroup); } else if ("backoffice".equals(candidateGroup)) { assertEquals("backoffice", candidateGroup); } else { fail("Unexpected candidate group: " + candidateGroup); } } }
@Test public void testTaskDefinitionPriorityExpression() { // given String aPriority = "aPriority"; humanTask.setCamundaPriority(aPriority); // when CmmnActivity activity = handler.handleElement(planItem, context); // then HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); Expression priorityExpression = taskDefinition.getPriorityExpression(); assertNotNull(priorityExpression); assertEquals(aPriority, priorityExpression.getExpressionText()); }
@Test public void testHumanTaskDescription() { // given String description = "A description"; humanTask.setDescription(description); // when CmmnActivity activity = handler.handleElement(planItem, context); // then HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); Expression descriptionExpression = taskDefinition.getDescriptionExpression(); assertNotNull(descriptionExpression); assertEquals(description, descriptionExpression.getExpressionText()); }
@Test public void testCompleteTaskListenerByClass() { // given: ExtensionElements extensionElements = addExtensionElements(humanTask); CamundaTaskListener taskListener = createElement(extensionElements, null, CamundaTaskListener.class); String className = "org.camunda.bpm.test.tasklistener.ABC"; String event = TaskListener.EVENTNAME_COMPLETE; taskListener.setCamundaEvent(event); taskListener.setCamundaClass(className); // when CmmnActivity activity = handler.handleElement(planItem, context); // then assertEquals(0, activity.getListeners().size()); HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); assertNotNull(taskDefinition); assertEquals(1, taskDefinition.getTaskListeners().size()); List<TaskListener> createListeners = taskDefinition.getTaskListeners(event); assertEquals(1, createListeners.size()); TaskListener listener = createListeners.get(0); assertTrue(listener instanceof ClassDelegateTaskListener); ClassDelegateTaskListener classDelegateListener = (ClassDelegateTaskListener) listener; assertEquals(className, classDelegateListener.getClassName()); assertTrue(classDelegateListener.getFieldDeclarations().isEmpty()); }
@Test public void testAssignmentTaskListenerByDelegateExpression() { // given: ExtensionElements extensionElements = addExtensionElements(humanTask); CamundaTaskListener taskListener = createElement(extensionElements, null, CamundaTaskListener.class); String delegateExpression = "${myDelegateExpression}"; String event = TaskListener.EVENTNAME_ASSIGNMENT; taskListener.setCamundaEvent(event); taskListener.setCamundaDelegateExpression(delegateExpression); // when CmmnActivity activity = handler.handleElement(planItem, context); // then assertEquals(0, activity.getListeners().size()); HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); assertNotNull(taskDefinition); assertEquals(1, taskDefinition.getTaskListeners().size()); List<TaskListener> createListeners = taskDefinition.getTaskListeners(event); assertEquals(1, createListeners.size()); TaskListener listener = createListeners.get(0); assertTrue(listener instanceof DelegateExpressionTaskListener); DelegateExpressionTaskListener delegateExpressionListener = (DelegateExpressionTaskListener) listener; assertEquals(delegateExpression, delegateExpressionListener.getExpressionText()); assertTrue(delegateExpressionListener.getFieldDeclarations().isEmpty()); }
@Test public void testTaskDefinitionAssigneeExpression() { // given String aPriority = "aPriority"; humanTask.setCamundaPriority(aPriority); // when CmmnActivity activity = handler.handleElement(planItem, context); // then HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); Expression priorityExpression = taskDefinition.getPriorityExpression(); assertNotNull(priorityExpression); assertEquals(aPriority, priorityExpression.getExpressionText()); }
@Test public void testCreateTaskListenerByClass() { // given: ExtensionElements extensionElements = addExtensionElements(humanTask); CamundaTaskListener taskListener = createElement(extensionElements, null, CamundaTaskListener.class); String className = "org.camunda.bpm.test.tasklistener.ABC"; String event = TaskListener.EVENTNAME_CREATE; taskListener.setCamundaEvent(event); taskListener.setCamundaClass(className); // when CmmnActivity activity = handler.handleElement(planItem, context); // then assertEquals(0, activity.getListeners().size()); HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); assertNotNull(taskDefinition); assertEquals(1, taskDefinition.getTaskListeners().size()); List<TaskListener> createListeners = taskDefinition.getTaskListeners(event); assertEquals(1, createListeners.size()); TaskListener listener = createListeners.get(0); assertTrue(listener instanceof ClassDelegateTaskListener); ClassDelegateTaskListener classDelegateListener = (ClassDelegateTaskListener) listener; assertEquals(className, classDelegateListener.getClassName()); assertTrue(classDelegateListener.getFieldDeclarations().isEmpty()); }
@Test public void testCompleteTaskListenerByDelegateExpression() { // given: ExtensionElements extensionElements = addExtensionElements(humanTask); CamundaTaskListener taskListener = createElement(extensionElements, null, CamundaTaskListener.class); String delegateExpression = "${myDelegateExpression}"; String event = TaskListener.EVENTNAME_COMPLETE; taskListener.setCamundaEvent(event); taskListener.setCamundaDelegateExpression(delegateExpression); // when CmmnActivity activity = handler.handleElement(planItem, context); // then assertEquals(0, activity.getListeners().size()); HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); assertNotNull(taskDefinition); assertEquals(1, taskDefinition.getTaskListeners().size()); List<TaskListener> createListeners = taskDefinition.getTaskListeners(event); assertEquals(1, createListeners.size()); TaskListener listener = createListeners.get(0); assertTrue(listener instanceof DelegateExpressionTaskListener); DelegateExpressionTaskListener delegateExpressionListener = (DelegateExpressionTaskListener) listener; assertEquals(delegateExpression, delegateExpressionListener.getExpressionText()); assertTrue(delegateExpressionListener.getFieldDeclarations().isEmpty()); }
@Test public void testTaskDefinitionHumanTaskNameExpression() { // given String name = "A HumanTask"; humanTask.setName(name); // when CmmnActivity activity = handler.handleElement(planItem, context); // then HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); Expression nameExpression = behavior.getTaskDefinition().getNameExpression(); assertNotNull(nameExpression); assertEquals("A HumanTask", nameExpression.getExpressionText()); }
@Test public void testCompleteTaskListenerByExpression() { // given: ExtensionElements extensionElements = addExtensionElements(humanTask); CamundaTaskListener taskListener = createElement(extensionElements, null, CamundaTaskListener.class); String expression = "${myExpression}"; String event = TaskListener.EVENTNAME_COMPLETE; taskListener.setCamundaEvent(event); taskListener.setCamundaExpression(expression); // when CmmnActivity activity = handler.handleElement(planItem, context); // then assertEquals(0, activity.getListeners().size()); HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); assertNotNull(taskDefinition); assertEquals(1, taskDefinition.getTaskListeners().size()); List<TaskListener> createListeners = taskDefinition.getTaskListeners(event); assertEquals(1, createListeners.size()); TaskListener listener = createListeners.get(0); assertTrue(listener instanceof ExpressionTaskListener); ExpressionTaskListener expressionListener = (ExpressionTaskListener) listener; assertEquals(expression, expressionListener.getExpressionText()); }
@Test public void testCreateTaskListenerByExpression() { // given: ExtensionElements extensionElements = addExtensionElements(humanTask); CamundaTaskListener taskListener = createElement(extensionElements, null, CamundaTaskListener.class); String expression = "${myExpression}"; String event = TaskListener.EVENTNAME_CREATE; taskListener.setCamundaEvent(event); taskListener.setCamundaExpression(expression); // when CmmnActivity activity = handler.handleElement(planItem, context); // then assertEquals(0, activity.getListeners().size()); HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); assertNotNull(taskDefinition); assertEquals(1, taskDefinition.getTaskListeners().size()); List<TaskListener> createListeners = taskDefinition.getTaskListeners(event); assertEquals(1, createListeners.size()); TaskListener listener = createListeners.get(0); assertTrue(listener instanceof ExpressionTaskListener); ExpressionTaskListener expressionListener = (ExpressionTaskListener) listener; assertEquals(expression, expressionListener.getExpressionText()); }
@Test public void testAssignmentTaskListenerByExpression() { // given: ExtensionElements extensionElements = addExtensionElements(humanTask); CamundaTaskListener taskListener = createElement(extensionElements, null, CamundaTaskListener.class); String expression = "${myExpression}"; String event = TaskListener.EVENTNAME_ASSIGNMENT; taskListener.setCamundaEvent(event); taskListener.setCamundaExpression(expression); // when CmmnActivity activity = handler.handleElement(planItem, context); // then assertEquals(0, activity.getListeners().size()); HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); assertNotNull(taskDefinition); assertEquals(1, taskDefinition.getTaskListeners().size()); List<TaskListener> createListeners = taskDefinition.getTaskListeners(event); assertEquals(1, createListeners.size()); TaskListener listener = createListeners.get(0); assertTrue(listener instanceof ExpressionTaskListener); ExpressionTaskListener expressionListener = (ExpressionTaskListener) listener; assertEquals(expression, expressionListener.getExpressionText()); }
@Test public void testDeleteTaskListenerByExpression() { // given: ExtensionElements extensionElements = addExtensionElements(humanTask); CamundaTaskListener taskListener = createElement(extensionElements, null, CamundaTaskListener.class); String expression = "${myExpression}"; String event = TaskListener.EVENTNAME_DELETE; taskListener.setCamundaEvent(event); taskListener.setCamundaExpression(expression); // when CmmnActivity activity = handler.handleElement(planItem, context); // then assertEquals(0, activity.getListeners().size()); HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); assertNotNull(taskDefinition); assertEquals(1, taskDefinition.getTaskListeners().size()); List<TaskListener> createListeners = taskDefinition.getTaskListeners(event); assertEquals(1, createListeners.size()); TaskListener listener = createListeners.get(0); assertTrue(listener instanceof ExpressionTaskListener); ExpressionTaskListener expressionListener = (ExpressionTaskListener) listener; assertEquals(expression, expressionListener.getExpressionText()); }
@Test public void testTaskDefinitionDueDateExpression() { // given String aDueDate = "aDueDate"; humanTask.setCamundaDueDate(aDueDate); // when CmmnActivity activity = handler.handleElement(planItem, context); // then HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); Expression dueDateExpression = taskDefinition.getDueDateExpression(); assertNotNull(dueDateExpression); assertEquals(aDueDate, dueDateExpression.getExpressionText()); }
@Test public void testTaskDefinitionFollowUpDateExpression() { // given String aFollowUpDate = "aFollowDate"; humanTask.setCamundaFollowUpDate(aFollowUpDate); // when CmmnActivity activity = handler.handleElement(planItem, context); // then HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); Expression followUpDateExpression = taskDefinition.getFollowUpDateExpression(); assertNotNull(followUpDateExpression); assertEquals(aFollowUpDate, followUpDateExpression.getExpressionText()); }
@Test public void testTaskDefinitionFormKey() { // given String aFormKey = "aFormKey"; humanTask.setCamundaFormKey(aFormKey); // when CmmnActivity activity = handler.handleElement(planItem, context); // then HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); Expression formKeyExpression = taskDefinition.getFormKey(); assertNotNull(formKeyExpression); assertEquals(aFormKey, formKeyExpression.getExpressionText()); }
@Test public void testTaskDefinitionPlanItemNameExpression() { // given String name = "A HumanTask"; humanTask.setName(name); String planItemName = "My LocalName"; planItem.setName(planItemName); // when CmmnActivity activity = handler.handleElement(planItem, context); // then HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); Expression nameExpression = taskDefinition.getNameExpression(); assertNotNull(nameExpression); assertEquals("My LocalName", nameExpression.getExpressionText()); }
@Test public void testTaskDefinitionPeformerExpression() { // given CaseRole role = createElement(caseDefinition, "aRole", CaseRole.class); role.setName("aPerformerRole"); humanTask.setPerformer(role); // when CmmnActivity activity = handler.handleElement(planItem, context); // then HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); Expression assigneeExpression = taskDefinition.getAssigneeExpression(); assertNotNull(assigneeExpression); assertEquals("aPerformerRole", assigneeExpression.getExpressionText()); }
@Test public void testPlanItemDescription() { // given String description = "A description"; humanTask.setDescription(description); // the planItem has an own description String localDescription = "My Local Description"; planItem.setDescription(localDescription); // when CmmnActivity activity = handler.handleElement(planItem, context); // then HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior(); TaskDefinition taskDefinition = behavior.getTaskDefinition(); Expression descriptionExpression = taskDefinition.getDescriptionExpression(); assertNotNull(descriptionExpression); assertEquals(localDescription, descriptionExpression.getExpressionText()); }