diff --git a/e2e/pages/adf/process_services/processFiltersPage.js b/e2e/pages/adf/process_services/processFiltersPage.js index 8543979645..b0bcc8d41f 100644 --- a/e2e/pages/adf/process_services/processFiltersPage.js +++ b/e2e/pages/adf/process_services/processFiltersPage.js @@ -29,11 +29,11 @@ var ProcessFiltersPage = function () { var processesPage = element(by.css("div[class='adf-grid'] > div[class='adf-grid-item adf-processes-menu']")); var accordionMenu = element(by.css(".adf-processes-menu adf-accordion")); var buttonWindow = element(by.css("div > button[data-automation-id='btn-start-process'] > div")); - var noContentMessage = element(by.css("p[class='adf-empty-content__title']")); + var noContentMessage = element.all(by.css("p[class='adf-empty-content__title']")).first(); var rows = by.css("adf-process-instance-list div[class='adf-datatable-body'] div[class*='adf-datatable-row']"); var tableBody = element.all(by.css("adf-datatable div[class='adf-datatable-body']")).first(); var contentList = new ContentList(); - var nameColumn = by.css("div[class*='adf-datatable-body'] div[class*='adf-datatable-row'] div[class*='--text'] span"); + var nameColumn = by.css("div[class*='adf-datatable-body'] div[class*='adf-datatable-row'] div[title='Name'] span"); this.startProcess = function () { this.clickCreateProcessButton(); @@ -120,6 +120,22 @@ var ProcessFiltersPage = function () { var filterName = element(by.css("span[data-automation-id='" + name + "_filter']")); return Util.waitUntilElementIsNotVisible(filterName); }; + + this.checkProcessesSortedByNameAsc = function () { + this.getAllRowsNameColumn().then(function (list) { + for (let i = 1 ; i < list.length ; i++) { + expect(JSON.stringify(list[i]) > JSON.stringify(list[i - 1])).toEqual(true); + } + }); + }; + + this.checkProcessesSortedByNameDesc = function () { + this.getAllRowsNameColumn().then(function (list) { + for (let i = 1 ; i < list.length ; i++) { + expect(JSON.stringify(list[i]) < JSON.stringify(list[i - 1])).toEqual(true); + } + }); + }; }; module.exports = ProcessFiltersPage; diff --git a/e2e/process-services/processlist_pagination.e2e.ts b/e2e/process-services/processlist_pagination.e2e.ts index f892c25868..f2ca5bc2e2 100644 --- a/e2e/process-services/processlist_pagination.e2e.ts +++ b/e2e/process-services/processlist_pagination.e2e.ts @@ -24,8 +24,6 @@ import ProcessDetailsPage = require('../pages/adf/process_services/processDetail import TestConfig = require('../test.config'); import resources = require('../util/resources'); -import Util = require('../util/util'); - import AlfrescoApi = require('alfresco-js-api-node'); import { AppsActions } from '../actions/APS/apps.actions'; import { UsersActions } from '../actions/users.actions'; @@ -56,7 +54,6 @@ describe('Process List - Pagination', function () { let app = resources.Files.SIMPLE_APP_WITH_USER_FORM; let nrOfProcesses = 20; let page, totalPages, processNameBase = 'process'; - let processNames = Util.generateSeqeunceFiles(10, nrOfProcesses + 9, processNameBase, ''); beforeAll(async (done) => { let apps = new AppsActions(); @@ -102,7 +99,7 @@ describe('Process List - Pagination', function () { await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password); for (let i = 0; i < nrOfProcesses; i++) { - await apps.startProcess(this.alfrescoJsApi, deployedTestApp); + await apps.startProcess(this.alfrescoJsApi, deployedTestApp, processNameBase + (i < 10 ? `0${i}` : i)); } done(); @@ -370,25 +367,44 @@ describe('Process List - Pagination', function () { paginationPage.checkPreviousPageButtonIsDisabled(); }); - xit('[C261048] Sorting by Name', function () { + it('[C261048] Sorting by Name', function () { processServicesPage.goToProcessServices().goToTaskApp().clickProcessButton(); processFiltersPage.clickRunningFilterButton(); processFiltersPage.checkFilterIsHighlighted(processFilterRunning); processDetailsPage.checkProcessTitleIsDisplayed(); processFiltersPage.waitForTableBody(); + paginationPage.selectItemsPerPage(itemsPerPage.twenty); processDetailsPage.checkProcessTitleIsDisplayed(); processFiltersPage.waitForTableBody(); + processFiltersPage.sortByName(true); processFiltersPage.waitForTableBody(); - processFiltersPage.getAllRowsNameColumn().then(function (list) { - expect(JSON.stringify(list) === JSON.stringify(processNames)).toEqual(true); - }); + processFiltersPage.checkProcessesSortedByNameAsc(); + processFiltersPage.sortByName(false); - processFiltersPage.getAllRowsNameColumn().then(function (list) { - processNames.reverse(); - expect(JSON.stringify(list) === JSON.stringify(processNames)).toEqual(true); - }); + processFiltersPage.waitForTableBody(); + processFiltersPage.checkProcessesSortedByNameDesc(); + }); + + it('[C286260] Sorting chosen should remain when changing \'Items per page\'', function () { + processServicesPage.goToProcessServices().goToTaskApp().clickProcessButton(); + processFiltersPage.clickRunningFilterButton(); + processFiltersPage.checkFilterIsHighlighted(processFilterRunning); + processDetailsPage.checkProcessTitleIsDisplayed(); + processFiltersPage.waitForTableBody(); + + paginationPage.selectItemsPerPage(itemsPerPage.twenty); + processDetailsPage.checkProcessTitleIsDisplayed(); + processFiltersPage.waitForTableBody(); + + processFiltersPage.sortByName(true); + processFiltersPage.waitForTableBody(); + processFiltersPage.checkProcessesSortedByNameAsc(); + + paginationPage.selectItemsPerPage(itemsPerPage.five); + processFiltersPage.waitForTableBody(); + processFiltersPage.checkProcessesSortedByNameAsc(); }); }); });