diff --git a/e2e/process-services-cloud/start-task-custom-app-cloud.e2e.ts b/e2e/process-services-cloud/start-task-custom-app-cloud.e2e.ts index cc5c30c145..442bf8e29b 100644 --- a/e2e/process-services-cloud/start-task-custom-app-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-task-custom-app-cloud.e2e.ts @@ -20,10 +20,11 @@ import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage'; import { LoginSSOPage, SettingsPage, AppListCloudPage, StringUtil, TaskHeaderCloudPage, - StartTasksCloudPage, PeopleCloudComponentPage, TasksService, ApiService, IdentityService + StartTasksCloudPage, PeopleCloudComponentPage, TasksService, ApiService, IdentityService, RolesService } from '@alfresco/adf-testing'; import { TaskDetailsCloudDemoPage } from '../pages/adf/demo-shell/process-services/taskDetailsCloudDemoPage'; import resources = require('../util/resources'); +import CONSTANTS = require('../util/constants'); describe('Start Task', () => { @@ -58,7 +59,10 @@ describe('Start Task', () => { identityService = new IdentityService(apiService); apsUser = await identityService.createActivitiUserWithRole(apiService); - identityService = new IdentityService(apiService); + const rolesService = new RolesService(apiService); + const apsUserRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.APS_USER); + await identityService.assignRole(apsUser.idIdentityService, apsUserRoleId, CONSTANTS.ROLES.APS_USER); + activitiUser = await identityService.createIdentityUser(); settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false); @@ -81,6 +85,7 @@ describe('Start Task', () => { } } await identityService.deleteIdentityUser(activitiUser.idIdentityService); + await identityService.deleteIdentityUser(apsUser.idIdentityService); } catch (error) { } done(); @@ -95,6 +100,25 @@ describe('Start Task', () => { done(); }); + it('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', () => { + tasksCloudDemoPage.openNewTaskForm(); + startTask.checkFormIsDisplayed(); + peopleCloudComponent.clearAssignee(); + startTask.addName(unassignedTaskName); + startTask.clickStartButton(); + tasksCloudDemoPage.editTaskFilterCloudComponent() + .clickCustomiseFilterHeader() + .clearAssignee() + .setStatusFilterDropDown('CREATED'); + tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); + tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName); + const taskId = tasksCloudDemoPage.taskListCloudComponent().getIdCellValue(unassignedTaskName); + tasksCloudDemoPage.taskListCloudComponent().selectRow(unassignedTaskName); + taskDetailsCloudDemoPage.checkTaskDetailsHeaderIsDisplayed(); + expect(taskDetailsCloudDemoPage.getTaskDetailsHeader()).toContain(taskId); + expect(taskHeaderCloudPage.getAssignee()).toBe('No assignee'); + }); + it('[C291956] Should be able to create a new standalone task without assignee', () => { tasksCloudDemoPage.openNewTaskForm(); startTask.checkFormIsDisplayed(); @@ -157,11 +181,11 @@ describe('Start Task', () => { .clickCancelButton(); }); - xit('[C290182] Should be possible to assign the task to another user', () => { + it('[C290182] Should be possible to assign the task to another user', () => { tasksCloudDemoPage.openNewTaskForm(); startTask.checkFormIsDisplayed(); startTask.addName(standaloneTaskName); - peopleCloudComponent.searchAssigneeAndSelect(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`); + peopleCloudComponent.searchAssigneeAndSelect(`${activitiUser.firstName} ${activitiUser.lastName}`); startTask.checkStartButtonIsEnabled(); startTask.clickStartButton(); tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); @@ -176,7 +200,7 @@ describe('Start Task', () => { startTask.clickCancelButton(); }); - xit('[C305050] Should be able to reassign the removed user when starting a new task', () => { + it('[C305050] Should be able to reassign the removed user when starting a new task', () => { tasksCloudDemoPage.openNewTaskForm(); startTask.checkFormIsDisplayed(); startTask.addName(reassignTaskName); @@ -189,24 +213,7 @@ describe('Start Task', () => { expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(reassignTaskName); tasksCloudDemoPage.taskListCloudComponent().selectRow(reassignTaskName); - expect(taskHeaderCloudPage.getAssignee()).toBe(`${apsUser.firstName} ${apsUser.lastName}`); - }); - - xit('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', () => { - tasksCloudDemoPage.openNewTaskForm(); - startTask.checkFormIsDisplayed(); - startTask.addName(unassignedTaskName); - startTask.clickStartButton(); - tasksCloudDemoPage.editTaskFilterCloudComponent() - .clickCustomiseFilterHeader() - .clearAssignee() - .setStatusFilterDropDown('CREATED'); - tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); - tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName); - const taskId = tasksCloudDemoPage.taskListCloudComponent().getIdCellValue(unassignedTaskName); - tasksCloudDemoPage.taskListCloudComponent().selectRow(unassignedTaskName); - expect(taskDetailsCloudDemoPage.getTaskDetailsHeader()).toContain(taskId); - expect(taskHeaderCloudPage.getAssignee()).toBe('No assignee'); + expect(taskHeaderCloudPage.getAssignee()).toBe(apsUser.username); }); }); diff --git a/lib/testing/src/lib/process-services-cloud/pages/edit-task-filter-cloud-component.page.ts b/lib/testing/src/lib/process-services-cloud/pages/edit-task-filter-cloud-component.page.ts index d1927d4d16..7f08840a53 100644 --- a/lib/testing/src/lib/process-services-cloud/pages/edit-task-filter-cloud-component.page.ts +++ b/lib/testing/src/lib/process-services-cloud/pages/edit-task-filter-cloud-component.page.ts @@ -196,7 +196,8 @@ export class EditTaskFilterCloudComponentPage { } clearField(locator) { - BrowserActions.clearSendKeys(locator, ''); + BrowserActions.clearSendKeys(locator, ' '); + locator.sendKeys(protractor.Key.BACK_SPACE); } setAppNameDropDown(option) { diff --git a/lib/testing/src/lib/process-services-cloud/pages/people-cloud-component.page.ts b/lib/testing/src/lib/process-services-cloud/pages/people-cloud-component.page.ts index 1ec4cd2dde..3e4dd6f029 100644 --- a/lib/testing/src/lib/process-services-cloud/pages/people-cloud-component.page.ts +++ b/lib/testing/src/lib/process-services-cloud/pages/people-cloud-component.page.ts @@ -24,9 +24,15 @@ export class PeopleCloudComponentPage { peopleCloudSearch = element(by.css('input[data-automation-id="adf-people-cloud-search-input"]')); assigneeField = element(by.css('input[data-automation-id="adf-people-cloud-search-input"]')); + clearAssignee() { + BrowserActions.clearSendKeys(this.peopleCloudSearch, ' '); + this.peopleCloudSearch.sendKeys(protractor.Key.BACK_SPACE); + return this; + } + searchAssigneeAndSelect(name) { BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudSearch); - BrowserActions.clearSendKeys(this.peopleCloudSearch, name), + BrowserActions.clearSendKeys(this.peopleCloudSearch, name); this.selectAssigneeFromList(name); return this; }