use of org.kie.kogito.taskassigning.core.model.TaskAssigningSolution in project kogito-apps by kiegroup.
the class TaskAssigningServiceTest method buildSolutionWithScore.
private TaskAssigningSolution buildSolutionWithScore(BendableLongScore score) {
TaskAssigningSolution solution = buildSolution();
solution.setScore(score);
return solution;
}
use of org.kie.kogito.taskassigning.core.model.TaskAssigningSolution in project kogito-apps by kiegroup.
the class TaskAssigningServiceTest method buildSolution.
private TaskAssigningSolution buildSolution() {
List<TaskAssignment> user1Assignments = Arrays.asList(mockTaskAssignment(TASK_1_ID), mockTaskAssignment(TASK_2_ID));
User user1 = mockUser(USER_1_ID, user1Assignments);
List<TaskAssignment> user2Assignments = Arrays.asList(mockTaskAssignment(TASK_3_ID), mockTaskAssignment(TASK_4_ID));
User user2 = mockUser(USER_2_ID, user2Assignments);
List<TaskAssignment> assignments = new ArrayList<>();
assignments.addAll(user1Assignments);
assignments.addAll(user2Assignments);
return new TaskAssigningSolution("1", Arrays.asList(user1, user2), assignments);
}
use of org.kie.kogito.taskassigning.core.model.TaskAssigningSolution in project kogito-apps by kiegroup.
the class SolutionBuilderTest method build.
@Test
void build() {
List<TaskData> taskDataList = Arrays.asList(mockTaskData(TASK1, READY.value()), mockTaskData(TASK2, RESERVED.value(), USER2), mockTaskData(TASK3, READY.value()), mockTaskData(TASK4, READY.value()), mockTaskData(TASK5, RESERVED.value(), USER2), mockTaskData(TASK6, READY.value()), mockTaskData(TASK7, RESERVED.value(), USER4), mockTaskData(TASK8, READY.value()), mockTaskData(TASK9, RESERVED.value(), USER4), mockTaskData(TASK10, RESERVED.value(), USER1), mockTaskData(TASK11, RESERVED.value(), USER_NOT_IN_THE_EXTERNAL_SYSTEM));
List<org.kie.kogito.taskassigning.user.service.User> externalUsers = Arrays.asList(mockExternalUser(USER1), mockExternalUser(USER2), mockExternalUser(USER3), mockExternalUser(USER4));
TaskAssigningSolution solution = SolutionBuilder.newBuilder().withTasks(taskDataList).withUsers(externalUsers).withProcessors(processorRegistry).build();
assertThat(solution.getTaskAssignmentList()).hasSize(13);
assertThat(solution.getUserList()).hasSize(6);
assertThatUserHasTask(solution, USER1, 1, 0, TASK10, 0, 1);
assertThatUserHasTask(solution, USER2, 2, 0, TASK2, 0, 1);
assertThatUserHasTask(solution, USER2, 2, 1, TASK5, 1, 2);
assertThatUserNoTasks(solution, USER3);
assertThatUserHasTask(solution, USER4, 2, 0, TASK7, 0, 1);
assertThatUserHasTask(solution, USER4, 2, 1, TASK9, 1, 2);
assertThatUserHasTask(solution, USER_NOT_IN_THE_EXTERNAL_SYSTEM, 1, 0, TASK11, 0, 1);
assertThatUserNoTasks(solution, PLANNING_USER_ID);
assertThatTaskIsNotAssigned(solution, TASK1);
assertThatTaskIsAssignedToUser(solution, TASK2, USER2);
assertThatTaskIsNotAssigned(solution, TASK3);
assertThatTaskIsNotAssigned(solution, TASK4);
assertThatTaskIsAssignedToUser(solution, TASK5, USER2);
assertThatTaskIsNotAssigned(solution, TASK6);
assertThatTaskIsAssignedToUser(solution, TASK7, USER4);
assertThatTaskIsNotAssigned(solution, TASK8);
assertThatTaskIsAssignedToUser(solution, TASK9, USER4);
assertThatTaskIsAssignedToUser(solution, TASK10, USER1);
assertThatTaskIsAssignedToUser(solution, TASK11, USER_NOT_IN_THE_EXTERNAL_SYSTEM);
assertThatTaskIsNotAssigned(solution, DUMMY_TASK_ASSIGNMENT.getId());
assertThatTaskIsNotAssigned(solution, DUMMY_TASK_ASSIGNMENT_PLANNER_1738.getId());
assertThatTaskProcessorsWereApplied(solution, processorRegistry, TASK1, TASK2, TASK3, TASK4, TASK5, TASK6, TASK7, TASK8, TASK9, TASK10, TASK11);
assertThatUserProcessorsWereApplied(externalUsers);
}
use of org.kie.kogito.taskassigning.core.model.TaskAssigningSolution in project kogito-apps by kiegroup.
the class SolutionChangesBuilderTest method addNewReservedTaskChangeWithActualOwnerInExternalSystem.
@Test
void addNewReservedTaskChangeWithActualOwnerInExternalSystem() {
TaskData taskData = mockTaskData(TASK_1_ID, TaskState.RESERVED.value(), USER_1, TASK_1_LAST_UPDATE);
org.kie.kogito.taskassigning.user.service.User externalUser = mockExternalUser(USER_1);
doReturn(externalUser).when(userServiceConnector).findUser(USER_1);
TaskAssigningSolution solution = mockSolution(Collections.emptyList(), Collections.emptyList());
addNewReservedTaskChangeWithActualOwner(solution, taskData);
verify(userServiceConnector).findUser(USER_1);
assertThatUserProcessorsWereApplied(externalUser);
}
use of org.kie.kogito.taskassigning.core.model.TaskAssigningSolution in project kogito-apps by kiegroup.
the class SolutionChangesBuilderTest method addReservedTaskChangeForAnotherUserNotInExternalSystem.
@Test
void addReservedTaskChangeForAnotherUserNotInExternalSystem() {
TaskAssignment user1Assignment = new TaskAssignment(mockTask(TASK_1_ID));
User user1 = TestUtil.mockUser(USER_1, Collections.singletonList(user1Assignment));
TaskAssigningSolution solution = mockSolution(Collections.singletonList(user1), Collections.singletonList(user1Assignment));
TaskData taskData = mockTaskData(TASK_1_ID, RESERVED.value(), USER_2, TASK_1_LAST_UPDATE);
addReservedTaskChangeForAnotherUser(solution, taskData, mockUser(USER_2));
verify(userServiceConnector).findUser(USER_2);
assertThatUserProcessorsWereNotApplied();
}
Aggregations