From c57253ff54a0cc4816b23e5c56cffc8590913cff Mon Sep 17 00:00:00 2001 From: Eugenio Romano Date: Tue, 8 Sep 2020 14:39:22 +0100 Subject: [PATCH] Remove excluded test (#6096) * remove excluded test part1 * remove fit * fix * fix lint * fix * fix * fix * fix * fix lint * fix lint * fixes * update protractor due incompatibility with new node versions * increase timeout pdf when system is busy --- .../directives/edit-folder-directive.e2e.ts | 4 + .../document-list-pagination.e2e.ts | 72 ++++-- e2e/core/infinite-scrolling.e2e.ts | 3 + e2e/core/pages/content-services.page.ts | 2 +- e2e/core/pagination-empty-current-page.e2e.ts | 2 +- .../viewer-custom-toolbar-info-drawer.e2e.ts | 1 - .../pages/task-details.page.ts | 8 +- e2e/process-services/people-component.e2e.ts | 2 + .../process-list-component.e2e.ts | 1 + .../start-task-custom-app.e2e.ts | 1 + e2e/process-services/task-details-form.e2e.ts | 1 - e2e/protractor.excludes.json | 21 +- .../documents/text/a_cpio_file.cpio | Bin 96256 -> 0 bytes .../people-search-field.component.html | 2 +- .../components/people/people.component.html | 4 +- .../core/pages/data-table-component.page.ts | 15 +- .../src/lib/core/pages/form/form-fields.ts | 5 +- .../src/lib/core/pages/pagination.page.ts | 4 + lib/testing/src/lib/core/pages/viewer.page.ts | 8 +- .../src/lib/core/utils/browser-actions.ts | 9 +- package-lock.json | 214 +++++++++++------- package.json | 2 +- 22 files changed, 238 insertions(+), 143 deletions(-) delete mode 100644 e2e/resources/adf/allFileTypes/documents/text/a_cpio_file.cpio diff --git a/e2e/content-services/directives/edit-folder-directive.e2e.ts b/e2e/content-services/directives/edit-folder-directive.e2e.ts index 76a658e7e3..1e85b29cb0 100644 --- a/e2e/content-services/directives/edit-folder-directive.e2e.ts +++ b/e2e/content-services/directives/edit-folder-directive.e2e.ts @@ -136,6 +136,9 @@ describe('Edit folder directive', () => { await editFolderDialog.checkCreateUpdateBtnIsEnabled(); await editFolderDialog.clickOnCreateUpdateButton(); await editFolderDialog.checkFolderDialogIsDisplayed(); + + await browser.sleep(3000); // The error needs time to come back + await notificationHistoryPage.checkNotifyContains('There\'s already a folder with this name. Try a different name.'); }); @@ -228,6 +231,7 @@ describe('Edit folder directive', () => { describe('Edit Folder - no permission', () => { beforeEach(async () => { + await navigationBarPage.clickLogoutButton(); await loginPage.login(anotherAcsUser.email, anotherAcsUser.password); await BrowserActions.getUrl(browser.baseUrl + '/files/' + editFolder.entry.id); await contentServicesPage.getDocumentList().dataTablePage().waitTillContentLoaded(); diff --git a/e2e/content-services/document-list/document-list-pagination.e2e.ts b/e2e/content-services/document-list/document-list-pagination.e2e.ts index aed3d8b45e..ee52b80641 100644 --- a/e2e/content-services/document-list/document-list-pagination.e2e.ts +++ b/e2e/content-services/document-list/document-list-pagination.e2e.ts @@ -105,7 +105,7 @@ describe('Document List - Pagination', () => { beforeEach(async () => { await contentServicesPage.goToDocumentList(); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); }); it('[C260062] Should use default pagination settings', async () => { @@ -122,7 +122,7 @@ describe('Document List - Pagination', () => { it('[C274713] Should be able to set Items per page to 20', async () => { await contentServicesPage.openFolder(newFolderModel.name); await paginationPage.selectItemsPerPage(itemsPerPage.twenty); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 1-${nrOfFiles} of ${nrOfFiles}`); @@ -134,9 +134,11 @@ describe('Document List - Pagination', () => { await navigationBarPage.clickLogoutButton(); await loginPage.login(acsUser.email, acsUser.password); + await contentServicesPage.goToDocumentList(); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty); + await navigationBarPage.clickLogoutButton(); await loginPage.login(acsUser.email, acsUser.password); }); @@ -144,7 +146,7 @@ describe('Document List - Pagination', () => { it('[C260069] Should be able to set Items per page to 5', async () => { await contentServicesPage.openFolder(newFolderModel.name); await paginationPage.selectItemsPerPage(itemsPerPage.five); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 1-${itemsPerPage.fiveValue * currentPage} of ${nrOfFiles}`); @@ -153,7 +155,7 @@ describe('Document List - Pagination', () => { await expect(ArrayUtil.arrayContainsArray(list, fileNames.slice(0, 5))).toEqual(true); await paginationPage.clickOnNextPage(); currentPage++; - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 6-${itemsPerPage.fiveValue * currentPage} of ${nrOfFiles}`); await expect(await contentServicesPage.numberOfResultsDisplayed()).toBe(itemsPerPage.fiveValue); @@ -161,7 +163,7 @@ describe('Document List - Pagination', () => { await expect(ArrayUtil.arrayContainsArray(list, fileNames.slice(5, 10))).toEqual(true); await paginationPage.clickOnNextPage(); currentPage++; - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 11-${itemsPerPage.fiveValue * currentPage} of ${nrOfFiles}`); await expect(await contentServicesPage.numberOfResultsDisplayed()).toBe(itemsPerPage.fiveValue); @@ -169,7 +171,7 @@ describe('Document List - Pagination', () => { await expect(ArrayUtil.arrayContainsArray(list, fileNames.slice(10, 15))).toEqual(true); await paginationPage.clickOnNextPage(); currentPage++; - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 16-${itemsPerPage.fiveValue * currentPage} of ${nrOfFiles}`); await expect(await contentServicesPage.numberOfResultsDisplayed()).toBe(itemsPerPage.fiveValue); @@ -177,7 +179,7 @@ describe('Document List - Pagination', () => { await expect(ArrayUtil.arrayContainsArray(list, fileNames.slice(15, 20))).toEqual(true); await browser.refresh(); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); await navigationBarPage.clickLogoutButton(); await loginPage.login(acsUser.email, acsUser.password); @@ -187,7 +189,7 @@ describe('Document List - Pagination', () => { currentPage = 1; await contentServicesPage.openFolder(newFolderModel.name); await paginationPage.selectItemsPerPage(itemsPerPage.ten); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 1-${itemsPerPage.tenValue * currentPage} of ${nrOfFiles}`); @@ -196,7 +198,7 @@ describe('Document List - Pagination', () => { await expect(ArrayUtil.arrayContainsArray(list, fileNames.slice(0, 10))).toEqual(true); await paginationPage.clickOnNextPage(); currentPage++; - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 11-${itemsPerPage.tenValue * currentPage} of ${nrOfFiles}`); await expect(await contentServicesPage.numberOfResultsDisplayed()).toBe(itemsPerPage.tenValue); @@ -216,7 +218,7 @@ describe('Document List - Pagination', () => { await contentServicesPage.openFolder(newFolderModel.name); await expect(await contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name); await paginationPage.selectItemsPerPage(itemsPerPage.fifteen); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 1-${itemsPerPage.fifteenValue * currentPage} of ${nrOfFiles}`); @@ -225,7 +227,7 @@ describe('Document List - Pagination', () => { await expect(ArrayUtil.arrayContainsArray(list, fileNames.slice(0, 15))).toEqual(true); currentPage++; await paginationPage.clickOnNextPage(); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 16-${nrOfFiles} of ${nrOfFiles}`); @@ -241,8 +243,9 @@ describe('Document List - Pagination', () => { it('[C91320] Pagination should preserve sorting', async () => { await contentServicesPage.openFolder(newFolderModel.name); await expect(await contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name); + await paginationPage.selectItemsPerPage(itemsPerPage.twenty); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await contentServicesPage.getDocumentList().dataTablePage().checkListIsSorted('ASC', 'Display name')); @@ -250,28 +253,36 @@ describe('Document List - Pagination', () => { await expect(await contentServicesPage.getDocumentList().dataTablePage().checkListIsSorted('DESC', 'Display name')); await paginationPage.selectItemsPerPage(itemsPerPage.five); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); + await expect(await contentServicesPage.getDocumentList().dataTablePage().checkListIsSorted('DESC', 'Display name')); await paginationPage.clickOnNextPage(); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); + await expect(await contentServicesPage.getDocumentList().dataTablePage().checkListIsSorted('DESC', 'Display name')); await paginationPage.selectItemsPerPage(itemsPerPage.ten); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); + await expect(await contentServicesPage.getDocumentList().dataTablePage().checkListIsSorted('DESC', 'Display name')); }); it('[C260107] Should not display pagination bar when a folder is empty', async () => { await paginationPage.selectItemsPerPage(itemsPerPage.five); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); + await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); await contentServicesPage.openFolder(newFolderModel.name); + await expect(await contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); - await contentServicesPage.createAndOpenNewFolder(folderTwoModel.name); - await contentServicesPage.checkPaginationIsNotDisplayed(); + await contentServicesPage.createAndOpenNewFolder(folderTwoModel.name); + + await contentServicesPage.checkPaginationIsNotDisplayed(); await contentServicesPage.deleteSubFolderUnderRoot(newFolderModel.name, folderTwoModel.name); + }); it('[C260071] Should be able to change pagination when having 25 files', async () => { @@ -279,7 +290,7 @@ describe('Document List - Pagination', () => { await contentServicesPage.openFolder(folderThreeModel.name); await expect(await contentServicesPage.getActiveBreadcrumb()).toEqual(folderThreeModel.name); await paginationPage.selectItemsPerPage(itemsPerPage.fifteen); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 1-${itemsPerPage.fifteenValue * currentPage} of ${secondSetNumber}`); @@ -289,7 +300,7 @@ describe('Document List - Pagination', () => { currentPage++; await paginationPage.clickOnNextPage(); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 16-${secondSetNumber} of ${secondSetNumber}`); await expect(await contentServicesPage.numberOfResultsDisplayed()).toBe(secondSetNumber - itemsPerPage.fifteenValue); @@ -298,7 +309,7 @@ describe('Document List - Pagination', () => { currentPage = 1; await paginationPage.selectItemsPerPage(itemsPerPage.twenty); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 1-${itemsPerPage.twentyValue * currentPage} of ${secondSetNumber}`); await expect(await contentServicesPage.numberOfResultsDisplayed()).toBe(itemsPerPage.twentyValue); @@ -307,7 +318,7 @@ describe('Document List - Pagination', () => { currentPage++; await paginationPage.clickOnNextPage(); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 21-${secondSetNumber} of ${secondSetNumber}`); await expect(await contentServicesPage.numberOfResultsDisplayed()).toBe(secondSetNumber - itemsPerPage.twentyValue); @@ -317,6 +328,8 @@ describe('Document List - Pagination', () => { it('[C216321] Should be able to modify the supported page size value', async () => { await paginationPage.clickItemsPerPageDropdown(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); + await expect(await paginationPage.getItemsPerPageDropdownOptions()).toEqual(['5', '10', '15', '20']); await LocalStorageUtil.setUserPreference('supportedPageSizes', JSON.stringify([5, 10, 15, 21])); @@ -328,11 +341,18 @@ describe('Document List - Pagination', () => { await contentServicesPage.checkContentIsDisplayed(docxFileModel.name); await uploadDialog.clickOnCloseButton(); await uploadDialog.dialogIsNotDisplayed(); + await paginationPage.clickItemsPerPageDropdown(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); + await expect(await paginationPage.getItemsPerPageDropdownOptions()).toEqual(['5', '10', '15', '21']); await paginationPage.clickItemsPerPageDropdown(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); + await paginationPage.selectItemsPerPage(itemsPerPage.twentyOne); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); + await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twentyOne); await browser.refresh(); await expect(await paginationPage.getPaginationRange()).toEqual(`Showing 1-${itemsPerPage.twentyOneValue} of ${numberOfFilesAfterUpload}`); @@ -341,11 +361,15 @@ describe('Document List - Pagination', () => { await LocalStorageUtil.setUserPreference('supportedPageSizes', JSON.stringify([5, 10, 15, 20])); await browser.refresh(); await paginationPage.clickItemsPerPageDropdown(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); + await expect(await paginationPage.getItemsPerPageDropdownOptions()).toEqual(['5', '10', '15', '20']); }); it('[C272767] Should propagate the option chosen regarding displaying items per page to files/folders inside a folder', async () => { await paginationPage.selectItemsPerPage(itemsPerPage.five); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); + await contentServicesPage.openFolder(newFolderModel.name); await expect(await contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); @@ -380,14 +404,16 @@ describe('Document List - Pagination', () => { it('[C260064] Should download only the last selection when changing pages in Single mode', async () => { await paginationPage.selectItemsPerPage(itemsPerPage.five); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); + await contentServicesPage.openFolder(newFolderModel.name); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); - await apiService.getInstance().login(acsUser.email, acsUser.password); await contentServicesPage.createNewFolder(folderTwoModel.name); const nodeIdSubFolderTwo = await contentServicesPage.getAttributeValueForElement(folderTwoModel.name, 'Node id'); await contentServicesPage.openFolder(folderTwoModel.name); + await apiService.getInstance().login(acsUser.email, acsUser.password); for (let i = 0; i < numberOfSubFolders; i++) { await uploadActions.createFolder('subfolder' + (i + 1), nodeIdSubFolderTwo); } diff --git a/e2e/core/infinite-scrolling.e2e.ts b/e2e/core/infinite-scrolling.e2e.ts index 6f37881a5d..6b615919fa 100644 --- a/e2e/core/infinite-scrolling.e2e.ts +++ b/e2e/core/infinite-scrolling.e2e.ts @@ -121,9 +121,12 @@ describe('Enable infinite scrolling', () => { await contentServicesPage.doubleClickRow(folderModel.name); await contentServicesPage.enableInfiniteScrolling(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await contentServicesPage.numberOfResultsDisplayed()).toBe(pageSize); await infinitePaginationPage.clickLoadMoreButton(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); + await expect(await contentServicesPage.numberOfResultsDisplayed()).toBe(nrOfFiles); await infinitePaginationPage.checkLoadMoreButtonIsNotDisplayed(); diff --git a/e2e/core/pages/content-services.page.ts b/e2e/core/pages/content-services.page.ts index f1c99d0c13..329295ddf9 100644 --- a/e2e/core/pages/content-services.page.ts +++ b/e2e/core/pages/content-services.page.ts @@ -345,6 +345,7 @@ export class ContentServicesPage { async doubleClickRow(nodeName): Promise { await this.contentList.doubleClickRow(nodeName); + await this.contentList.dataTablePage().waitTillContentLoaded(); } async selectRow(nodeName): Promise { @@ -394,7 +395,6 @@ export class ContentServicesPage { async openFolder(folderName: string): Promise { await this.doubleClickRow(folderName); - await this.checkDocumentListElementsAreDisplayed(); } async checkContentIsDisplayed(content): Promise { diff --git a/e2e/core/pagination-empty-current-page.e2e.ts b/e2e/core/pagination-empty-current-page.e2e.ts index ec2172afc8..b158ba5059 100644 --- a/e2e/core/pagination-empty-current-page.e2e.ts +++ b/e2e/core/pagination-empty-current-page.e2e.ts @@ -112,7 +112,7 @@ describe('Pagination - returns to previous page when current is empty', () => { await paginationPage.clickOnNextPage(); - await contentServicesPage.checkDocumentListElementsAreDisplayed(); + await contentServicesPage.contentList.dataTablePage().waitTillContentLoaded(); await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); diff --git a/e2e/core/viewer/viewer-custom-toolbar-info-drawer.e2e.ts b/e2e/core/viewer/viewer-custom-toolbar-info-drawer.e2e.ts index 04d508f374..0447343a24 100644 --- a/e2e/core/viewer/viewer-custom-toolbar-info-drawer.e2e.ts +++ b/e2e/core/viewer/viewer-custom-toolbar-info-drawer.e2e.ts @@ -93,7 +93,6 @@ describe('Viewer', () => { }); it('[C362242] Should the Viewer be able to view a previous version of a file', async () => { - await viewerPage.clickCloseButton(); await contentServicesPage.versionManagerContent(txtFileInfo.name); await BrowserActions.click(versionManagePage.showNewVersionButton); await versionManagePage.uploadNewVersionFile(fileModelVersionTwo.location); diff --git a/e2e/process-services/pages/task-details.page.ts b/e2e/process-services/pages/task-details.page.ts index 3bcf76605c..846771f2df 100644 --- a/e2e/process-services/pages/task-details.page.ts +++ b/e2e/process-services/pages/task-details.page.ts @@ -16,7 +16,7 @@ */ import { BrowserActions, BrowserVisibility, DropdownPage, TabsPage } from '@alfresco/adf-testing'; -import { Locator, browser, by, element, Key } from 'protractor'; +import { browser, by, element, Key } from 'protractor'; import { AppSettingsTogglesPage } from './dialog/app-settings-toggles.page'; export class TaskDetailsPage { @@ -45,7 +45,6 @@ export class TaskDetailsPage { involvePeopleButton = element(by.css('div[class*="add-people"]')); addPeopleField = element(by.css('input[data-automation-id="adf-people-search-input"]')); addInvolvedUserButton = element(by.css('button[id="add-people"]')); - emailInvolvedUser: Locator = by.css('[data-automation-id="adf-people-email"]'); taskDetailsInfoDrawer = element(by.tagName('adf-info-drawer')); taskDetailsSection = element(by.css('div[data-automation-id="app-tasks-details"]')); taskDetailsEmptySection = element(by.css('div[data-automation-id="adf-tasks-details--empty"]')); @@ -294,6 +293,7 @@ export class TaskDetailsPage { async checkUserIsSelected(user: string): Promise { const row = this.getRowsUser(user); await BrowserVisibility.waitUntilElementIsVisible(row); + await browser.sleep(2000); } async clickAddInvolvedUserButton(): Promise { @@ -313,9 +313,7 @@ export class TaskDetailsPage { } async getInvolvedUserEmail(user): Promise { - const row = this.getRowsUser(user); - const email = row.element(this.emailInvolvedUser); - return BrowserActions.getText(email); + return BrowserActions.getText(element(by.css(`div[data-automation-id="adf-people-email-${user.replace(' ', '-')}"]`))); } async clickAuditLogButton(): Promise { diff --git a/e2e/process-services/people-component.e2e.ts b/e2e/process-services/people-component.e2e.ts index 27b8861dbb..b63f18e830 100644 --- a/e2e/process-services/people-component.e2e.ts +++ b/e2e/process-services/people-component.e2e.ts @@ -158,6 +158,7 @@ describe('People component', () => { await expect(await taskPage.taskDetails().getInvolvedUserEmail(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName)) .toEqual(assigneeUserModel.email); + await navigationBarPage.clickLogoutButton(); await loginPage.login(assigneeUserModel.email, assigneeUserModel.password); await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickTasksButton(); await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS); @@ -216,6 +217,7 @@ describe('People component', () => { await expect(await taskPage.taskDetails().getInvolvedUserEmail(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName)) .toEqual(assigneeUserModel.email); + await navigationBarPage.clickLogoutButton(); await loginPage.login(assigneeUserModel.email, assigneeUserModel.password); await (await (await navigationBarPage.navigateToProcessServicesPage()).goToTaskApp()).clickTasksButton(); await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS); diff --git a/e2e/process-services/process-list-component.e2e.ts b/e2e/process-services/process-list-component.e2e.ts index 5f12d2b7a1..911110111a 100644 --- a/e2e/process-services/process-list-component.e2e.ts +++ b/e2e/process-services/process-list-component.e2e.ts @@ -186,6 +186,7 @@ describe('Process List Test', () => { await expect(JSON.stringify(processList) === JSON.stringify(sortedProcessListNamesAsc)).toBe(true); await processListDemoPage.selectSorting('desc'); + await processListDemoPage.dataTable.waitTillContentLoaded(); const sortedProcessListNamesDesc = await processListDemoPage.getDisplayedProcessesNames(); await expect(JSON.stringify(processList.reverse()) === JSON.stringify(sortedProcessListNamesDesc)).toBe(true); diff --git a/e2e/process-services/start-task-custom-app.e2e.ts b/e2e/process-services/start-task-custom-app.e2e.ts index 02e6c8fad3..5456666f4f 100644 --- a/e2e/process-services/start-task-custom-app.e2e.ts +++ b/e2e/process-services/start-task-custom-app.e2e.ts @@ -80,6 +80,7 @@ describe('Start Task - Custom App', () => { await taskDetails.clickInvolvePeopleButton(); await taskDetails.typeUser(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName); + await taskDetails.selectUserToInvolve(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName); await taskDetails.checkUserIsSelected(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName); diff --git a/e2e/process-services/task-details-form.e2e.ts b/e2e/process-services/task-details-form.e2e.ts index c5489ae09d..87d57f5e78 100644 --- a/e2e/process-services/task-details-form.e2e.ts +++ b/e2e/process-services/task-details-form.e2e.ts @@ -259,7 +259,6 @@ describe('Task Details - Form', () => { }); it('[C315193] Should be able to complete a standalone task with invisible tab with invalid value for field', async () => { - // ACTIVITI-3746 await tasksListPage.selectRow(newTask.name); await widget.tab().checkTabIsDisplayedByLabel(tab.tabWithFields); await widget.tab().checkTabIsDisplayedByLabel(tab.tabFieldField); diff --git a/e2e/protractor.excludes.json b/e2e/protractor.excludes.json index 7d43e283af..6fe19f4abc 100644 --- a/e2e/protractor.excludes.json +++ b/e2e/protractor.excludes.json @@ -1,8 +1,6 @@ { "C362240": "Include once ADF starts using ACS 7 , https://issues.alfresco.com/jira/browse/ADF-5182", "C362241": "Include once ADF starts using ACS 7, https://issues.alfresco.com/jira/browse/ADF-5182", - "C362242": "Include once ADF starts using ACS 7, https://issues.alfresco.com/jira/browse/ADF-5182", - "C362265": "Include once ADF starts using ACS 7, https://issues.alfresco.com/jira/browse/ADF-5182", "C291980": "Facet not working", "C291981": "Facet not working", "C299200": "Facet not working", @@ -15,21 +13,10 @@ "C279932": "login problem APS not basic", "C279931": "login problem APS not basic", "C279930": "login problem APS not basic", - "C282010": "Select user or Select form issue", - "C263942": "Select user or Select form issue", - "C263947": "Select user or Select form issue", - "C260383": "Select user or Select form issue", - "C260422": "Select user or Select form issue", - "C212922": "Select user or Select form issue", - "C315268": "Select user or Select form issue", - "C246522": "Select user or Select form issue", - "C299040": "Select user or Select form issue", - "C286516": "Select user or Select form issue", - "C261030": "Select user or Select form issue", - "C280013": "Select user or Select form issue", - "C261031": "Select user or Select form issue", - "C280014": "Select user or Select form issue", - "C279990": "Select user or Select form issue", + "C315268": "Attach file issue", + "C246522": "Attach file issue", + "C299040": "Attach file issue", + "C286516": "Attach file issue", "C246534": "Attach file issue", "C279886": "Attach file issue", "C291893": "flaky test" diff --git a/e2e/resources/adf/allFileTypes/documents/text/a_cpio_file.cpio b/e2e/resources/adf/allFileTypes/documents/text/a_cpio_file.cpio deleted file mode 100644 index 07b9a563b8dea681fa842fc1e3ebf261c4ed9ad7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96256 zcmeHQ34Baf7oUhFmf+Kt&z`1;ZIXG*%zG~q%#tCNw1}+)BN-90j4X(~)}m-@X;q>{ zRqfQ0+PA8;Vu=Q+B~(${XWxqNyqS43^CoXHcQ)hKU+|O3ynFAv_uT*e-*eAB=iUQD zN|o1wTciV9^11*1y#EpRmt-;G3a64$}4E=SM!n64D38 zrX(h6bZOeSw2c0`)Rb6lTADU3cu-nOvPd*CFexQYo0t|D+G}KBLR?@dF2ShgfytUA zZD431o7*x|VDrGC+SIg!l;prrvbiB^bfylHN}318Y13j;6LjhNr-6_(EnS-&n~>N= zn;r=TLyFi`ttMR?r^r-iBql}~UePWiF+rOg&?ZBZ30X`j0z)y01Zy6cs7Xujs*AIe zjh9LwD>Q{|mso;{F)SLBh7x2b!32{e)=UC_0!PO*4@@7Z)wfyyQ;b1n5@OkQ2F535 z>ISl(#ZVV*YC_szc&5wfpO}y~FfvY?oSu-L8JRpF1wcI4LU1&(iuwlc3HL>XlLle>yf>ToCIbp?V2S91s;o8^?_Jz=OfK5QM;Vs&s zP!p@~(h}m6HHnZfAsNa_Nj4^hH>PRgwMD)+6+KjwnxN^Q$V!K;Ymzoy1L)PTzl}Bx z3087?i77tn7^O@XlLr4PeNlbRmER+R-ONXDWYQb0hd z32|C|q43lwc=#kBXj5ISnyhcB20GtR^#LiVNrSbS=BApzHet;8Rf0A#E-gL9s_kq6 zmemxLKo_=EQ7Oq_@+lw2j2D&(}7#FQ$roKi7j zrBY5Q8MQ(xBUJhU-ajQHIS%AHGB7b^m^QU@Lj1sV_P60c7zD6WCj4Xw=!Fa&NVbD^ zfa$5k_*6!WhQ}b$!FuSxaBptiM^GWT9HTLXj1V&vPKrs16ca0GN+rfgTrFoLN~o9; zwFB8<6To)2KsRdAGLvHmrlusPWTf#rX@Dj%O$&Ln!($UO(h`PRpcVSd{8V@_BxNL~ zCnO{T+JHm)rt8@~knJESk^d}KlNy%*g9P}`fCHnQavH}MTq`otfQvL~gVVIhaoQwJLSkTOdTNFiI??z*lg5r@mTHVxbrscd z8Cv~xWMT$Gxw_PZlvI!euP30@u`qSTr=%A7zUbh9DF_;3H750KO4lao5}_RSO#nca zyI@{5kw{l)YBXeZV(>&zDvXxkDltLQFnCl9C6*IXb{Iv-NQnd(pRqf5a7wBlJUB)R z4IblDjG$2l57KCMiTz+AH-IZmJ0ydhCkFr>82Zo_F+!heU{n|r8lWf84_%A}s@VeJ zIiJmA>=79fZ?Kw5aYROu!I)Hr8+rtz1bc*#1j{50!F3EIg36j%&A^Dp5~M7}0Ygd+ z6i7<+s*)x(UaMzE{se_ee(*j4-Xs}?93xd~v5F*AKwU zj8v&WUO?!1ln{nQiT(+4;nd6${nIJ^6Nkl_gk)r5C8=ihPqkXCAk|W_3Kn!ED5jL0 zklS0lNg0E#BFLkp@gW+IBGLN4lSh$Q!w!#<3>i$(m{I$b3e9UU=>@|=!KiyelA@}o zS=Dq<^+e%4c%P8!sZ!z*I8dfkE>nt0DVPuF2#ORd2??o^Mi7(?W0gsC)srlt%#tO$ zXO`@886j6O5x5u!T~kcrG)(Vm3Kz>F)RG7S$E9kS!X9PPl42;6GCoA4OcVx396G{- z=IvEIQCPzcWl|EmlnL{jrzn#|YJnhS(zHyej-V;Aik3?Nh7oEpEyW~anN)&dK&6aQ zDRYQ2rNX^mqGf_yO0>+-Ko_i>xB^!x6^u%ZDHzZ)X?cWL4q%17KvF_57|9T7yQ_7^ zxJJYYiNJE5=2nnW316d$5ga^79RBYlO(fp1Lz)a{93h!tMoNIfDbOX9l$+xmSg>=M zFxXG!OrNH=S$t>KQHx*3qqSBLBeYT_VdSI~HjfCkm?R<;ppz(>43{FOfNwrKOrU}@HmC4m=SXZeqDgw8slj26TlK=`W zY7fPXPjL!~V38RAUrMkjyn#rt1SZrM&{M&LLJRxWlWeL^1!^Bb}%z#!K@@9?GK%_WM1sfDxGnHC=$G*oQdPQriAiXLv z2`*L1WMT!lVu9<31ei4f%=wH|rNU)uMk$jxMz8EPe~G4AqN#d7Qd6-z|M!5Mg>+5Fd15sE7Fz|SE`<_9imaRHVM)w0Txvi2@Hxe7;HkRa2f~|Tujtb zT#jQh3Je15wi5a#6jMT@C0eRyv{V(Ykg3(+riW4BSwhMc5?D-;N^rWyrQozDqh**~ ziz=)i^+YL!g=5hLzts2?$QFf0k$4?(@CXl^w{{x}i8t)fsFX4E1-pYUOry{b7BmV3 z$?p{_k~Hd`T&a-SF>MsBO@cH^Qc9_Wk&$9pN5KM0tpvRk18;m~gq$EFNE*W!i92~N82L#FxIy8JT1rUm`ae;$K?Q=HR{F@h388ovM1(SiaFJEMihnP7JJ*3cm&DKJ=o+$_`%8Ioy? zmT;yqHoalESbWF6N3X765W>s`{gG@ni}S@sYO0;KVmKE?C=ujogZ`yQoe}(Lh7g;K zREYHA1_XSU7Q)5_5Rms*QhzS{0xG|H!tg&LWXd9r%3OuPppODel9@ zB2kq?kt%ug@N>7b{YTC1TK9nT#H!}MT{yb2dEdp0R~`L{>@_dszaiiBzH{e%*&4Op zX&l}3@Rx)7Ya`mNtGc05vkHDhyH1}RId^CLfPqs#SN3VtZ}zXlyZ5+q`^J-t*Z#e2J!v>(45%}4g05<1{f}{F4{hqSYaIN#S5CK{@aMV4zOCtJc>&X> zPp|#%+G^F@k^F3Pnb6=Jf-3@ zc=h!!qPusmvTFJAvlssOV|&4YgYh%4?5MR*)~_7AlFu#E-}U1X!#-B*mMzqmobx8G0DRTwroZO7j^)4mi<^lka~ z=5|BsHuUi;H|nUa-sXa)?MhXx{Pf3yP1TN_oum_wIyqSvFsn(^rhm^3DfoV9_kg++ zeUDZcwdvH1XA z{CL#Eh82TaY`e!Ck<%YtkNbAk^S`@mTGb!jlgRop%Xgw~ca2UXTTTPaOl*7L+LDF! zyQjZ=_T%X2Zk;*}iOPm#kPZ z=;FCegD3p{`|thsP4?fjG2v9H9Xq$JT6HTGfH`j4l;9`g1$){y?nTT$y7N-R@zMRi zdvYu6X7f8FA5Y5LsVsjWd2NHN zzrH$gqgJA(M_9eP6Lg}g$0~*%Tobdc^3?_Xau@w+1Z@Dz={ z`RSoG10U5{t-1ZQ+&G=0!R$kc4>x@>LiWu!-we3=XklHEUl7F~FGqikn;o?*|JtK9 zaqw{1j}M-ls=p;KIW2X|-4!oh`X4M?wQ_D7pYLiHK5Hx*KH=ID(Ix+dvr3KYzV-g7 z^gZLtgw-!23aJy*yZ83o&eKYXQrq?Hd3JDvte82aMSo`XX#V(z@nOB{i0)T8^jD>V z+q1tEjmw(dw!wvEPir*v5ivpaW_`Q1=CO-S%8ULtqOsH{QUTT0ogLy10TPu^9HR*Uap?-O0Pbwmf5%{8K$S05R&*GE*J$jX4^b^XeTM)@t<|5&P~%XNy5 z&YS+1&+*%P&z{~j_I39*ooTIBJNojyr%6pGZko1!>#nR7>7Vo&99`?+FF`#D&zz|4 zTei~hq{zraHy@sxx;*;t1|2K*UHi`=<>X446KeLlo4H}kEAioPJAeG~^KLKySw7-* zLc0(12dCsDe4iAs`kxk$UgSoPnAfL8uV-m<#^#LKoOA!~`tZJUAD_tG+4otM#$(r9 zcp_g~zuSm~V-B>rwP?Zp`dweej>tVQcTE5PUD{Kl>DVvse;fU(|BD8#Z!DYJXK{YZ zCI7_F-4)$xwl5!kJa(z?+&)Y5*K~XJ;Ben1{{+0aFtKyPd;NFJ z`>5seQB!|f+HT638e0+ze6CJuQg_YM@%<+*R=gg%`s5eSb2>ft@6t=WD*dyQ(7Z>7 zFZR=}{pYK>V@`|jy!hsR-|nx}S9dLX*y!bx;rnyuyxzQe|9UC&JZHh&3yU9aYqx9J z)1CKon!fx*Ts6J#lGp3+cRP^NtX1TVxTRg@bZatZ(8W<*M@%`{V(zOBL%zD-s{8Yb z`_Df=+jnco%9rhKtbK1+r!kXHUTm7ZJbhmO&A0De-Wi*^_T-B>uR7i6z5m-euQ!~0 z@m`h2^`gVR&#%`l^y0Y%V}>p|8PRTK5*79&GHUh7&n~Z>wtrf~X}g;I{obrIvg~PX z-ka6r)uM|}K3qDh*}Nw6nsqz#pxV+8o7S4scX|5U{+s&G82sS(W8ZErsI$N9eq!3# zX5YM<+f>%{o7;2BESTR|)@*a*%}qBq8+!f8o#^LTmosNi?Vodb*EHGwdi(pdn9^?j z#piSOchW43d~crauiS6z$5q_D-=}-ykujPwYyLNM%ifKO^O`cN51;?5!szKMCw5%Z z|J9YIH+ptY$o+X*@4HPOC3HVDxcB~EzQYeoCzs8qyY-lG;`NpC`NQiCn{fln-#u^Z zua7?+JgR-~2^%N(jGvJw{k>NHxEf7PuIUt_oAJ;4gP%Um_RBASXIOUsH8&eSY4Yk) zXl|YS`2)68e%vDe?0}z-#n-)8ui(lr8OOH8#P2u~y6)z|Q@xih{5y0@#?wP1UVoTX zI(b;~>I_TSbQEe}#r*1uQXi!%94r@p6Ka{v? zc0op?upN&Z2JJc#HM!BR72a8T|7z4X`#LUe6#dT1SKE$8ZvG`Q=ZtDqe%TgHs-%9o z^V}~Ip~}y(RaQ7QCZ`HORN4_`TX(i7wwiF=o%ee zXYjBJhwFFg+4EV2{Hy!IMIlFP&V28e_kS3ZeIa%I-n!pS`EqTpu5!byTNQ@Qn%=Qz zVdbh_3*)-~{GxZ_;R?gXeOe)C+urln`giH}v#%raQgIV-@$_hZKf#d z?qh5NcJ}*IHy%xS5mj-oPvejBp1oL3h&L5v^&T@g|K+R6U)?Vg3gup)d(fN9He9in z$*WdXbUkqMrK92ty{~k8)NRXq>t>z1yyNppX&c3#Zzz+#`QWkYm(TVO?{zf3;;TgY zcj8(bCrwH&EF73K?p~u_rEgS^yr7vbKHu)zmSlPSui{EEh25$ZTt2mW#MqT{Bc|*h zCOUrpOuO#AVg~o3drZmbB??>g&(?JlH}u;xez*A1#oOIhQd{O;J956l{m*6}=-umV z(#o9kdt!6uCw2(koO-TXn{BrnOv}y+-Z1yj=0}qX>RstDdw!%C=Gl~He#F7G1a$mM;2V*=vh@$5C{Zx}xnBrYuPk zi3&xmYAqV4gO8vxwq`%39zBs4+M1knTPT{?wsfwt4K33AXVZh@|Eb*ipz2mwIslMl>|U`oqL7-|a0NSbN;(Q%`1I zuao3k74H;UB^zX*_+eT0lw<2GeiD?oqpMP)FS=|JD-^)f+rJJYnyto*&m4 z>{~S=wB?_VGdKDlI44qle(S)~owGJ;Ue{wskN-YlL4x`=qEic4-1M6C&h-5=rysa7 zdfN2qSEiLed~xN*J=G@#))h@Wm9!UI)S%kb>@SbZZdB`PO1DZwOI@B<5t??l(y|Rb zE3s|5u#jyMEA)V^dz&am_TCdC8#R4=Ze)vJ(x$4$*Dd2y zHR?(EHm_R-HJe}lokn%OX3_>o5>9?EKAYbld-{(tkVRYg^ZbsI)ISgQyLx!8yiJF& zsL=M$>Q!mI@Qbwv&ZRf1^W^9cFJ*&HujsmG&#ki?f*OZ}wCeXd`Qo)jlYQ=gIx774 zzxGeOvh$O${PXHE*_ih5oLfm<8EK`@+x&TRy{ufg->Y5gdM!Klb@<4kk4MkVleAuV zV)o2UL+XE0Zg$Xz$u0hD8-OhkX9q){L9u zop+gbKOWJHu|jiTRp_B=GL z)p=-@^f~qR1mhuSY^niPR)-)+Rpvd5R3X-<(Xq##QKob3ERP~#A6T2+VBg$)Qkiv8 zM)L_6S_Ga5?EP?sm7G;pa#or7z&0==7JpWmjFHh84c_sT0?xT1{ce36`O0`s? zV%?GKZufv8(O|Zug|>T)JFXbm7!mB(3QA28j7l!1X(bNzky2s>9w8U2Y$bK!f2BfNxn2Vir+bd06NIdrDeE8&PjhKV)5+c*hIc;o4=`Ck#@Ek zz>P7OmNFC^;6_L=oZ|L5WMr_E#tA7!gL{P(#{@bGIw+Ww!ihHwBV%X^r(ra)TO=|p z7<}O{68z9Gf}|LJFB*1J4BI&1RPNXYC0dIGx8LC4IyC^77RzAM9QMp3AXrWco*yJb zE1;op%tQoo46-mzO6W`5mpwk%4d*y|jJ^~KDW+1(Wnw~(f%`cnlZxeVe3F10KCk* z^}^n0Mi)1GM;M~DL6DHtFp;Vx;3ol*aeDnu0!MGj@Kh)!*=>M3E@075oS=Ub+w-gau220^q3Z z6gciZK0K&vG@SJm)T(8LF!N#OX#tQUIW64sB8HTtc!TqqP8%D--gFQGc3Fu;ijyH7 zKU76@2sGpg9iEoJ%QuYBX9JOAAw4>F=n@Mzb7;iek@V(VarSd@iMcx=OgXqO^lxID z&ZT5O$MNe^OgmJOTs}w?7i%h>y@!IAO{Fq7UZu3mRLr}0ncz*V4XT4CIX(k!py0hq zP-1}r+Tl8|inHE*#pS{nh6(BMktTg0yg`2=Z4`I02Ja<2kr{1k006EndQ-kO)s)4Q z98T^JF+L0oFn$Q-uoVc{(t_~0@1e>msp%>>>^?dn2^z^-^5H-+43o0w{18%^IjKHN zB!GZTWA$}6!!0%8fl{jn9nAO1ga=|IO~UC<3@s%mTFYVA5Y5o;6rhqgiAIykExPm4*J&mo2;ZK-JF8W(p z#M~x_I3ccO*!#Vd;5sSqWl?BMOv^A%*rA4-TzGkm1&4*$cxPCMxiCX5!ob>Uv@sf5 z0EfIInQV;0GG|9?FbA7Zll8ZQ@v@cx{WUG&U<8F5LjnWf)*@{@;3UEX^6VBY1*8yy&8A!sh6?f1eB6K;Pi*S%0%Bl37X3&@u7x|E-;C`>G#vsg7_ z#8|q8E!Z36xII{6t5~Z{XfGJ3WiM$lzkx=1fiY9D zZ_w9V9G5V_cvq776$~gVHXBhSTd^-OR7CJCGK{wUmZJHJzD8hdoB057i1NBhpg`kW zZIXomy=C+lry;&woD3I_nOU%S9)zddP!Xu8x#bSOA5jJ@8=GoiG01>}SjOfJS~G)U zywZiUnY-2&C&QbIurhqdo(aj``eI;ZM;nd@a{O$#VJN`Fe})Tlv@nk~h>VJij+94# z*x5wg@Ln4;ht+(gNrX#K#O$f)V*M31<^jgejy$;(Noo>_h0M9?fuxf_6@=S?*o&%) zE7f=lm{kU$vfYX(oYyviqJ?T83=K1^5ieHZy;`_T)7y(1)gc_VxcM=RyDNvi+QvD+ z5rF}Qo8&rc2f!TeC|)s6H+3#M?l^)4y3X7oj#i)Gb&WvLrhc)&yl@YiD*>oLxh{$K zYT+_XZ!Z=VmLM=8gM*55s33VX1f;}`^Ux9+;;HzK0*>VMx*Gw9a7h#I)vf@J!uthNQf%aUUvB?jPd4+7(n-g203f4l2%}0;~##r9C*< z=mKD>Dxo1^OM{~{#9zI-4{#{AmADOX9JWkgvqYeCfCGD#D>MYtrYkfg^D+%lysmK{ zDp0QP;l27Tqam6{L(s`3G~^x{qItdUKER>epTT>zD}eI=4Kc3K5KNn{&=Boq8e(`| z<33cNTx!O9wJWHwoQq5o6bBXOCMP)X%2FKymAQn6+`~f{-?HpJ$f4Xb;Wo%|=rY00 z5`#`c4(vOwC`2%Gy23<&c&;(X7EXcAGn-}{)sr#4saT+FlZnPL0};wiGj0QhB@Q@w zx@f0{d-p842xgoTE^-qWdCF3aa&e8@Am<4#a@AA~)2B;hgnP<> zjdD!A+c4(=Ho{#rU}G*?umSU&#nn3&Y}`{8Y?K=*+=dK6HUcN+h@s%+?cCM|?rn1( z?kPhriEu8y+j@rU1P$$+nA008~#l+FYMNydIOayiT%{z>U)#piBpg`lcqD{YV5T$lV z2E_hqS=WC~m?r5OC=u#{bZ82&G9(cF{fIJfC?wEfe-K_JT=EYyO<5ddggr8l<->Q#fO*hF z&m|!{LLocog5~wOz-V^H1;|n0@z)Bj01thUjVvKyeH}TwmCj}q4RUr5t>cj2?-6C) zQGD<#;R-&A>Xk5gaG-H+>fpO)08y1tQ?X`0WaxRsJHt`v@hjm9^f;86W<*OYItM*r zHw|O~3wvoGXZMhk2J-to;-ldxKKPYz1s|4hFkyrPjdS?mJ8P6g7^bB1&LuK0R2-d^ zJ>sk3DD?Q1a0PlC%1p4c#G-T16L#7_9^1k`8_3x`*s+@n2Vd{eZS z?BQ0ma0PuF&`ij)grk$_bJZd)?7@Q05Z<SFdg~jPsB~goRvpr#a zleD)eieHPjjiOw%jN1rcM5ick+r~W;!00eVz17xnHWtHzqCjyj(W2a>Me$A3-l8ae zE#5YYa?wI=BdigfqP%S*_e@x$!xZ&aTglk~4GW4YiEwnE7R5JFdyAs@wRqbo%0)}L zjbKM~it@It+%v(B4pY=yZ7nZ}d$hczLx4w|_cHKI+@quLv#P~g#!)sxARXZtp>QhX z{GJMdM6UqfQY`?$H{!v|uZ1fhu{2Pctd?9Lo^uvUPsO~UchXy7R7Yd^K0P>NGvg7019f1B+_N} zyckK;SV$h(qlOTgP+klwkOL@D+J+dE;c@^a(nZhQ3bZ7EQm2EfXoYWb|Mq1yG_4QCI20b^s;H+dUaTiT-{>88{O_iL64nQ3*y2phT7r-(#dCfYP2J z5nZrv1Mv9E3yV3(;;K-S@@P|Q02*-M5=LYR3G4O9*@Xirk+XZqSp@n0e0AErN+-WguP2fq@o;KLFQCX8^PaSk7R50R1pO1DuH-!;Qa(BoIa73gs& zGr`Uhi_Sq$*gXV!YzqfaB4_uIa|rVL`Cb`b!Uw++uHeHG4knCnpm7c#e9w@Q07|z} z6W=AnOVHz2!WHOoC^Ny%5{u43PuML4d29;@P$FmdkW&cq`}y7&Ucv{z60YFG5)LMe zaG-GxA0+{luqNg<1Oxz5WQ!0Pdsd-~0%e=5JQh_DhDVWFAX^ixY9U;_sUmOM+=K}S zP$J7%IDis4yQcyu(JR2WLVF7%{93qz5l=7_-yB{NK04u8H$TA*x`?qX2|;Tfz*Ezr@&uZ3{& zri#3ACCWw1xQzfx2l~h}&Uok*;M=9W1rmNOTmgwEv?#uLyd;3qeOeUXH0>?)@oV7< z`Z$Av$--a>M<=ZeE?UTK1W=+ggtu+v9u1&GpU2*6D|tx(rG*M3KqE!;7j*dZP1FKq zo0J!eDhP8(ky@amk6#Pn;!PEK<64x9mU0^bln(Tfx3ws~o!VO<;n%_ykXTMzrn!up z+?<=oN&+Yy4WLBEzg6g>m*8hr3s>OBA~)av z4Z7X}3BMNZ9m%KxlnR9uQ>o=LF(JofVv>?c#d4BSh$%u%$dwFE!3DR0)&Z0#WW~RH z6apww;9+9;;=*dtcFfs0PlUE124&b>5D4Bt$&FdV@PwK~5K1W~k;=pjsU*duie$u$ zR30IwBWQ}m6&Rt$r%F4d{)w7A-dF*SZ!LG{+Ir`q~y4SP{l_bqf`l+ z_*6}j9(ESL_Z^myKF~}r+BBmO!Ys0Wl&DG82C!d5Bx;l3I_dDhBDqZE>J!^473ybE zZkK@?omIK!D;PneOo$5)WUH!A*Vpn9H{n5fDM|5hv7w5TjO4hqfPq>zLNq*(kOaf_ z=CFjg^nu(j!@~m^{kNInftZy26vCAf7Ghl~(-Z3ld?}={L_(=4f>FuEG_AzNq+Cjg z6?lYPtd`@1ieMCSiCS5tDX96lde~~GjG-+Wib*hi3!$kvX=*F(zP6%qyH&SATaofP z-BygCq^uO6V=01_hkH5}X-=}nC@MWU-B=u_xyE8rnapjiMdC++)*|Jz*IL{X#fD!1 z!-Q1IH5JE6(mhRe^x&eRG~{>*_L?uuR)lE?<22!&#)E^C)nInC@jPu_kg91tQ5mTk zlW+t^Vy3>Ax@k;1T6b`Vcd_-n*epj{5Bd-EILl}l!OFo6jOJ+TVO!S4*7LTu9BDnJ zZ?jih58Kc#ww~u^dSURh+uE+S-)ZtAO?o=%E%Iac%v^21)AT1Z(VrCe68W?Ccvsu+Gyzfu zl>o-SOs@oZ0spKO)5Z2f5%%;x8>$bZ?{#+ilX+|W!&!$ex8FYh39J2>M9=#A<(#|L z=|=uXS%(@ABC^qZ2THKl`@&j3Mw%A0j0AJ5>W5r+o1O1K3HDlV1N)d%-{oxQ)0CT5 zw~ltc&AAV``A$!Ln2h0+KT7J}MIUnIZBBg-l;CXd(-uSDOU<`A^C36i>4^`Qm}Wk& z^}cP@AG!U`tNvi-;owix?p^hx*WPvZgVlqx1AsIk08Am?l7Q<32q0 zB@VEy{-eXlY4snYOeBb5q_-sCIt{`a!dVP3CgUH56JC;l?Ii#*2Ap34;1UZ1ptpFy z_96gX0`{3ucoBf(5^g5I2$_3{5M^Vh_*H-dCD06L7EUJKwd^Lmh>yfhEk-V8vOfb&d9o7RJ%6njYmw$}p4 z5^!NHz?jy9IOxJ&(gj^-LjL_pf;+;(YXJf?EeCOoaY6tQaq-q}hO7e~f(Nj97lbXN zuioDeC7YGnlMp&glc`HdNKOx6ee(!2t&#i=HTwD4PG6kM7h6T{#g=ZC!p%oro-qvQhOMaovJcrlC#X26F8qzuMH1_vz`B!PjTr3?uU zKUOxsjA5SYEx7-m|{ zqa_CiAcCf(FoYNe_5>gVfE~>GX;9c1zyatvDmxqkqBvIo=cErM6bnep{eChSqZmv= zk`yI_rGu%p!qAkE6bPRc4yCsvp(jV+UD$`mf-xyYKpX}*B1k|E?2Et~lf-2N4)v3e z7)6-t_@>4Kdt0ZAJz{4(P~cWiSp0!S5H#J&8%3~77}M^(Ouv3DzDL-er(_IFQ^x-d z?8!IEzwQ^J5JobTN$C{#ciH=*m}9f}vKh3_nM25cw2d4#%5 z8FmHfbX7%-f^~M@lGOnwFkC6igHr zikKk6Fj^m~%BtF!gyFe;2&cDnlmT)kVSs?m16Ga_#(nrimxrxs-H{TCmng5nC=zA# zlek`@7(a+mSfZAWH((|4vP5moV8{ZsGl9WUo7-cgQ1E8qoyt${A_XG1hduLKP{(nk zgkm9P;eiRJL%Rwfj+-P1)&TqIVKbXs%3%_I`EN>wHtjjcGPGyU;W=*+crb+#5TQ;n zGK`|_&EPnYpwXm*5eNe1rH8EcGKb(!pRHmf)C#prEQ2 z^?Xwu<1&5PSrlRBeKeHOZt0BerO|Fn)kH?BJyjF4bT@VosbJGJAr)!pTc+m=RCq43 zR3BjTpC%|Av;qlE;NH-eTxMQ-x~J6S@x}1nU4*4$j+3!U{-%bj%iy%L46=*_VkiXd zkuvGmRuT~wphct&ppn4A5Gj$7QjBMIe^bI_uN!i4Vz*<`wxly!77Qw~jG_$s9b;a7 z2#N~44!B91mclloz2s({04=$>-y~G9g$^(Cf)a0YZvmNep@d>JER3gPBPj8>IUXLi zZS60Mc?~_wqm*0LU^1NNG9@e$3ujxa^lwTewk8u~k=U6`U=JA!#xe6>gVt;1S}rUd!$zKd z4UGgaOV@4KZ!wZAYnH&?{P456*MKZpdwUJIj1dy8mA9g>Xkm|^+t`y}2tZ|bCrq0S zIBi(F6zdk~_3|8#_xuoHm;wtQb#NnilT(R_WiANMI=^tRW)H#NJ{M{LOK2?J)m^H?pQ!E8lZr z0ZB2_V$dpX-)?#&cv^ab!$yQ*83>Uf1S7T3N8eOu*t8)bcZOXX5(A!y=B@y@J$+|b zI{*s`mjJInqYVki_=hOiO%L`TyEY{7$EBbLNE)`8;jhHtVF;Eboc$KOh1lpdhH>Af z2C`Ib+D9EJp;&d37nTAJEjBFV!g98VX+#<%aN=?>Av6CK9*}Pg^tRTh$ilU^G=g&u z1?D^J`CVAH64TxhK$tga38sf*hr#ohB2E7Uhu51DtvS^`%VsXn0CgX8c#lMSs^SWPCFnWIUzkEB{{9-fgz>J4=VNjC)a(i`}&APqM+i4-z2OW!X@Z1j8CC7`VeiYTlze24Fki|c;t*Wy~lmq$M-M-D`~29pdBf@)7*amIRoG7*4lmJkd-b0eN96SM%-$PX-)med;_k7_tCkP` zvsTjB#8}DHXCHiAQ9brEZ2aMOKYRJ3Ja(OC)!5B(wTBcWFZo8wh<_V%_UEh1FYdTF zWM=h_9dqxV&mYTeWJ{n2P0O)ef!by0Y?- z@inpj9cs+nK5y3QylopdZv1QU;>C-GUyte2=R)KF;_|}YCwre7cCAOn(xra=vSItO ztMaxzeE9Ir@Eh5E`d|w*Wq#;W;j>{=t1=6|8#eVsiw1)({Zg@6*~&Y7dyo$+_d8LQ zeptD5<>`|z_%yFIqRpj%<*Qa5{cGs91!47aPfwdxVc*S17ruPn_D(P5B{pTJ5BA*O zn3p?a#*FU!FNU5OJ$kfyB>9yZDg{K#g$*sx>v7)OIOP7$jQk+ zvuSYt%X8<>ePv8=uwj?07j}$HsZyoN>$|%LU%wvJCU{$F4{}4=iG$ko)+-iX(5P>p zS%2l|*$weQbw=&jev-(h`$+n>8@}_uOxm=S5liCxcWY9r95Lv{UMIZm zyqKtI^(5_=w%4}P-Z<9g@0#=1<+ckC>Kf3sN1r}@ns16&(cy5jt_?r=sM)L?fseN4 z^?JUh>FLI^b_6~8ByY<7tPeViJKw&4riuSM%TvBT7CAa3_gQ4U7ZJ&Q=bTjD>9f4k z@^xX=2b@^fLiNv`N{zyO0`HE0vb5~dvVj$2YWx%7FY+(7-|u<1d}IF=;?%xh$YtvGt>Hwf_{5`HM3^(TBW93&}?1wU~=!^ z^I=18otd<7;li=4p5~u8fo+V>T{x!vg1+L19}KDPzhlCCLqkVoHr)30;1P6lAF}bI zxqm#qF~wKkX(p_cu3W8=?&*&04=YO|!bU%6{qe`=GMYU)Hef@{U$sNV1xZpaY#&A? z|1mt|_vyc0O+DYfW5@7;>mQ$PQD^2SJ)R`r{C%~u{a3-^M-wMEyzt|-W7#7$`zHJ6 zJUahz&b0x3DqP=|He|>>ai;%QvztHtZNZ^KhgwyC_uYpFRt&3_H{rpx+`H{AFQ7C_ zCoQ@A`xjFO|NSKPNadR!_S{%byuDw&hr!jp?(+AZGrPjZp8T?|=A&1;rufws&8}X) zjwnDUs!EGmUt&Lu+wEidLG+2Q;TyvTQK@p4A4H`q8@@4q@TK8}FO8;f*~;!~U$sxJJ)qmrp^uOM_1l8n(|LJul1i;h zP5kZf+-7Tk?j5{j!-i9SlN6JC?k!wb_~gZmlP5cW5EOK6=BXRKf6<9He0@H7?5^*> zkIVZM^RGK)-;i(q<1=9WXP`SgEBZp$wPglf8U?Rt7?Vc;jR;OJCSEEZRJ zmA9+S_+`_NL*9f_*)t}$i;2npPo=W2iR#aX?HHT5Oqo-4)9%7ywSxYdKjXlankTZ4 zF3~*DT|bznmZsCE~C`>4VDF7KcIqUL{2m1(}1#z`R!{HAxqNZHzb_;;nkcubJ{=u_`frso-4dnkaM?Di#n?C^z>yP?0GQq zByRTxk&NK$TR^$#>Bf4H)F@_g5a6Rloj;BR{Us_WyPtE6~YNam(Hr z^KkaBo%>dm1?VL2Tv_&d-rsp=e6V=-*Hf|A>mNV+V7IEw6~9JJ|J!EV z)C#};r$e-4rs$oy?4y2l_OOpsV;6Vcu;lCC4AU3)e}i#jMb!_zw_DZv{yO%%$cQM_ m8b!bH2ZnGdVE#3Jtf>DP-B}*lA)@p9@4s(OQS!+f68Jx$m|8jj diff --git a/lib/process-services/src/lib/people/components/people-search-field/people-search-field.component.html b/lib/process-services/src/lib/people/components/people-search-field/people-search-field.component.html index fcdd0c4b06..fe587c6a3f 100644 --- a/lib/process-services/src/lib/people/components/people-search-field/people-search-field.component.html +++ b/lib/process-services/src/lib/people/components/people-search-field/people-search-field.component.html @@ -24,7 +24,7 @@ -
{{ getDisplayUser(entry.row.obj.firstName, entry.row.obj.lastName, ' ') }}
+
{{ getDisplayUser(entry.row.obj.firstName, entry.row.obj.lastName, ' ') }}
diff --git a/lib/process-services/src/lib/people/components/people/people.component.html b/lib/process-services/src/lib/people/components/people/people.component.html index ea99617edb..6664471e00 100644 --- a/lib/process-services/src/lib/people/components/people/people.component.html +++ b/lib/process-services/src/lib/people/components/people/people.component.html @@ -41,8 +41,8 @@ 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 708c20d70e..9c49d0b927 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 @@ -288,18 +288,25 @@ export class DataTableComponentPage { async waitTillContentLoaded(): Promise { await browser.sleep(500); - Logger.log('wait datatable loading'); if (element(by.tagName('mat-spinner')).isPresent()) { + Logger.log('wait datatable loading spinner disappear'); await BrowserVisibility.waitUntilElementIsNotPresent(element(by.tagName('mat-spinner'))); } else { try { - await BrowserVisibility.waitUntilElementIsPresent(element(by.tagName('mat-spinner')), 500); + Logger.log('wait datatable loading spinner is present'); + await BrowserVisibility.waitUntilElementIsPresent(element(by.tagName('mat-spinner'))); } catch (error) { } } - await BrowserVisibility.waitUntilElementIsVisible(this.contents.first()); + try { + Logger.log('wait first element is present'); + await BrowserVisibility.waitUntilElementIsVisible(this.contents.first(), 1000); + } catch (error) { + Logger.log('Possible empty page'); + } + } async checkColumnIsDisplayed(column: string): Promise { @@ -423,7 +430,7 @@ export class DataTableComponentPage { } async waitForEmptyState(): Promise { - await BrowserVisibility.waitUntilElementIsPresent(this.tableBody.element(this.emptyList)); + await BrowserVisibility.waitUntilElementIsPresent(this.emptyList); } async getEmptyStateTitle(): Promise { diff --git a/lib/testing/src/lib/core/pages/form/form-fields.ts b/lib/testing/src/lib/core/pages/form/form-fields.ts index a07e2dcb32..5be51e02ca 100644 --- a/lib/testing/src/lib/core/pages/form/form-fields.ts +++ b/lib/testing/src/lib/core/pages/form/form-fields.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { Locator, by, element, ElementFinder } from 'protractor'; +import { browser, Locator, by, element, ElementFinder } from 'protractor'; import { BrowserVisibility, BrowserActions } from '../../utils/public-api'; import { DropdownPage } from '../material/dropdown.page'; @@ -67,7 +67,7 @@ export class FormFields { const valueWidget = await (await this.getWidget(fieldId)).element(valueLocatorParam || this.valueLocator); await BrowserVisibility.waitUntilElementIsVisible(valueWidget); - return valueWidget.getAttribute('value'); + return BrowserActions.getInputValue(valueWidget); } async getFieldLabel(fieldId: string, labelLocatorParam?: any) { @@ -98,6 +98,7 @@ export class FormFields { async refreshForm(): Promise { await BrowserActions.click(this.refreshButton); + await browser.sleep(500); } async saveForm(): Promise { diff --git a/lib/testing/src/lib/core/pages/pagination.page.ts b/lib/testing/src/lib/core/pages/pagination.page.ts index 4019bd79a1..5dbedcaf4e 100644 --- a/lib/testing/src/lib/core/pages/pagination.page.ts +++ b/lib/testing/src/lib/core/pages/pagination.page.ts @@ -18,6 +18,7 @@ import { Locator, by, element } from 'protractor'; import { BrowserVisibility } from '../utils/browser-visibility'; import { BrowserActions } from '../utils/browser-actions'; +import { Logger } from '../utils/logger'; export class PaginationPage { @@ -45,6 +46,7 @@ export class PaginationPage { await BrowserVisibility.waitUntilElementIsPresent(itemsPerPage); await BrowserActions.click(itemsPerPage); await BrowserVisibility.waitUntilElementIsNotVisible(this.pageSelectorDropDown); + Logger.log('Select page size ', numberOfItem); } async checkPageSelectorIsNotDisplayed(): Promise { @@ -81,10 +83,12 @@ export class PaginationPage { async clickOnNextPage(): Promise { return BrowserActions.click(this.nextPageButton); + Logger.log('Next page'); } async clickOnPageDropdown(): Promise { await BrowserActions.click(this.pageDropDown); + Logger.log('Click page dropdown'); } async clickOnPageDropdownOption(numberOfItemPerPage: string): Promise { diff --git a/lib/testing/src/lib/core/pages/viewer.page.ts b/lib/testing/src/lib/core/pages/viewer.page.ts index 105d1c0d4d..d20dcfdeb9 100644 --- a/lib/testing/src/lib/core/pages/viewer.page.ts +++ b/lib/testing/src/lib/core/pages/viewer.page.ts @@ -113,7 +113,7 @@ export class ViewerPage { } async clearPageNumber(): Promise { - await BrowserActions.clearSendKeys(this.pageSelectorInput, protractor.Key.ENTER); + await BrowserActions.clearSendKeys(this.pageSelectorInput); } async getZoom(): Promise { @@ -143,7 +143,7 @@ export class ViewerPage { } async checkFileIsLoaded(fileName?: string): Promise { - await BrowserVisibility.waitUntilElementIsVisible(this.pdfPageLoaded, 30000, `${fileName} not loaded`); + await BrowserVisibility.waitUntilElementIsVisible(this.pdfPageLoaded, 60000, `${fileName} not loaded`); } async clickClosePasswordDialog(): Promise { @@ -230,9 +230,9 @@ export class ViewerPage { await BrowserVisibility.waitUntilElementIsVisible(this.fileThumbnail); } - async checkFileNameIsDisplayed(file): Promise { + async checkFileNameIsDisplayed(filename: string): Promise { await BrowserVisibility.waitUntilElementIsVisible(this.fileName); - await expect(await BrowserActions.getText(this.fileName)).toEqual(file); + await BrowserVisibility.waitUntilElementHasText(this.fileName, filename); } async checkPreviousPageButtonIsDisplayed() { diff --git a/lib/testing/src/lib/core/utils/browser-actions.ts b/lib/testing/src/lib/core/utils/browser-actions.ts index 19bfc2420c..68a48bf58d 100644 --- a/lib/testing/src/lib/core/utils/browser-actions.ts +++ b/lib/testing/src/lib/core/utils/browser-actions.ts @@ -127,7 +127,7 @@ export class BrowserActions { } } - static async clearSendKeys(elementFinder: ElementFinder, text: string, sleepTime: number = 0): Promise { + static async clearSendKeys(elementFinder: ElementFinder, text: string = '', sleepTime: number = 0): Promise { Logger.info(`Clear and sendKeys text:${text} locator:${elementFinder.locator().toString()}`); await this.click(elementFinder); @@ -143,6 +143,13 @@ export class BrowserActions { } } + try { + if (text !== protractor.Key.SPACE && text !== protractor.Key.ENTER) { + await BrowserVisibility.waitUntilElementHasValue(elementFinder, text, 1000); + } + } catch (e) { + Logger.info(`Set value different from the input`); + } } static async checkIsDisabled(elementFinder: ElementFinder): Promise { diff --git a/package-lock.json b/package-lock.json index 8c3fc436c4..6700b52763 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18920,9 +18920,9 @@ } }, "protractor": { - "version": "5.4.4", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.4.4.tgz", - "integrity": "sha512-BaL4vePgu3Vfa/whvTUAlgaCAId4uNSGxIFSCXMgj7LMYENPWLp85h5RBi9pdpX/bWQ8SF6flP7afmi2TC4eHw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", + "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", "dev": true, "requires": { "@types/q": "^0.0.32", @@ -18938,8 +18938,8 @@ "selenium-webdriver": "3.6.0", "source-map-support": "~0.4.0", "webdriver-js-extender": "2.1.0", - "webdriver-manager": "^12.0.6", - "yargs": "^12.0.5" + "webdriver-manager": "^12.1.7", + "yargs": "^15.3.1" }, "dependencies": { "@types/q": { @@ -18995,33 +18995,42 @@ } }, "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.0" } } } }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, "del": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", @@ -19037,12 +19046,22 @@ "rimraf": "^2.2.8" } }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, "globby": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", @@ -19057,20 +19076,11 @@ "pinkie-promise": "^2.0.0" } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true }, "is-path-cwd": { "version": "1.0.0", @@ -19096,26 +19106,30 @@ "path-is-inside": "^1.0.1" } }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "invert-kv": "^2.0.0" + "p-locate": "^4.1.0" } }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" + "p-limit": "^2.2.0" } }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -19128,12 +19142,6 @@ "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", "dev": true }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -19170,6 +19178,34 @@ "source-map": "^0.5.6" } }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -19214,52 +19250,72 @@ } }, "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" } } } }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "requires": { - "cliui": "^4.0.0", + "cliui": "^6.0.0", "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^4.2.0", "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" } }, "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { "camelcase": "^5.0.0", diff --git a/package.json b/package.json index 0ab5d7695e..07c4c54d99 100644 --- a/package.json +++ b/package.json @@ -157,7 +157,7 @@ "nconf": "^0.10.0", "ng-packagr": "^10.0.4", "optimize-css-assets-webpack-plugin": "^5.0.3", - "protractor": "^5.4.2", + "protractor": "^7.0.0", "protractor-retry": "^1.2.9", "protractor-smartrunner": "^0.1.1", "protractor-screenshoter-plugin": "0.10.3",