diff --git a/source/test-java/org/alfresco/repo/workflow/activiti/ActivitiWorkflowServiceIntegrationTest.java b/source/test-java/org/alfresco/repo/workflow/activiti/ActivitiWorkflowServiceIntegrationTest.java index 582ac8bd25..29f5ffac00 100644 --- a/source/test-java/org/alfresco/repo/workflow/activiti/ActivitiWorkflowServiceIntegrationTest.java +++ b/source/test-java/org/alfresco/repo/workflow/activiti/ActivitiWorkflowServiceIntegrationTest.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2011 Alfresco Software Limited. + * Copyright (C) 2005-2014 Alfresco Software Limited. * * This file is part of Alfresco * @@ -27,6 +27,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.alfresco.model.ContentModel; import org.alfresco.repo.security.permissions.AccessDeniedException; import org.alfresco.repo.workflow.AbstractWorkflowServiceIntegrationTest; import org.alfresco.repo.workflow.WorkflowModel; @@ -282,6 +283,37 @@ public class ActivitiWorkflowServiceIntegrationTest extends AbstractWorkflowServ assertEquals(veryLongTextValue, startTask.getProperties().get(WorkflowModel.PROP_COMMENT)); } + /** + * Test for MNT-11247 + */ + public void testAssignmentListener() + { + WorkflowDefinition definition = deployDefinition(getAssignmentListenerDefinitionPath()); + Map params = new HashMap(); + params.put(ContentModel.PROP_OWNER, USER1); + NodeRef assignee = personManager.get(USER1); + params.put(WorkflowModel.ASSOC_ASSIGNEE, assignee); + WorkflowPath path = workflowService.startWorkflow(definition.getId(), params); + + // end start task + List tasks = workflowService.getTasksForWorkflowPath(path.getId()); + workflowService.endTask(tasks.get(0).getId(), null); + + // end user task 1 + tasks = workflowService.getTasksForWorkflowPath(path.getId()); + workflowService.updateTask(tasks.get(0).getId(), params, null, null); + workflowService.endTask(tasks.get(0).getId(), null); + + WorkflowTask result = workflowService.getTaskById(tasks.get(0).getId()); + Map props = result.getProperties(); + Double create1 = (Double) props.get(QName.createQName("http://www.alfresco.org/model/bpm/1.0", "create1")); + assertEquals("Create listener was not triggered", new Double(1), create1); + Double complete1 = (Double) props.get(QName.createQName("http://www.alfresco.org/model/bpm/1.0", "complete1")); + assertEquals("Complete listener was not triggered", new Double(1), complete1); + Double assignment1 = (Double) props.get(QName.createQName("http://www.alfresco.org/model/bpm/1.0", "assignment1")); + assertEquals("Assign listener was not triggered", new Double(1), assignment1); + } + protected String getLongString(int numberOfCharacters) { StringBuffer stringBuffer = new StringBuffer(); for(int i=0; i + + + + + + + + + var counter = task.getVariableLocal('bpm_assignment1'); + if (counter != null) + { + task.setVariableLocal('bpm_assignment1', counter + 1); + } + else + { + task.setVariableLocal('bpm_assignment1', 1); + } + + + + + + + var counter = task.getVariableLocal('bpm_create1'); + if (counter != null) + { + task.setVariableLocal('bpm_create1', counter + 1); + } + else + { + task.setVariableLocal('bpm_create1', 1); + } + + + + + + + var counter = task.getVariableLocal('bpm_complete1'); + if (counter != null) + { + task.setVariableLocal('bpm_complete1', counter + 1); + } + else + { + task.setVariableLocal('bpm_complete1', 1); + } + + + + + + + + + + \ No newline at end of file