Search in sources :

Example 66 with User

use of org.kie.kogito.taskassigning.core.model.User in project kogito-apps by kiegroup.

the class TaskHelperTest method isPotentialOwnerDirectAssignmentFalse.

@Test
void isPotentialOwnerDirectAssignmentFalse() {
    for (User user : availableUsers) {
        task.getPotentialUsers().remove(user.getId());
        assertThat(isPotentialOwner(task, user)).isFalse();
    }
}
Also used : User(org.kie.kogito.taskassigning.core.model.User) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 67 with User

use of org.kie.kogito.taskassigning.core.model.User in project kogito-apps by kiegroup.

the class TaskHelperTest method isPotentialOwnerInDirectAssignmentFalse.

@Test
void isPotentialOwnerInDirectAssignmentFalse() {
    for (User user : availableUsers) {
        task.getPotentialUsers().remove(user.getId());
        for (Group group : availableGroups) {
            user.getGroups().add(group);
            assertThat(isPotentialOwner(task, user)).isTrue();
            user.getGroups().remove(group);
            assertThat(isPotentialOwner(task, user)).isFalse();
        }
    }
}
Also used : Group(org.kie.kogito.taskassigning.core.model.Group) User(org.kie.kogito.taskassigning.core.model.User) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 68 with User

use of org.kie.kogito.taskassigning.core.model.User in project kogito-apps by kiegroup.

the class AssignTaskExecutableProblemFactChangeTest method assignTaskProblemFactChangeUserNotFound.

@Test
void assignTaskProblemFactChangeUserNotFound() {
    TaskAssigningSolution solution = readTaskAssigningSolution(SET_OF_24TASKS_8USERS_SOLUTION.resource());
    TaskAssignment taskAssignment = solution.getTaskAssignmentList().get(0);
    User user = new User("Non Existing");
    Assertions.assertThatThrownBy(() -> executeSequentialChanges(solution, Collections.singletonList(new ProgrammedAssignTaskProblemFactChange(taskAssignment, user)))).hasMessage("Expected user: %s was not found in current working solution", user);
}
Also used : User(org.kie.kogito.taskassigning.core.model.User) TaskAssigningSolution(org.kie.kogito.taskassigning.core.model.TaskAssigningSolution) TaskAssignment(org.kie.kogito.taskassigning.core.model.TaskAssignment) Test(org.junit.jupiter.api.Test)

Example 69 with User

use of org.kie.kogito.taskassigning.core.model.User in project kogito-apps by kiegroup.

the class AssignTaskExecutableProblemFactChangeTest method assignTaskProblemFactChangeRandomChangeSet.

private void assignTaskProblemFactChangeRandomChangeSet(String solutionResource) throws Exception {
    TaskAssigningSolution solution = readTaskAssigningSolution(solutionResource);
    solution.getUserList().add(PLANNING_USER);
    int taskCount = solution.getTaskAssignmentList().size();
    int userCount = solution.getUserList().size();
    int randomChanges = taskCount / 2 + random.nextInt(taskCount / 2);
    // prepare the list of changes to program
    List<ProgrammedAssignTaskProblemFactChange> programmedChanges = new ArrayList<>();
    TaskAssignment randomTask;
    User randomUser;
    for (int i = 0; i < randomChanges; i++) {
        randomTask = solution.getTaskAssignmentList().get(random.nextInt(taskCount));
        randomUser = solution.getUserList().get(random.nextInt(userCount));
        programmedChanges.add(new ProgrammedAssignTaskProblemFactChange(randomTask, randomUser));
    }
    assignTaskProblemFactChange(solution, solutionResource, RANDOM_TEST, programmedChanges);
}
Also used : User(org.kie.kogito.taskassigning.core.model.User) TaskAssigningSolution(org.kie.kogito.taskassigning.core.model.TaskAssigningSolution) ArrayList(java.util.ArrayList) TaskAssignment(org.kie.kogito.taskassigning.core.model.TaskAssignment)

Example 70 with User

use of org.kie.kogito.taskassigning.core.model.User in project kogito-apps by kiegroup.

the class UserUtilTest method fromExternalUser.

@Test
void fromExternalUser() {
    Map<String, Object> attributes = new HashMap<>();
    attributes.put(ATTRIBUTE_1_NAME, ATTRIBUTE_1_VALUE);
    attributes.put(ATTRIBUTE_2_NAME, ATTRIBUTE_2_VALUE);
    org.kie.kogito.taskassigning.user.service.User externalUser = mockExternalUser(USER_ID_1, Arrays.asList(GROUP_ID_1, GROUP_ID_2), attributes);
    User user = UserUtil.fromExternalUser(externalUser, processorRegistry);
    assertThat(user.getId()).isEqualTo(USER_ID_1);
    assertThat(user.getGroups().stream().map(IdentifiableElement::getId).collect(Collectors.toSet())).containsExactlyInAnyOrder(GROUP_ID_1, GROUP_ID_2);
    assertThat(user.getAttributes()).containsExactlyEntriesOf(attributes);
    verify(processorRegistry).applyAttributesProcessor(eq(externalUser), attributesCaptor.capture());
    assertThat(attributesCaptor.getValue()).isNotNull().containsExactlyInAnyOrderEntriesOf(attributes);
}
Also used : User(org.kie.kogito.taskassigning.core.model.User) TestUtil.mockExternalUser(org.kie.kogito.taskassigning.service.TestUtil.mockExternalUser) HashMap(java.util.HashMap) Test(org.junit.jupiter.api.Test)

Aggregations

User (org.kie.kogito.taskassigning.core.model.User)70 TaskAssignment (org.kie.kogito.taskassigning.core.model.TaskAssignment)41 Test (org.junit.jupiter.api.Test)32 TaskAssigningSolution (org.kie.kogito.taskassigning.core.model.TaskAssigningSolution)25 TestUtil.mockUser (org.kie.kogito.taskassigning.core.model.TestUtil.mockUser)14 Task (org.kie.kogito.taskassigning.core.model.Task)12 ArrayList (java.util.ArrayList)11 TestUtil.mockTaskAssignment (org.kie.kogito.taskassigning.core.model.TestUtil.mockTaskAssignment)11 AssignTaskProblemFactChange (org.kie.kogito.taskassigning.core.model.solver.realtime.AssignTaskProblemFactChange)11 TaskUtil.fromTaskData (org.kie.kogito.taskassigning.service.util.TaskUtil.fromTaskData)10 Group (org.kie.kogito.taskassigning.core.model.Group)9 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)8 AddTaskProblemFactChange (org.kie.kogito.taskassigning.core.model.solver.realtime.AddTaskProblemFactChange)8 ReleaseTaskProblemFactChange (org.kie.kogito.taskassigning.core.model.solver.realtime.ReleaseTaskProblemFactChange)8 RemoveTaskProblemFactChange (org.kie.kogito.taskassigning.core.model.solver.realtime.RemoveTaskProblemFactChange)8 ProblemFactChange (org.optaplanner.core.api.solver.ProblemFactChange)8 HashMap (java.util.HashMap)7 AddUserProblemFactChange (org.kie.kogito.taskassigning.core.model.solver.realtime.AddUserProblemFactChange)7 DisableUserProblemFactChange (org.kie.kogito.taskassigning.core.model.solver.realtime.DisableUserProblemFactChange)7 RemoveUserProblemFactChange (org.kie.kogito.taskassigning.core.model.solver.realtime.RemoveUserProblemFactChange)7