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();
}
}
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();
}
}
}
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);
}
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);
}
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);
}
Aggregations