@Override public List<TaskSummary> getTasksAssignedAsPotentialOwner(String userId, List<String> groupIds) { synchronized (ksession) { return taskService.getTasksAssignedAsPotentialOwner(userId, groupIds); } }
@Override public List<TaskSummary> getTasksAssignedAsPotentialOwner(String userId, String language) { synchronized (ksession) { return taskService.getTasksAssignedAsPotentialOwner(userId, language); } }
@Override public List<TaskSummary> getTasksAssignedAsPotentialOwner(String userId, List<String> groupIds, List<Status> status, QueryFilter filter) { return taskService.getTasksAssignedAsPotentialOwner(userId, groupIds, status, filter); }
@Override public List<TaskSummary> getTasksAssignedAsPotentialOwner(String userId, List<String> groupIds, String language, int firstResult, int maxResults) { synchronized (ksession) { return taskService.getTasksAssignedAsPotentialOwner(userId, groupIds, language, firstResult, maxResults); } }
@Test public void testGetTasksAssignedAsPotentialOwnerWithUserGroupsLangNoTaskNoGroupIds() { List<String> groupIds = new ArrayList<String>(); groupIds.add("Crusaders"); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", groupIds); assertEquals(0, tasks.size()); }
@Test public void testGetTasksAssignedAsPotentialOwnerWithUserGroupsLangOffsetCountNoTask() { List<String> groupIds = new ArrayList<String>(); groupIds.add("Crusaders"); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", groupIds, null, 0, 1); assertEquals(0, tasks.size()); }
@Test public void testGetTasksAssignedAsPotentialOwnerWithUserGroupsMultipleUsersExcluded() { String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += " peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new Group('Crusaders'), ], excludedOwners = [new User('Luke Cage'), new User('Bobba Fet')],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Luke Cage", "en-UK"); assertEquals(0, tasks.size()); tasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", "en-UK"); assertEquals(0, tasks.size()); }
@Test public void testGetTasksAssignedAsPotentialOwnerWithUserLangNoTask() { List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", "en-UK"); assertEquals(0, tasks.size()); }
@Test public void testGetTasksAssignedAsPotentialOwnerWithUserGroupsSingleUserExcluded() { String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += " peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new Group('Crusaders'), ], excludedOwners = [new User('Luke Cage')],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Luke Cage", "en-UK"); assertEquals(0, tasks.size()); tasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", "en-UK"); assertEquals(1, tasks.size()); }
@Test public void testGetTasksAssignedAsPotentialOwnerWithExcluded() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet'), new User('Darth Vader') ], excludedOwners = [new User('Darth Vader')],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", "en-UK"); assertEquals(1, tasks.size()); tasks = taskService.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK"); assertEquals(0, tasks.size()); }
@Test public void testGetTasksAssignedAsPotentialOwnerWithMultipleExcluded() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet'), new User('Darth Vader'), new User('Luke Cage') ], excludedOwners = [new User('Darth Vader'), new User('Luke Cage')],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", "en-UK"); assertEquals(1, tasks.size()); tasks = taskService.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK"); assertEquals(0, tasks.size()); tasks = taskService.getTasksAssignedAsPotentialOwner("Luke Cage", "en-UK"); assertEquals(0, tasks.size()); }
@Test public void testGetTasksAssignedAsPotentialOwnerWithUserGroupsLangOneTaskOneUser() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet') ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<String> groupIds = new ArrayList<String>(); groupIds.add("Crusaders"); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", groupIds); assertEquals(1, tasks.size()); assertEquals("Bobba Fet", tasks.get(0).getActualOwnerId()); }
@Test public void testGetTasksAssignedAsPotentialOwnerWithUserLangOneTask() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet') ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", "en-UK"); assertEquals(1, tasks.size()); assertEquals("Bobba Fet", tasks.get(0).getActualOwnerId()); }
@Test public void testNewTaskWithSingleInvalidPotentialOwner() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new Group('invalid') ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); try { String potOwner = "invalid"; taskService.getTasksAssignedAsPotentialOwner(potOwner, "en-UK"); fail("Should fail due to same id for group and user"); } catch (RuntimeException e) { assertTrue(e.getMessage().endsWith("please check that there is no group and user with same id")); } }
@Test public void testGetTasksAssignedAsPotentialOwnerSkipable() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) {skipable=true } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet') ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<String> groupIds = new ArrayList<String>(); groupIds.add("Crusaders"); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", groupIds); assertEquals(1, tasks.size()); assertEquals("Bobba Fet", tasks.get(0).getActualOwnerId()); assertEquals(true, tasks.get(0).isSkipable()); }
@Test public void testGetTasksAssignedAsPotentialOwnerWithUserGroupsLangOneTaskOneGroup() { String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet'), new Group('Crusaders'), ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<String> groupIds = new ArrayList<String>(); groupIds.add("Crusaders"); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", groupIds); assertEquals(1, tasks.size()); assertNull(tasks.get(0).getActualOwner()); assertNull(tasks.get(0).getActualOwnerId()); assertEquals(Status.Ready, tasks.get(0).getStatus()); }
@Test public void testExitBeforeClaim() { Task task = new TaskFluent().setName("This is my task name 2") .addPotentialGroup("Knights Templer") .setAdminUser("Administrator") .getTask(); taskService.addTask(task, new HashMap<String, Object>()); long taskId = task.getId(); List<TaskSummary> allGroupAuditTasks = taskService.getTasksAssignedAsPotentialOwner("salaboy", null, null, null); assertEquals(1, allGroupAuditTasks.size()); assertTrue(allGroupAuditTasks.get(0).getStatusId().equals("Ready")); taskService.exit(taskId, "Administrator"); List<AuditTask> allHistoryAuditTasks = taskAuditService.getAllAuditTasks(new QueryFilter(0, 10)); assertEquals(1, allHistoryAuditTasks.size()); allGroupAuditTasks = taskService.getTasksAssignedAsPotentialOwner("salaboy", null, null, null); assertEquals(0, allGroupAuditTasks.size()); }
@Test public void testGroupTasks() { Task task = new TaskFluent().setName("This is my task name") .addPotentialUser("salaboy") .addPotentialGroup("Knights Templer") .setAdminUser("Administrator") .getTask(); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> allGroupTasks = taskService.getTasksAssignedAsPotentialOwner("salaboy", null, null, null); assertEquals(1, allGroupTasks.size()); assertTrue(allGroupTasks.get(0).getStatusId().equals("Ready")); List<AuditTask> allGroupAuditTasksByUser = taskAuditService.getAllGroupAuditTasksByUser("salaboy", new QueryFilter(0, 10)); assertEquals(1, allGroupAuditTasksByUser.size()); assertTrue(allGroupAuditTasksByUser.get(0).getStatus().equals("Ready")); } }
@Test public void testExitNotAvailableToUsers() { String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { skipable = false} ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet')], businessAdministrators = [ new User('Administrator')] }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); long taskId = task.getId(); task = taskService.getTaskById(taskId); assertEquals(Status.Reserved, task.getTaskData().getStatus()); taskService.exit(taskId, "Administrator"); Task task1 = taskService.getTaskById(taskId); assertEquals(Status.Exited, task1.getTaskData().getStatus()); List<TaskSummary> exitedTasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", "en-UK"); assertEquals(0, exitedTasks.size()); }
@Test public void testNewTaskWithSinglePotentialOwner() { // One potential owner, should go straight to state Reserved String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet') ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); long taskId = task.getId(); // Task should be assigned to the single potential owner and state set to Reserved Task task1 = taskService.getTaskById(taskId); assertEquals(Status.Reserved, task1.getTaskData().getStatus()); String potOwner = "Bobba Fet"; assertEquals(potOwner, task1.getTaskData().getActualOwner().getId()); taskService.getTasksAssignedAsPotentialOwner(potOwner, "en-UK"); }