[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:
Marouan Bentaleb
2019-08-29 09:46:47 +01:00
committed by Eugenio Romano
parent 64cecaa125
commit cdfae95c2a
3 changed files with 43 additions and 66 deletions

View File

@@ -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}`);

View File

@@ -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();

View File

@@ -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 {