diff --git a/e2e/pages/adf/demo-shell/process-services/peopleGroupCloudComponentPage.ts b/e2e/pages/adf/demo-shell/process-services/peopleGroupCloudComponentPage.ts index c89f3d7986..17209c10bb 100644 --- a/e2e/pages/adf/demo-shell/process-services/peopleGroupCloudComponentPage.ts +++ b/e2e/pages/adf/demo-shell/process-services/peopleGroupCloudComponentPage.ts @@ -21,6 +21,8 @@ import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing'; export class PeopleGroupCloudComponentPage { peopleCloudSingleSelectionChecked = element(by.css('mat-radio-button[data-automation-id="adf-people-single-mode"][class*="mat-radio-checked"]')); + peopleCloudMultipleSelectionChecked = element(by.css('mat-radio-button[data-automation-id="adf-people-multiple-mode"][class*="mat-radio-checked"]')); + peopleCloudSingleSelection = element(by.css('mat-radio-button[data-automation-id="adf-people-single-mode"]')); peopleCloudMultipleSelection = element(by.css('mat-radio-button[data-automation-id="adf-people-multiple-mode"]')); peopleCloudFilterRole = element(by.css('mat-radio-button[data-automation-id="adf-people-filter-role"]')); groupCloudSingleSelection = element(by.css('mat-radio-button[data-automation-id="adf-group-single-mode"]')); @@ -48,6 +50,10 @@ export class PeopleGroupCloudComponentPage { return this; } + clickPeopleCloudSingleSelection() { + BrowserActions.click(this.peopleCloudSingleSelection); + } + clickPeopleCloudMultipleSelection() { BrowserActions.click(this.peopleCloudMultipleSelection); } @@ -56,6 +62,14 @@ export class PeopleGroupCloudComponentPage { BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudSingleSelectionChecked); } + checkPeopleCloudMultipleSelectionIsSelected() { + BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudMultipleSelectionChecked); + } + + checkPeopleCloudFilterRole() { + BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudFilterRole); + } + clickPeopleCloudFilterRole() { BrowserActions.click(this.peopleCloudFilterRole); } diff --git a/e2e/process-services-cloud/people-group-cloud-component.e2e.ts b/e2e/process-services-cloud/people-group-cloud-component.e2e.ts index 134040fa0a..590c757bbd 100644 --- a/e2e/process-services-cloud/people-group-cloud-component.e2e.ts +++ b/e2e/process-services-cloud/people-group-cloud-component.e2e.ts @@ -26,7 +26,7 @@ import { LoginSSOPage, IdentityService, GroupIdentityService, RolesService, ApiS import CONSTANTS = require('../util/constants'); import resources = require('../util/resources'); -xdescribe('People Groups Cloud Component', () => { +describe('People Groups Cloud Component', () => { describe('People Groups Cloud Component', () => { const settingsPage = new SettingsPage(); @@ -108,139 +108,142 @@ xdescribe('People Groups Cloud Component', () => { peopleGroupCloudComponentPage.checkPeopleCloudComponentTitleIsDisplayed(); }); - it('[C297674] Add role filtering to PeopleCloudComponent', () => { - peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection(); - peopleGroupCloudComponentPage.clickPeopleCloudFilterRole(); - peopleGroupCloudComponentPage.enterPeopleRoles(`["${CONSTANTS.ROLES.APS_USER}"]`); - peopleCloudComponent.searchAssignee(apsUser.lastName); - peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`); - peopleCloudComponent.checkUserIsNotDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`); - peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`); - peopleCloudComponent.selectAssigneeFromList(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`); - peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`); + afterEach(async () => { + await browser.refresh(); }); - it('[C297674] Add more than one role filtering to PeopleCloudComponent', () => { - peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection(); - peopleGroupCloudComponentPage.clickPeopleCloudFilterRole(); - peopleGroupCloudComponentPage.enterPeopleRoles(`["${CONSTANTS.ROLES.APS_USER}", "${CONSTANTS.ROLES.ACTIVITI_USER}"]`); - peopleCloudComponent.searchAssignee(activitiUser.lastName); - peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`); - peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`); - peopleCloudComponent.selectAssigneeFromList(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`); - peopleCloudComponent.checkSelectedPeople(`${activitiUser.lastName}`); - peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`); + describe('[C297674] Should be able to add filtering to People Cloud Component', () => { + + beforeEach(() => { + peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection(); + peopleGroupCloudComponentPage.checkPeopleCloudMultipleSelectionIsSelected(); + peopleGroupCloudComponentPage.clickPeopleCloudFilterRole(); + peopleGroupCloudComponentPage.checkPeopleCloudFilterRole(); + }); + + it('No role filtering', () => { + peopleCloudComponent.searchAssignee(noRoleUser.lastName); + peopleCloudComponent.checkUserIsDisplayed(`${noRoleUser.firstName} ${noRoleUser.lastName}`); + peopleCloudComponent.searchAssignee(apsUser.lastName); + peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`); + peopleCloudComponent.searchAssignee(activitiUser.lastName); + peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName} ${activitiUser.lastName}`); + }); + + it('One role filtering', () => { + peopleGroupCloudComponentPage.enterPeopleRoles(`["${CONSTANTS.ROLES.APS_USER}"]`); + peopleCloudComponent.searchAssignee(apsUser.lastName); + peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`); + peopleCloudComponent.searchAssignee(activitiUser.lastName); + peopleCloudComponent.checkUserIsNotDisplayed(`${activitiUser.firstName} ${activitiUser.lastName}`); + peopleCloudComponent.searchAssignee(noRoleUser.lastName); + peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName} ${noRoleUser.lastName}`); + }); + + it('Multiple roles filtering', () => { + peopleGroupCloudComponentPage.enterPeopleRoles(`["${CONSTANTS.ROLES.APS_USER}", "${CONSTANTS.ROLES.ACTIVITI_USER}"]`); + peopleCloudComponent.searchAssignee(apsUser.lastName); + peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`); + peopleCloudComponent.searchAssignee(activitiUser.lastName); + peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName} ${activitiUser.lastName}`); + peopleCloudComponent.searchAssignee(noRoleUser.lastName); + peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName} ${noRoleUser.lastName}`); + }); }); - xit('[C297674] Add no role filters to PeopleCloudComponent', () => { - peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection(); - peopleGroupCloudComponentPage.clickPeopleCloudFilterRole(); - peopleCloudComponent.searchAssignee(noRoleUser.lastName); - peopleCloudComponent.checkUserIsDisplayed(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`); - peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`); - peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`); - peopleCloudComponent.selectAssigneeFromList(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`); - peopleCloudComponent.checkSelectedPeople(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`); - }); + describe('[C309674] Should be able to add filtering to Group Cloud Component', () => { - it('[C297674] Add role filtering to GroupCloudComponent', () => { - peopleGroupCloudComponentPage.clickGroupCloudMultipleSelection(); - peopleGroupCloudComponentPage.clickGroupCloudFilterRole(); - peopleGroupCloudComponentPage.enterGroupRoles(`["${CONSTANTS.ROLES.APS_ADMIN}"]`); - groupCloudComponentPage.searchGroups(groupAps.name); - groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`); - groupCloudComponentPage.checkGroupIsNotDisplayed(`${groupActiviti.name}`); - groupCloudComponentPage.checkGroupIsNotDisplayed(`${groupNoRole.name}`); - groupCloudComponentPage.selectGroupFromList(`${groupAps.name}`); - groupCloudComponentPage.checkSelectedGroup(`${groupAps.name}`); - }); + beforeEach(() => { + peopleGroupCloudComponentPage.clickGroupCloudMultipleSelection(); + peopleGroupCloudComponentPage.clickGroupCloudFilterRole(); + }); - it('[C297674] Add more than one role filtering to GroupCloudComponent', () => { - peopleGroupCloudComponentPage.clickGroupCloudMultipleSelection(); - peopleGroupCloudComponentPage.clickGroupCloudFilterRole(); - peopleGroupCloudComponentPage.enterGroupRoles(`["${CONSTANTS.ROLES.APS_ADMIN}", "${CONSTANTS.ROLES.ACTIVITI_ADMIN}"]`); - groupCloudComponentPage.searchGroups(groupAps.name); - groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`); - groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`); - groupCloudComponentPage.checkGroupIsNotDisplayed(`${groupNoRole.name}`); - groupCloudComponentPage.selectGroupFromList(`${groupActiviti.name}`); - groupCloudComponentPage.checkSelectedGroup(`${groupActiviti.name}`); - }); + it('No role filtering', () => { + peopleGroupCloudComponentPage.clearField(peopleGroupCloudComponentPage.groupRoleInput); + groupCloudComponentPage.searchGroups(groupNoRole.name); + groupCloudComponentPage.checkGroupIsDisplayed(`${groupNoRole.name}`); + groupCloudComponentPage.searchGroups(groupActiviti.name); + groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`); + groupCloudComponentPage.searchGroups(groupAps.name); + groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`); + }); - it('[C297674] Add no role filters to GroupCloudComponent', () => { - peopleGroupCloudComponentPage.clickGroupCloudMultipleSelection(); - peopleGroupCloudComponentPage.clickGroupCloudFilterRole(); - peopleGroupCloudComponentPage.clearField(peopleGroupCloudComponentPage.groupRoleInput); - groupCloudComponentPage.searchGroups(groupNoRole.name); - groupCloudComponentPage.checkGroupIsDisplayed(`${groupNoRole.name}`); - groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`); - groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`); - groupCloudComponentPage.selectGroupFromList(`${groupNoRole.name}`); - groupCloudComponentPage.checkSelectedGroup(`${groupNoRole.name}`); + it('One role filtering', () => { + peopleGroupCloudComponentPage.enterGroupRoles(`["${CONSTANTS.ROLES.APS_ADMIN}"]`); + groupCloudComponentPage.searchGroups(groupAps.name); + groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`); + groupCloudComponentPage.searchGroups(groupActiviti.name); + groupCloudComponentPage.checkGroupIsNotDisplayed(`${groupActiviti.name}`); + groupCloudComponentPage.searchGroups(groupNoRole.name); + groupCloudComponentPage.checkGroupIsNotDisplayed(`${groupNoRole.name}`); + }); + + it('Multiple roles filtering', () => { + peopleGroupCloudComponentPage.enterGroupRoles(`["${CONSTANTS.ROLES.APS_ADMIN}", "${CONSTANTS.ROLES.ACTIVITI_ADMIN}"]`); + groupCloudComponentPage.searchGroups(groupActiviti.name); + groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`); + groupCloudComponentPage.searchGroups(groupAps.name); + groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`); + groupCloudComponentPage.searchGroups(groupNoRole.name); + groupCloudComponentPage.checkGroupIsNotDisplayed(`${groupNoRole.name}`); + }); }); it('[C305033] Should fetch the preselect users based on the Validate flag set to True in Single mode selection', () => { + peopleGroupCloudComponentPage.clickPeopleCloudSingleSelection(); peopleGroupCloudComponentPage.checkPeopleCloudSingleSelectionIsSelected(); peopleGroupCloudComponentPage.clickPreselectValidation(); expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true'); - peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"id":"${noRoleUser.idIdentityService}"}]`); - expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`); - - peopleGroupCloudComponentPage.clickPreselectValidation(); - expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('false'); - peopleGroupCloudComponentPage.clickPreselectValidation(); - expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true'); - peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"email":"${apsUser.email}"}]`); - expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`); - - peopleGroupCloudComponentPage.clickPreselectValidation(); - expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('false'); - peopleGroupCloudComponentPage.clickPreselectValidation(); - expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true'); - peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"username":"${activitiUser.username}"}]`); - expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`); peopleGroupCloudComponentPage.enterPeoplePreselect('[{"id":"12345","username":"someUsername","email":"someEmail"}]'); - peopleGroupCloudComponentPage.clickPreselectValidation(); - expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('false'); - peopleGroupCloudComponentPage.clickPreselectValidation(); - expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true'); expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(''); + + expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true'); + peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"id":"${noRoleUser.idIdentityService}"}]`); + expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${noRoleUser.firstName} ${noRoleUser.lastName}`); + + peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"email":"${apsUser.email}"}]`); + expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${apsUser.firstName} ${apsUser.lastName}`); + + peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"username":"${activitiUser.username}"}]`); + expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${activitiUser.firstName} ${activitiUser.lastName}`); }); - it('[C305033] Should fetch the preselect users based on the Validate flag set to True in Multiple mode selection', () => { + it('[C309676] Should fetch the preselect users based on the Validate flag set to True in Multiple mode selection', () => { + + peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection(); + peopleGroupCloudComponentPage.checkPeopleCloudMultipleSelectionIsSelected(); + peopleGroupCloudComponentPage.clickPreselectValidation(); + expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true'); peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"id":"${apsUser.idIdentityService}"},{"id":"${activitiUser.idIdentityService}"},` + `{"id":"${noRoleUser.idIdentityService}"}]`); - peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection(); - peopleGroupCloudComponentPage.clickPreselectValidation(); - expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true'); - peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`); - peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`); - peopleCloudComponent.checkSelectedPeople(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`); + peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName} ${apsUser.lastName}`); + peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName} ${activitiUser.lastName}`); + peopleCloudComponent.checkSelectedPeople(`${noRoleUser.firstName} ${noRoleUser.lastName}`); peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"email":"${apsUser.email}"},{"email":"${activitiUser.email}"},{"email":"${noRoleUser.email}"}]`); - peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`); - peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`); - peopleCloudComponent.checkSelectedPeople(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`); + peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName} ${apsUser.lastName}`); + peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName} ${activitiUser.lastName}`); + peopleCloudComponent.checkSelectedPeople(`${noRoleUser.firstName} ${noRoleUser.lastName}`); peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"username":"${apsUser.username}"},{"username":"${activitiUser.username}"},` + `{"username":"${noRoleUser.username}"}]`); - peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`); - peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`); - peopleCloudComponent.checkSelectedPeople(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`); + peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName} ${apsUser.lastName}`); + peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName} ${activitiUser.lastName}`); + peopleCloudComponent.checkSelectedPeople(`${noRoleUser.firstName} ${noRoleUser.lastName}`); peopleCloudComponent.searchAssigneeToExisting(noRoleUser.lastName); - peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`); - peopleCloudComponent.checkUserIsNotDisplayed(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`); - peopleCloudComponent.checkUserIsNotDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`); + peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName} ${noRoleUser.lastName}`); }); - it('[C305033] Should populate the Users without any validation when the Preselect flag is set to false', () => { + it('[C309677] Should populate the Users without any validation when the Preselect flag is set to false', () => { peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection(); + peopleGroupCloudComponentPage.checkPeopleCloudMultipleSelectionIsSelected(); expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('false'); + peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"firstName":"TestFirstName1","lastName":"TestLastName1"},` + `{"firstName":"TestFirstName2","lastName":"TestLastName2"},{"firstName":"TestFirstName3","lastName":"TestLastName3"}]`); peopleCloudComponent.checkSelectedPeople('TestFirstName1 TestLastName1'); @@ -249,10 +252,12 @@ xdescribe('People Groups Cloud Component', () => { }); - it('[C305033] Should not fetch the preselect users when mandatory parameters Id, Email and username are missing', () => { + it('[C309678] Should not fetch the preselect users when mandatory parameters Id, Email and username are missing', () => { peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection(); + peopleGroupCloudComponentPage.checkPeopleCloudMultipleSelectionIsSelected(); peopleGroupCloudComponentPage.clickPreselectValidation(); expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true'); + peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"firstName":"${apsUser.firstName}","lastName":"${apsUser.lastName},"` + `{"firstName":"${activitiUser.firstName}","lastName":"${activitiUser.lastName}",{"firstName":"${noRoleUser.firstName}","lastName":"${noRoleUser.lastName}"]`); browser.sleep(200);