mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-4847] Not able to find any user in Assignee field when creating a task (#5029)
* [ADF-4847] Not able to find any user in Assignee field when creating a task Updated url to fetch composite user roles * [ADF-4847] Fixing failing E2E tests
This commit is contained in:
committed by
Eugenio Romano
parent
64cecaa125
commit
cdfae95c2a
@@ -19,7 +19,7 @@ import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
import { PeopleGroupCloudComponentPage } from '../pages/adf/demo-shell/process-services/peopleGroupCloudComponentPage';
|
||||
import { GroupCloudComponentPage, PeopleCloudComponentPage, SettingsPage } from '@alfresco/adf-testing';
|
||||
import { browser } from 'protractor';
|
||||
import { LoginSSOPage, IdentityService, GroupIdentityService, RolesService, ApiService } from '@alfresco/adf-testing';
|
||||
import { LoginSSOPage, IdentityService, GroupIdentityService, ApiService } from '@alfresco/adf-testing';
|
||||
import resources = require('../util/resources');
|
||||
|
||||
describe('People Groups Cloud Component', () => {
|
||||
@@ -37,56 +37,37 @@ describe('People Groups Cloud Component', () => {
|
||||
);
|
||||
let identityService: IdentityService;
|
||||
let groupIdentityService: GroupIdentityService;
|
||||
let rolesService: RolesService;
|
||||
|
||||
let apsUser, testUser;
|
||||
let activitiUser;
|
||||
let noRoleUser;
|
||||
let groupAps;
|
||||
let groupActiviti;
|
||||
let groupNoRole;
|
||||
let apsAdminRoleId;
|
||||
let activitiAdminRoleId;
|
||||
let clientActivitiAdminRoleId, clientActivitiUserRoleId;
|
||||
let users = [];
|
||||
let groups = [];
|
||||
let clientId;
|
||||
let hrGroup;
|
||||
let testGroup;
|
||||
|
||||
beforeAll(async () => {
|
||||
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||
|
||||
identityService = new IdentityService(apiService);
|
||||
rolesService = new RolesService(apiService);
|
||||
groupIdentityService = new GroupIdentityService(apiService);
|
||||
clientId = await groupIdentityService.getClientIdByApplicationName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
|
||||
groupActiviti = await groupIdentityService.createIdentityGroup();
|
||||
clientActivitiAdminRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, identityService.ROLES.ACTIVITI_ADMIN);
|
||||
clientActivitiUserRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, identityService.ROLES.ACTIVITI_USER);
|
||||
hrGroup = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||
testGroup = await groupIdentityService.getGroupInfoByGroupName('testgroup');
|
||||
|
||||
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.ROLES.APS_USER]);
|
||||
apsUser = await identityService.createIdentityUserWithRole(apiService, [identityService.ROLES.APS_USER]);
|
||||
activitiUser = await identityService.createIdentityUserWithRole(apiService, [identityService.ROLES.ACTIVITI_USER]);
|
||||
await identityService.addUserToGroup(testUser.idIdentityService, testGroup.id);
|
||||
await identityService.addUserToGroup(apsUser.idIdentityService, hrGroup.id);
|
||||
noRoleUser = await identityService.createIdentityUser();
|
||||
await identityService.deleteClientRole(noRoleUser.idIdentityService, clientId, clientActivitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN);
|
||||
await identityService.deleteClientRole(noRoleUser.idIdentityService, clientId, clientActivitiUserRoleId, identityService.ROLES.ACTIVITI_USER);
|
||||
|
||||
groupAps = await groupIdentityService.createIdentityGroup();
|
||||
apsAdminRoleId = await rolesService.getRoleIdByRoleName(identityService.ROLES.APS_ADMIN);
|
||||
await groupIdentityService.assignRole(groupAps.id, apsAdminRoleId, identityService.ROLES.APS_ADMIN);
|
||||
activitiAdminRoleId = await rolesService.getRoleIdByRoleName(identityService.ROLES.ACTIVITI_ADMIN);
|
||||
await groupIdentityService.assignRole(groupActiviti.id, activitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN);
|
||||
groupNoRole = await groupIdentityService.createIdentityGroup();
|
||||
|
||||
await groupIdentityService.addClientRole(groupAps.id, clientId, clientActivitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN);
|
||||
await groupIdentityService.addClientRole(groupActiviti.id, clientId, clientActivitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN);
|
||||
users = [`${apsUser.idIdentityService}`, `${activitiUser.idIdentityService}`, `${noRoleUser.idIdentityService}`, `${testUser.idIdentityService}`];
|
||||
groups = [`${groupAps.id}`, `${groupActiviti.id}`, `${groupNoRole.id}`];
|
||||
users = [`${apsUser.idIdentityService}`, `${noRoleUser.idIdentityService}`, `${testUser.idIdentityService}`];
|
||||
|
||||
await settingsPage.setProviderBpmSso(
|
||||
browser.params.config.bpmHost,
|
||||
browser.params.config.oauth2.host,
|
||||
browser.params.config.identityHost);
|
||||
await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||
await loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password);
|
||||
|
||||
});
|
||||
|
||||
@@ -95,14 +76,8 @@ describe('People Groups Cloud Component', () => {
|
||||
for (let i = 0; i < users.length; i++) {
|
||||
await identityService.deleteIdentityUser(users[i]);
|
||||
}
|
||||
for (let i = 0; i < groups.length; i++) {
|
||||
await groupIdentityService.deleteIdentityGroup(groups[i]);
|
||||
}
|
||||
|
||||
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||
await identityService.deleteIdentityUser(apsUser.idIdentityService);
|
||||
await identityService.deleteIdentityUser(activitiUser.idIdentityService);
|
||||
|
||||
await groupIdentityService.deleteIdentityGroup(groupNoRole.id);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
@@ -119,27 +94,27 @@ describe('People Groups Cloud Component', () => {
|
||||
await peopleGroupCloudComponentPage.checkPeopleCloudSingleSelectionIsSelected();
|
||||
await peopleGroupCloudComponentPage.clickPeopleFilerByApp();
|
||||
await peopleGroupCloudComponentPage.enterPeopleAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
|
||||
await peopleCloudComponent.searchAssignee(`${activitiUser.firstName}`);
|
||||
await peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
|
||||
await peopleCloudComponent.selectAssigneeFromList(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
|
||||
await peopleCloudComponent.searchAssignee(`${testUser.firstName}`);
|
||||
await peopleCloudComponent.checkUserIsDisplayed(`${testUser.firstName}` + ' ' + `${testUser.lastName}`);
|
||||
await peopleCloudComponent.selectAssigneeFromList(`${testUser.firstName}` + ' ' + `${testUser.lastName}`);
|
||||
await browser.sleep(100);
|
||||
await expect(await peopleCloudComponent.getAssigneeFieldContent()).toBe(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
|
||||
await expect(await peopleCloudComponent.getAssigneeFieldContent()).toBe(`${testUser.firstName}` + ' ' + `${testUser.lastName}`);
|
||||
});
|
||||
|
||||
it('[C305041] Should filter the People Multiple Selection with the Application name filter', async () => {
|
||||
await peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
|
||||
await peopleGroupCloudComponentPage.clickPeopleFilerByApp();
|
||||
await peopleGroupCloudComponentPage.enterPeopleAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
|
||||
await peopleCloudComponent.searchAssignee(`${apsUser.firstName}`);
|
||||
await peopleCloudComponent.searchAssignee(`${testUser.firstName}`);
|
||||
await peopleCloudComponent.checkUserIsDisplayed(`${testUser.firstName}` + ' ' + `${testUser.lastName}`);
|
||||
await peopleCloudComponent.selectAssigneeFromList(`${testUser.firstName}` + ' ' + `${testUser.lastName}`);
|
||||
await peopleCloudComponent.checkSelectedPeople(`${testUser.firstName}` + ' ' + `${testUser.lastName}`);
|
||||
|
||||
await peopleCloudComponent.searchAssigneeToExisting(`${apsUser.firstName}`);
|
||||
await peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
|
||||
await peopleCloudComponent.selectAssigneeFromList(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
|
||||
await peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
|
||||
|
||||
await peopleCloudComponent.searchAssigneeToExisting(`${activitiUser.firstName}`);
|
||||
await peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
|
||||
await peopleCloudComponent.selectAssigneeFromList(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
|
||||
await peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
|
||||
|
||||
await peopleCloudComponent.searchAssigneeToExisting(`${noRoleUser.firstName}`);
|
||||
await peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`);
|
||||
});
|
||||
@@ -148,25 +123,25 @@ describe('People Groups Cloud Component', () => {
|
||||
await peopleGroupCloudComponentPage.clickGroupCloudSingleSelection();
|
||||
await peopleGroupCloudComponentPage.clickGroupFilerByApp();
|
||||
await peopleGroupCloudComponentPage.enterGroupAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
|
||||
await groupCloudComponentPage.searchGroups(`${groupActiviti.name}`);
|
||||
await groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`);
|
||||
await groupCloudComponentPage.selectGroupFromList(`${groupActiviti.name}`);
|
||||
await expect(await groupCloudComponentPage.getGroupsFieldContent()).toBe(`${groupActiviti.name}`);
|
||||
await groupCloudComponentPage.searchGroups(`${hrGroup.name}`);
|
||||
await groupCloudComponentPage.checkGroupIsDisplayed(`${hrGroup.name}`);
|
||||
await groupCloudComponentPage.selectGroupFromList(`${hrGroup.name}`);
|
||||
await expect(await groupCloudComponentPage.getGroupsFieldContent()).toBe(`${hrGroup.name}`);
|
||||
});
|
||||
|
||||
it('[C305041] Should filter the Groups Multiple Selection with the Application name filter', async () => {
|
||||
await peopleGroupCloudComponentPage.clickGroupCloudMultipleSelection();
|
||||
await peopleGroupCloudComponentPage.clickGroupFilerByApp();
|
||||
await peopleGroupCloudComponentPage.enterGroupAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
|
||||
await groupCloudComponentPage.searchGroups(`${groupAps.name}`);
|
||||
await groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`);
|
||||
await groupCloudComponentPage.selectGroupFromList(`${groupAps.name}`);
|
||||
await groupCloudComponentPage.checkSelectedGroup(`${groupAps.name}`);
|
||||
await groupCloudComponentPage.searchGroups(`${testGroup.name}`);
|
||||
await groupCloudComponentPage.checkGroupIsDisplayed(`${testGroup.name}`);
|
||||
await groupCloudComponentPage.selectGroupFromList(`${testGroup.name}`);
|
||||
await groupCloudComponentPage.checkSelectedGroup(`${testGroup.name}`);
|
||||
|
||||
await groupCloudComponentPage.searchGroupsToExisting(`${groupActiviti.name}`);
|
||||
await groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`);
|
||||
await groupCloudComponentPage.selectGroupFromList(`${groupActiviti.name}`);
|
||||
await groupCloudComponentPage.checkSelectedGroup(`${groupActiviti.name}`);
|
||||
await groupCloudComponentPage.searchGroupsToExisting(`${hrGroup.name}`);
|
||||
await groupCloudComponentPage.checkGroupIsDisplayed(`${hrGroup.name}`);
|
||||
await groupCloudComponentPage.selectGroupFromList(`${hrGroup.name}`);
|
||||
await groupCloudComponentPage.checkSelectedGroup(`${hrGroup.name}`);
|
||||
|
||||
await groupCloudComponentPage.searchGroupsToExisting(`${groupNoRole.name}`);
|
||||
await groupCloudComponentPage.checkGroupIsNotDisplayed(`${groupNoRole.name}`);
|
||||
|
@@ -73,6 +73,7 @@ describe('Start Task', () => {
|
||||
activitiUser = await identityService.createIdentityUser();
|
||||
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||
await identityService.addUserToGroup(apsUser.idIdentityService, groupInfo.id);
|
||||
await apiService.login(testUser.email, testUser.password);
|
||||
|
||||
await settingsPage.setProviderBpmSso(
|
||||
@@ -86,13 +87,14 @@ describe('Start Task', () => {
|
||||
afterAll(async () => {
|
||||
const tasksService = new TasksService(apiService);
|
||||
|
||||
const tasks = [standaloneTaskName, unassignedTaskName, reassignTaskName];
|
||||
for (let i = 0; i < tasks.length; i++) {
|
||||
const taskId = await tasksService.getTaskId(tasks[i], simpleApp);
|
||||
if (taskId) {
|
||||
await tasksService.deleteTask(taskId, simpleApp);
|
||||
}
|
||||
}
|
||||
let taskId = await tasksService.getTaskId(standaloneTaskName, simpleApp);
|
||||
await tasksService.deleteTask(taskId, simpleApp);
|
||||
taskId = await tasksService.getTaskId(unassignedTaskName, simpleApp);
|
||||
await tasksService.deleteTask(taskId, simpleApp);
|
||||
|
||||
await apiService.login(apsUser.email, apsUser.password);
|
||||
taskId = await tasksService.getTaskId(reassignTaskName, simpleApp);
|
||||
await tasksService.deleteTask(taskId, simpleApp);
|
||||
|
||||
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||
await identityService.deleteIdentityUser(activitiUser.idIdentityService);
|
||||
@@ -194,7 +196,7 @@ describe('Start Task', () => {
|
||||
await tasksCloudDemoPage.openNewTaskForm();
|
||||
await startTask.checkFormIsDisplayed();
|
||||
await startTask.addName(standaloneTaskName);
|
||||
await peopleCloudComponent.searchAssigneeAndSelect(`${activitiUser.firstName} ${activitiUser.lastName}`);
|
||||
await peopleCloudComponent.searchAssigneeAndSelect(`${apsUser.firstName} ${apsUser.lastName}`);
|
||||
|
||||
await startTask.checkStartButtonIsEnabled();
|
||||
await startTask.clickStartButton();
|
||||
|
@@ -672,7 +672,7 @@ export class IdentityUserService {
|
||||
}
|
||||
|
||||
private buildUserClientRoleMapping(userId: string, clientId: string): string {
|
||||
return `${this.appConfigService.get('identityHost')}/users/${userId}/role-mappings/clients/${clientId}`;
|
||||
return `${this.appConfigService.get('identityHost')}/users/${userId}/role-mappings/clients/${clientId}/composite`;
|
||||
}
|
||||
|
||||
private buildRolesUrl(userId: string): string {
|
||||
|
Reference in New Issue
Block a user