From 5e7aabfaea6f7821fb8c0cead699272c01d82b98 Mon Sep 17 00:00:00 2001 From: Marouan Bentaleb <38426175+marouanbentaleb@users.noreply.github.com> Date: Wed, 22 May 2019 14:57:20 +0100 Subject: [PATCH] [ADF-4547] Fixing flaky tests in Content Services and Core (#4743) --- demo-shell/src/app.config.json | 2 +- .../document-list-copy-move.e2e.ts | 6 +-- .../permissions/site-permissions.e2e.ts | 18 +++---- e2e/content-services/tag-component.e2e.ts | 2 +- .../datatable/data-table-component.e2e.ts | 17 ++----- .../task-header-cloud.e2e.ts | 4 +- .../core/pages/data-table-component.page.ts | 2 +- package-lock.json | 50 +++++++++---------- scripts/test-e2e-lib.sh | 2 +- 9 files changed, 44 insertions(+), 59 deletions(-) diff --git a/demo-shell/src/app.config.json b/demo-shell/src/app.config.json index 8f6ce7055f..0c0f8fa2c5 100644 --- a/demo-shell/src/app.config.json +++ b/demo-shell/src/app.config.json @@ -8,7 +8,7 @@ "contextRootBpm": "activiti-app", "authType": "BASIC", "locale": "en", - "notificationDefaultDuration": 10000, + "notificationDefaultDuration": 2000, "auth": { "withCredentials": false }, diff --git a/e2e/content-services/document-list/document-list-copy-move.e2e.ts b/e2e/content-services/document-list/document-list-copy-move.e2e.ts index fb86a608e2..6ed870637f 100644 --- a/e2e/content-services/document-list/document-list-copy-move.e2e.ts +++ b/e2e/content-services/document-list/document-list-copy-move.e2e.ts @@ -72,16 +72,14 @@ describe('Document List Component - Actions', () => { folder5 = await uploadActions.createFolder(alfrescoJsApi, 'E' + folderModel5.name, '-my-'); folder6 = await uploadActions.createFolder(alfrescoJsApi, 'F' + folderModel6.name, '-my-'); folders = [folder1, folder2, folder3, folder4, folder5, folder6]; - done(); - }); - beforeEach(async (done) => { await loginPage.loginToContentServicesUsingUserModel(contentServicesUser); contentServicesPage.goToDocumentList(); contentServicesPage.waitForTableBody(); paginationPage.selectItemsPerPage('5'); contentServicesPage.checkAcsContainer(); contentListPage.waitForTableBody(); + done(); }); @@ -93,7 +91,7 @@ describe('Document List Component - Actions', () => { done(); }); - xit('[C260132] Move action on folder with - Load more', () => { + it('[C260132] Move action on folder with - Load more', () => { expect(paginationPage.getCurrentItemsPerPage()).toEqual('5'); expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + 5 + ' of ' + 6); diff --git a/e2e/content-services/permissions/site-permissions.e2e.ts b/e2e/content-services/permissions/site-permissions.e2e.ts index 9779a6d398..deaff81e2a 100644 --- a/e2e/content-services/permissions/site-permissions.e2e.ts +++ b/e2e/content-services/permissions/site-permissions.e2e.ts @@ -93,6 +93,8 @@ describe('Permissions Component', function () { await alfrescoJsApi.core.peopleApi.addPerson(managerUser); await alfrescoJsApi.login(folderOwnerUser.id, folderOwnerUser.password); + browser.sleep(15000); + const publicSiteName = `PUBLIC_TEST_SITE_${StringUtil.generateRandomString(5)}`; const privateSiteName = `PRIVATE_TEST_SITE_${StringUtil.generateRandomString(5)}`; @@ -168,11 +170,9 @@ describe('Permissions Component', function () { done(); }); - xit('[C277002] Should display the Role Site dropdown', async () => { + it('[C277002] Should display the Role Site dropdown', async () => { contentServicesPage.checkContentIsDisplayed(folderName); - contentServicesPage.checkSelectedSiteIsDisplayed('My files'); - contentList.rightClickOnRow(folderName); contentServicesPage.pressContextMenuActionNamed('Permission'); @@ -183,8 +183,6 @@ describe('Permissions Component', function () { permissionsPage.checkAddPermissionDialogIsDisplayed(); permissionsPage.checkSearchUserInputIsDisplayed(); - browser.sleep(10000); - permissionsPage.searchUserOrGroup(consumerUser.getId()); permissionsPage.clickUserOrGroup(consumerUser.getFirstName()); permissionsPage.checkUserOrGroupIsAdded(consumerUser.getId()); @@ -194,17 +192,17 @@ describe('Permissions Component', function () { permissionsPage.clickRoleDropdownByUserOrGroupName(consumerUser.getId()); expect(permissionsPage.getRoleDropdownOptions().count()).toBe(4); - expect(permissionsPage.getRoleDropdownOptions().get(0).getText()).toBe('SiteCollaborator'); - expect(permissionsPage.getRoleDropdownOptions().get(1).getText()).toBe('SiteConsumer'); - expect(permissionsPage.getRoleDropdownOptions().get(2).getText()).toBe('SiteContributor'); - expect(permissionsPage.getRoleDropdownOptions().get(3).getText()).toBe('SiteManager'); + expect(permissionsPage.getRoleDropdownOptions().get(0).getText()).toBe(CONSTANTS.CS_USER_ROLES.COLLABORATOR); + expect(permissionsPage.getRoleDropdownOptions().get(1).getText()).toBe(CONSTANTS.CS_USER_ROLES.CONSUMER); + expect(permissionsPage.getRoleDropdownOptions().get(2).getText()).toBe(CONSTANTS.CS_USER_ROLES.CONTRIBUTOR); + expect(permissionsPage.getRoleDropdownOptions().get(3).getText()).toBe(CONSTANTS.CS_USER_ROLES.MANAGER); }); }); describe('Roles: SiteConsumer, SiteCollaborator, SiteContributor, SiteManager', function () { - xit('[C276994] Role SiteConsumer', async () => { + it('[C276994] Role SiteConsumer', async () => { await loginPage.loginToContentServicesUsingUserModel(siteConsumerUser); diff --git a/e2e/content-services/tag-component.e2e.ts b/e2e/content-services/tag-component.e2e.ts index e1c3c5d4d0..4ef5da40a4 100644 --- a/e2e/content-services/tag-component.e2e.ts +++ b/e2e/content-services/tag-component.e2e.ts @@ -190,7 +190,7 @@ describe('Tag component', () => { tagPage.checkDeleteTagFromTagListByNodeIdIsNotDisplayed(tagList[3]); }); - xit('[C286472] Should be able to click Show more/less button on List Tags Content Services', () => { + it('[C286472] Should be able to click Show more/less button on List Tags Content Services', () => { tagPage.insertNodeId(pdfFileModel.id); tagPage.checkShowMoreButtonIsDisplayed(); diff --git a/e2e/core/datatable/data-table-component.e2e.ts b/e2e/core/datatable/data-table-component.e2e.ts index 443149d179..897d8a7daa 100644 --- a/e2e/core/datatable/data-table-component.e2e.ts +++ b/e2e/core/datatable/data-table-component.e2e.ts @@ -128,19 +128,15 @@ describe('Datatable component', () => { notificationPage.checkNotificationSnackBarIsNotDisplayed(); }); - xit('[C307040] A column value with copyContent set to true is copied when clicking on it', () => { + it('[C307040] A column value with copyContent set to true is copied when clicking on it', () => { dataTablePage.mouseOverIdColumn('1'); expect(dataTablePage.getCopyContentTooltip()).toEqual('Click to copy'); dataTablePage.clickOnIdColumn('1'); notificationPage.checkNotifyContains('Text copied to clipboard'); - dataTablePage.pasteClipboard(); - expect(dataTablePage.getClipboardInputText()).toEqual('1'); dataTablePage.clickOnIdColumn('2'); notificationPage.checkNotifyContains('Text copied to clipboard'); - dataTablePage.clickOnIdColumn('3'); - notificationPage.checkNotifyContains('Text copied to clipboard'); dataTablePage.pasteClipboard(); - expect(dataTablePage.getClipboardInputText()).toEqual('3'); + expect(dataTablePage.getClipboardInputText()).toEqual('2'); }); it('[C307072] A tooltip is displayed when mouseOver a column with copyContent set to true', () => { @@ -164,20 +160,15 @@ describe('Datatable component', () => { notificationPage.checkNotificationSnackBarIsNotDisplayed(); }); - xit('[C307073] A column value with copyContent set to true is copied when clicking on it', () => { + it('[C307073] A column value with copyContent set to true is copied when clicking on it', () => { copyContentDataTablePage.mouseOverIdColumn('1'); expect(copyContentDataTablePage.getCopyContentTooltip()).toEqual('Click to copy'); copyContentDataTablePage.clickOnIdColumn('1'); notificationPage.checkNotifyContains('Text copied to clipboard'); - copyContentDataTablePage.pasteClipboard(); - expect(copyContentDataTablePage.getClipboardInputText()).toEqual('1'); copyContentDataTablePage.clickOnIdColumn('2'); notificationPage.checkNotifyContains('Text copied to clipboard'); - copyContentDataTablePage.mouseOverIdColumn('3'); - copyContentDataTablePage.clickOnIdColumn('3'); - notificationPage.checkNotifyContains('Text copied to clipboard'); copyContentDataTablePage.pasteClipboard(); - expect(copyContentDataTablePage.getClipboardInputText()).toEqual('3'); + expect(copyContentDataTablePage.getClipboardInputText()).toEqual('2'); }); it('[C307100] A column value of type text and with copyContent set to true is copied when clicking on it', () => { diff --git a/e2e/process-services-cloud/task-header-cloud.e2e.ts b/e2e/process-services-cloud/task-header-cloud.e2e.ts index c8fe07c701..09b9a124c8 100644 --- a/e2e/process-services-cloud/task-header-cloud.e2e.ts +++ b/e2e/process-services-cloud/task-header-cloud.e2e.ts @@ -25,7 +25,6 @@ import { LoginSSOPage, SettingsPage, AppListCloudPage, TaskHeaderCloudPage, Task import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage'; import { TaskDetailsCloudDemoPage } from '../pages/adf/demo-shell/process-services/taskDetailsCloudDemoPage'; import resources = require('../util/resources'); -import { browser } from 'protractor'; describe('Task Header cloud component', () => { @@ -142,11 +141,10 @@ describe('Task Header cloud component', () => { .toEqual(subTask.entry.parentTaskId === null ? '' : subTask.entry.parentTaskId); }); - xit('[C307032] Should display the appropriate title for the unclaim option of a Task', async () => { + it('[C307032] Should display the appropriate title for the unclaim option of a Task', async () => { tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(basicCreatedTaskName); tasksCloudDemoPage.taskListCloudComponent().selectRow(basicCreatedTaskName); - browser.driver.sleep(30000); expect(taskDetailsCloudDemoPage.getReleaseButtonText()).toBe('RELEASE'); }); }); 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 2e6145571e..7bb6d5697b 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,7 +288,7 @@ export class DataTableComponentPage { } getCellByRowNumberAndColumnName(rowNumber, columnName) { - return this.list.get(rowNumber).element(by.css(`div[title="${columnName}"] span`)); + return this.list.get(rowNumber).all(by.css(`div[title="${columnName}"] span`)).first(); } getCellByRowContentAndColumn(rowColumn, rowContent, columnName) { diff --git a/package-lock.json b/package-lock.json index 28c58c8128..03e9f0ad22 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,69 +1,69 @@ { "name": "alfresco-components", - "version": "3.2.0", + "version": "3.2.1", "lockfileVersion": 1, "requires": true, "dependencies": { "@alfresco/adf-content-services": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.2.0.tgz", - "integrity": "sha512-G8+vSL3GTGm2rAtvNgFpCctcX7WwRBoAkvkvwnIWETrl5zYb4ftzvCpSkrj8FKxueE8Ys59oTMOv1o22ev2+AA==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.2.1.tgz", + "integrity": "sha512-dljtJUnvlA2OC1g9u8TyQEnoHqTEVl94AH6S7dcpWiACLCSMiwd5Zkdpe/p/5FWxPY4on53iIR31KJmyYXfoYQ==", "requires": { "tslib": "^1.9.0" } }, "@alfresco/adf-core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.2.0.tgz", - "integrity": "sha512-mgDNroAiKjDSOVS3nfc0vYrgGtWt2dUNLfLReU89jvMAiXLVCghA/Gufhjx0t64TOneWofD9hNGV0KuIXx0wFQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.2.1.tgz", + "integrity": "sha512-BFaL3ARaErwvYa4OjgAgWbN0Pm1NMfULd9gFZROQCqPhr794KtwhGqIVmr+G6JjaQvIXMZ3hSTppKu63NyBoqA==", "requires": { "tslib": "^1.9.0" } }, "@alfresco/adf-extensions": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.2.0.tgz", - "integrity": "sha512-nw7rzgG7WznekyzNQF+unsWITuBfQva2wvTiqRPtimpA1hZWIcxKUWhKf5nkw8nCb8qlgkVIimylZjNZFlsr7A==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.2.1.tgz", + "integrity": "sha512-ULYZmpRfR7ckLvNe/273DhgWvx7wvoUDzy1lsOIpFS0LfyfjEqEjOcQQ3V2DAcbR1Rl7cJ7+3RXkfVHmp/d6ng==", "requires": { "tslib": "^1.9.0" } }, "@alfresco/adf-insights": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@alfresco/adf-insights/-/adf-insights-3.2.0.tgz", - "integrity": "sha512-5TjEsqXyXvW1x4zL/SwVE3C9yuIQfNc4VggOjJu7aMUIMfwaRT2/6CPrL3uRycGpckhQxwYimPmXmgQCKA/B9A==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@alfresco/adf-insights/-/adf-insights-3.2.1.tgz", + "integrity": "sha512-6ktlzvoHJ2Pf6+Qcp/ua8rZ/RYuakO0Y6QeFNXlilVt3FK/jF1AmJT3Xj21tdnxOEzWAKTH1lb+rd/0itP+DoQ==", "requires": { "tslib": "^1.9.0" } }, "@alfresco/adf-process-services": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@alfresco/adf-process-services/-/adf-process-services-3.2.0.tgz", - "integrity": "sha512-sWe4hXx+vb+A4AgVx7IogB7hblhzw8xEJnJpHRXTxNZg2dUFIHrRAbl2249feSlY/Jf2VotmbahwiD9PWps/ZA==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@alfresco/adf-process-services/-/adf-process-services-3.2.1.tgz", + "integrity": "sha512-cHNFYxzkUgvf0oqWJt87rnmEl9ujtJ2Jw73jR/Wcayk2QgOrmMuhaIaFlkgqhfudIHeXnpT2RfcgxcF7rWCWaA==", "requires": { "tslib": "^1.9.0" } }, "@alfresco/adf-process-services-cloud": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@alfresco/adf-process-services-cloud/-/adf-process-services-cloud-3.2.0.tgz", - "integrity": "sha512-Bbr2jlp33hKqu9xjBXbcJxR6UdX9B5524+XB3LlDj/sxMzy8QAOndXS91Ywcfwsz1zWCApBkwfAdOkfmWab+sQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@alfresco/adf-process-services-cloud/-/adf-process-services-cloud-3.2.1.tgz", + "integrity": "sha512-40IirZWLqRqTcJlYMwNRX7AyWUdrRzOHG2OPsAtTO4ozEub3UzYZDte/7uh7a52CoVsSz+Kx/oom8pGK+9MVoQ==", "requires": { "tslib": "^1.9.0" } }, "@alfresco/adf-testing": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-3.2.0.tgz", - "integrity": "sha512-4tZ5V9EiyNCYZILH339KTqag1Gv1nTTOa75DsPb5hIP96T/QGskgF26ehIiADTJrDfuOtuWfbRWLrB4OQ5y61A==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-3.2.1.tgz", + "integrity": "sha512-8RG80G3JMvB3QjtVRI4jsLXDUicvqXyc9TrTgOcH6ilYKKTqt6P+OJi3H45yLPhat41MwSeP1LgCoUW3d1SWHQ==", "requires": { "tslib": "^1.9.0" } }, "@alfresco/js-api": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-3.2.0.tgz", - "integrity": "sha512-HgB/8M4mSi1mVx7ZDbgrNLP5xZiPUamkNzQI198DkWwQRxXh9V0khEavm82Rr9M5nrLw4VdPUARFLmxsNQwmng==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-3.2.1.tgz", + "integrity": "sha512-qaXftaHqFonWRKRmYxhB2/bEpUh5fvUj6cN+xuKUXIGgt9XxF76NpWkXnEEQLZ0BWg5upd19Q3N1x4E7DiNGUg==", "requires": { "event-emitter": "0.3.4", "superagent": "3.8.2" diff --git a/scripts/test-e2e-lib.sh b/scripts/test-e2e-lib.sh index 9ff21f84f4..85592c54b3 100755 --- a/scripts/test-e2e-lib.sh +++ b/scripts/test-e2e-lib.sh @@ -140,11 +140,11 @@ while [[ $1 == -* ]]; do -b|--browser) set_browser; shift;; -dev|--dev) set_development; shift;; -s|--spec) set_test $2; shift 2;; + -db|--debug) debug; shift;; -ud|--use-dist) lite_server; shift;; -save) set_save_screenshot; shift;; -proxy|--proxy) set_proxy $2; shift 2;; -s|--seleniumServer) set_selenium $2; shift 2;; - -db|--debug) debug; shift;; -host|--host) set_host $2; shift 2;; -host_bpm|--host_bpm) set_host_bpm $2; shift 2;; -host_sso|--host_sso) set_host_sso $2; shift 2;;