From f8526c4dc040dbb3bb4534fb00cca9c0ac8262a8 Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Mon, 11 Jan 2021 09:30:45 +0000 Subject: [PATCH] [AAE-4379] i18n fixes (#6515) * add missing translations * add missing translations * fix unit tests * reduce overhead * update e2e * update e2e * cleanup e2e * cleanup e2e * cleanup e2e * update e2e * update e2e * update code * update code * update code * update code * code fixes * code fixes * code fixes --- .../edit-process-filters-component.e2e.ts | 263 +++++++------ .../edit-task-filters-component.e2e.ts | 363 +++++++++--------- .../form-field/dropdown-widget.e2e.ts | 24 +- .../task-visibility-condition.e2e.ts | 35 +- .../pages/tasks-cloud-demo.page.ts | 5 - .../process-custom-filters.e2e.ts | 208 ++++++---- .../process-filter-results.e2e.ts | 242 ++++++------ .../process-filter-task.e2e.ts | 34 +- .../process-header-cloud.e2e.ts | 41 +- .../process-list-cloud-action-menu.e2e.ts | 30 +- .../process-list-selection-cloud.e2e.ts | 135 +++---- ...cess-task-attach-content-file-cloud.e2e.ts | 39 +- .../start-process-cloud.e2e.ts | 17 +- .../start-task-form-cloud.e2e.ts | 141 +++---- .../start-task-custom-app-cloud.e2e.ts | 53 +-- .../start-task/start-task-group-cloud.e2e.ts | 11 +- .../task-filters-cloud.e2e.ts | 34 +- .../task-form-cloud-component-tab.e2e.ts | 44 ++- .../task-form-cloud-component.e2e.ts | 113 +++--- .../task-header-cloud.e2e.ts | 47 ++- .../task-list-cloud-action-menu.e2e.ts | 30 +- .../task-list-properties-sort.e2e.ts | 114 +++--- .../task-list-properties.e2e.ts | 154 ++++---- .../task-list-selection.e2e.ts | 3 +- .../tasks-claim-release.e2e.ts | 40 +- .../tasks-custom-filters.e2e.ts | 82 ++-- .../src/lib/i18n/en.json | 36 +- ...dit-process-filter-cloud.component.spec.ts | 4 +- .../edit-process-filter-cloud.component.ts | 28 +- .../services/process-list-cloud.service.ts | 2 +- .../base-edit-task-filter-cloud.component.ts | 25 +- ...ervice-task-filter-cloud.component.spec.ts | 17 +- ...dit-service-task-filter-cloud.component.ts | 24 +- .../edit-task-filter-cloud.component.spec.ts | 18 +- .../edit-task-filter-cloud.component.ts | 31 +- .../core/pages/data-table-component.page.ts | 2 +- ...dit-process-filter-cloud-component.page.ts | 23 +- .../edit-task-filter-cloud-component.page.ts | 4 +- 38 files changed, 1373 insertions(+), 1143 deletions(-) diff --git a/e2e/process-services-cloud/edit-process-filters-component.e2e.ts b/e2e/process-services-cloud/edit-process-filters-component.e2e.ts index 2dc581cb0f..15bc856cfb 100644 --- a/e2e/process-services-cloud/edit-process-filters-component.e2e.ts +++ b/e2e/process-services-cloud/edit-process-filters-component.e2e.ts @@ -37,6 +37,8 @@ describe('Edit process filters cloud', () => { const appListCloudComponent = new AppListCloudPage(); const tasksCloudDemoPage = new TasksCloudDemoPage(); const processCloudDemoPage = new ProcessCloudDemoPage(); + const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent(); + const processFilter = processCloudDemoPage.processFilterCloudComponent; const apiService = new ApiService(); const identityService = new IdentityService(apiService); @@ -66,194 +68,199 @@ describe('Edit process filters cloud', () => { await appListCloudComponent.checkApsContainer(); await appListCloudComponent.goToApp(simpleApp); await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded(); - await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); - const editProcessFilterCloud = processCloudDemoPage.editProcessFilterCloudComponent(); - await editProcessFilterCloud.openFilter(); - await editProcessFilterCloud.checkCustomiseFilterHeaderIsExpanded(); - await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); + await processFilter.clickOnProcessFilters(); + + await editProcessFilter.openFilter(); + await editProcessFilter.checkCustomiseFilterHeaderIsExpanded(); + await processFilter.clickAllProcessesFilter(); }); it('[C291804] Delete Save and Save as actions should be displayed when clicking on default filter header', async () => { - await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('All'); - await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsDisplayed(); - await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsDisplayed(); - await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsDisplayed(); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(false); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); + await processFilter.clickAllProcessesFilter(); + await expect(await processFilter.getActiveFilterName()).toBe('All'); + await editProcessFilter.checkSaveButtonIsDisplayed(); + await editProcessFilter.checkSaveAsButtonIsDisplayed(); + await editProcessFilter.checkDeleteButtonIsDisplayed(); + await expect(await editProcessFilter.checkSaveButtonIsEnabled()).toEqual(false); + await expect(await editProcessFilter.checkSaveAsButtonIsEnabled()).toEqual(false); + await expect(await editProcessFilter.checkDeleteButtonIsEnabled()).toEqual(false); + await editProcessFilter.openFilter(); }); it('[C586757] Delete Save and Save as actions should be displayed and enabled when clicking on custom filter header', async () => { await createNewProcessCustomFilter('New'); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); - await processCloudDemoPage.processFilterCloudComponent.clickProcessFilter('custom-new'); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Start Date'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Start Date'); + await expect(await processFilter.getActiveFilterName()).toBe('New'); + await processFilter.clickProcessFilter('custom-new'); + await editProcessFilter.openFilter(); + await editProcessFilter.setSortFilterDropDown('Start Date'); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Start Date'); - await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsDisplayed(); - await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsDisplayed(); - await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsDisplayed(); + await editProcessFilter.checkSaveButtonIsDisplayed(); + await editProcessFilter.checkSaveAsButtonIsDisplayed(); + await editProcessFilter.checkDeleteButtonIsDisplayed(); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(true); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(true); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true); + await expect(await editProcessFilter.checkSaveButtonIsEnabled()).toEqual(true); + await expect(await editProcessFilter.checkSaveAsButtonIsEnabled()).toEqual(true); + await expect(await editProcessFilter.checkDeleteButtonIsEnabled()).toEqual(true); }); it('[C291805] New process filter is added when clicking Save As button', async () => { await createNewProcessCustomFilter('New'); await browser.driver.sleep(1000); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true); - await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Start Date'); - await processCloudDemoPage.processFilterCloudComponent.clickProcessFilter('custom-new'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); + await expect(await processFilter.getActiveFilterName()).toBe('New'); + await editProcessFilter.openFilter(); + await expect(await editProcessFilter.checkSaveButtonIsEnabled()).toEqual(false); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id'); + await expect(await editProcessFilter.checkSaveAsButtonIsEnabled()).toEqual(false); + await expect(await editProcessFilter.checkDeleteButtonIsEnabled()).toEqual(true); + await processFilter.clickAllProcessesFilter(); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Start Date'); + await processFilter.clickProcessFilter('custom-new'); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id'); + await editProcessFilter.clickDeleteButton(); }); it('[C291806] Two process filters with same name can be created when clicking the Save As button', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); - await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New'); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); + await editProcessFilter.setSortFilterDropDown('Id'); + await editProcessFilter.clickSaveAsButton(); + await editProcessFilter.editProcessFilterDialog().setFilterName('New'); + await editProcessFilter.editProcessFilterDialog().clickOnSaveButton(); await browser.driver.sleep(1000); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Process Name'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Process Name'); - await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); + await editProcessFilter.openFilter(); + await editProcessFilter.checkCustomiseFilterHeaderIsExpanded(); + await expect(await processFilter.getActiveFilterName()).toBe('New'); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id'); + await editProcessFilter.setSortFilterDropDown('Process Name'); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Process Name'); + await editProcessFilter.clickSaveAsButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New'); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); + await editProcessFilter.editProcessFilterDialog().setFilterName('New'); + await editProcessFilter.editProcessFilterDialog().clickOnSaveButton(); + await editProcessFilter.openFilter(); + await editProcessFilter.checkCustomiseFilterHeaderIsExpanded(); await browser.driver.sleep(1000); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Process Name'); - await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); + await expect(await processFilter.getActiveFilterName()).toBe('New'); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Process Name'); + await editProcessFilter.clickDeleteButton(); await browser.driver.sleep(1000); - await processCloudDemoPage.processFilterCloudComponent.clickProcessFilter('custom-new'); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); + await processFilter.clickProcessFilter('custom-new'); + await editProcessFilter.openFilter(); + await editProcessFilter.checkCustomiseFilterHeaderIsExpanded(); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id'); + await editProcessFilter.clickDeleteButton(); }); it('[C291807] A process filter is overrided when clicking on save button', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); - await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New'); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); + await editProcessFilter.setSortFilterDropDown('Id'); + await processFilter.clickAllProcessesFilter(); + await editProcessFilter.clickSaveAsButton(); + await editProcessFilter.editProcessFilterDialog().setFilterName('New'); + await editProcessFilter.editProcessFilterDialog().clickOnSaveButton(); await browser.driver.sleep(1000); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Process Name'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Process Name'); - await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); + await expect(await processFilter.getActiveFilterName()).toBe('New'); + await editProcessFilter.openFilter(); + await editProcessFilter.checkCustomiseFilterHeaderIsExpanded(); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id'); + await editProcessFilter.setSortFilterDropDown('Process Name'); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Process Name'); + await editProcessFilter.clickSaveButton(); + await editProcessFilter.openFilter(); + await editProcessFilter.checkCustomiseFilterHeaderIsExpanded(); await browser.driver.sleep(1000); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Process Name'); - await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); + await expect(await processFilter.getActiveFilterName()).toBe('New'); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Process Name'); + await editProcessFilter.clickDeleteButton(); }); it('[C291808] A process filter is deleted when clicking on delete button', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); - await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New'); + await editProcessFilter.setSortFilterDropDown('Id'); + await processFilter.clickAllProcessesFilter(); + await editProcessFilter.clickSaveAsButton(); + await editProcessFilter.editProcessFilterDialog().setFilterName('New'); await browser.driver.sleep(1000); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); + await editProcessFilter.editProcessFilterDialog().clickOnSaveButton(); + await editProcessFilter.openFilter(); + await expect(await processFilter.getActiveFilterName()).toBe('New'); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id'); + await editProcessFilter.clickDeleteButton(); await browser.driver.sleep(1000); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING); - await processCloudDemoPage.processFilterCloudComponent.checkProcessFilterNotDisplayed('New'); + await expect(await processFilter.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING); + await processFilter.checkProcessFilterNotDisplayed('New'); }); it('[C291810] Process filter should not be created when process filter dialog is closed', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); - await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('Cancel'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getFilterName()).toEqual('Cancel'); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnCancelButton(); - await processCloudDemoPage.processFilterCloudComponent.checkProcessFilterNotDisplayed('Cancel'); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.ALL); - await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.ALL); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Start Date'); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); + await editProcessFilter.setSortFilterDropDown('Id'); + await processFilter.clickAllProcessesFilter(); + await editProcessFilter.clickSaveAsButton(); + await editProcessFilter.editProcessFilterDialog().setFilterName('Cancel'); + await expect(await editProcessFilter.editProcessFilterDialog().getFilterName()).toEqual('Cancel'); + await editProcessFilter.editProcessFilterDialog().clickOnCancelButton(); + await processFilter.checkProcessFilterNotDisplayed('Cancel'); + await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.ALL); + await processFilter.clickRunningProcessesFilter(); + await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING); + await editProcessFilter.openFilter(); + await processFilter.clickAllProcessesFilter(); + await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.ALL); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Start Date'); + await editProcessFilter.openFilter(); }); it('[C291811] Save button of process filter dialog should be disabled when process name is empty', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); - await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clearFilterName(); + await editProcessFilter.setSortFilterDropDown('Id'); + await processFilter.clickAllProcessesFilter(); + await editProcessFilter.clickSaveAsButton(); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getFilterName()).toEqual(''); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkSaveButtonIsEnabled()).toEqual(false); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkCancelButtonIsEnabled()).toEqual(true); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnCancelButton(); + const dialog = editProcessFilter.editProcessFilterDialog(); + await dialog.clearFilterName(); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().checkCustomiseFilterHeaderIsExpanded(); - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Start Date'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Start Date'); - await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveButton(); + await expect(await dialog.getFilterName()).toEqual(''); + await expect(await dialog.checkSaveButtonIsEnabled()).toEqual(false); + await expect(await dialog.checkCancelButtonIsEnabled()).toEqual(true); + await dialog.clickOnCancelButton(); + + await editProcessFilter.openFilter(); + await editProcessFilter.checkCustomiseFilterHeaderIsExpanded(); + await editProcessFilter.setSortFilterDropDown('Start Date'); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Start Date'); + await editProcessFilter.clickSaveButton(); }); it('[C291809] Process filter dialog is displayed when clicking on Save As button', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Name'); - await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkCancelButtonIsEnabled()).toEqual(true); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().checkSaveButtonIsEnabled()).toEqual(true); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getTitle()).toEqual('Save filter as'); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().getFilterName()).toEqual(PROCESSES.ALL); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnCancelButton(); + await editProcessFilter.setSortFilterDropDown('Name'); + await processFilter.clickAllProcessesFilter(); + await editProcessFilter.clickSaveAsButton(); + + const dialog = editProcessFilter.editProcessFilterDialog(); + + await expect(await dialog.checkCancelButtonIsEnabled()).toEqual(true); + await expect(await dialog.checkSaveButtonIsEnabled()).toEqual(true); + await expect(await dialog.getTitle()).toEqual('Save filter as'); + await expect(await dialog.getFilterName()).toEqual(PROCESSES.ALL); + await dialog.clickOnCancelButton(); }); async function createNewProcessCustomFilter(name: string): Promise { - await processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); - await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); + await editProcessFilter.setSortFilterDropDown('Id'); + await processFilter.clickAllProcessesFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName(name); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); + await editProcessFilter.clickSaveAsButton(); + await editProcessFilter.editProcessFilterDialog().setFilterName(name); + await editProcessFilter.editProcessFilterDialog().clickOnSaveButton(); } }); diff --git a/e2e/process-services-cloud/edit-task-filters-component.e2e.ts b/e2e/process-services-cloud/edit-task-filters-component.e2e.ts index 913b501350..b26a727fe3 100644 --- a/e2e/process-services-cloud/edit-task-filters-component.e2e.ts +++ b/e2e/process-services-cloud/edit-task-filters-component.e2e.ts @@ -35,7 +35,10 @@ describe('Edit task filters cloud', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud; + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; const apiService = new ApiService(); const identityService = new IdentityService(apiService); @@ -47,6 +50,18 @@ describe('Edit task filters cloud', () => { const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString(); + async function openFilter() { + await editTaskFilter.openFilter(); + } + + async function clickTaskFilter(name: string) { + await taskFilter.clickTaskFilter(name); + } + + async function waitTillContentLoaded() { + await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + } + beforeAll(async () => { await apiService.loginWithProfile('identityAdmin'); @@ -74,281 +89,271 @@ describe('Edit task filters cloud', () => { }); afterEach(async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); }); it('[C291785] All the filters property should be set up accordingly with the Query Param', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await openFilter(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getStatusFilterDropDownValue()).toEqual('ASSIGNED'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC'); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); + await expect(await editTaskFilter.getStatusFilterDropDownValue()).toEqual('Assigned', `Status is no 'Assigned'`); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('createdDate', `Sort filter is not 'createdDate'`); + await expect(await editTaskFilter.getOrderFilterDropDownValue()).toEqual('Descending', `Order is not 'Descending'`); await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName); await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('completed-tasks'); + await waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('Completed Tasks'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getStatusFilterDropDownValue()).toEqual('COMPLETED'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC'); + await expect(await taskFilter.getActiveFilterName()).toBe('Completed Tasks'); + await expect(await editTaskFilter.getStatusFilterDropDownValue()).toEqual('Completed', `Status is not 'Completed'`); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('createdDate', `Sort filter is not 'createdDate'`); + await expect(await editTaskFilter.getOrderFilterDropDownValue()).toEqual('Descending', `Order is not 'Descending'`); await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName); await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); + await openFilter(); }); it('[C306896] Delete Save and Save as actions should be displayed and disabled when clicking on default filter header', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await openFilter(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); - await editTaskFilterCloudComponent.checkSaveButtonIsDisplayed(); - await editTaskFilterCloudComponent.checkSaveAsButtonIsDisplayed(); - await editTaskFilterCloudComponent.checkDeleteButtonIsDisplayed(); + await editTaskFilter.checkSaveButtonIsDisplayed(); + await editTaskFilter.checkSaveAsButtonIsDisplayed(); + await editTaskFilter.checkDeleteButtonIsDisplayed(); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(false); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); + await expect(await editTaskFilter.checkSaveButtonIsEnabled()).toEqual(false); + await expect(await editTaskFilter.checkSaveAsButtonIsEnabled()).toEqual(false); + await expect(await editTaskFilter.checkDeleteButtonIsEnabled()).toEqual(false); + await openFilter(); }); it('[C586756] Delete, Save and Save as actions should be displayed and enabled when clicking on custom filter header', async () => { await createNewCustomFilter('New'); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('custom-new'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('custom-new'); + await waitTillContentLoaded(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('custom-new'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await openFilter(); + await clickTaskFilter('custom-new'); + await waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); - const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); - await editTaskFilterCloudComponent.setSortFilterDropDown('Priority'); + await expect(await taskFilter.getActiveFilterName()).toBe('New'); - await editTaskFilterCloudComponent.checkSaveButtonIsDisplayed(); - await editTaskFilterCloudComponent.checkSaveAsButtonIsDisplayed(); - await editTaskFilterCloudComponent.checkDeleteButtonIsDisplayed(); + await editTaskFilter.setSortFilterDropDown('priority'); + await editTaskFilter.checkSaveButtonIsDisplayed(); + await editTaskFilter.checkSaveAsButtonIsDisplayed(); + await editTaskFilter.checkDeleteButtonIsDisplayed(); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(true); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(true); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true); + await expect(await editTaskFilter.checkSaveButtonIsEnabled()).toEqual(true); + await expect(await editTaskFilter.checkSaveAsButtonIsEnabled()).toEqual(true); + await expect(await editTaskFilter.checkDeleteButtonIsEnabled()).toEqual(true); }); it('[C291795] New filter is added when clicking Save As button', async () => { await createNewCustomFilter('New'); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveAsButtonIsEnabled()).toEqual(false); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().checkDeleteButtonIsEnabled()).toEqual(true); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await expect(await taskFilter.getActiveFilterName()).toBe('New'); + await openFilter(); + await expect(await editTaskFilter.checkSaveButtonIsEnabled()).toEqual(false); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id'); + await expect(await editTaskFilter.checkSaveAsButtonIsEnabled()).toEqual(false); + await expect(await editTaskFilter.checkDeleteButtonIsEnabled()).toEqual(true); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate'); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('custom-new'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('createdDate'); + await clickTaskFilter('custom-new'); + await waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id'); + await editTaskFilter.clickDeleteButton(); }); it('[C291796] Two filters with same name can be created when clicking the Save As button', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); - await editTaskFilterCloudComponent.openFilter(); - await editTaskFilterCloudComponent.setSortFilterDropDown('Id'); + await editTaskFilter.openFilter(); + await editTaskFilter.setSortFilterDropDown('id'); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); + await editTaskFilter.clickSaveAsButton(); - const editTaskFilterDialog = editTaskFilterCloudComponent.editTaskFilterDialog(); + const editTaskFilterDialog = editTaskFilter.editTaskFilterDialog(); await editTaskFilterDialog.setFilterName('New'); await editTaskFilterDialog.clickOnSaveButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); + await expect(await taskFilter.getActiveFilterName()).toBe('New'); + await openFilter(); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Priority'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnSaveButton(); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id'); + await editTaskFilter.setSortFilterDropDown('priority'); + await editTaskFilter.clickSaveAsButton(); + await editTaskFilter.editTaskFilterDialog().setFilterName('New'); + await editTaskFilter.editTaskFilterDialog().clickOnSaveButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('custom-new'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await expect(await taskFilter.getActiveFilterName()).toBe('New'); + await openFilter(); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('priority'); + await editTaskFilter.clickDeleteButton(); + await clickTaskFilter('custom-new'); + await waitTillContentLoaded(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); + await openFilter(); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id'); + await editTaskFilter.clickDeleteButton(); }); - it('[C291797] A filter is overrided when clicking on save button', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + it('[C291797] A filter is overridden when clicking on save button', async () => { + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); - await editTaskFilterCloudComponent.openFilter(); - await editTaskFilterCloudComponent.setSortFilterDropDown('Id'); + await editTaskFilter.openFilter(); + await editTaskFilter.setSortFilterDropDown('id'); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); + await editTaskFilter.clickSaveAsButton(); - const editTaskFilterDialog = await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog(); + const editTaskFilterDialog = await editTaskFilter.editTaskFilterDialog(); await editTaskFilterDialog.setFilterName('New'); await editTaskFilterDialog.clickOnSaveButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Name'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveButton(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); + await expect(await taskFilter.getActiveFilterName()).toBe('New'); + await openFilter(); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id'); + await editTaskFilter.setSortFilterDropDown('name'); + await editTaskFilter.clickSaveButton(); + await openFilter(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); + await expect(await taskFilter.getActiveFilterName()).toBe('New'); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('name'); + await editTaskFilter.clickDeleteButton(); }); it('[C291798] A filter is deleted when clicking on delete button', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); - await editTaskFilterCloudComponent.openFilter(); - await editTaskFilterCloudComponent.setSortFilterDropDown('Id'); + await editTaskFilter.openFilter(); + await editTaskFilter.setSortFilterDropDown('id'); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); + await editTaskFilter.clickSaveAsButton(); - const editTaskFilterDialog = await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog(); + const editTaskFilterDialog = await editTaskFilter.editTaskFilterDialog(); await editTaskFilterDialog.setFilterName('New'); await editTaskFilterDialog.clickOnSaveButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('New'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); + await expect(await taskFilter.getActiveFilterName()).toBe('New'); + await openFilter(); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id'); + await editTaskFilter.clickDeleteButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterNotDisplayed('New'); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); + await taskFilter.checkTaskFilterNotDisplayed('New'); }); it('[C291800] Task filter should not be created when task filter dialog is closed', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); - await editTaskFilterCloudComponent.openFilter(); - await editTaskFilterCloudComponent.setSortFilterDropDown('Priority'); + await editTaskFilter.openFilter(); + await editTaskFilter.setSortFilterDropDown('priority'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority'); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('priority'); + await editTaskFilter.clickSaveAsButton(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); + const dialog = editTaskFilter.editTaskFilterDialog(); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks'); + await expect(await dialog.getFilterName()).toEqual('My Tasks'); + await dialog.setFilterName('Cancel'); + await expect(await dialog.getFilterName()).toEqual('Cancel'); + await dialog.clickOnCancelButton(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('Cancel'); + await taskFilter.checkTaskFilterNotDisplayed('Cancel'); + await expect(await taskFilter.getActiveFilterName()).toEqual('My Tasks'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('Cancel'); + await clickTaskFilter('completed-tasks'); + await waitTillContentLoaded(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); + await openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnCancelButton(); - await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterNotDisplayed('Cancel'); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('createdDate'); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toEqual('My Tasks'); - - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('CreatedDate'); - - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); + await openFilter(); }); it('[C291801] Save button of task filter dialog should be disabled when task name is empty', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); - await editTaskFilterCloudComponent.openFilter(); - await editTaskFilterCloudComponent.setSortFilterDropDown('Id'); + await editTaskFilter.openFilter(); + await editTaskFilter.setSortFilterDropDown('id'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id'); + await editTaskFilter.clickSaveAsButton(); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks'); + const dialog = editTaskFilter.editTaskFilterDialog(); - const tasksCloud = tasksCloudDemoPage.editTaskFilterCloudComponent(); - await tasksCloud.editTaskFilterDialog().clearFilterName(); - - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual(''); - - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkSaveButtonIsEnabled()).toEqual(false); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkCancelButtonIsEnabled()).toEqual(true); - await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnCancelButton(); + await expect(await dialog.getFilterName()).toEqual('My Tasks'); + await dialog.clearFilterName(); + await expect(await dialog.getFilterName()).toEqual(''); + await expect(await dialog.checkSaveButtonIsEnabled()).toEqual(false); + await expect(await dialog.checkCancelButtonIsEnabled()).toEqual(true); + await dialog.clickOnCancelButton(); }); it('[C291799] Task filter dialog is displayed when clicking on Save As button', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - const tasksCloud = tasksCloudDemoPage.editTaskFilterCloudComponent(); - await tasksCloud.openFilter(); - await tasksCloud.setSortFilterDropDown('Id'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkSaveButtonIsEnabled()).toEqual(true); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().checkCancelButtonIsEnabled()).toEqual(true); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getTitle()).toEqual('Save filter as'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().getFilterName()).toEqual('My Tasks'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().clickOnCancelButton(); + await editTaskFilter.openFilter(); + await editTaskFilter.setSortFilterDropDown('id'); + await expect(await editTaskFilter.getSortFilterDropDownValue()).toEqual('id'); + await editTaskFilter.clickSaveAsButton(); + + const dialog = editTaskFilter.editTaskFilterDialog(); + + await expect(await dialog.checkSaveButtonIsEnabled()).toEqual(true); + await expect(await dialog.checkCancelButtonIsEnabled()).toEqual(true); + await expect(await dialog.getTitle()).toEqual('Save filter as'); + await expect(await dialog.getFilterName()).toEqual('My Tasks'); + await dialog.clickOnCancelButton(); }); async function createNewCustomFilter(name: string): Promise { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - const editTaskFilterCloudComponent = tasksCloudDemoPage.editTaskFilterCloudComponent(); - await editTaskFilterCloudComponent.openFilter(); - await editTaskFilterCloudComponent.setSortFilterDropDown('Id'); + await editTaskFilter.openFilter(); + await editTaskFilter.setSortFilterDropDown('id'); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await clickTaskFilter('my-tasks'); + await waitTillContentLoaded(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); + await editTaskFilter.clickSaveAsButton(); - const editTaskFilterDialog = tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog(); - await editTaskFilterDialog.setFilterName(name); - await editTaskFilterDialog.clickOnSaveButton(); + const dialog = editTaskFilter.editTaskFilterDialog(); + await dialog.setFilterName(name); + await dialog.clickOnSaveButton(); } }); diff --git a/e2e/process-services-cloud/form-field/dropdown-widget.e2e.ts b/e2e/process-services-cloud/form-field/dropdown-widget.e2e.ts index a24158c923..489d3f3514 100644 --- a/e2e/process-services-cloud/form-field/dropdown-widget.e2e.ts +++ b/e2e/process-services-cloud/form-field/dropdown-widget.e2e.ts @@ -30,7 +30,11 @@ describe('Form Field Component - Dropdown Widget', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; + const taskList = tasksCloudDemoPage.taskListCloudComponent(); + const taskFormCloudComponent = new TaskFormCloudComponent(); const notificationHistoryPage = new NotificationHistoryPage(); const taskHeaderCloudPage = new TaskHeaderCloudPage(); @@ -84,11 +88,11 @@ describe('Form Field Component - Dropdown Widget', () => { }); it('[C290069] Should be able to read rest service dropdown options, save and complete the task form', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('my-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(task.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(task.entry.name); + await taskList.checkContentIsDisplayedByName(task.entry.name); + await taskList.selectRow(task.entry.name); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); @@ -106,16 +110,16 @@ describe('Form Field Component - Dropdown Widget', () => { await taskFormCloudComponent.checkCompleteButtonIsDisplayed(); await taskFormCloudComponent.clickCompleteButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(task.entry.name); + await taskList.checkContentIsNotDisplayedByName(task.entry.name); await notificationHistoryPage.checkNotifyContains('Task has been saved successfully'); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('completed-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(task.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(task.entry.name); + await taskList.checkContentIsDisplayedByName(task.entry.name); + await taskList.selectRow(task.entry.name); await taskFormCloudComponent.formFields().checkFormIsDisplayed(); await taskFormCloudComponent.formFields().checkWidgetIsVisible('Dropdown097maj'); diff --git a/e2e/process-services-cloud/form-field/task-visibility-condition.e2e.ts b/e2e/process-services-cloud/form-field/task-visibility-condition.e2e.ts index 2b2a7346dd..21f76a6a8a 100644 --- a/e2e/process-services-cloud/form-field/task-visibility-condition.e2e.ts +++ b/e2e/process-services-cloud/form-field/task-visibility-condition.e2e.ts @@ -38,11 +38,18 @@ describe('Task cloud visibility', async () => { const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const taskList = tasksCloudDemoPage.taskListCloudComponent(); + const startTask = new StartTasksCloudPage(); const taskFormCloudComponent = new TaskFormCloudComponent(); const startProcessPage = new StartProcessCloudPage(); + const processCloudDemoPage = new ProcessCloudDemoPage(); + const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent(); + const processList = processCloudDemoPage.processListCloudComponent(); + const loginSSOPage = new LoginPage(); const widget = new ProcessCloudWidgetPage(); @@ -83,8 +90,8 @@ describe('Task cloud visibility', async () => { await startTask.selectFormDefinition(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.forms.requirednumbervisibility.name); await startTask.clickStartButton(); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName); + await taskList.getDataTable().waitTillContentLoaded(); + await taskList.selectRow(standaloneTaskName); await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number1'); await taskFormCloudComponent.formFields().checkWidgetIsHidden('Number2'); @@ -108,11 +115,11 @@ describe('Task cloud visibility', async () => { await startProcessPage.checkStartProcessButtonIsEnabled(); await startProcessPage.clickStartProcessButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRow(processName); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().selectRow('number_visibility_task'); + await editProcessFilter.setFilter({ processName }); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRow(processName); + await taskList.getDataTable().waitTillContentLoaded(); + await taskList.selectRow('number_visibility_task'); await taskFormCloudComponent.clickClaimButton(); await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number1'); @@ -140,11 +147,11 @@ describe('Task cloud visibility', async () => { await browser.sleep(400); await startProcessPage.clickStartProcessButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRow(processName); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().selectRow('boolean_visibility_task'); + await editProcessFilter.setFilter({ processName }); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRow(processName); + await taskList.getDataTable().waitTillContentLoaded(); + await taskList.selectRow('boolean_visibility_task'); await taskFormCloudComponent.clickClaimButton(); await browser.sleep(400); @@ -169,8 +176,8 @@ describe('Task cloud visibility', async () => { await startTask.selectFormDefinition(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.forms.booleanvisibility.name); await startTask.clickStartButton(); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName); + await taskList.getDataTable().waitTillContentLoaded(); + await taskList.selectRow(standaloneTaskName); await taskFormCloudComponent.formFields().checkWidgetIsVisible('Checkbox2'); await taskFormCloudComponent.formFields().checkWidgetIsHidden('Checkbox3'); diff --git a/e2e/process-services-cloud/pages/tasks-cloud-demo.page.ts b/e2e/process-services-cloud/pages/tasks-cloud-demo.page.ts index 31464b45cd..032c06657e 100644 --- a/e2e/process-services-cloud/pages/tasks-cloud-demo.page.ts +++ b/e2e/process-services-cloud/pages/tasks-cloud-demo.page.ts @@ -52,7 +52,6 @@ export class TasksCloudDemoPage { togglePage = new TogglePage(); editTaskFilterCloud = new EditTaskFilterCloudComponentPage(); - taskFilterCloudComponent = new TaskFiltersCloudComponentPage(); async disableDisplayTaskDetails(): Promise { @@ -83,10 +82,6 @@ export class TasksCloudDemoPage { return new TaskListCloudComponentPage(); } - editTaskFilterCloudComponent(): EditTaskFilterCloudComponentPage { - return this.editTaskFilterCloud; - } - async openNewTaskForm(): Promise { await BrowserActions.click(this.createButton); await BrowserActions.clickExecuteScript('button[data-automation-id="btn-start-task"]'); diff --git a/e2e/process-services-cloud/process-custom-filters.e2e.ts b/e2e/process-services-cloud/process-custom-filters.e2e.ts index c84470abdc..50f2f11047 100644 --- a/e2e/process-services-cloud/process-custom-filters.e2e.ts +++ b/e2e/process-services-cloud/process-custom-filters.e2e.ts @@ -15,7 +15,21 @@ * limitations under the License. */ -import { ApiService, AppListCloudPage, BrowserActions, GroupIdentityService, IdentityService, LocalStorageUtil, LoginPage, ProcessDefinitionsService, ProcessInstancesService, QueryService, StringUtil, TasksService } from '@alfresco/adf-testing'; +import { + ApiService, + AppListCloudPage, + BrowserActions, + FilterProps, + GroupIdentityService, + IdentityService, + LocalStorageUtil, + LoginPage, + ProcessDefinitionsService, + ProcessInstancesService, + QueryService, + StringUtil, + TasksService +} from '@alfresco/adf-testing'; import { browser } from 'protractor'; import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page'; import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; @@ -25,12 +39,30 @@ import { ProcessListCloudConfiguration } from './config/process-list-cloud.confi describe('Process list cloud', () => { + // en-US values for the process status + const PROCESS_STATUS = { + ALL: 'All', + RUNNING: 'Running', + SUSPENDED: 'Suspended', + COMPLETED: 'Completed' + }; + + // en-US values for the sort direction + const SORT_DIRECTION = { + ASC: 'Ascending', + DESC: 'Descending' + }; + describe('Process List', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const processCloudDemoPage = new ProcessCloudDemoPage(); + const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent(); + const processList = processCloudDemoPage.processListCloudComponent(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); const apiService = new ApiService(); @@ -111,152 +143,160 @@ describe('Process list cloud', () => { await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); }); + function setFilter(props: FilterProps): Promise { + return editProcessFilter.setFilter(props); + } + + async function waitTillContentLoaded() { + await processList.getDataTable().waitTillContentLoaded(); + } + it('[C290069] Should display processes ordered by name when Name is selected from sort dropdown', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'RUNNING', sort: 'Name', order: 'ASC' }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); + await setFilter({ status: PROCESS_STATUS.RUNNING, sort: 'Name', order: SORT_DIRECTION.ASC }); + await waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Name')).toBe(true); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Name')).toBe(true); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); + await setFilter({ order: SORT_DIRECTION.DESC}); + await waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Name')).toBe(true); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Name')).toBe(true); }); it('[C291783] Should display processes ordered by id when Id is selected from sort dropdown', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'RUNNING', sort: 'Id', order: 'ASC' }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); + await setFilter({ status: PROCESS_STATUS.RUNNING, sort: 'Id', order: SORT_DIRECTION.ASC }); + await waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Id')).toBe(true); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Id')).toBe(true); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Id')).toBe(true); + await setFilter({ order: SORT_DIRECTION.DESC}); + await waitTillContentLoaded(); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.DESC, 'Id')).toBe(true); }); it('[C305054] Should display processes ordered by status when Status is selected from sort dropdown', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Status', order: 'ASC' }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); + await setFilter({ status: PROCESS_STATUS.ALL, sort: 'Status', order: SORT_DIRECTION.ASC }); + await waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Status')).toBe(true); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Status')).toBe(true); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Status')).toBe(true); + await setFilter({ order: SORT_DIRECTION.DESC}); + await waitTillContentLoaded(); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.DESC, 'Status')).toBe(true); }); it('[C305054] Should display processes ordered by started by when Started By is selected from sort dropdown', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Started by', order: 'ASC' }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); + await setFilter({ status: PROCESS_STATUS.ALL, sort: 'Started by', order: SORT_DIRECTION.ASC }); + await waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Started by')).toBe(true); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Started by')).toBe(true); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Started by')).toBe(true); + await setFilter({ order: SORT_DIRECTION.DESC}); + await waitTillContentLoaded(); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.DESC, 'Started by')).toBe(true); }); it('[C305054] Should display processes ordered by processdefinitionid date when ProcessDefinitionId is selected from sort dropdown', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'ProcessDefinitionId', order: 'ASC' }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); + await setFilter({ status: PROCESS_STATUS.ALL, sort: 'ProcessDefinitionId', order: SORT_DIRECTION.ASC }); + await waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Process Definition Id')).toBe(true); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Process Definition Id')).toBe(true); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Process Definition Id')).toBe(true); + await setFilter({ order: SORT_DIRECTION.DESC}); + await waitTillContentLoaded(); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.DESC, 'Process Definition Id')).toBe(true); }); it('[C305054] Should display processes ordered by processdefinitionkey date when ProcessDefinitionKey is selected from sort dropdown', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'ProcessDefinitionKey', order: 'ASC' }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); + await setFilter({ status: PROCESS_STATUS.ALL, sort: 'ProcessDefinitionKey', order: SORT_DIRECTION.ASC }); + await waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Process Definition Key')).toBe(true); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Process Definition Key')).toBe(true); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Process Definition Key')).toBe(true); + await setFilter({ order: SORT_DIRECTION.DESC}); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.DESC, 'Process Definition Key')).toBe(true); }); it('[C305054] Should display processes ordered by last modified date when Last Modified is selected from sort dropdown', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Last Modified', order: 'ASC' }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); + await setFilter({ status: PROCESS_STATUS.ALL, sort: 'Last Modified', order: SORT_DIRECTION.ASC }); + await waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Last Modified')).toBe(true); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Last Modified')).toBe(true); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Last Modified')).toBe(true); + await setFilter({ order: SORT_DIRECTION.DESC }); + await waitTillContentLoaded(); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.DESC, 'Last Modified')).toBe(true); }); it('[C305054] Should display processes ordered by business key date when BusinessKey is selected from sort dropdown', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Business Key', order: 'ASC' }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); + await setFilter({ status: PROCESS_STATUS.ALL, sort: 'Business Key', order: SORT_DIRECTION.ASC }); + await waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Business Key')).toBe(true); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.ASC, 'Business Key')).toBe(true); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'}); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Business Key')).toBe(true); + await setFilter({ order: SORT_DIRECTION.DESC}); + await waitTillContentLoaded(); + await expect(await processList.getDataTable().checkListIsSorted(SORT_DIRECTION.DESC, 'Business Key')).toBe(true); }); it('[C297697] The value of the filter should be preserved when saving it', async () => { await processCloudDemoPage.processFilterCloudComponent.clickAllProcessesFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(completedProcess.entry.id); + await editProcessFilter.openFilter(); + await editProcessFilter.setProcessInstanceId(completedProcess.entry.id); - await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New'); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); + await editProcessFilter.clickSaveAsButton(); + await editProcessFilter.editProcessFilterDialog().setFilterName('New'); + await editProcessFilter.editProcessFilterDialog().clickOnSaveButton(); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('New'); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(completedProcess.entry.id); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().numberOfRows()).toBe(1); + await processList.checkContentIsDisplayedById(completedProcess.entry.id); + await expect(await processList.getDataTable().numberOfRows()).toBe(1); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); + await editProcessFilter.openFilter(); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(completedProcess.entry.id); + await expect(await editProcessFilter.getProcessInstanceId()).toEqual(completedProcess.entry.id); }); it('[C297646] Should display the filter dropdown fine , after switching between saved filters', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - noOfApps = await processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions(); + await editProcessFilter.openFilter(); + noOfApps = await editProcessFilter.getNumberOfAppNameOptions(); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true); + await expect(await editProcessFilter.checkAppNamesAreUnique()).toBe(true); await BrowserActions.closeMenuAndDialogs(); - await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING'); - await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(candidateBaseApp); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(runningProcessInstance.entry.id); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); + await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.RUNNING); + await editProcessFilter.setAppNameDropDown(candidateBaseApp); + await editProcessFilter.setProcessInstanceId(runningProcessInstance.entry.id); + await waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcessInstance.entry.id); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true); + await processList.checkContentIsDisplayedById(runningProcessInstance.entry.id); + await expect(await editProcessFilter.getNumberOfAppNameOptions()).toBe(noOfApps); + await expect(await editProcessFilter.checkAppNamesAreUnique()).toBe(true); await BrowserActions.closeMenuAndDialogs(); - await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('SavedFilter'); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); + await editProcessFilter.clickSaveAsButton(); + await editProcessFilter.editProcessFilterDialog().setFilterName('SavedFilter'); + await editProcessFilter.editProcessFilterDialog().clickOnSaveButton(); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('SavedFilter'); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(runningProcessInstance.entry.id); + await editProcessFilter.openFilter(); + await expect(await editProcessFilter.getProcessInstanceId()).toEqual(runningProcessInstance.entry.id); - await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING'); - await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(candidateBaseApp); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(switchProcessInstance.entry.id); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); + await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.RUNNING); + await editProcessFilter.setAppNameDropDown(candidateBaseApp); + await editProcessFilter.setProcessInstanceId(switchProcessInstance.entry.id); + await waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(switchProcessInstance.entry.id); - await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('SwitchFilter'); - await processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().clickOnSaveButton(); + await processList.checkContentIsDisplayedById(switchProcessInstance.entry.id); + await editProcessFilter.clickSaveAsButton(); + await editProcessFilter.editProcessFilterDialog().setFilterName('SwitchFilter'); + await editProcessFilter.editProcessFilterDialog().clickOnSaveButton(); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('SwitchFilter'); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(switchProcessInstance.entry.id); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps); - await expect(await processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true); + await editProcessFilter.openFilter(); + await expect(await editProcessFilter.getProcessInstanceId()).toEqual(switchProcessInstance.entry.id); + await expect(await editProcessFilter.getNumberOfAppNameOptions()).toBe(noOfApps); + await expect(await editProcessFilter.checkAppNamesAreUnique()).toBe(true); await BrowserActions.closeMenuAndDialogs(); }); diff --git a/e2e/process-services-cloud/process-filter-results.e2e.ts b/e2e/process-services-cloud/process-filter-results.e2e.ts index b625882654..df66fa39e7 100644 --- a/e2e/process-services-cloud/process-filter-results.e2e.ts +++ b/e2e/process-services-cloud/process-filter-results.e2e.ts @@ -40,10 +40,22 @@ import moment = require('moment'); describe('Process filters cloud', () => { + // en-US values for the process status + const PROCESS_STATUS = { + ALL: 'All', + RUNNING: 'Running', + SUSPENDED: 'Suspended', + COMPLETED: 'Completed' + }; + const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const processCloudDemoPage = new ProcessCloudDemoPage(); + const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent(); + const processList = processCloudDemoPage.processListCloudComponent(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); const processListPage = new ProcessListPage(); @@ -148,193 +160,193 @@ describe('Process filters cloud', () => { }); it('[C306887] Should be able to filter by appName', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(candidateBaseApp); - await processCloudDemoPage.editProcessFilterCloudComponent().setInitiator(`${testUser.firstName} ${testUser.lastName}`); + await editProcessFilter.openFilter(); + await editProcessFilter.setAppNameDropDown(candidateBaseApp); + await editProcessFilter.setInitiator(`${testUser.firstName} ${testUser.lastName}`); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(differentAppUserProcessInstance.entry.name); + await processList.getDataTable().waitTillContentLoaded(); + await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name); + await processList.checkContentIsNotDisplayedByName(differentAppUserProcessInstance.entry.name); }); it('[C306889] Should be able to see "No process found" when using an app with no processes in the appName field', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown('subprocessapp'); - await processCloudDemoPage.editProcessFilterCloudComponent().setInitiator(`${testUser.firstName} ${testUser.lastName}`); + await editProcessFilter.openFilter(); + await editProcessFilter.setAppNameDropDown('subprocessapp'); + await editProcessFilter.setInitiator(`${testUser.firstName} ${testUser.lastName}`); await expect(await processListPage.getDisplayedProcessListTitle()).toEqual('No Processes Found'); }); it('[C306890] Should be able to filter by initiator', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setInitiator(`${testUser.firstName} ${testUser.lastName}`); + await editProcessFilter.openFilter(); + await editProcessFilter.setInitiator(`${testUser.firstName} ${testUser.lastName}`); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(differentAppUserProcessInstance.entry.name); + await processList.getDataTable().waitTillContentLoaded(); + await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name); + await processList.checkContentIsNotDisplayedByName(differentAppUserProcessInstance.entry.name); }); it('[C311315] Should be able to filter by process definition id', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionId', processDefinition.entry.id); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setProperty('processDefinitionId', processDefinition.entry.id); + await editProcessFilter.setProcessName(runningProcessInstance.entry.name); + await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionId', anotherProcessDefinition.entry.id); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.setProcessName(anotherProcessInstance.entry.name); + await editProcessFilter.setProperty('processDefinitionId', anotherProcessDefinition.entry.id); + await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name); + await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); }); it('[C311316] Should be able to filter by process definition key', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionKey', processDefinition.entry.key); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setProperty('processDefinitionKey', processDefinition.entry.key); + await editProcessFilter.setProcessName(runningProcessInstance.entry.name); + await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processDefinitionKey', anotherProcessDefinition.entry.key); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.setProcessName(anotherProcessInstance.entry.name); + await editProcessFilter.setProperty('processDefinitionKey', anotherProcessDefinition.entry.key); + await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name); + await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); }); it('[C311317] Should be able to filter by process instance id', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processInstanceId', runningProcessInstance.entry.id); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setProperty('processInstanceId', runningProcessInstance.entry.id); + await processList.getDataTable().waitTillContentLoaded(); + await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfRows()).toBe(1); + await expect(await processList.getDataTable().getNumberOfRows()).toBe(1); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processInstanceId', anotherProcessInstance.entry.id); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfRows()).toBe(1); + await editProcessFilter.setProperty('processInstanceId', anotherProcessInstance.entry.id); + await processList.getDataTable().waitTillContentLoaded(); + await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name); + await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); + await expect(await processList.getDataTable().getNumberOfRows()).toBe(1); }); it('[C311321] Should be able to filter by process name', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setProcessName(runningProcessInstance.entry.name); + await processList.getDataTable().waitTillContentLoaded(); + await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.setProcessName(anotherProcessInstance.entry.name); + await processList.getDataTable().waitTillContentLoaded(); + await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name); + await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); }); it('[C306892] Should be able to filter by process status - Running', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING'); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.RUNNING); + await editProcessFilter.setProcessName(runningProcessInstance.entry.name); + await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(suspendProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(suspendProcessInstance.entry.name); + await editProcessFilter.setProcessName(suspendProcessInstance.entry.name); + await processList.checkContentIsNotDisplayedByName(suspendProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name); + await editProcessFilter.setProcessName(anotherProcessInstance.entry.name); + await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(completedProcess.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(completedProcess.entry.name); + await editProcessFilter.setProcessName(completedProcess.entry.name); + await processList.checkContentIsNotDisplayedByName(completedProcess.entry.name); }); it('[C306892] Should be able to filter by process status - Completed', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('COMPLETED'); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(completedProcess.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(completedProcess.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.COMPLETED); + await editProcessFilter.setProcessName(completedProcess.entry.name); + await processList.checkContentIsDisplayedByName(completedProcess.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.setProcessName(runningProcessInstance.entry.name); + await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(suspendProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(suspendProcessInstance.entry.name); + await editProcessFilter.setProcessName(suspendProcessInstance.entry.name); + await processList.checkContentIsNotDisplayedByName(suspendProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(anotherProcessInstance.entry.name); + await editProcessFilter.setProcessName(anotherProcessInstance.entry.name); + await processList.checkContentIsNotDisplayedByName(anotherProcessInstance.entry.name); }); it('[C306892] Should be able to filter by process status - Suspended', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('SUSPENDED'); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(suspendProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(suspendProcessInstance.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.SUSPENDED); + await editProcessFilter.setProcessName(suspendProcessInstance.entry.name); + await processList.checkContentIsDisplayedByName(suspendProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.setProcessName(runningProcessInstance.entry.name); + await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(anotherProcessInstance.entry.name); + await editProcessFilter.setProcessName(anotherProcessInstance.entry.name); + await processList.checkContentIsNotDisplayedByName(anotherProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(completedProcess.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(completedProcess.entry.name); + await editProcessFilter.setProcessName(completedProcess.entry.name); + await processList.checkContentIsNotDisplayedByName(completedProcess.entry.name); }); it('[C306892] Should be able to filter by process status - All', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('ALL'); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.ALL); + await editProcessFilter.setProcessName(runningProcessInstance.entry.name); + await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(anotherProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(anotherProcessInstance.entry.name); + await editProcessFilter.setProcessName(anotherProcessInstance.entry.name); + await processList.checkContentIsDisplayedByName(anotherProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(suspendProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(suspendProcessInstance.entry.name); + await editProcessFilter.setProcessName(suspendProcessInstance.entry.name); + await processList.checkContentIsDisplayedByName(suspendProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(completedProcess.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(completedProcess.entry.name); + await editProcessFilter.setProcessName(completedProcess.entry.name); + await processList.checkContentIsDisplayedByName(completedProcess.entry.name); }); it('[C311318] Should be able to filter by lastModifiedFrom - displays record when date = currentDate', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedFrom', currentDate); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setProperty('lastModifiedFrom', currentDate); + await editProcessFilter.setProcessName(runningProcessInstance.entry.name); + await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name); }); it('[C311318] Should be able to filter by lastModifiedFrom - displays record when date = beforeDate', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedFrom', beforeDate); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setProperty('lastModifiedFrom', beforeDate); + await editProcessFilter.setProcessName(runningProcessInstance.entry.name); + await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name); }); it('[C311318] Should be able to filter by lastModifiedFrom - does not display record when date = afterDate', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedFrom', afterDate); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setProcessName(runningProcessInstance.entry.name); + await editProcessFilter.setProperty('lastModifiedFrom', afterDate); + await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); }); it('[C311319] Should be able to filter by lastModifiedTo - displays record when date = currentDate', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedTo', currentDate); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setProperty('lastModifiedTo', currentDate); + await editProcessFilter.setProcessName(runningProcessInstance.entry.name); + await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name); }); it('[C311319] Should be able to filter by lastModifiedTo - does not display record when date = beforeDate', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedTo', beforeDate); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setProperty('lastModifiedTo', beforeDate); + await editProcessFilter.setProcessName(runningProcessInstance.entry.name); + await processList.checkContentIsNotDisplayedByName(runningProcessInstance.entry.name); }); it('[C311319] Should be able to filter by lastModifiedTo - displays record when date = afterDate', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedTo', afterDate); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcessInstance.entry.name); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcessInstance.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setProperty('lastModifiedTo', afterDate); + await editProcessFilter.setProcessName(runningProcessInstance.entry.name); + await processList.checkContentIsDisplayedByName(runningProcessInstance.entry.name); }); it('[C311319] Should not display any processes when the lastModifiedFrom and lastModifiedTo are set to a future date', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedFrom', afterDate); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('lastModifiedTo', afterDate); + await editProcessFilter.openFilter(); + await editProcessFilter.setProperty('lastModifiedFrom', afterDate); + await editProcessFilter.setProperty('lastModifiedTo', afterDate); await expect(await processListPage.getDisplayedProcessListTitle()).toEqual('No Processes Found'); }); }); diff --git a/e2e/process-services-cloud/process-filter-task.e2e.ts b/e2e/process-services-cloud/process-filter-task.e2e.ts index 56b14c8cb4..249ecc95fc 100644 --- a/e2e/process-services-cloud/process-filter-task.e2e.ts +++ b/e2e/process-services-cloud/process-filter-task.e2e.ts @@ -40,12 +40,26 @@ import { } from '@alfresco/adf-process-services-cloud'; describe('Process filters cloud', () => { + // en-US values for the process status + const PROCESS_STATUS = { + ALL: 'All', + RUNNING: 'Running', + SUSPENDED: 'Suspended', + COMPLETED: 'Completed' + }; const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); const processCloudDemoPage = new ProcessCloudDemoPage(); + const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud; + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; + const taskList = tasksCloudDemoPage.taskListCloudComponent(); + const processList = processCloudDemoPage.processListCloudComponent(); + const processDetailsCloudDemoPage = new ProcessDetailsCloudDemoPage(); const taskHeaderCloudPage = new TaskHeaderCloudPage(); const taskFormCloudComponent = new TaskFormCloudComponent(); @@ -82,26 +96,26 @@ describe('Process filters cloud', () => { await navigationBarPage.navigateToProcessServicesCloudPage(); await appListCloudComponent.checkApsContainer(); await appListCloudComponent.goToApp(simpleApp); - await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded(); + await taskList.checkTaskListIsLoaded(); await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); }); it('[C290040] Should be able to open the Task Details page by clicking on the process name', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(simpleApp); - await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING'); - await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('processInstanceId', processInstance.id); + await editProcessFilter.openFilter(); + await editProcessFilter.setAppNameDropDown(simpleApp); + await editProcessFilter.setStatusFilterDropDown(PROCESS_STATUS.RUNNING); + await editProcessFilter.setProperty('processInstanceId', processInstance.id); - await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Id', processInstance.id); + await processList.getDataTable().selectRow('Id', processInstance.id); await browser.actions().sendKeys(protractor.Key.ENTER).perform(); await processDetailsCloudDemoPage.checkTaskIsDisplayed(taskName); await browser.navigate().back(); - await tasksCloudDemoPage.taskFilterCloudComponent.clickOnTaskFilters(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskAssigned[0].entry.name); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskAssigned[0].entry.name); + await taskFilter.clickOnTaskFilters(); + await editTaskFilter.openFilter(); + await taskList.checkContentIsDisplayedByName(taskAssigned[0].entry.name); + await taskList.selectRow(taskAssigned[0].entry.name); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await expect(await taskFormCloudComponent.getFormTitle()).toContain(taskName); await taskFormCloudComponent.clickCompleteButton(); diff --git a/e2e/process-services-cloud/process-header-cloud.e2e.ts b/e2e/process-services-cloud/process-header-cloud.e2e.ts index eb546d5f18..a73709ab77 100644 --- a/e2e/process-services-cloud/process-header-cloud.e2e.ts +++ b/e2e/process-services-cloud/process-header-cloud.e2e.ts @@ -36,8 +36,15 @@ describe('Process Header cloud component', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const taskList = tasksCloudDemoPage.taskListCloudComponent(); + const processCloudDemoPage = new ProcessCloudDemoPage(); + const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent(); + const processFilter = processCloudDemoPage.processFilterCloudComponent; + const processList = processCloudDemoPage.processListCloudComponent(); + const editProcessFilterConfiguration = new EditProcessFilterConfiguration(); const editProcessFilterConfigFile = editProcessFilterConfiguration.getConfiguration(); @@ -97,17 +104,17 @@ describe('Process Header cloud component', () => { it('[C305010] Should display process details for running process', async () => { await appListCloudComponent.goToApp(simpleApp); - await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded(); - await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); - await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); + await taskList.checkTaskListIsLoaded(); + await processFilter.clickOnProcessFilters(); + await processFilter.clickRunningProcessesFilter(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(PROCESSES.RUNNING); + await expect(await processFilter.getActiveFilterName()).toBe(PROCESSES.RUNNING); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: runningProcess.entry.name }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcess.entry.name); + await editProcessFilter.setFilter({ processName: runningProcess.entry.name }); + await processList.getDataTable().waitTillContentLoaded(); + await processList.checkContentIsDisplayedByName(runningProcess.entry.name); - await processCloudDemoPage.processListCloudComponent().selectRow(runningProcess.entry.name); + await processList.selectRow(runningProcess.entry.name); await expect(await processHeaderCloudPage.getId()).toEqual(runningProcess.entry.id); await expect(await processHeaderCloudPage.getName()).toEqual(runningProcess.entry.name); await expect(await processHeaderCloudPage.getStatus()).toEqual('RUNNING'); @@ -120,18 +127,18 @@ describe('Process Header cloud component', () => { it('[C305008] Should display process details for completed process', async () => { await appListCloudComponent.goToApp(subProcessApp); - await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded(); - await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); + await taskList.checkTaskListIsLoaded(); + await processFilter.clickOnProcessFilters(); - await processCloudDemoPage.processFilterCloudComponent.clickCompletedProcessesFilter(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(PROCESSES.COMPLETED); + await processFilter.clickCompletedProcessesFilter(); + await expect(await processFilter.getActiveFilterName()).toBe(PROCESSES.COMPLETED); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ initiator: `${testUser.firstName} ${testUser.lastName}` }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(childCompleteProcess.entry.name); + await editProcessFilter.setFilter({ initiator: `${testUser.firstName} ${testUser.lastName}` }); + await processList.getDataTable().waitTillContentLoaded(); + await processList.checkContentIsDisplayedByName(childCompleteProcess.entry.name); - await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRowById(childCompleteProcess.entry.id); + await processList.checkProcessListIsLoaded(); + await processList.selectRowById(childCompleteProcess.entry.id); await expect(await processHeaderCloudPage.getId()).toEqual(childCompleteProcess.entry.id); await expect(await processHeaderCloudPage.getName()).toEqual(CONSTANTS.PROCESS_DETAILS.NO_NAME); diff --git a/e2e/process-services-cloud/process-list-cloud-action-menu.e2e.ts b/e2e/process-services-cloud/process-list-cloud-action-menu.e2e.ts index c1462ae49e..c59e62c370 100644 --- a/e2e/process-services-cloud/process-list-cloud-action-menu.e2e.ts +++ b/e2e/process-services-cloud/process-list-cloud-action-menu.e2e.ts @@ -40,7 +40,11 @@ describe('Process list cloud', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const processCloudDemoPage = new ProcessCloudDemoPage(); + const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent(); + const processList = processCloudDemoPage.processListCloudComponent(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); const apiService = new ApiService(); @@ -100,23 +104,23 @@ describe('Process list cloud', () => { }); it('[C315236] Should be able to see and execute custom action menu', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(editProcess.entry.name); + await editProcessFilter.openFilter(); + await editProcessFilter.setProcessName(editProcess.entry.name); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING); - await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded(); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(editProcess.entry.id); - await processCloudDemoPage.processListCloudComponent().clickOptionsButton(editProcess.entry.id); - await expect(await processCloudDemoPage.processListCloudComponent().isCustomActionEnabled('disabledaction')).toBe(false); - await expect(await processCloudDemoPage.processListCloudComponent().getNumberOfOptions()).toBe(3); - await processCloudDemoPage.processListCloudComponent().clickOnCustomActionMenu('edit'); + await processList.checkProcessListIsLoaded(); + await processList.checkContentIsDisplayedById(editProcess.entry.id); + await processList.clickOptionsButton(editProcess.entry.id); + await expect(await processList.isCustomActionEnabled('disabledaction')).toBe(false); + await expect(await processList.getNumberOfOptions()).toBe(3); + await processList.clickOnCustomActionMenu('edit'); await processCloudDemoPage.checkActionExecuted(editProcess.entry.id, 'edit'); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(deleteProcess.entry.name); + await editProcessFilter.setProcessName(deleteProcess.entry.name); await browser.sleep(1000); - await processCloudDemoPage.processListCloudComponent().rightClickOnRow(deleteProcess.entry.id); - await expect(await processCloudDemoPage.processListCloudComponent().isCustomActionEnabled('disabledaction')).toBe(false); - await expect(await processCloudDemoPage.processListCloudComponent().getNumberOfOptions()).toBe(3); - await processCloudDemoPage.processListCloudComponent().clickContextMenuActionNamed('delete'); + await processList.rightClickOnRow(deleteProcess.entry.id); + await expect(await processList.isCustomActionEnabled('disabledaction')).toBe(false); + await expect(await processList.getNumberOfOptions()).toBe(3); + await processList.clickContextMenuActionNamed('delete'); await processCloudDemoPage.checkActionExecuted(deleteProcess.entry.id, 'delete'); }); }); diff --git a/e2e/process-services-cloud/process-list-selection-cloud.e2e.ts b/e2e/process-services-cloud/process-list-selection-cloud.e2e.ts index 6e02125934..7337fb1da4 100644 --- a/e2e/process-services-cloud/process-list-selection-cloud.e2e.ts +++ b/e2e/process-services-cloud/process-list-selection-cloud.e2e.ts @@ -33,7 +33,12 @@ describe('Process list cloud', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const processCloudDemoPage = new ProcessCloudDemoPage(); + const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent(); + const processList = processCloudDemoPage.processListCloudComponent(); + const processFilter = processCloudDemoPage.processFilterCloudComponent; + const tasksCloudDemoPage = new TasksCloudDemoPage(); const processDetailsCloudDemoPage = new ProcessDetailsCloudDemoPage(); @@ -81,9 +86,9 @@ describe('Process list cloud', () => { await expect(processInstances.length).toEqual(noOfProcesses, 'Wrong preconditions'); await appListCloudComponent.checkApsContainer(); await appListCloudComponent.goToApp(simpleApp); - await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); - await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(PROCESSES.RUNNING); + await processFilter.clickOnProcessFilters(); + await processFilter.clickRunningProcessesFilter(); + await expect(await processFilter.getActiveFilterName()).toBe(PROCESSES.RUNNING); await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.disableDisplayProcessDetails(); await tasksCloudDemoPage.clickAppButton(); @@ -93,87 +98,87 @@ describe('Process list cloud', () => { await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.selectSelectionMode('None'); await tasksCloudDemoPage.clickAppButton(); - await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setInitiator(`${testUser.firstName} ${testUser.lastName}`); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]); - await processCloudDemoPage.processListCloudComponent().getDataTable().checkNoRowIsSelected(); + await processFilter.isProcessFiltersListVisible(); + await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING); + await editProcessFilter.openFilter(); + await editProcessFilter.setInitiator(`${testUser.firstName} ${testUser.lastName}`); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRowById(processInstances[0]); + await processList.getDataTable().checkNoRowIsSelected(); }); it('[C297468] Should be able to select only one process when settings are set to Single', async () => { await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.selectSelectionMode('Single'); await tasksCloudDemoPage.clickAppButton(); - await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); + await processFilter.isProcessFiltersListVisible(); + await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]); - await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1); - await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[1]); - await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[1]); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1); + await editProcessFilter.setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRowById(processInstances[0]); + await processList.checkRowIsSelectedById(processInstances[0]); + await expect(await processList.getDataTable().getNumberOfSelectedRows()).toEqual(1); + await processList.selectRowById(processInstances[1]); + await processList.checkRowIsSelectedById(processInstances[1]); + await expect(await processList.getDataTable().getNumberOfSelectedRows()).toEqual(1); }); it('[C297470] Should be able to select multiple processes using keyboard', async () => { await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.selectSelectionMode('Multiple'); await tasksCloudDemoPage.clickAppButton(); - await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]); - await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]); - await processCloudDemoPage.processListCloudComponent().selectRowWithKeyboard(processInstances[1]); - await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]); - await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[1]); - await processCloudDemoPage.processListCloudComponent().checkRowIsNotSelectedById(processInstances[2]); - await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(2); + await processFilter.isProcessFiltersListVisible(); + await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING); + await editProcessFilter.setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRowById(processInstances[0]); + await processList.checkRowIsSelectedById(processInstances[0]); + await processList.selectRowWithKeyboard(processInstances[1]); + await processList.checkRowIsSelectedById(processInstances[0]); + await processList.checkRowIsSelectedById(processInstances[1]); + await processList.checkRowIsNotSelectedById(processInstances[2]); + await expect(await processList.getDataTable().getNumberOfSelectedRows()).toEqual(2); }); it('[C297465] Should be able to select multiple processes using checkboxes', async () => { await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.enableMultiSelection(); await tasksCloudDemoPage.clickAppButton(); - await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[0]); - await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]); - await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[1]); - await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[1]); - await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[2]); - await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[1]); - await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[1]); - await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]); + await processFilter.isProcessFiltersListVisible(); + await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING); + await editProcessFilter.setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); + await processList.getDataTable().waitTillContentLoaded(); + await processList.checkCheckboxById(processInstances[0]); + await processList.checkRowIsCheckedById(processInstances[0]); + await processList.checkCheckboxById(processInstances[1]); + await processList.checkRowIsCheckedById(processInstances[1]); + await processList.checkRowIsNotCheckedById(processInstances[2]); + await processList.checkCheckboxById(processInstances[1]); + await processList.checkRowIsNotCheckedById(processInstances[1]); + await processList.checkRowIsCheckedById(processInstances[0]); }); it('[C299125] Should be possible to select all the rows when multiselect is true', async () => { await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.enableMultiSelection(); await tasksCloudDemoPage.clickAppButton(); - await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible(); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); + await processFilter.isProcessFiltersListVisible(); + await editProcessFilter.setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); + await processList.getDataTable().waitTillContentLoaded(); + await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING); await browser.sleep(1000); - await processCloudDemoPage.processListCloudComponent().getDataTable().checkAllRowsButtonIsDisplayed(); - await processCloudDemoPage.processListCloudComponent().getDataTable().checkAllRows(); - await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]); - await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[1]); - await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[2]); + await processList.getDataTable().checkAllRowsButtonIsDisplayed(); + await processList.getDataTable().checkAllRows(); + await processList.checkRowIsCheckedById(processInstances[0]); + await processList.checkRowIsCheckedById(processInstances[1]); + await processList.checkRowIsCheckedById(processInstances[2]); - await processCloudDemoPage.processListCloudComponent().getDataTable().checkAllRowsButtonIsDisplayed(); - await processCloudDemoPage.processListCloudComponent().getDataTable().uncheckAllRows(); - await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[0]); - await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[1]); - await processCloudDemoPage.processListCloudComponent().checkRowIsNotCheckedById(processInstances[2]); + await processList.getDataTable().checkAllRowsButtonIsDisplayed(); + await processList.getDataTable().uncheckAllRows(); + await processList.checkRowIsNotCheckedById(processInstances[0]); + await processList.checkRowIsNotCheckedById(processInstances[1]); + await processList.checkRowIsNotCheckedById(processInstances[2]); }); it('[C297467] Should be able to see selected processes', async () => { @@ -181,16 +186,16 @@ describe('Process list cloud', () => { await tasksCloudDemoPage.enableMultiSelection(); await tasksCloudDemoPage.enableTestingMode(); await tasksCloudDemoPage.clickAppButton(); - await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual(PROCESSES.RUNNING); - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[0]); - await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]); + await processFilter.isProcessFiltersListVisible(); + await expect(await processFilter.getActiveFilterName()).toEqual(PROCESSES.RUNNING); + await editProcessFilter.setFilter({ 'initiator': `${testUser.firstName} ${testUser.lastName}`}); + await processList.getDataTable().waitTillContentLoaded(); + await processList.checkCheckboxById(processInstances[0]); + await processList.checkRowIsCheckedById(processInstances[0]); await processDetailsCloudDemoPage.checkListedSelectedProcessInstance(processInstances[0]); - await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[1]); - await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[1]); + await processList.checkCheckboxById(processInstances[1]); + await processList.checkRowIsCheckedById(processInstances[1]); await processDetailsCloudDemoPage.checkListedSelectedProcessInstance(processInstances[1]); }); }); diff --git a/e2e/process-services-cloud/process-task-attach-content-file-cloud.e2e.ts b/e2e/process-services-cloud/process-task-attach-content-file-cloud.e2e.ts index 91f97cc558..280abf3b55 100644 --- a/e2e/process-services-cloud/process-task-attach-content-file-cloud.e2e.ts +++ b/e2e/process-services-cloud/process-task-attach-content-file-cloud.e2e.ts @@ -43,8 +43,15 @@ describe('Process Task - Attach content file', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const processCloudDemoPage = new ProcessCloudDemoPage(); + const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent(); + const processList = processCloudDemoPage.processListCloudComponent(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; + const taskList = tasksCloudDemoPage.taskListCloudComponent(); + const taskFormCloudComponent = new TaskFormCloudComponent(); const processCloudWidget = new ProcessCloudWidgetPage(); const contentNodeSelectorDialog = new ContentNodeSelectorDialogPage(); @@ -115,16 +122,16 @@ describe('Process Task - Attach content file', () => { await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName('upload process'); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); + await editProcessFilter.openFilter(); + await editProcessFilter.setProcessName('upload process'); + await editProcessFilter.openFilter(); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(processInstance.entry.id); - await processCloudDemoPage.processListCloudComponent().selectRowById(processInstance.entry.id); + await processList.checkContentIsDisplayedById(processInstance.entry.id); + await processList.selectRowById(processInstance.entry.id); - await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName); + await taskList.checkTaskListIsLoaded(); + await taskList.selectRow(taskName); await taskFormCloudComponent.formFields().checkFormIsDisplayed(); await taskFormCloudComponent.formFields().checkWidgetIsVisible(uploadWidgetId); @@ -141,22 +148,22 @@ describe('Process Task - Attach content file', () => { await viewAttachedFile(contentUploadFileWidget, pdfFileTwo.name); await taskFormCloudComponent.clickCompleteButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(taskName); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); + await taskList.checkContentIsNotDisplayedByName(taskName); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName); + await taskFilter.clickTaskFilter('completed-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); + await taskList.checkContentIsDisplayedByName(taskName); await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); await processCloudDemoPage.processFilterCloudComponent.clickCompletedProcessesFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName('upload process'); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); + await editProcessFilter.openFilter(); + await editProcessFilter.setProcessName('upload process'); + await editProcessFilter.openFilter(); await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.COMPLETED); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(processInstance.entry.id); + await processList.checkContentIsDisplayedById(processInstance.entry.id); }); async function viewAttachedFile(contentUploadWidget, fileName: string): Promise { diff --git a/e2e/process-services-cloud/start-process-cloud.e2e.ts b/e2e/process-services-cloud/start-process-cloud.e2e.ts index 5f723fc8e0..fa914c54df 100644 --- a/e2e/process-services-cloud/start-process-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-process-cloud.e2e.ts @@ -26,7 +26,12 @@ describe('Start Process', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const processCloudDemoPage = new ProcessCloudDemoPage(); + const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent(); + const processFilter = processCloudDemoPage.processFilterCloudComponent; + const processList = processCloudDemoPage.processListCloudComponent(); + const startProcessPage = new StartProcessCloudPage(); const apiService = new ApiService(); @@ -103,12 +108,12 @@ describe('Start Process', () => { await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true); await browser.sleep(400); await startProcessPage.clickStartProcessButton(); - await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); + await processFilter.clickOnProcessFilters(); - await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(processName); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(processName); + await processFilter.clickRunningProcessesFilter(); + await editProcessFilter.openFilter(); + await editProcessFilter.setProcessName(processName); + await expect(await processFilter.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING); + await processList.checkContentIsDisplayedByName(processName); }); }); diff --git a/e2e/process-services-cloud/start-task-form-cloud.e2e.ts b/e2e/process-services-cloud/start-task-form-cloud.e2e.ts index 9f923d9bb2..2a303c33f7 100644 --- a/e2e/process-services-cloud/start-task-form-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-task-form-cloud.e2e.ts @@ -52,14 +52,23 @@ describe('Start Task Form', () => { const taskFormCloudComponent = new TaskFormCloudComponent(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; + const taskList = tasksCloudDemoPage.taskListCloudComponent(); + const startTask = new StartTasksCloudPage(); const contentNodeSelectorDialogPage = new ContentNodeSelectorDialogPage(); const breadCrumbDropdownPage = new BreadcrumbDropdownPage(); const processDetailsCloudDemoPage = new ProcessDetailsCloudDemoPage(); const widget = new ProcessCloudWidgetPage(); const startProcessPage = new StartProcessCloudPage(); + const processCloudDemoPage = new ProcessCloudDemoPage(); + const editProcessFilter = processCloudDemoPage.editProcessFilterCloudComponent(); + const processList = processCloudDemoPage.processListCloudComponent(); + const processFilter = processCloudDemoPage.processFilterCloudComponent; + const taskHeaderCloudPage = new TaskHeaderCloudPage(); const processHeaderCloud = new ProcessHeaderCloudPage(); @@ -166,7 +175,7 @@ describe('Start Task Form', () => { await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp); await appListCloudComponent.goToApp(candidateBaseApp); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); + await taskList.getDataTable().waitForTableBody(); }); it('[C307976] Should be able to start and save a task with a form', async () => { @@ -175,8 +184,8 @@ describe('Start Task Form', () => { await startTask.addName(standaloneTaskName); await startTask.selectFormDefinition(browser.params.resources.ACTIVITI_CLOUD_APPS.CANDIDATE_BASE_APP.forms.starteventform); await startTask.clickStartButton(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName); + await taskList.checkContentIsDisplayedByName(standaloneTaskName); + await taskList.selectRow(standaloneTaskName); await taskFormCloudComponent.formFields().checkFormIsDisplayed(); await taskFormCloudComponent.formFields().checkWidgetIsVisible('FirstName'); await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number07vyx9'); @@ -191,11 +200,11 @@ describe('Start Task Form', () => { await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp); await appListCloudComponent.goToApp(candidateBaseApp); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); + await taskList.getDataTable().waitForTableBody(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); + await taskList.checkContentIsDisplayedByName(standaloneTaskName); + await taskList.selectRow(standaloneTaskName); await taskFormCloudComponent.formFields().checkFormIsDisplayed(); await expect(await widget.textWidget().getFieldValue('FirstName')).toBe('sample'); await expect(await widget.numberWidget().getFieldValue('Number07vyx9')).toBe('26'); @@ -250,17 +259,17 @@ describe('Start Task Form', () => { await widget.numberWidget().setFieldValue('Number07vyx9', 100); await expect(await startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true); await startProcessPage.clickStartProcessButton(); - await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); - await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(startEventFormProcess); + await processFilter.clickRunningProcessesFilter(); + await expect(await processFilter.getActiveFilterName()).toBe(CONSTANTS.PROCESS_FILTERS.RUNNING); + await editProcessFilter.openFilter(); + await editProcessFilter.setProcessName(startEventFormProcess); await browser.sleep(1000); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(startEventFormProcess); + await processList.getDataTable().waitTillContentLoaded(); + await processList.checkContentIsDisplayedByName(startEventFormProcess); - await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', startEventFormProcess); + await processList.getDataTable().selectRow('Name', startEventFormProcess); await browser.actions().sendKeys(protractor.Key.ENTER).perform(); await processDetailsCloudDemoPage.checkTaskIsDisplayed('StartEventFormTask'); @@ -270,19 +279,19 @@ describe('Start Task Form', () => { const taskId = await taskHeaderCloudPage.getId(); await taskFormCloudComponent.checkCompleteButtonIsDisplayed(); await taskFormCloudComponent.clickCompleteButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedById(taskId); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); + await taskList.checkContentIsNotDisplayedById(taskId); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('completed-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId); + await taskList.checkContentIsDisplayedById(taskId); - await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); - await processCloudDemoPage.processFilterCloudComponent.clickCompletedProcessesFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().openFilter(); - await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(startEventFormProcess); - await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(processId); + await processFilter.clickOnProcessFilters(); + await processFilter.clickCompletedProcessesFilter(); + await editProcessFilter.openFilter(); + await editProcessFilter.setProcessName(startEventFormProcess); + await processList.checkContentIsDisplayedById(processId); }); }); @@ -292,15 +301,15 @@ describe('Start Task Form', () => { await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkAppIsDisplayed(candidateBaseApp); await appListCloudComponent.goToApp(candidateBaseApp); - await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters(); - await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter(); - await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded(); + await processFilter.clickOnProcessFilters(); + await processFilter.clickRunningProcessesFilter(); + await processList.checkProcessListIsLoaded(); }); it('[C310358] Should be able to attach a file to a form from local', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadLocalFileProcess.entry.name }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRow(uploadLocalFileProcess.entry.name); + await editProcessFilter.setFilter({ processName: uploadLocalFileProcess.entry.name }); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRow(uploadLocalFileProcess.entry.name); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await taskFormCloudComponent.clickClaimButton(); @@ -314,9 +323,9 @@ describe('Start Task Form', () => { }); it('[C311285] Should be able to attach a file to a form from acs repository', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name); + await editProcessFilter.setFilter({ processName: uploadContentFileProcess.entry.name }); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRow(uploadContentFileProcess.entry.name); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); @@ -331,9 +340,9 @@ describe('Start Task Form', () => { }); it('[C311287] Content node selector default location when attaching a file to a form from acs repository', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadDefaultFileProcess.entry.name }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRow(uploadDefaultFileProcess.entry.name); + await editProcessFilter.setFilter({ processName: uploadDefaultFileProcess.entry.name }); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRow(uploadDefaultFileProcess.entry.name); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await taskFormCloudComponent.clickClaimButton(); @@ -356,9 +365,9 @@ describe('Start Task Form', () => { }); it('[C311288] No file should be attached when canceling the content node selector', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: cancelUploadFileProcess.entry.name }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRow(cancelUploadFileProcess.entry.name); + await editProcessFilter.setFilter({ processName: cancelUploadFileProcess.entry.name }); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRow(cancelUploadFileProcess.entry.name); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await taskFormCloudComponent.clickClaimButton(); @@ -379,9 +388,9 @@ describe('Start Task Form', () => { }); it('[C311289] Should be able to attach single file', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name); + await editProcessFilter.setFilter({ processName: uploadContentFileProcess.entry.name }); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRow(uploadContentFileProcess.entry.name); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); @@ -394,9 +403,9 @@ describe('Start Task Form', () => { }); it('[C311292] Attached file is not displayed anymore after release if the form is not saved', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name); + await editProcessFilter.setFilter({ processName: uploadContentFileProcess.entry.name }); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRow(uploadContentFileProcess.entry.name); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); @@ -414,9 +423,9 @@ describe('Start Task Form', () => { }); it('[C311293] Attached file is displayed after release if the form was saved', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name); + await editProcessFilter.setFilter({ processName: uploadContentFileProcess.entry.name }); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRow(uploadContentFileProcess.entry.name); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); @@ -435,9 +444,9 @@ describe('Start Task Form', () => { }); it('[C311295] Attached file is displayed after complete', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: completeUploadFileProcess.entry.name }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRow(completeUploadFileProcess.entry.name); + await editProcessFilter.setFilter({ processName: completeUploadFileProcess.entry.name }); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRow(completeUploadFileProcess.entry.name); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await taskFormCloudComponent.clickClaimButton(); @@ -452,22 +461,22 @@ describe('Start Task Form', () => { const taskId = await taskHeaderCloudPage.getId(); await taskFormCloudComponent.checkCompleteButtonIsDisplayed(); await taskFormCloudComponent.clickCompleteButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedById(taskId); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); + await taskList.checkContentIsNotDisplayedById(taskId); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('completed-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId); - await tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(taskId); + await taskList.checkContentIsDisplayedById(taskId); + await taskList.selectRowByTaskId(taskId); await contentFileWidget.checkFileIsAttached(testFileModel.name); await contentFileWidget.checkUploadContentButtonIsNotDisplayed('Attachsinglecontentfile'); }); it('[C315292] Should be able to download attached file from acs repository', async () => { - await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: downloadContentFileProcess.entry.name }); - await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded(); - await processCloudDemoPage.processListCloudComponent().selectRow(downloadContentFileProcess.entry.name); + await editProcessFilter.setFilter({ processName: downloadContentFileProcess.entry.name }); + await processList.getDataTable().waitTillContentLoaded(); + await processList.selectRow(downloadContentFileProcess.entry.name); await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask'); await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask'); await taskFormCloudComponent.clickClaimButton(); @@ -489,14 +498,14 @@ describe('Start Task Form', () => { const taskId = await taskHeaderCloudPage.getId(); await taskFormCloudComponent.clickCompleteButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedById(taskId); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); + await taskList.checkContentIsNotDisplayedById(taskId); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('completed-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId); - await tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(taskId); + await taskList.checkContentIsDisplayedById(taskId); + await taskList.selectRowByTaskId(taskId); await contentFileWidget.checkFileIsAttached(testFileModel.name); await contentFileWidget.downloadFile(testFileModel.name); await FileBrowserUtil.isFileDownloaded(testFileModel.name); diff --git a/e2e/process-services-cloud/start-task/start-task-custom-app-cloud.e2e.ts b/e2e/process-services-cloud/start-task/start-task-custom-app-cloud.e2e.ts index 3b8f04a5fb..686124d863 100644 --- a/e2e/process-services-cloud/start-task/start-task-custom-app-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-task/start-task-custom-app-cloud.e2e.ts @@ -39,7 +39,12 @@ describe('Start Task', () => { const taskHeaderCloudPage = new TaskHeaderCloudPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud; + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; + const taskList = tasksCloudDemoPage.taskListCloudComponent(); + const startTask = new StartTasksCloudPage(); const peopleCloudComponent = new PeopleCloudComponentPage(); @@ -95,7 +100,7 @@ describe('Start Task', () => { await appListCloudComponent.checkApsContainer(); await appListCloudComponent.checkAppIsDisplayed(simpleApp); await appListCloudComponent.goToApp(simpleApp); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); + await taskList.getDataTable().waitForTableBody(); }); it('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', async () => { @@ -104,14 +109,14 @@ describe('Start Task', () => { await peopleCloudComponent.clearAssigneeFromChip(testUser.username); await startTask.addName(unassignedTaskName); await startTask.clickStartButton(); - await tasksCloudDemoPage.editTaskFilterCloudComponent(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName); - const taskId = await tasksCloudDemoPage.taskListCloudComponent().getIdCellValue(unassignedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(unassignedTaskName); + + await editTaskFilter.openFilter(); + await editTaskFilter.clearAssignee(); + await editTaskFilter.setStatusFilterDropDown('Created'); + await taskList.getDataTable().waitForTableBody(); + await taskList.checkContentIsDisplayedByName(unassignedTaskName); + const taskId = await taskList.getIdCellValue(unassignedTaskName); + await taskList.selectRow(unassignedTaskName); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await expect(await taskHeaderCloudPage.getId()).toBe(taskId); await expect(await taskHeaderCloudPage.getAssignee()).toBe('No assignee'); @@ -124,11 +129,11 @@ describe('Start Task', () => { await startTask.addName(unassignedTaskName); await startTask.checkStartButtonIsEnabled(); await startTask.clickStartButton(); - await tasksCloudDemoPage.editTaskFilterCloudComponent(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName); + + await editTaskFilter.openFilter(); + await editTaskFilter.setStatusFilterDropDown('Created'); + await editTaskFilter.clearAssignee(); + await taskList.checkContentIsDisplayedByName(unassignedTaskName); }); it('[C290166] Should be possible to cancel a task', async () => { @@ -142,7 +147,7 @@ describe('Start Task', () => { await startTask.addDueDate('12/12/2018'); await startTask.checkStartButtonIsEnabled(); await startTask.clickCancelButton(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(standaloneTaskName); + await taskList.checkContentIsNotDisplayedByName(standaloneTaskName); }); it('[C290180] Should be able to create a new standalone task', async () => { @@ -153,7 +158,7 @@ describe('Start Task', () => { await startTask.addDueDate('12/12/2018'); await startTask.addPriority('Normal'); await startTask.clickStartButton(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName); + await taskList.checkContentIsDisplayedByName(standaloneTaskName); }); it('[C290181] Should be displayed an error message if task name exceed 255 characters', async () => { @@ -190,10 +195,10 @@ describe('Start Task', () => { await browser.driver.sleep(1000); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('my-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); }); it('[C305050] Should be able to reassign the removed user when starting a new task', async () => { @@ -207,15 +212,15 @@ describe('Start Task', () => { await peopleCloudComponent.selectAssigneeFromList(`${apsUser.firstName} ${apsUser.lastName}`); await startTask.clickStartButton(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); + await editTaskFilter.openFilter(); + await editTaskFilter.clearAssignee(); + await editTaskFilter.setStatusFilterDropDown('All'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(reassignTaskName); + await taskList.checkContentIsDisplayedByName(reassignTaskName); await browser.driver.sleep(1000); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(reassignTaskName); + await taskList.selectRow(reassignTaskName); await expect(await taskHeaderCloudPage.getAssignee()).toBe(apsUser.username); }); diff --git a/e2e/process-services-cloud/start-task/start-task-group-cloud.e2e.ts b/e2e/process-services-cloud/start-task/start-task-group-cloud.e2e.ts index d8c118906b..18c0e7d3a4 100644 --- a/e2e/process-services-cloud/start-task/start-task-group-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-task/start-task-group-cloud.e2e.ts @@ -38,7 +38,10 @@ describe('Start Task - Group Cloud Component', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud; + const startTask = new StartTasksCloudPage(); const peopleCloudComponent = new PeopleCloudComponentPage(); const groupCloud = new GroupCloudComponentPage(); @@ -111,8 +114,8 @@ describe('Start Task - Group Cloud Component', () => { await startTask.clickStartButton(); await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); + await editTaskFilter.openFilter(); + await editTaskFilter.clearAssignee(); await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(oneGroupTaskName); @@ -135,8 +138,8 @@ describe('Start Task - Group Cloud Component', () => { await startTask.clickStartButton(); await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); + await editTaskFilter.openFilter(); + await editTaskFilter.clearAssignee(); await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(bothGroupsTaskName); diff --git a/e2e/process-services-cloud/task-filters-cloud.e2e.ts b/e2e/process-services-cloud/task-filters-cloud.e2e.ts index 513e63e72d..452007def4 100644 --- a/e2e/process-services-cloud/task-filters-cloud.e2e.ts +++ b/e2e/process-services-cloud/task-filters-cloud.e2e.ts @@ -39,6 +39,8 @@ describe('Task filters cloud', () => { const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); const tasksCloudDemoPage = new TasksCloudDemoPage(); + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; + const taskList = tasksCloudDemoPage.taskListCloudComponent(); const apiService = new ApiService(); const queryService = new QueryService(apiService); @@ -77,18 +79,18 @@ describe('Task filters cloud', () => { const task = await tasksService.createStandaloneTask(newTask, simpleApp); await tasksService.claimTask(task.entry.id, simpleApp); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('completed-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('Completed Tasks'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(newTask); + await expect(await taskFilter.getActiveFilterName()).toBe('Completed Tasks'); + await taskList.checkContentIsNotDisplayedByName(newTask); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('my-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(newTask); + await taskList.checkContentIsDisplayedByName(newTask); }); it('[C289955] Should display task in Complete Tasks List when task is completed', async () => { @@ -97,18 +99,18 @@ describe('Task filters cloud', () => { await tasksService.completeTask(toBeCompletedTask.entry.id, simpleApp); await queryService.getTaskByStatus(toBeCompletedTask.entry.name, simpleApp, 'COMPLETED'); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('my-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); + await taskList.checkContentIsNotDisplayedByName(completedTask); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('completed-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('Completed Tasks'); + await expect(await taskFilter.getActiveFilterName()).toBe('Completed Tasks'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask); + await taskList.checkContentIsDisplayedByName(completedTask); }); }); }); diff --git a/e2e/process-services-cloud/task-form-cloud-component-tab.e2e.ts b/e2e/process-services-cloud/task-form-cloud-component-tab.e2e.ts index 1ddbd478c8..c4a0bcc865 100644 --- a/e2e/process-services-cloud/task-form-cloud-component-tab.e2e.ts +++ b/e2e/process-services-cloud/task-form-cloud-component-tab.e2e.ts @@ -37,6 +37,8 @@ describe('Task form cloud component', () => { const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); const tasksCloudDemoPage = new TasksCloudDemoPage(); + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; + const taskList = tasksCloudDemoPage.taskListCloudComponent(); const taskHeaderCloudPage = new TaskHeaderCloudPage(); const taskFormCloudComponent = new TaskFormCloudComponent(); const widget = new ProcessCloudWidgetPage(); @@ -174,8 +176,8 @@ describe('Task form cloud component', () => { await taskFormCloudComponent.clickCompleteButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[0].entry.name); + await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle); + await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[0].entry.name); await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[0].entry.name); await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields); @@ -205,8 +207,8 @@ describe('Task form cloud component', () => { await taskFormCloudComponent.clickCompleteButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[1].entry.name); + await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle); + await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[1].entry.name); await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[1].entry.name); await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields); @@ -233,9 +235,9 @@ describe('Task form cloud component', () => { await widget.tab().checkTabIsNotDisplayedByLabel(tab.tabFieldVar); await taskFormCloudComponent.clickCompleteButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle); + await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[2].entry.name); + await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[2].entry.name); await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[2].entry.name); await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields); @@ -253,8 +255,8 @@ describe('Task form cloud component', () => { await taskFormCloudComponent.clickCompleteButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[4].entry.name); + await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle); + await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[4].entry.name); await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[4].entry.name); await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields); @@ -292,8 +294,8 @@ describe('Task form cloud component', () => { await taskFormCloudComponent.clickCompleteButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[6].entry.name); + await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle); + await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[6].entry.name); await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[6].entry.name); await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields); @@ -317,8 +319,8 @@ describe('Task form cloud component', () => { await widget.tab().checkTabIsDisplayedByLabel(tab.tabMultipleConditions); await taskFormCloudComponent.clickCompleteButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(myTasksFilterTitle); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(visibilityConditionTasks[3].entry.name); + await expect(await taskFilter.getActiveFilterName()).toBe(myTasksFilterTitle); + await taskList.checkContentIsNotDisplayedByName(visibilityConditionTasks[3].entry.name); await chooseFilterAndSelectTaskByName(completedTasksFilter, visibilityConditionTasks[3].entry.name); await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields); @@ -326,22 +328,22 @@ describe('Task form cloud component', () => { }); async function chooseFilterAndSelectTaskByName(filterName: string, taskName: string): Promise { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(filterName); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName); + await taskFilter.clickTaskFilter(filterName); + await taskList.getDataTable().waitTillContentLoaded(); + await taskList.checkContentIsDisplayedByName(taskName); + await taskList.selectRow(taskName); } async function selectTaskByName(taskName: string): Promise { - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName); + await taskList.checkContentIsDisplayedByName(taskName); + await taskList.selectRow(taskName); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); } async function chooseFilter(filterName: string, filterTitle: string): Promise { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(filterName); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe(filterTitle); + await taskFilter.clickTaskFilter(filterName); + await taskList.getDataTable().waitTillContentLoaded(); + await expect(await taskFilter.getActiveFilterName()).toBe(filterTitle); } }); }); diff --git a/e2e/process-services-cloud/task-form-cloud-component.e2e.ts b/e2e/process-services-cloud/task-form-cloud-component.e2e.ts index 8d60aeb9b8..47a184de43 100644 --- a/e2e/process-services-cloud/task-form-cloud-component.e2e.ts +++ b/e2e/process-services-cloud/task-form-cloud-component.e2e.ts @@ -43,7 +43,12 @@ describe('Task form cloud component', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud; + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; + const taskList = tasksCloudDemoPage.taskListCloudComponent(); + const taskHeaderCloudPage = new TaskHeaderCloudPage(); const taskFormCloudComponent = new TaskFormCloudComponent(); const widget = new ProcessCloudWidgetPage(); @@ -142,16 +147,16 @@ describe('Task form cloud component', () => { it('[C310366] Should refresh buttons and form after an action is complete', async () => { await appListCloudComponent.goToApp(simpleApp); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter(myTasksFilter); + await taskList.getDataTable().waitTillContentLoaded(); - await expect(tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED'); + await expect(taskFilter.getActiveFilterName()).toBe('My Tasks'); + await editTaskFilter.openFilter(); + await editTaskFilter.clearAssignee(); + await editTaskFilter.setStatusFilterDropDown('Created'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(formTaskId); - await tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(formTaskId); + await taskList.checkContentIsDisplayedById(formTaskId); + await taskList.selectRowByTaskId(formTaskId); await taskFormCloudComponent.checkFormIsReadOnly(); await taskFormCloudComponent.checkClaimButtonIsDisplayed(); @@ -230,11 +235,11 @@ describe('Task form cloud component', () => { }); it('[C310142] Empty content is displayed when having a task without form', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter(myTasksFilter); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name); + await taskList.checkContentIsDisplayedByName(assigneeTask.entry.name); + await taskList.selectRow(assigneeTask.entry.name); await taskFormCloudComponent.checkFormIsNotDisplayed(); await expect(await taskFormCloudComponent.getFormTitle()).toBe(assigneeTask.entry.name); await taskFormCloudComponent.checkFormContentIsEmpty(); @@ -243,8 +248,8 @@ describe('Task form cloud component', () => { }); it('[C310199] Should not be able to complete a task when required field is empty or invalid data is added to a field', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter(myTasksFilter); + await taskList.getDataTable().waitTillContentLoaded(); await selectTaskByName(formValidationsTask.entry.name); await taskFormCloudComponent.formFields().checkFormIsDisplayed(); @@ -279,86 +284,86 @@ describe('Task form cloud component', () => { }); it('[C307093] Complete button is not displayed when the task is already completed', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(completedTasksFilter); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter(completedTasksFilter); + await taskList.getDataTable().waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('Completed Tasks'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName); + await expect(await taskFilter.getActiveFilterName()).toBe('Completed Tasks'); + await taskList.checkContentIsDisplayedByName(completedTaskName); + await taskList.selectRow(completedTaskName); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); }); it('[C307095] Task can not be completed by owner user', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter(myTasksFilter); + await taskList.getDataTable().waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); + await editTaskFilter.openFilter(); await browser.driver.sleep(1000); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED'); + await editTaskFilter.clearAssignee(); + await editTaskFilter.setStatusFilterDropDown('Created'); await selectTaskByName(createdTask.entry.name); await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); }); it('[C307110] Task list is displayed after clicking on Cancel button', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter(myTasksFilter); + await taskList.getDataTable().waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); await selectTaskByName(assigneeTask.entry.name); await taskFormCloudComponent.clickCancelButton(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); + await taskList.checkContentIsDisplayedByName(assigneeTask.entry.name); }); it('[C307094] Standalone Task can be completed by a user that is owner and assignee', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter(myTasksFilter); + await taskList.getDataTable().waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); await selectTaskByName(toBeCompletedTask.entry.name); await completeTask(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(toBeCompletedTask.entry.name); + await taskList.checkContentIsNotDisplayedByName(toBeCompletedTask.entry.name); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(completedTasksFilter); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter(completedTasksFilter); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name); + await taskList.checkContentIsDisplayedByName(toBeCompletedTask.entry.name); await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); }); it('[C307111] Task of a process can be completed by a user that is owner and assignee', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(myTasksFilter); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter(myTasksFilter); + await taskList.getDataTable().waitTillContentLoaded(); - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); await selectTaskByName(completedTask.entry.name); await completeTask(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask.entry.name); + await taskList.checkContentIsNotDisplayedByName(completedTask.entry.name); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(completedTasksFilter); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter(completedTasksFilter); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask.entry.name); + await taskList.checkContentIsDisplayedByName(completedTask.entry.name); await taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); }); }); async function openTaskByIdFromFilters(filterName: string, taskId: string): Promise { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(filterName); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter(filterName); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(taskId); - await tasksCloudDemoPage.taskListCloudComponent().selectRowByTaskId(taskId); + await taskList.checkContentIsDisplayedById(taskId); + await taskList.selectRowByTaskId(taskId); } async function verifyDateInput(widgetId: string, input: string): Promise { @@ -367,8 +372,8 @@ describe('Task form cloud component', () => { } async function selectTaskByName(taskName: string): Promise { - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName); + await taskList.checkContentIsDisplayedByName(taskName); + await taskList.selectRow(taskName); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); } @@ -381,11 +386,11 @@ describe('Task form cloud component', () => { async function goToAppOpenDropdownTaskByNameFromFilters(filterName: string, taskName: string): Promise { await appListCloudComponent.goToApp(simpleApp); - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter(filterName); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter(filterName); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskName); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(taskName); + await taskList.checkContentIsDisplayedByName(taskName); + await taskList.selectRow(taskName); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await widget.dropdown().isWidgetVisible(dropdownFieldId); } diff --git a/e2e/process-services-cloud/task-header-cloud.e2e.ts b/e2e/process-services-cloud/task-header-cloud.e2e.ts index 0117ad2a0b..3965597fa3 100644 --- a/e2e/process-services-cloud/task-header-cloud.e2e.ts +++ b/e2e/process-services-cloud/task-header-cloud.e2e.ts @@ -44,7 +44,12 @@ describe('Task Header cloud component', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud; + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; + const taskList = tasksCloudDemoPage.taskListCloudComponent(); + const peopleCloudComponentPage = new PeopleCloudComponentPage(); const taskHeaderCloudPage = new TaskHeaderCloudPage(); @@ -134,11 +139,11 @@ describe('Task Header cloud component', () => { }); it('[C291943] Should display task details for assigned task', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('my-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(basicCreatedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(basicCreatedTaskName); + await taskList.checkContentIsDisplayedByName(basicCreatedTaskName); + await taskList.selectRow(basicCreatedTaskName); await tasksCloudDemoPage.waitTillContentLoaded(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); @@ -158,11 +163,11 @@ describe('Task Header cloud component', () => { }); it('[C291944] Should display task details for completed task', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('completed-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName); + await taskList.checkContentIsDisplayedByName(completedTaskName); + await taskList.selectRow(completedTaskName); await tasksCloudDemoPage.waitTillContentLoaded(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); @@ -182,11 +187,11 @@ describe('Task Header cloud component', () => { }); it('[C291945] Should Parent Name and Parent Id not be empty in task details for sub task', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('my-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('my-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(subTask.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(subTask.entry.name); + await taskList.checkContentIsDisplayedByName(subTask.entry.name); + await taskList.selectRow(subTask.entry.name); await tasksCloudDemoPage.waitTillContentLoaded(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); @@ -207,12 +212,12 @@ describe('Task Header cloud component', () => { }); it('[C309698] Should validate the Priority field', async () => { - await tasksCloudDemoPage.editTaskFilterCloud.openFilter(); - await tasksCloudDemoPage.editTaskFilterCloud.setStatusFilterDropDown('ALL'); - await tasksCloudDemoPage.editTaskFilterCloud.clearAssignee(); + await editTaskFilter.openFilter(); + await editTaskFilter.setStatusFilterDropDown('All'); + await editTaskFilter.clearAssignee(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unclaimedTask.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(unclaimedTask.entry.name); + await taskList.checkContentIsDisplayedByName(unclaimedTask.entry.name); + await taskList.selectRow(unclaimedTask.entry.name); await tasksCloudDemoPage.waitTillContentLoaded(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); @@ -251,11 +256,11 @@ describe('Task Header cloud component', () => { }); it('[C311280] Should pick up the default date format from the app configuration', async () => { - await tasksCloudDemoPage.taskFilterCloudComponent.clickTaskFilter('completed-tasks'); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded(); + await taskFilter.clickTaskFilter('completed-tasks'); + await taskList.getDataTable().waitTillContentLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName); + await taskList.checkContentIsDisplayedByName(completedTaskName); + await taskList.selectRow(completedTaskName); await tasksCloudDemoPage.waitTillContentLoaded(); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); diff --git a/e2e/process-services-cloud/task-list-cloud-action-menu.e2e.ts b/e2e/process-services-cloud/task-list-cloud-action-menu.e2e.ts index d3941a2212..349bfa4165 100644 --- a/e2e/process-services-cloud/task-list-cloud-action-menu.e2e.ts +++ b/e2e/process-services-cloud/task-list-cloud-action-menu.e2e.ts @@ -29,7 +29,11 @@ describe('Process list cloud', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud; + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; + const taskList = tasksCloudDemoPage.taskListCloudComponent(); const apiService = new ApiService(); const identityService = new IdentityService(apiService); @@ -86,23 +90,23 @@ describe('Process list cloud', () => { await tasksCloudDemoPage.addInvisibleAction('invisibleaction'); await tasksCloudDemoPage.actionAdded('invisibleaction'); await tasksCloudDemoPage.clickAppButton(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterIsDisplayed('my-tasks'); + await editTaskFilter.openFilter(); + await taskFilter.checkTaskFilterIsDisplayed('my-tasks'); }); it('[C315723] Should be able to see and execute custom action menu', async () => { - await expect(await tasksCloudDemoPage.taskFilterCloudComponent.getActiveFilterName()).toBe('My Tasks'); - await tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded(); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(editTask.list.entries[0].entry.id); - await tasksCloudDemoPage.taskListCloudComponent().clickOptionsButton(editTask.list.entries[0].entry.id); - await expect(await tasksCloudDemoPage.taskListCloudComponent().isCustomActionEnabled('disabledaction')).toBe(false); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getNumberOfOptions()).toBe(3); - await tasksCloudDemoPage.taskListCloudComponent().clickOnCustomActionMenu('edit'); + await expect(await taskFilter.getActiveFilterName()).toBe('My Tasks'); + await taskList.checkTaskListIsLoaded(); + await taskList.checkContentIsDisplayedById(editTask.list.entries[0].entry.id); + await taskList.clickOptionsButton(editTask.list.entries[0].entry.id); + await expect(await taskList.isCustomActionEnabled('disabledaction')).toBe(false); + await expect(await taskList.getNumberOfOptions()).toBe(3); + await taskList.clickOnCustomActionMenu('edit'); await tasksCloudDemoPage.checkActionExecuted(editTask.list.entries[0].entry.id, 'edit'); - await tasksCloudDemoPage.taskListCloudComponent().rightClickOnRow(deleteTask.list.entries[0].entry.id); - await expect(await tasksCloudDemoPage.taskListCloudComponent().isCustomActionEnabled('disabledaction')).toBe(false); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getNumberOfOptions()).toBe(3); - await tasksCloudDemoPage.taskListCloudComponent().clickContextMenuActionNamed('delete'); + await taskList.rightClickOnRow(deleteTask.list.entries[0].entry.id); + await expect(await taskList.isCustomActionEnabled('disabledaction')).toBe(false); + await expect(await taskList.getNumberOfOptions()).toBe(3); + await taskList.clickContextMenuActionNamed('delete'); await tasksCloudDemoPage.checkActionExecuted(deleteTask.list.entries[0].entry.id, 'delete'); }); }); diff --git a/e2e/process-services-cloud/task-list-properties-sort.e2e.ts b/e2e/process-services-cloud/task-list-properties-sort.e2e.ts index 709138442c..1409e3a498 100644 --- a/e2e/process-services-cloud/task-list-properties-sort.e2e.ts +++ b/e2e/process-services-cloud/task-list-properties-sort.e2e.ts @@ -26,11 +26,19 @@ import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; import { TaskListCloudConfiguration } from './config/task-list-cloud.config'; describe('Edit task filters and task list properties', () => { + const SORT_ORDER = { + ASC: 'Ascending', + DESC: 'Descending' + }; const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud; + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; + const taskList = tasksCloudDemoPage.taskListCloudComponent(); const apiService = new ApiService(); const identityService = new IdentityService(apiService); @@ -126,98 +134,98 @@ describe('Edit task filters and task list properties', () => { await navigationBarPage.navigateToProcessServicesCloudPage(); await appListCloudComponent.checkApsContainer(); await appListCloudComponent.goToApp(simpleApp); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterIsDisplayed('my-tasks'); + await editTaskFilter.openFilter(); + await taskFilter.checkTaskFilterIsDisplayed('my-tasks'); }); it('[C306901] Should display tasks sorted by task name when taskName is selected from sort dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Name'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); + await editTaskFilter.setStatusFilterDropDown('Assigned'); + await editTaskFilter.setSortFilterDropDown('name'); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Name')).toBe(true); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'Name')).toBe(true); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Name')).toBe(true); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'Name')).toBe(true); }); it('[C290156] Should display tasks ordered by id when Id is selected from sort dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Id'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); + await editTaskFilter.setStatusFilterDropDown('Assigned'); + await editTaskFilter.setSortFilterDropDown('id'); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Id')).toBe(true); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'Id')).toBe(true); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Id')).toBe(true); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'Id')).toBe(true); }); it('[C306903] Should display tasks sorted by processDefinitionId when processDefinitionId is selected from sort dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('ProcessDefinitionId'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ProcessDefinitionId')).toBe(true); + await editTaskFilter.setStatusFilterDropDown('Assigned'); + await editTaskFilter.setSortFilterDropDown('processDefinitionId'); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'ProcessDefinitionId')).toBe(true); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ProcessDefinitionId')).toBe(true); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'ProcessDefinitionId')).toBe(true); }); it('[C306905] Should display tasks sorted by processInstanceId when processInstanceId is selected from sort dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('ProcessInstanceId'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); + await editTaskFilter.setStatusFilterDropDown('Assigned'); + await editTaskFilter.setSortFilterDropDown('processInstanceId'); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ProcessInstanceId')).toBe(true); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'ProcessInstanceId')).toBe(true); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ProcessInstanceId')).toBe(true); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'ProcessInstanceId')).toBe(true); }); it('[C306907] Should display tasks sorted by assignee when assignee is selected from sort dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Assignee'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); + await editTaskFilter.clearAssignee(); + await editTaskFilter.setStatusFilterDropDown('All'); + await editTaskFilter.setSortFilterDropDown('assignee'); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Assignee')).toBe(true); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'Assignee')).toBe(true); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Assignee')).toBe(true); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'Assignee')).toBe(true); }); it('[C306911] Should display tasks sorted by parentTaskId when parentTaskId is selected from sort dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('ParentTaskId'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); + await editTaskFilter.clearAssignee(); + await editTaskFilter.setStatusFilterDropDown('All'); + await editTaskFilter.setSortFilterDropDown('parentTaskId'); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ParentTaskId')).toBe(true); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'ParentTaskId')).toBe(true); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ParentTaskId')).toBe(true); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'ParentTaskId')).toBe(true); }); it('[C290087] Should display tasks ordered by priority when Priority is selected from sort dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Priority'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); + await editTaskFilter.setStatusFilterDropDown('All'); + await editTaskFilter.setSortFilterDropDown('priority'); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Priority', 'PRIORITY')).toBe(true); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'Priority', 'PRIORITY')).toBe(true); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Priority', 'PRIORITY')).toBe(true); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'Priority', 'PRIORITY')).toBe(true); }); it('[C307115] Should display tasks sorted by owner when owner is selected from sort dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Owner'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('ASC'); + await editTaskFilter.clearAssignee(); + await editTaskFilter.setStatusFilterDropDown('All'); + await editTaskFilter.setSortFilterDropDown('owner'); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.ASC); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Owner')).toBe(true); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.ASC, 'Owner')).toBe(true); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Owner')).toBe(true); + await editTaskFilter.setOrderFilterDropDown(SORT_ORDER.DESC); + await expect(await taskList.getDataTable().checkListIsSorted(SORT_ORDER.DESC, 'Owner')).toBe(true); }); }); }); diff --git a/e2e/process-services-cloud/task-list-properties.e2e.ts b/e2e/process-services-cloud/task-list-properties.e2e.ts index b9eab26ba6..14cc99d726 100644 --- a/e2e/process-services-cloud/task-list-properties.e2e.ts +++ b/e2e/process-services-cloud/task-list-properties.e2e.ts @@ -36,7 +36,11 @@ describe('Edit task filters and task list properties', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud; + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; + const taskList = tasksCloudDemoPage.taskListCloudComponent(); const apiService = new ApiService(); const identityService = new IdentityService(apiService); @@ -105,166 +109,164 @@ describe('Edit task filters and task list properties', () => { await navigationBarPage.navigateToProcessServicesCloudPage(); await appListCloudComponent.checkApsContainer(); await appListCloudComponent.goToApp(simpleApp); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterIsDisplayed('my-tasks'); + await editTaskFilter.openFilter(); + await taskFilter.checkTaskFilterIsDisplayed('my-tasks'); }); it('[C292004] Filter by appName', async () => { - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(simpleApp); + await expect(await editTaskFilter.getAppNameDropDownValue()).toEqual(simpleApp); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notDisplayedTask.entry.name); + await taskList.checkContentIsDisplayedByName(createdTask.entry.name); + await taskList.checkContentIsNotDisplayedByName(notDisplayedTask.entry.name); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setAppNameDropDown(candidateBaseApp); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(candidateBaseApp); + await editTaskFilter.setAppNameDropDown(candidateBaseApp); + await expect(await editTaskFilter.getAppNameDropDownValue()).toEqual(candidateBaseApp); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notDisplayedTask.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name); + await taskList.checkContentIsDisplayedByName(notDisplayedTask.entry.name); + await taskList.checkContentIsNotDisplayedByName(createdTask.entry.name); }); it('[C291906] Should be able to see only the task with specific taskId when typing it in the task Id field', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setId(createdTask.entry.id); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getId()).toEqual(createdTask.entry.id); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(createdTask.entry.id); - await tasksCloudDemoPage.taskListCloudComponent().getRowsWithSameId(createdTask.entry.id).then(async (list) => { + await editTaskFilter.setId(createdTask.entry.id); + await expect(await editTaskFilter.getId()).toEqual(createdTask.entry.id); + await taskList.checkContentIsDisplayedById(createdTask.entry.id); + await taskList.getRowsWithSameId(createdTask.entry.id).then(async (list) => { await expect(list.length).toEqual(1); }); }); it('[C291907] Should be able to see No tasks found when typing an invalid task id', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setId('invalidId'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getId()).toEqual('invalidId'); + await editTaskFilter.setId('invalidId'); + await expect(await editTaskFilter.getId()).toEqual('invalidId'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); + await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); }); it('[C297476] Filter by taskName', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getTaskName()).toEqual(createdTask.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().getRowsWithSameName(createdTask.entry.name).then(async (list) => { + await editTaskFilter.setTaskName(createdTask.entry.name); + await expect(await editTaskFilter.getTaskName()).toEqual(createdTask.entry.name); + await taskList.getRowsWithSameName(createdTask.entry.name).then(async (list) => { await expect(list.length).toEqual(1); }); }); it('[C297613] Should be able to see No tasks found when typing a task name that does not exist', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName('invalidName'); - await expect(await tasksCloudDemoPage.editTaskFilterCloudComponent().getTaskName()).toEqual('invalidName'); - - await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); + await editTaskFilter.setTaskName('invalidName'); + await expect(await editTaskFilter.getTaskName()).toEqual('invalidName'); + await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); }); it('[C297480] Should be able to see only tasks that are part of a specific process when processInstanceId is set', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId(processInstance.entry.id); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); + await editTaskFilter.setProcessInstanceId(processInstance.entry.id); + await editTaskFilter.setStatusFilterDropDown('All'); + await editTaskFilter.clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); + await expect(await taskList.getDataTable().getNumberOfRows()).toBe(1); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfRows()).toBe(1); - - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByProcessInstanceId(processInstance.entry.id); + await taskList.checkContentIsDisplayedByProcessInstanceId(processInstance.entry.id); }); it('[C297684] Should be able to see No tasks found when typing an invalid processInstanceId', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId('invalidTaskId'); + await editTaskFilter.setProcessInstanceId('invalidTaskId'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); + await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); }); it('[C297478] Should be able to see only tasks that are assigned to a specific user when assignee is set', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignee(testUser.username); + await editTaskFilter.setAssignee(testUser.username); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notAssigned.entry.name); + await taskList.checkContentIsDisplayedByName(createdTask.entry.name); + await taskList.checkContentIsNotDisplayedByName(notAssigned.entry.name); }); it('[C297686] Should be able to see No tasks found when typing an invalid user to assignee field', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignee('invalid'); + await editTaskFilter.setAssignee('invalid'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); + await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); }); it('[C297482] Should be able to see only tasks with specific priority when priority is set', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setPriority('Low'); + await editTaskFilter.setPriority('Low'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(priorityTask.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name); + await taskList.checkContentIsDisplayedByName(priorityTask.entry.name); + await taskList.checkContentIsNotDisplayedByName(createdTask.entry.name); }); it('[C297687] Should be able to see No tasks found when typing unused value for priority field', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setPriority('Normal'); + await editTaskFilter.setPriority('Normal'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); + await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); }); it('[C297481] Should be able to see only tasks with specific parentTaskId when parentTaskId is set', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setParentTaskId(subTask.entry.parentTaskId); + await editTaskFilter.setParentTaskId(subTask.entry.parentTaskId); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(subTask.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name); + await taskList.checkContentIsDisplayedByName(subTask.entry.name); + await taskList.checkContentIsNotDisplayedByName(createdTask.entry.name); }); it('[C297486] Filter by Owner', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOwner(testUser.username); + await editTaskFilter.setStatusFilterDropDown('All'); + await editTaskFilter.clearAssignee(); + await editTaskFilter.setOwner(testUser.username); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notAssigned.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); + await taskList.checkContentIsDisplayedByName(notAssigned.entry.name); + await taskList.checkContentIsDisplayedByName(createdTask.entry.name); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setOwner('invalid'); + await editTaskFilter.setOwner('invalid'); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); + await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); }); it('[C297484] Task is displayed when typing into lastModifiedFrom field a date before the task CreatedDate', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); + await editTaskFilter.setLastModifiedFrom(beforeDate); + await taskList.checkContentIsDisplayedByName(createdTask.entry.name); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(afterDate); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name); + await editTaskFilter.setLastModifiedFrom(afterDate); + await taskList.checkContentIsNotDisplayedByName(createdTask.entry.name); }); it('[C297689] Task is not displayed when typing into lastModifiedFrom field the same date as tasks CreatedDate', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(currentDate); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(simpleTask.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(simpleTask.entry.name); + await editTaskFilter.setLastModifiedFrom(currentDate); + await editTaskFilter.setTaskName(simpleTask.entry.name); + await taskList.checkContentIsNotDisplayedByName(simpleTask.entry.name); }); it('[C297485] Task is displayed when typing into lastModifiedTo field a date after the task CreatedDate', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); + await editTaskFilter.setLastModifiedTo(afterDate); + await taskList.checkContentIsDisplayedByName(createdTask.entry.name); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(beforeDate); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name); + await editTaskFilter.setLastModifiedTo(beforeDate); + await taskList.checkContentIsNotDisplayedByName(createdTask.entry.name); }); it('[C297690] Task is not displayed when typing into lastModifiedTo field the same date as tasks CreatedDate', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(currentDate); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(simpleTask.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(simpleTask.entry.name); + await editTaskFilter.setLastModifiedTo(currentDate); + await editTaskFilter.setTaskName(simpleTask.entry.name); + await taskList.checkContentIsNotDisplayedByName(simpleTask.entry.name); }); it('[C297691] Task is not displayed when typing into lastModifiedFrom field a date before the task due date ' + 'and into lastModifiedTo a date before task due date', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(beforeDate); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); + await editTaskFilter.setLastModifiedFrom(beforeDate); + await editTaskFilter.setLastModifiedTo(beforeDate); + await editTaskFilter.setTaskName(createdTask.entry.name); + await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); }); it('[C297692] Task is displayed when typing into lastModifiedFrom field a date before the tasks due date ' + 'and into lastModifiedTo a date after', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); + await editTaskFilter.setLastModifiedFrom(beforeDate); + await editTaskFilter.setLastModifiedTo(afterDate); + await editTaskFilter.setTaskName(createdTask.entry.name); + await taskList.checkContentIsDisplayedByName(createdTask.entry.name); }); it('[C297693] Task is not displayed when typing into lastModifiedFrom field a date after the tasks due date ' + 'and into lastModifiedTo a date after', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(afterDate); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate); - await expect(await tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); + await editTaskFilter.setLastModifiedFrom(afterDate); + await editTaskFilter.setLastModifiedTo(afterDate); + await expect(await taskList.getNoTasksFoundMessage()).toEqual(noTasksFoundMessage); }); }); }); diff --git a/e2e/process-services-cloud/task-list-selection.e2e.ts b/e2e/process-services-cloud/task-list-selection.e2e.ts index 2a8c942011..a9c5a82dd3 100644 --- a/e2e/process-services-cloud/task-list-selection.e2e.ts +++ b/e2e/process-services-cloud/task-list-selection.e2e.ts @@ -38,6 +38,7 @@ describe('Task list cloud - selection', () => { const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); const tasksCloudDemoPage = new TasksCloudDemoPage(); + const taskFilter = tasksCloudDemoPage.taskFilterCloudComponent; const apiService = new ApiService(); const identityService = new IdentityService(apiService); @@ -75,7 +76,7 @@ describe('Task list cloud - selection', () => { await navigationBarPage.navigateToProcessServicesCloudPage(); await appListCloudComponent.checkApsContainer(); await appListCloudComponent.goToApp(simpleApp); - await tasksCloudDemoPage.taskFilterCloudComponent.checkTaskFilterIsDisplayed('my-tasks'); + await taskFilter.checkTaskFilterIsDisplayed('my-tasks'); await tasksCloudDemoPage.clickSettingsButton(); await tasksCloudDemoPage.disableDisplayTaskDetails(); await tasksCloudDemoPage.clickAppButton(); diff --git a/e2e/process-services-cloud/tasks-claim-release.e2e.ts b/e2e/process-services-cloud/tasks-claim-release.e2e.ts index 106fe38c06..0be4453414 100644 --- a/e2e/process-services-cloud/tasks-claim-release.e2e.ts +++ b/e2e/process-services-cloud/tasks-claim-release.e2e.ts @@ -24,7 +24,7 @@ import { LocalStorageUtil, LoginPage, ProcessDefinitionsService, - ProcessInstancesService, + ProcessInstancesService, StatusType, TaskFormCloudComponent, TaskHeaderCloudPage } from '@alfresco/adf-testing'; @@ -40,7 +40,11 @@ describe('Task claim/release', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud; + const taskList = tasksCloudDemoPage.taskListCloudComponent(); + const taskHeaderCloudPage = new TaskHeaderCloudPage(); const taskFormCloudComponent = new TaskFormCloudComponent(); @@ -67,10 +71,10 @@ describe('Task claim/release', () => { }); it('[C306874] Should be able to Claim/Release a process task which has a candidate user', async () => { - await setTaskFilter('CREATED', processInstance.id); + await setTaskFilter('Created', processInstance.id); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(candidateApp.tasks.candidateUserTask); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(candidateApp.tasks.candidateUserTask); + await taskList.checkContentIsDisplayedByName(candidateApp.tasks.candidateUserTask); + await taskList.selectRow(candidateApp.tasks.candidateUserTask); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); @@ -126,10 +130,10 @@ describe('Task claim/release', () => { it('[C306875] should be able to Claim/Release a process task which has a candidate group', async () => { await navigateToApp(browser.params.testConfig.users.hrUser); - await setTaskFilter('CREATED', processInstance.id); + await setTaskFilter('Created', processInstance.id); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(candidateApp.tasks.uploadFileTask); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(candidateApp.tasks.uploadFileTask); + await taskList.checkContentIsDisplayedByName(candidateApp.tasks.uploadFileTask); + await taskList.selectRow(candidateApp.tasks.uploadFileTask); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskFormCloudComponent.checkClaimButtonIsDisplayed(); @@ -154,10 +158,10 @@ describe('Task claim/release', () => { await navigationBarPage.clickLogoutButton(); await navigateToApp(candidate); - await setTaskFilter('CREATED', processInstance.id); + await setTaskFilter('Created', processInstance.id); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(candidateApp.tasks.uploadFileTask); - await tasksCloudDemoPage.taskListCloudComponent().selectRow(candidateApp.tasks.uploadFileTask); + await taskList.checkContentIsDisplayedByName(candidateApp.tasks.uploadFileTask); + await taskList.selectRow(candidateApp.tasks.uploadFileTask); await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); await taskFormCloudComponent.checkClaimButtonIsDisplayed(); @@ -183,7 +187,7 @@ describe('Task claim/release', () => { }); - async function navigateToApp(user) { + async function navigateToApp(user: { username: string; password: string }) { await loginSSOPage.login(user.username, user.password); await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify(taskFilterConfiguration)); await navigationBarPage.navigateToProcessServicesCloudPage(); @@ -191,15 +195,15 @@ describe('Task claim/release', () => { await appListCloudComponent.checkApsContainer(); await appListCloudComponent.goToApp(candidateApp.name); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); + await taskList.getDataTable().waitForTableBody(); } - async function setTaskFilter(status, processInstanceId) { - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown(status); + async function setTaskFilter(status: StatusType, processInstanceId: string) { + await editTaskFilter.openFilter(); + await editTaskFilter.clearAssignee(); + await editTaskFilter.setStatusFilterDropDown(status); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId(processInstanceId); - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); + await editTaskFilter.setProcessInstanceId(processInstanceId); + await editTaskFilter.openFilter(); } }); diff --git a/e2e/process-services-cloud/tasks-custom-filters.e2e.ts b/e2e/process-services-cloud/tasks-custom-filters.e2e.ts index 28b72b37b1..5fd94bfc3e 100644 --- a/e2e/process-services-cloud/tasks-custom-filters.e2e.ts +++ b/e2e/process-services-cloud/tasks-custom-filters.e2e.ts @@ -27,7 +27,7 @@ import { ApiService, IdentityService, GroupIdentityService, - AppListCloudPage + AppListCloudPage, TaskListCloudComponentPage } from '@alfresco/adf-testing'; import { NavigationBarPage } from '../core/pages/navigation-bar.page'; import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; @@ -41,7 +41,10 @@ describe('Task filters cloud', () => { const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); const appListCloudComponent = new AppListCloudPage(); + const tasksCloudDemoPage = new TasksCloudDemoPage(); + const editTaskFilter = tasksCloudDemoPage.editTaskFilterCloud; + const taskList = new TaskListCloudComponentPage(); const apiService = new ApiService(); const identityService = new IdentityService(apiService); @@ -105,59 +108,60 @@ describe('Task filters cloud', () => { await navigationBarPage.navigateToProcessServicesCloudPage(); await appListCloudComponent.checkApsContainer(); await appListCloudComponent.goToApp(simpleApp); - await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); + await taskList.getDataTable().waitForTableBody(); }); it('[C290045] Should display only tasks with Assigned status when Assigned is selected from status dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED'); + await editTaskFilter.openFilter(); + await editTaskFilter.setStatusFilterDropDown('Assigned'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName); + await taskList.checkContentIsDisplayedByName(assignedTaskName); + await taskList.checkContentIsNotDisplayedByName(createdTaskName); + await taskList.checkContentIsNotDisplayedByName(completedTaskName); + await taskList.checkContentIsNotDisplayedByName(deletedTaskName); }); it('[C290061] Should display only tasks with Completed status when Completed is selected from status dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('COMPLETED'); + await editTaskFilter.openFilter(); + await editTaskFilter.setStatusFilterDropDown('Completed'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName); + await taskList.checkContentIsDisplayedByName(completedTaskName); + await taskList.checkContentIsNotDisplayedByName(assignedTaskName); + await taskList.checkContentIsNotDisplayedByName(createdTaskName); + await taskList.checkContentIsNotDisplayedByName(deletedTaskName); }); it('[C290139] Should display only tasks with all statuses when All is selected from status dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL'); + await editTaskFilter.openFilter(); + await editTaskFilter.clearAssignee(); + await editTaskFilter.setStatusFilterDropDown('All'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(deletedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); + await taskList.checkContentIsDisplayedByName(deletedTaskName); + await taskList.checkContentIsDisplayedByName(assignedTaskName); + await taskList.checkContentIsDisplayedByName(createdTaskName); + await taskList.checkContentIsDisplayedByName(completedTaskName); }); it('[C290060] Should display only tasks with Created status when Created is selected from status dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CREATED'); + await editTaskFilter.openFilter(); + await editTaskFilter.clearAssignee(); + await editTaskFilter.setStatusFilterDropDown('Created'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName); + await taskList.checkContentIsDisplayedByName(createdTaskName); + await taskList.checkContentIsNotDisplayedByName(assignedTaskName); + await taskList.checkContentIsNotDisplayedByName(completedTaskName); + await taskList.checkContentIsNotDisplayedByName(deletedTaskName); }); it('[C290155] Should display only tasks with Cancelled status when Cancelled is selected from status dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('CANCELLED'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(deletedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName); + await editTaskFilter.openFilter(); + await editTaskFilter.clearAssignee(); + await editTaskFilter.setStatusFilterDropDown('Cancelled'); + + await taskList.checkContentIsDisplayedByName(deletedTaskName); + await taskList.checkContentIsNotDisplayedByName(assignedTaskName); + await taskList.checkContentIsNotDisplayedByName(completedTaskName); + await taskList.checkContentIsNotDisplayedByName(createdTaskName); }); describe('Dropdown', () => { @@ -173,10 +177,10 @@ describe('Task filters cloud', () => { }); it('[C317658] Should display only tasks with Suspended status when SUSPENDED is selected from status dropdown', async () => { - await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee(); - await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('SUSPENDED'); - await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskAssigned.list.entries[0].entry.name); + await editTaskFilter.openFilter(); + await editTaskFilter.clearAssignee(); + await editTaskFilter.setStatusFilterDropDown('Suspended'); + await taskList.checkContentIsDisplayedByName(taskAssigned.list.entries[0].entry.name); }); }); }); diff --git a/lib/process-services-cloud/src/lib/i18n/en.json b/lib/process-services-cloud/src/lib/i18n/en.json index 5414f8d829..5b49ea7868 100644 --- a/lib/process-services-cloud/src/lib/i18n/en.json +++ b/lib/process-services-cloud/src/lib/i18n/en.json @@ -122,17 +122,47 @@ "ADF_CLOUD_TASK_FILTERS": { "MY_TASKS": "My Tasks", "QUEUED_TASKS": "Queued Tasks", - "COMPLETED_TASKS": "Completed Tasks" + "COMPLETED_TASKS": "Completed Tasks", + "STATUS": { + "ALL": "All", + "CREATED": "Created", + "ASSIGNED": "Assigned", + "SUSPENDED": "Suspended", + "CANCELLED": "Cancelled", + "COMPLETED": "Completed" + }, + "DIRECTION": { + "ASCENDING": "Ascending", + "DESCENDING": "Descending" + } }, "ADF_CLOUD_SERVICE_TASK_FILTERS": { "ALL_SERVICE_TASKS": "All Service Tasks", "ERRORED_TASKS": "Errored Tasks", - "COMPLETED_TASKS": "Completed Tasks" + "COMPLETED_TASKS": "Completed Tasks", + "STATUS": { + "ALL": "All", + "STARTED": "Started", + "COMPLETED": "Completed", + "CANCELLED": "Cancelled", + "ERROR": "Error" + } }, "ADF_CLOUD_PROCESS_FILTERS": { "ALL_PROCESSES": "All", "RUNNING_PROCESSES": "Running", - "COMPLETED_PROCESSES": "Completed" + "COMPLETED_PROCESSES": "Completed", + "STATUS": { + "ALL": "All", + "RUNNING": "Running", + "SUSPENDED": "Suspended", + "CANCELLED": "Cancelled", + "COMPLETED": "Completed" + }, + "DIRECTION": { + "ASCENDING": "Ascending", + "DESCENDING": "Descending" + } }, "ADF_CLOUD_START_TASK": { "ERROR": { diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts index 04e5314314..e1c93f703c 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts @@ -390,9 +390,9 @@ describe('EditProcessFilterCloudComponent', () => { expect(stateElement).toBeDefined(); expect(sortElement).toBeDefined(); expect(orderElement).toBeDefined(); - expect(stateElement.innerText.trim()).toEqual('RUNNING'); + expect(stateElement.innerText.trim()).toEqual('ADF_CLOUD_PROCESS_FILTERS.STATUS.RUNNING'); expect(sortElement.innerText.trim()).toEqual('ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.ID'); - expect(orderElement.innerText.trim()).toEqual('ASC'); + expect(orderElement.innerText.trim()).toEqual('ADF_CLOUD_PROCESS_FILTERS.DIRECTION.ASCENDING'); }); })); diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts index abda341720..4aea368e55 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts @@ -32,6 +32,11 @@ import { ProcessCloudService } from '../../services/process-cloud.service'; import { DateCloudFilterType, DateRangeFilter } from '../../../models/date-cloud-filter.model'; import { ApplicationVersionModel } from '../../../models/application-version.model'; +export interface DropdownOption { + value: string; + label: string; +} + @Component({ selector: 'adf-cloud-edit-process-filter', templateUrl: './edit-process-filter-cloud.component.html', @@ -94,21 +99,26 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes processFilter: ProcessFilterCloudModel; changedProcessFilter: ProcessFilterCloudModel; - status = [ - { label: 'ALL', value: '' }, - { label: 'RUNNING', value: 'RUNNING' }, - { label: 'SUSPENDED', value: 'SUSPENDED' }, - { label: 'CANCELLED', value: 'CANCELLED' }, - { label: 'COMPLETED', value: 'COMPLETED' } + status: Array = [ + { value: '', label: 'ADF_CLOUD_PROCESS_FILTERS.STATUS.ALL' }, + { value: 'RUNNING', label: 'ADF_CLOUD_PROCESS_FILTERS.STATUS.RUNNING' }, + { value: 'SUSPENDED', label: 'ADF_CLOUD_PROCESS_FILTERS.STATUS.SUSPENDED' }, + { value: 'CANCELLED', label: 'ADF_CLOUD_PROCESS_FILTERS.STATUS.CANCELLED' }, + { value: 'COMPLETED', label: 'ADF_CLOUD_PROCESS_FILTERS.STATUS.COMPLETED' } + ]; + directions: Array = [ + { value: 'ASC', label: 'ADF_CLOUD_PROCESS_FILTERS.DIRECTION.ASCENDING' }, + { value: 'DESC', label: 'ADF_CLOUD_PROCESS_FILTERS.DIRECTION.DESCENDING' } ]; - - directions = [{ label: 'ASC', value: 'ASC' }, { label: 'DESC', value: 'DESC' }]; actionDisabledForDefault = [ EditProcessFilterCloudComponent.ACTION_SAVE, EditProcessFilterCloudComponent.ACTION_DELETE ]; applicationNames: any[] = []; - allProcessDefinitionNamesOption = { label: 'All', value: '' }; + allProcessDefinitionNamesOption: DropdownOption = { + label: 'ADF_CLOUD_PROCESS_FILTERS.STATUS.ALL', + value: '' + }; processDefinitionNames: any[] = []; formHasBeenChanged = false; editProcessFilterForm: FormGroup; diff --git a/lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts b/lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts index b35832b8f6..8dede2e17e 100644 --- a/lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts +++ b/lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts @@ -73,7 +73,7 @@ export class ProcessListCloudService extends BaseCloudService { return queryParam; } - private buildFilterForAllStatus() { + private buildFilterForAllStatus(): string[] { return ['RUNNING', 'SUSPENDED', 'CANCELLED', 'COMPLETED']; } diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.ts index 7d67e0bcd4..357e838852 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.ts @@ -29,6 +29,11 @@ import { IdentityGroupModel, IdentityUserModel, TranslationService, UserPreferen import { TaskFilterDialogCloudComponent } from '../task-filter-dialog/task-filter-dialog-cloud.component'; import { MatDialog } from '@angular/material/dialog'; +export interface DropdownOption { + value: string; + label: string; +} + @Directive() // tslint:disable-next-line: directive-class-suffix export abstract class BaseEditTaskFilterCloudComponent implements OnInit, OnChanges, OnDestroy { @@ -44,10 +49,6 @@ export abstract class BaseEditTaskFilterCloudComponent implements OnInit, OnC public static ORDER: string = 'order'; public static DEFAULT_ACTIONS = ['save', 'saveAs', 'delete']; public static FORMAT_DATE: string = 'DD/MM/YYYY'; - public static DIRECTIONS = [ - { label: 'ASC', value: 'ASC' }, - { label: 'DESC', value: 'DESC' } - ]; public static ACTIONS_DISABLED_BY_DEFAULT = [ BaseEditTaskFilterCloudComponent.ACTION_SAVE, BaseEditTaskFilterCloudComponent.ACTION_DELETE @@ -93,14 +94,22 @@ export abstract class BaseEditTaskFilterCloudComponent implements OnInit, OnC @Output() action = new EventEmitter(); - protected applicationNames: any[] = []; - protected processDefinitionNames: any[] = []; + protected applicationNames: DropdownOption[] = []; + protected processDefinitionNames: DropdownOption[] = []; protected formHasBeenChanged = false; + editTaskFilterForm: FormGroup; taskFilterProperties: TaskFilterProperties[] = []; taskFilterActions: TaskFilterAction[] = []; toggleFilterActions: boolean = false; - allProcessDefinitionNamesOption = { label: 'All', value: '' }; + sortDirections: DropdownOption[] = [ + { value: 'ASC', label: 'ADF_CLOUD_TASK_FILTERS.DIRECTION.ASCENDING' }, + { value: 'DESC', label: 'ADF_CLOUD_TASK_FILTERS.DIRECTION.DESCENDING' } + ]; + allProcessDefinitionNamesOption: DropdownOption = { + value: '', + label: 'ADF_CLOUD_TASK_FILTERS.STATUS.ALL' + }; taskFilter: T; changedTaskFilter: T; @@ -314,7 +323,7 @@ export abstract class BaseEditTaskFilterCloudComponent implements OnInit, OnC this.checkMandatorySortProperties(); return this.sortProperties.map((property: string) => { - return { label: property.charAt(0).toUpperCase() + property.slice(1), value: property }; + return { label: property, value: property }; }); } diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter-cloud.component.spec.ts index cb4f447ab2..f0cb0877d4 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter-cloud.component.spec.ts @@ -381,14 +381,13 @@ describe('EditServiceTaskFilterCloudComponent', () => { const sortElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-sort"]'); const orderElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-order"]'); expect(assigneeElement).toBeDefined(); - expect(stateElement.textContent.trim()).toBe('COMPLETED'); - expect(sortElement.textContent.trim()).toBe('Id'); - expect(orderElement.textContent.trim()).toBe('ASC'); + expect(stateElement.textContent.trim()).toBe('ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.COMPLETED'); + expect(sortElement.textContent.trim()).toBe('id'); + expect(orderElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.DIRECTION.ASCENDING'); }); })); it('should display all the statuses that are defined in the task filter', async(() => { - const expansionPanel = fixture.debugElement.nativeElement.querySelector('mat-expansion-panel-header'); expansionPanel.click(); fixture.detectChanges(); @@ -399,11 +398,11 @@ describe('EditServiceTaskFilterCloudComponent', () => { const statusOptions = fixture.debugElement.queryAll(By.css('[data-automation-id="adf-cloud-edit-task-property-options-status"]')); - expect(statusOptions[0].nativeElement.textContent.trim()).toBe('ALL'); - expect(statusOptions[1].nativeElement.textContent.trim()).toBe('STARTED'); - expect(statusOptions[2].nativeElement.textContent.trim()).toBe('COMPLETED'); - expect(statusOptions[3].nativeElement.textContent.trim()).toBe('CANCELLED'); - expect(statusOptions[4].nativeElement.textContent.trim()).toBe('ERROR'); + expect(statusOptions[0].nativeElement.textContent.trim()).toBe('ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.ALL'); + expect(statusOptions[1].nativeElement.textContent.trim()).toBe('ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.STARTED'); + expect(statusOptions[2].nativeElement.textContent.trim()).toBe('ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.COMPLETED'); + expect(statusOptions[3].nativeElement.textContent.trim()).toBe('ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.CANCELLED'); + expect(statusOptions[4].nativeElement.textContent.trim()).toBe('ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.ERROR'); })); it('should display sort drop down', async(() => { diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter-cloud.component.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter-cloud.component.ts index da7f351262..85372f8283 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter-cloud.component.ts @@ -28,7 +28,7 @@ import { TranslationService, UserPreferencesService } from '@alfresco/adf-core'; import { AppsProcessCloudService } from '../../../../app/services/apps-process-cloud.service'; import { TaskCloudService } from '../../../services/task-cloud.service'; import { ServiceTaskFilterCloudService } from '../../services/service-task-filter-cloud.service'; -import { BaseEditTaskFilterCloudComponent } from './base-edit-task-filter-cloud.component'; +import { BaseEditTaskFilterCloudComponent, DropdownOption } from './base-edit-task-filter-cloud.component'; @Component({ selector: 'adf-cloud-edit-service-task-filter', @@ -91,17 +91,19 @@ export class EditServiceTaskFilterCloudComponent extends BaseEditTaskFilterCloud return this.serviceTaskFilterCloudService.getTaskListFilters(this.appName); } - private getDefaultProperties() { + private getStatusOptions(): DropdownOption[] { return [ - { label: 'ALL', value: '' }, - { label: 'STARTED', value: 'STARTED' }, - { label: 'COMPLETED', value: 'COMPLETED' }, - { label: 'CANCELLED', value: 'CANCELLED' }, - { label: 'ERROR', value: 'ERROR' } + { value: '', label: 'ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.ALL' }, + { value: 'STARTED', label: 'ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.STARTED' }, + { value: 'COMPLETED', label: 'ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.COMPLETED' }, + { value: 'CANCELLED', label: 'ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.CANCELLED' }, + { value: 'ERROR', label: 'ADF_CLOUD_SERVICE_TASK_FILTERS.STATUS.ERROR' } ]; } createTaskFilterProperties(): TaskFilterProperties[] { + const statusOptions = this.getStatusOptions(); + return [ { label: 'ADF_CLOUD_EDIT_SERVICE_TASK_FILTER.LABEL.APP_NAME', @@ -145,15 +147,15 @@ export class EditServiceTaskFilterCloudComponent extends BaseEditTaskFilterCloud label: 'ADF_CLOUD_EDIT_SERVICE_TASK_FILTER.LABEL.DIRECTION', type: 'select', key: 'order', - value: this.taskFilter.order || EditServiceTaskFilterCloudComponent.DIRECTIONS[0].value, - options: EditServiceTaskFilterCloudComponent.DIRECTIONS + value: this.taskFilter.order || this.sortDirections[0].value, + options: [...this.sortDirections] }, { label: 'ADF_CLOUD_EDIT_SERVICE_TASK_FILTER.LABEL.STATUS', type: 'select', key: 'status', - value: this.taskFilter.status || this.getDefaultProperties()[0].value, - options: this.getDefaultProperties() + value: this.taskFilter.status || statusOptions[0].value, + options: statusOptions }, { label: 'ADF_CLOUD_EDIT_SERVICE_TASK_FILTER.LABEL.STARTED_DATE', diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.spec.ts index 29ffe6ba2d..a5cfc9d8c3 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.spec.ts @@ -396,9 +396,9 @@ describe('EditTaskFilterCloudComponent', () => { const sortElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-sort"]'); const orderElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-order"]'); expect(assigneeElement).toBeDefined(); - expect(stateElement.textContent.trim()).toBe('CREATED'); - expect(sortElement.textContent.trim()).toBe('Id'); - expect(orderElement.textContent.trim()).toBe('ASC'); + expect(stateElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.CREATED'); + expect(sortElement.textContent.trim()).toBe('id'); + expect(orderElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.DIRECTION.ASCENDING'); }); })); @@ -414,12 +414,12 @@ describe('EditTaskFilterCloudComponent', () => { const statusOptions = fixture.debugElement.queryAll(By.css('[data-automation-id="adf-cloud-edit-task-property-options-status"]')); - expect(statusOptions[0].nativeElement.textContent.trim()).toBe('ALL'); - expect(statusOptions[1].nativeElement.textContent.trim()).toBe('CREATED'); - expect(statusOptions[2].nativeElement.textContent.trim()).toBe('ASSIGNED'); - expect(statusOptions[3].nativeElement.textContent.trim()).toBe('SUSPENDED'); - expect(statusOptions[4].nativeElement.textContent.trim()).toBe('CANCELLED'); - expect(statusOptions[5].nativeElement.textContent.trim()).toBe('COMPLETED'); + expect(statusOptions[0].nativeElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.ALL'); + expect(statusOptions[1].nativeElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.CREATED'); + expect(statusOptions[2].nativeElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.ASSIGNED'); + expect(statusOptions[3].nativeElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.SUSPENDED'); + expect(statusOptions[4].nativeElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.CANCELLED'); + expect(statusOptions[5].nativeElement.textContent.trim()).toBe('ADF_CLOUD_TASK_FILTERS.STATUS.COMPLETED'); })); it('should display sort drop down', async(() => { diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.ts index 408baff1ba..19ea2b2849 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.ts @@ -30,7 +30,7 @@ import { TranslationService, UserPreferencesService } from '@alfresco/adf-core'; import { AppsProcessCloudService } from '../../../../app/services/apps-process-cloud.service'; import { DateCloudFilterType } from '../../../../models/date-cloud-filter.model'; import { TaskCloudService } from '../../../services/task-cloud.service'; -import { BaseEditTaskFilterCloudComponent } from './base-edit-task-filter-cloud.component'; +import { BaseEditTaskFilterCloudComponent, DropdownOption } from './base-edit-task-filter-cloud.component'; @Component({ selector: 'adf-cloud-edit-task-filter', @@ -140,18 +140,21 @@ export class EditTaskFilterCloudComponent extends BaseEditTaskFilterCloudCompone ]; } - private getDefaultProperties() { + private getStatusOptions(): DropdownOption[] { return [ - { label: 'ALL', value: '' }, - { label: 'CREATED', value: 'CREATED' }, - { label: 'ASSIGNED', value: 'ASSIGNED' }, - { label: 'SUSPENDED', value: 'SUSPENDED' }, - { label: 'CANCELLED', value: 'CANCELLED' }, - { label: 'COMPLETED', value: 'COMPLETED' } + { value: '', label: 'ADF_CLOUD_TASK_FILTERS.STATUS.ALL' }, + { value: 'CREATED', label: 'ADF_CLOUD_TASK_FILTERS.STATUS.CREATED' }, + { value: 'ASSIGNED', label: 'ADF_CLOUD_TASK_FILTERS.STATUS.ASSIGNED' }, + { value: 'SUSPENDED', label: 'ADF_CLOUD_TASK_FILTERS.STATUS.SUSPENDED' }, + { value: 'CANCELLED', label: 'ADF_CLOUD_TASK_FILTERS.STATUS.CANCELLED' }, + { value: 'COMPLETED', label: 'ADF_CLOUD_TASK_FILTERS.STATUS.COMPLETED' } ]; } createTaskFilterProperties(): TaskFilterProperties[] { + const statusOptions = this.getStatusOptions(); + const sortProperties = this.createSortProperties; + return [ { label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.APP_NAME', @@ -170,8 +173,8 @@ export class EditTaskFilterCloudComponent extends BaseEditTaskFilterCloudCompone label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.STATUS', type: 'select', key: 'status', - value: this.taskFilter.status || this.getDefaultProperties()[0].value, - options: this.getDefaultProperties() + value: this.taskFilter.status || statusOptions[0].value, + options: statusOptions }, { label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.ASSIGNMENT', @@ -233,15 +236,15 @@ export class EditTaskFilterCloudComponent extends BaseEditTaskFilterCloudCompone label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.SORT', type: 'select', key: 'sort', - value: this.taskFilter.sort || this.createSortProperties[0].value, - options: this.createSortProperties + value: this.taskFilter.sort || sortProperties[0].value, + options: sortProperties }, { label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.DIRECTION', type: 'select', key: 'order', - value: this.taskFilter.order || EditTaskFilterCloudComponent.DIRECTIONS[0].value, - options: EditTaskFilterCloudComponent.DIRECTIONS + value: this.taskFilter.order || this.sortDirections[0].value, + options: [...this.sortDirections] }, { label: 'ADF_CLOUD_EDIT_TASK_FILTER.LABEL.STAND_ALONE', diff --git a/lib/testing/src/lib/core/pages/data-table-component.page.ts b/lib/testing/src/lib/core/pages/data-table-component.page.ts index 2b1e21b5a6..8bae9a9ca2 100644 --- a/lib/testing/src/lib/core/pages/data-table-component.page.ts +++ b/lib/testing/src/lib/core/pages/data-table-component.page.ts @@ -175,7 +175,7 @@ export class DataTableComponentPage { sortedList = sortedList.sort(this.sortPriority); } - if (sortOrder.toLocaleLowerCase() === 'desc') { + if (['desc', 'descending'].includes(sortOrder.toLocaleLowerCase())) { sortedList = sortedList.reverse(); } diff --git a/lib/testing/src/lib/process-services-cloud/pages/edit-process-filter-cloud-component.page.ts b/lib/testing/src/lib/process-services-cloud/pages/edit-process-filter-cloud-component.page.ts index 6b5ab40691..7359e19c26 100644 --- a/lib/testing/src/lib/process-services-cloud/pages/edit-process-filter-cloud-component.page.ts +++ b/lib/testing/src/lib/process-services-cloud/pages/edit-process-filter-cloud-component.page.ts @@ -21,6 +21,15 @@ import { BrowserActions } from '../../core/utils/browser-actions'; import { DropdownPage } from '../../core/pages/material/dropdown.page'; import { PeopleCloudComponentPage } from './people-cloud-component.page'; +export interface FilterProps { + name?: string; + status?: string; + sort?: string; + order?: string; + initiator?: string; + processName?: string; +} + export class EditProcessFilterCloudComponentPage { customiseFilter = element(by.id('adf-edit-process-filter-sub-title-id')); @@ -205,14 +214,14 @@ export class EditProcessFilterCloudComponentPage { await BrowserActions.click(this.saveButton); } - async setFilter({ name = '', status = '', sort = '', order = '', initiator = '', processName = '' }): Promise { + async setFilter(props: FilterProps): Promise { await this.openFilter(); - if (name) { await this.setProcessName(name); } - if (status) { await this.setStatusFilterDropDown(status); } - if (sort) { await this.setSortFilterDropDown(sort); } - if (order) { await this.setOrderFilterDropDown(order); } - if (initiator) { await this.setInitiator(initiator); } - if (processName) { await this.setProcessName(processName); } + if (props.name) { await this.setProcessName(props.name); } + if (props.status) { await this.setStatusFilterDropDown(props.status); } + if (props.sort) { await this.setSortFilterDropDown(props.sort); } + if (props.order) { await this.setOrderFilterDropDown(props.order); } + if (props.initiator) { await this.setInitiator(props.initiator); } + if (props.processName) { await this.setProcessName(props.processName); } await this.openFilter(); } } 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 8cdbebc069..409e6e2b48 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 @@ -23,6 +23,8 @@ import { DropdownPage } from '../../core/pages/material/dropdown.page'; import { DataTableComponentPage } from '../../core/pages/data-table-component.page'; import { PeopleCloudComponentPage } from './people-cloud-component.page'; +export type StatusType = 'All' | 'Created' | 'Assigned' | 'Cancelled' | 'Suspended' | 'Completed'; + export class EditTaskFilterCloudComponentPage { customiseFilter = element(by.id('adf-edit-task-filter-sub-title-id')); @@ -72,7 +74,7 @@ export class EditTaskFilterCloudComponentPage { await browser.driver.sleep(1000); } - async setStatusFilterDropDown(option: string): Promise { + async setStatusFilterDropDown(option: StatusType): Promise { await this.statusDropdown.selectDropdownOption(option); await this.dataTable.waitTillContentLoaded(); }