From f04c13537791a1327a16769019ce1d3784b5ff6f Mon Sep 17 00:00:00 2001 From: Eugenio Romano Date: Thu, 8 Aug 2019 17:52:45 +0200 Subject: [PATCH] Fix e2e test (#4981) * fix core viewer * increase rendition retry * sso refresh before test * general fix test * try use last proxy * avoid use proxy * remove proxy * fix setting tests * fix share and sso test * fix lint exclude * fix sso * fix some process services cloud e2e * fix sso download * exclude sso test * fix cloud * add logout content service test * add logout core * add logout search * redefine global before all * separate protracotr method * try * try multiple attempt before all * add prefix group and users * add prefix group and users * add prefix group and users * rexecute sso test * fix process service visibility e2e * split SSO login test * fix SSO download * fix SSO download * fix some cloud issues * fix some cloud issues * fix some cloud issues * share file fix cs * fix cloud test --- .../comments/comment-component.e2e.ts | 24 ++- .../directives/create-folder-directive.e2e.ts | 8 +- .../create-library-directive.e2e.ts | 8 +- .../directives/download-directive.e2e.ts | 6 +- .../directives/edit-folder-directive.e2e.ts | 4 +- .../directives/favorite-directive.e2e.ts | 4 +- .../restore-content-directive.e2e.ts | 170 +++++++++--------- .../document-list-actions.e2e.ts | 12 +- .../document-list-component.e2e.ts | 2 +- .../document-list-copy-move-actions.e2e.ts | 26 ++- .../document-list-gallery.e2e.ts | 7 +- .../document-list-pagination.e2e.ts | 6 +- .../document-list-permissions.e2e.ts | 5 +- .../document-list-properties.e2e.ts | 8 +- .../document-list-thumbnails-tooltips.e2e.ts | 6 +- e2e/content-services/lock-file.e2e.ts | 2 +- .../metadata/aspect-oriented-config.e2e.ts | 6 +- .../metadata/metadata-permissions.e2e.ts | 6 +- .../metadata/metadata-properties.e2e.ts | 6 +- .../metadata/metadata-smoke-tests.e2e.ts | 6 +- .../notifications-component.e2e.ts | 8 +- .../permissions/permissions-component.e2e.ts | 19 +- .../permissions/site-permissions.e2e.ts | 4 +- .../share-file/share-file.e2e.ts | 25 +-- .../share-file/unshare-file.e2e.ts | 10 +- .../social/social.component.e2e.ts | 3 +- .../sso-download-directive-component.e2e.ts | 20 +-- e2e/content-services/tag-component.e2e.ts | 9 +- .../trashcan-pagination.e2e.ts | 7 +- .../tree-view-component.e2e.ts | 37 ++-- .../upload/cancel-upload.e2e.ts | 9 +- .../upload/excluded-file.e2e.ts | 9 +- e2e/content-services/upload/upload-dialog.ts | 10 +- .../upload/uploader-component.e2e.ts | 7 +- .../upload/user-permission.e2e.ts | 7 +- .../version/version-actions.e2e.ts | 6 +- .../version/version-permissions.e2e.ts | 11 +- .../version/version-properties.e2e.ts | 7 +- .../version/version-smoke-tests.e2e.ts | 7 +- e2e/core/auth-guard/auth-guard-sso.e2e.ts | 7 +- e2e/core/card-view/card-view-component.e2e.ts | 4 + .../data-table-component-selection.e2e.ts | 6 +- .../datatable/data-table-component.e2e.ts | 6 +- e2e/core/error-component.e2e.ts | 8 +- e2e/core/header-component.e2e.ts | 3 +- e2e/core/icons-component.e2e.ts | 6 +- e2e/core/infinite-scrolling.e2e.ts | 6 +- e2e/core/login/login-component.e2e.ts | 4 +- .../login/login-sso/login-sso-error.e2e.ts | 43 +++++ e2e/core/login/login-sso/login-sso.e2e.ts | 90 ++++------ e2e/core/login/redirection.e2e.ts | 4 +- e2e/core/pagination-empty-current-page.e2e.ts | 8 +- e2e/core/settings-component.e2e.ts | 20 +-- e2e/core/user-info-component.e2e.ts | 11 +- .../viewer-arcive.component.e2e.ts | 9 +- .../file-extensions/viewer-component.e2e.ts | 9 +- .../viewer-excel.component.e2e.ts | 12 +- .../viewer-image.component.e2e.ts | 11 +- .../viewer-powerpoint.component.e2e.ts | 11 +- .../viewer-text.component.e2e.ts | 9 +- .../viewer-word.component.e2e.ts | 9 +- e2e/core/viewer/info-drawer.component.e2e.ts | 6 +- .../viewer-content-services-component.e2e.ts | 7 +- .../viewer-custom-toolbar-info-drawer.e2e.ts | 5 +- e2e/core/viewer/viewer-extension.e2e.ts | 3 +- e2e/core/viewer/viewer-properties.e2e.ts | 3 +- e2e/core/viewer/viewer-share-content.ts | 3 +- e2e/insights/analytics-component.e2e.ts | 2 +- e2e/lite-server-proxy.js | 22 +-- .../process-services/processCloudDemoPage.ts | 1 - .../process-services/tasksCloudDemoPage.ts | 2 +- e2e/pages/adf/navigationBarPage.ts | 2 +- .../apps-section-cloud.e2e.ts | 2 +- .../edit-process-filters-component.e2e.ts | 26 ++- .../edit-task-filters-component.e2e.ts | 19 +- .../form-field/dropdown-widget.e2e.ts | 2 +- .../form-field/visibility-condition.e2e.ts | 34 ++-- .../people-group-cloud-component.e2e.ts | 2 +- ...people-group-cloud-filter-component.e2e.ts | 7 +- .../process-custom-filters.e2e.ts | 2 +- .../process-filter-results.e2e.ts | 2 +- .../process-filters-cloud.e2e.ts | 2 +- .../process-header-cloud.e2e.ts | 2 +- .../process-list-cloud-component.e2e.ts | 2 +- .../process-list-selection-cloud.e2e.ts | 2 +- .../start-process-cloud.e2e.ts | 14 +- .../start-task-form-cloud.e2e.ts | 24 ++- .../start-task-custom-app-cloud.e2e.ts | 38 ++-- .../start-task/start-task-group-cloud.e2e.ts | 52 ++++-- .../task-filters-cloud.e2e.ts | 2 +- .../task-form-cloud-component.e2e.ts | 79 ++++---- .../task-header-cloud.e2e.ts | 2 +- .../task-list-properties.e2e.ts | 13 +- .../task-list-selection.e2e.ts | 2 +- .../tasks-custom-filters.e2e.ts | 2 +- e2e/process-services/apps-section.e2e.ts | 2 +- .../attach-file-widget.e2e.ts | 4 +- .../attach-form-component.e2e.ts | 11 +- .../checklist-component.e2e.ts | 2 +- .../comment-component-processes.e2e.ts | 2 +- .../comment-component-tasks.e2e.ts | 12 +- .../custom-process-filters-sorting.e2e.ts | 2 +- .../custom-process-filters.e2e.ts | 2 +- .../custom-tasks-filters.e2e.ts | 2 +- .../dynamic-table-date-picker.e2e.ts | 2 +- .../empty-process-list-component.e2e.ts | 2 +- e2e/process-services/form-component.e2e.ts | 2 +- .../form-people-widget.e2e.ts | 6 +- .../form-widgets-component.e2e.ts | 4 +- ...ination-processlist-addingProcesses.e2e.ts | 2 +- .../pagination-tasklist-addingTasks.e2e.ts | 2 +- e2e/process-services/people-component.e2e.ts | 2 +- .../process-attachmentList-actionMenu.e2e.ts | 2 +- .../process-filters-component.e2e.ts | 2 +- .../process-instance-details.e2e.ts | 2 +- .../processList-component.e2e.ts | 2 +- .../processlist-pagination.e2e.ts | 4 +- .../sort-tasklist-pagination.e2e.ts | 2 +- e2e/process-services/standalone-task.e2e.ts | 2 +- .../start-process-component.e2e.ts | 4 +- .../start-task-custom-app.e2e.ts | 2 +- .../start-task-task-app.e2e.ts | 2 +- .../task-attachmentList-actionMenu.e2e.ts | 2 +- e2e/process-services/task-audit.e2e.ts | 2 +- e2e/process-services/task-details-form.e2e.ts | 2 +- .../task-details-no-form.e2e.ts | 2 +- e2e/process-services/task-details.e2e.ts | 2 +- .../task-filters-component.e2e.ts | 4 +- .../task-filters-sorting.e2e.ts | 2 +- .../task-list-pagination.e2e.ts | 2 +- .../widgets/amount-widget.e2e.ts | 6 +- .../widgets/attach-folder-widget.e2e.ts | 6 +- .../widgets/checkbox-widget.e2e.ts | 6 +- .../widgets/date-time-widget.e2e.ts | 6 +- .../widgets/date-widget.e2e.ts | 6 +- .../widgets/document-template-widget.e2e.ts | 6 +- .../widgets/dropdown-widget.e2e.ts | 6 +- .../widgets/dynamic-table-widget.e2e.ts | 8 +- .../widgets/header-widget.e2e.ts | 6 +- .../widgets/hyperlink-widget.e2e.ts | 6 +- .../widgets/multi-line-widget.e2e.ts | 6 +- .../widgets/number-widget.e2e.ts | 6 +- .../widgets/people-widget.e2e.ts | 6 +- .../widgets/radio-buttons-widget.e2e.ts | 2 +- .../widgets/text-widget.e2e.ts | 6 +- .../widget-visibility-condition.e2e.ts | 14 +- .../documents/text/a_msg_file.msg | Bin 31744 -> 0 bytes e2e/search/components/search-checkList.e2e.ts | 4 +- .../components/search-date-range.e2e.ts | 6 +- .../components/search-number-range.e2e.ts | 13 +- e2e/search/components/search-radio.e2e.ts | 4 +- e2e/search/components/search-slider.e2e.ts | 15 +- .../components/search-sorting-picker.e2e.ts | 15 +- e2e/search/components/search-text.e2e.ts | 6 +- e2e/search/search-component.e2e.ts | 8 +- e2e/search/search-filters.e2e.ts | 3 +- e2e/search/search-multiselect.e2e.ts | 6 +- e2e/search/search-page-component.e2e.ts | 8 +- e2e/test.config.js | 6 +- .../viewer/components/viewer.component.ts | 4 +- .../pages/document-list.page.ts | 2 +- .../identity/group-identity.service.ts | 14 +- lib/testing/src/lib/core/models/user.model.ts | 5 +- .../lib/core/pages/form/widgets/dateWidget.ts | 5 - .../src/lib/core/pages/login-sso.page.ts | 37 ++-- lib/testing/src/lib/core/pages/login.page.ts | 4 +- .../src/lib/core/pages/settings.page.ts | 2 +- .../edit-task-filter-cloud-component.page.ts | 25 ++- package.json | 1 - protractor.conf.ts | 120 ++++++++++++- scripts/check-env/check-activiti-env.js | 4 +- scripts/lint.sh | 2 +- scripts/smart-build.sh | 11 +- scripts/test-e2e-lib.sh | 34 +++- scripts/travis/e2e/content-services-e2e.sh | 2 +- scripts/travis/e2e/core-e2e.sh | 2 +- scripts/travis/e2e/insights-e2e.sh | 2 +- .../travis/e2e/process-services-cloud-e2e.sh | 2 +- scripts/travis/e2e/process-services-e2e.sh | 2 +- scripts/travis/e2e/search-e2e.sh | 2 +- scripts/travis/update/update-children.sh | 2 - 181 files changed, 1136 insertions(+), 668 deletions(-) create mode 100644 e2e/core/login/login-sso/login-sso-error.e2e.ts delete mode 100644 e2e/resources/adf/allFileTypes/documents/text/a_msg_file.msg diff --git a/e2e/content-services/comments/comment-component.e2e.ts b/e2e/content-services/comments/comment-component.e2e.ts index 1bce90171f..fa281e77da 100644 --- a/e2e/content-services/comments/comment-component.e2e.ts +++ b/e2e/content-services/comments/comment-component.e2e.ts @@ -33,7 +33,7 @@ describe('Comment Component', () => { const contentServicesPage = new ContentServicesPage(); const viewerPage = new ViewerPage(); const commentsPage = new CommentsPage(); - const navigationBar = new NavigationBarPage(); + const navigationBarPage = new NavigationBarPage(); const acsUser = new AcsUserModel(); let userFullName, nodeId; @@ -44,7 +44,7 @@ describe('Comment Component', () => { }); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -61,15 +61,17 @@ describe('Comment Component', () => { }; beforeAll(async (done) => { - await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser); done(); }); - beforeEach(async (done) => { + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + beforeEach(async (done) => { await this.alfrescoJsApi.login(acsUser.id, acsUser.password); const pngUploadedFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-'); @@ -80,19 +82,15 @@ describe('Comment Component', () => { await loginPage.loginToContentServicesUsingUserModel(acsUser); - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); contentServicesPage.waitForTableBody(); done(); }); afterEach(async (done) => { - try { - await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); - await uploadActions.deleteFileOrFolder(nodeId); - } catch (error) { - - } + await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + await uploadActions.deleteFileOrFolder(nodeId); done(); }); @@ -190,7 +188,7 @@ describe('Comment Component', () => { loginPage.loginToContentServicesUsingUserModel(acsUser); - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); done(); }); @@ -202,7 +200,7 @@ describe('Comment Component', () => { }); it('[C290147] Should NOT be able to add comments to a site file with Consumer permissions', () => { - navigationBar.goToSite(site); + navigationBarPage.goToSite(site); contentServicesPage.checkAcsContainer(); viewerPage.viewFile(pngUploadedFile.entry.name); diff --git a/e2e/content-services/directives/create-folder-directive.e2e.ts b/e2e/content-services/directives/create-folder-directive.e2e.ts index 527f5063d4..ad0b249651 100644 --- a/e2e/content-services/directives/create-folder-directive.e2e.ts +++ b/e2e/content-services/directives/create-folder-directive.e2e.ts @@ -22,6 +22,7 @@ import { MetadataViewPage } from '../../pages/adf/metadataViewPage'; import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { browser, Key } from 'protractor'; +import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; describe('Create folder directive', function () { @@ -31,11 +32,12 @@ describe('Create folder directive', function () { const notificationHistoryPage = new NotificationHistoryPage(); const metadataViewPage = new MetadataViewPage(); const acsUser = new AcsUserModel(); + const navigationBarPage = new NavigationBarPage(); beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -49,6 +51,10 @@ describe('Create folder directive', function () { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + beforeEach(async (done) => { await browser.actions().sendKeys(Key.ESCAPE).perform(); done(); diff --git a/e2e/content-services/directives/create-library-directive.e2e.ts b/e2e/content-services/directives/create-library-directive.e2e.ts index dccc37f19c..200e892bb1 100644 --- a/e2e/content-services/directives/create-library-directive.e2e.ts +++ b/e2e/content-services/directives/create-library-directive.e2e.ts @@ -24,6 +24,7 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { browser } from 'protractor'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { StringUtil } from '@alfresco/adf-testing'; +import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; describe('Create library directive', function () { @@ -31,6 +32,7 @@ describe('Create library directive', function () { const contentServicesPage = new ContentServicesPage(); const createLibraryDialog = new CreateLibraryDialog(); const customSourcesPage = new CustomSources(); + const navigationBarPage = new NavigationBarPage(); const visibility = { public: 'Public', @@ -45,7 +47,7 @@ describe('Create library directive', function () { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -62,6 +64,10 @@ describe('Create library directive', function () { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + beforeEach((done) => { contentServicesPage.goToDocumentList(); contentServicesPage.openCreateLibraryDialog(); diff --git a/e2e/content-services/directives/download-directive.e2e.ts b/e2e/content-services/directives/download-directive.e2e.ts index 4254f303f1..252050ef4b 100644 --- a/e2e/content-services/directives/download-directive.e2e.ts +++ b/e2e/content-services/directives/download-directive.e2e.ts @@ -61,7 +61,7 @@ describe('Version component actions', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -88,6 +88,10 @@ describe('Version component actions', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + afterEach(async () => { BrowserVisibility.waitUntilDialogIsClose(); }); diff --git a/e2e/content-services/directives/edit-folder-directive.e2e.ts b/e2e/content-services/directives/edit-folder-directive.e2e.ts index 757aeb3759..19f3cbc81a 100644 --- a/e2e/content-services/directives/edit-folder-directive.e2e.ts +++ b/e2e/content-services/directives/edit-folder-directive.e2e.ts @@ -34,9 +34,10 @@ describe('Edit folder directive', function () { const anotherAcsUser = new AcsUserModel(); const navigationBarPage = new NavigationBarPage(); const notificationHistoryPage = new NotificationHistoryPage(); + this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const pdfFile = new FileModel({ @@ -77,6 +78,7 @@ describe('Edit folder directive', function () { }); afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await uploadActions.deleteFileOrFolder(editFolder.entry.id); await uploadActions.deleteFileOrFolder(anotherFolder.entry.id); diff --git a/e2e/content-services/directives/favorite-directive.e2e.ts b/e2e/content-services/directives/favorite-directive.e2e.ts index 85dbf60962..5291c6ed6a 100644 --- a/e2e/content-services/directives/favorite-directive.e2e.ts +++ b/e2e/content-services/directives/favorite-directive.e2e.ts @@ -37,9 +37,10 @@ describe('Favorite directive', function () { const trashcanPage = new TrashcanPage(); const contentListPage = contentServicesPage.getDocumentList(); const contentNodeSelector = new ContentNodeSelectorDialogPage(); + this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const pdfFile = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name, @@ -66,6 +67,7 @@ describe('Favorite directive', function () { }); afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await uploadActions.deleteFileOrFolder(testFolder1.entry.id); await uploadActions.deleteFileOrFolder(testFolder2.entry.id); diff --git a/e2e/content-services/directives/restore-content-directive.e2e.ts b/e2e/content-services/directives/restore-content-directive.e2e.ts index deea2fa5e2..9b9e528e07 100644 --- a/e2e/content-services/directives/restore-content-directive.e2e.ts +++ b/e2e/content-services/directives/restore-content-directive.e2e.ts @@ -40,7 +40,7 @@ describe('Restore content directive', function () { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const pdfFileModel = new FileModel({ @@ -61,7 +61,8 @@ describe('Restore content directive', function () { const folderName = StringUtil.generateRandomString(5); const uploadActions = new UploadActions(this.alfrescoJsApi); - let folderWithContent, folderWithFolder, subFolder, subFile, testFile, restoreFile, publicSite, siteFolder, siteFile; + let folderWithContent, folderWithFolder, subFolder, subFile, testFile, restoreFile, publicSite, siteFolder, + siteFile; beforeAll(async (done) => { await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -81,12 +82,13 @@ describe('Restore content directive', function () { done(); }); - afterAll(async (done) => { + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await uploadActions.deleteFileOrFolder(folderWithContent.entry.id); await uploadActions.deleteFileOrFolder(folderWithFolder.entry.id); await this.alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id); - done(); }); beforeEach(async (done) => { @@ -241,92 +243,92 @@ describe('Restore content directive', function () { describe('Restore deleted library', () => { - beforeAll(async (done) => { - await this.alfrescoJsApi.login(acsUser.id, acsUser.password); - const publicSiteName = `00${StringUtil.generateRandomString(5)}`; - const publicSiteBody = {visibility: 'PUBLIC', title: publicSiteName}; - publicSite = await this.alfrescoJsApi.core.sitesApi.createSite(publicSiteBody); - siteFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), publicSite.entry.guid); - siteFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, siteFolder.entry.id); - await this.alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id); - done(); + beforeAll(async (done) => { + await this.alfrescoJsApi.login(acsUser.id, acsUser.password); + const publicSiteName = `00${StringUtil.generateRandomString(5)}`; + const publicSiteBody = { visibility: 'PUBLIC', title: publicSiteName }; + publicSite = await this.alfrescoJsApi.core.sitesApi.createSite(publicSiteBody); + siteFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), publicSite.entry.guid); + siteFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, siteFolder.entry.id); + await this.alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id); + done(); + }); + + it('[C260241] Should restore the deleted library along with contents inside', async () => { + navigationBarPage.clickTrashcanButton(); + trashcanPage.waitForTableBody(); + trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(publicSite.entry.id); + trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(publicSite.entry.id); + trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(publicSite.entry.id); + trashcanPage.clickRestore(); + + navigationBarPage.clickContentServicesButton(); + contentServicesPage.waitForTableBody(); + contentServicesPage.selectSite(publicSite.entry.title); + contentServicesPage.waitForTableBody(); + contentServicesPage.checkContentIsDisplayed(siteFolder.entry.name); + contentServicesPage.doubleClickRow(siteFolder.entry.name); + contentServicesPage.checkContentIsDisplayed(siteFile.entry.name); + notificationHistoryPage.checkNotifyContains(publicSite.entry.id + ' item restored'); + + }); }); - it('[C260241] Should restore the deleted library along with contents inside', async () => { - navigationBarPage.clickTrashcanButton(); - trashcanPage.waitForTableBody(); - trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(publicSite.entry.id); - trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(publicSite.entry.id); - trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(publicSite.entry.id); - trashcanPage.clickRestore(); - - navigationBarPage.clickContentServicesButton(); - contentServicesPage.waitForTableBody(); - contentServicesPage.selectSite(publicSite.entry.title); - contentServicesPage.waitForTableBody(); - contentServicesPage.checkContentIsDisplayed(siteFolder.entry.name); - contentServicesPage.doubleClickRow(siteFolder.entry.name); - contentServicesPage.checkContentIsDisplayed(siteFile.entry.name); - notificationHistoryPage.checkNotifyContains(publicSite.entry.id + ' item restored'); - - }); -}); - describe('Restore with folder hierarchies', () => { - let parentFolder, folderWithin, pdfFile, pngFile, mainFile, mainFolder; + let parentFolder, folderWithin, pdfFile, pngFile, mainFile, mainFolder; - beforeAll(async (done) => { - await this.alfrescoJsApi.login(anotherAcsUser.id, anotherAcsUser.password); - await uploadActions.createFolder(folderName, '-my-'); - parentFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); - folderWithin = await uploadActions.createFolder(StringUtil.generateRandomString(5), parentFolder.entry.id); - pdfFile = await uploadActions.uploadFile(pdfFileModel.location, pdfFileModel.name, folderWithin.entry.id); - pngFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, folderWithin.entry.id); - mainFile = await uploadActions.uploadFile(testFileModel.location, testFileModel.name, '-my-'); - mainFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); + beforeAll(async (done) => { + await this.alfrescoJsApi.login(anotherAcsUser.id, anotherAcsUser.password); + await uploadActions.createFolder(folderName, '-my-'); + parentFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); + folderWithin = await uploadActions.createFolder(StringUtil.generateRandomString(5), parentFolder.entry.id); + pdfFile = await uploadActions.uploadFile(pdfFileModel.location, pdfFileModel.name, folderWithin.entry.id); + pngFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, folderWithin.entry.id); + mainFile = await uploadActions.uploadFile(testFileModel.location, testFileModel.name, '-my-'); + mainFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); - await loginPage.loginToContentServicesUsingUserModel(anotherAcsUser); - contentServicesPage.goToDocumentList(); - contentServicesPage.waitForTableBody(); - done(); + await loginPage.loginToContentServicesUsingUserModel(anotherAcsUser); + contentServicesPage.goToDocumentList(); + contentServicesPage.waitForTableBody(); + done(); + }); + + afterAll(async (done) => { + await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + await uploadActions.deleteFileOrFolder(parentFolder.entry.id); + await uploadActions.deleteFileOrFolder(mainFolder.entry.id); + await uploadActions.deleteFileOrFolder(mainFile.entry.id); + done(); + }); + + it('[C216431] Should restore hierarchy of folders', async () => { + contentServicesPage.deleteContent(parentFolder.entry.name); + contentServicesPage.deleteContent(mainFolder.entry.name); + contentServicesPage.deleteContent(mainFile.entry.name); + + navigationBarPage.clickTrashcanButton(); + trashcanPage.waitForTableBody(); + trashcanPage.checkRestoreButtonIsNotDisplayed(); + trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(parentFolder.entry.name); + trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(parentFolder.entry.name); + trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(mainFolder.entry.name); + trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(mainFolder.entry.name); + trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(mainFile.entry.name); + trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(mainFile.entry.name); + trashcanPage.clickRestore(); + + navigationBarPage.clickContentServicesButton(); + contentServicesPage.waitForTableBody(); + contentServicesPage.checkContentIsDisplayed(parentFolder.entry.name); + contentServicesPage.checkContentIsDisplayed(mainFolder.entry.name); + contentServicesPage.checkContentIsDisplayed(mainFile.entry.name); + contentServicesPage.doubleClickRow(parentFolder.entry.name); + contentServicesPage.checkContentIsDisplayed(folderWithin.entry.name); + contentServicesPage.doubleClickRow(folderWithin.entry.name); + contentServicesPage.checkContentIsDisplayed(pdfFile.entry.name); + contentServicesPage.checkContentIsDisplayed(pngFile.entry.name); + }); }); - afterAll(async (done) => { - await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); - await uploadActions.deleteFileOrFolder(parentFolder.entry.id); - await uploadActions.deleteFileOrFolder(mainFolder.entry.id); - await uploadActions.deleteFileOrFolder(mainFile.entry.id); - done(); - }); - - it('[C216431] Should restore hierarchy of folders', async () => { - contentServicesPage.deleteContent(parentFolder.entry.name); - contentServicesPage.deleteContent(mainFolder.entry.name); - contentServicesPage.deleteContent(mainFile.entry.name); - - navigationBarPage.clickTrashcanButton(); - trashcanPage.waitForTableBody(); - trashcanPage.checkRestoreButtonIsNotDisplayed(); - trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(parentFolder.entry.name); - trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(parentFolder.entry.name); - trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(mainFolder.entry.name); - trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(mainFolder.entry.name); - trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(mainFile.entry.name); - trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(mainFile.entry.name); - trashcanPage.clickRestore(); - - navigationBarPage.clickContentServicesButton(); - contentServicesPage.waitForTableBody(); - contentServicesPage.checkContentIsDisplayed(parentFolder.entry.name); - contentServicesPage.checkContentIsDisplayed(mainFolder.entry.name); - contentServicesPage.checkContentIsDisplayed(mainFile.entry.name); - contentServicesPage.doubleClickRow(parentFolder.entry.name); - contentServicesPage.checkContentIsDisplayed(folderWithin.entry.name); - contentServicesPage.doubleClickRow(folderWithin.entry.name); - contentServicesPage.checkContentIsDisplayed(pdfFile.entry.name); - contentServicesPage.checkContentIsDisplayed(pngFile.entry.name); - }); -}); - }); diff --git a/e2e/content-services/document-list/document-list-actions.e2e.ts b/e2e/content-services/document-list/document-list-actions.e2e.ts index 171c1746cf..e2558eac7f 100644 --- a/e2e/content-services/document-list/document-list-actions.e2e.ts +++ b/e2e/content-services/document-list/document-list-actions.e2e.ts @@ -41,7 +41,7 @@ describe('Document List Component - Actions', () => { const breadCrumbPage = new BreadCrumbPage(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); const infinitePaginationPage = new InfinitePaginationPage(element(by.css('adf-content-node-selector'))); @@ -85,12 +85,16 @@ describe('Document List Component - Actions', () => { await loginPage.loginToContentServicesUsingUserModel(acsUser); - browser.driver.sleep(10000); + browser.driver.sleep(12000); done(); }); - beforeEach((done) => { - navigationBarPage.clickContentServicesButton(); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + + beforeEach(async(done) => { + await navigationBarPage.clickContentServicesButton(); done(); }); diff --git a/e2e/content-services/document-list/document-list-component.e2e.ts b/e2e/content-services/document-list/document-list-component.e2e.ts index d94731f59a..adc08746e2 100644 --- a/e2e/content-services/document-list/document-list-component.e2e.ts +++ b/e2e/content-services/document-list/document-list-component.e2e.ts @@ -32,7 +32,7 @@ describe('Document List Component', () => { let uploadedFolder, uploadedFolderExtra; this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); let acsUser = null; diff --git a/e2e/content-services/document-list/document-list-copy-move-actions.e2e.ts b/e2e/content-services/document-list/document-list-copy-move-actions.e2e.ts index 381010aeaa..39fa4b7278 100644 --- a/e2e/content-services/document-list/document-list-copy-move-actions.e2e.ts +++ b/e2e/content-services/document-list/document-list-copy-move-actions.e2e.ts @@ -27,7 +27,7 @@ import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { AcsUserModel } from '../../models/ACS/acsUserModel'; import resources = require('../../util/resources'); -import {AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; +import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { FileModel } from '../../models/ACS/fileModel'; describe('Document List Component', () => { @@ -40,11 +40,12 @@ describe('Document List Component', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); - let uploadedFolder, uploadedFile, sourceFolder, destinationFolder, subFolder, subFolder2, copyFolder, subFile, duplicateFolderName; + let uploadedFolder, uploadedFile, sourceFolder, destinationFolder, subFolder, subFolder2, copyFolder, subFile, + duplicateFolderName; let acsUser = null, anotherAcsUser: AcsUserModel; let folderName, sameNameFolder; @@ -89,16 +90,23 @@ describe('Document List Component', () => { } }); - browser.driver.sleep(10000); + browser.driver.sleep(12000); done(); }); afterAll(async (done) => { - await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); - uploadActions.deleteFileOrFolder(uploadedFolder.entry.id); - uploadActions.deleteFileOrFolder(uploadedFile.entry.id); - uploadActions.deleteFileOrFolder(sourceFolder.entry.id); - uploadActions.deleteFileOrFolder(destinationFolder.entry.id); + await navigationBarPage.clickLogoutButton(); + + try { + await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + await uploadActions.deleteFileOrFolder(uploadedFolder.entry.id); + await uploadActions.deleteFileOrFolder(uploadedFile.entry.id); + await uploadActions.deleteFileOrFolder(sourceFolder.entry.id); + await uploadActions.deleteFileOrFolder(destinationFolder.entry.id); + } catch (error) { + // tslint:disable-next-line:no-console + console.log('Error delete file or folder' + error); + } done(); }); diff --git a/e2e/content-services/document-list/document-list-gallery.e2e.ts b/e2e/content-services/document-list/document-list-gallery.e2e.ts index 9425d362fd..ecc55f5b10 100644 --- a/e2e/content-services/document-list/document-list-gallery.e2e.ts +++ b/e2e/content-services/document-list/document-list-gallery.e2e.ts @@ -30,11 +30,12 @@ describe('Document List Component', () => { const contentServicesPage = new ContentServicesPage(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); let acsUser = null; const navBar = new NavigationBarPage(); + const navigationBarPage = new NavigationBarPage(); describe('Gallery View', () => { @@ -81,6 +82,10 @@ describe('Document List Component', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + beforeEach(async () => { navBar.clickHomeButton(); contentServicesPage.goToDocumentList(); 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 4fd9632ff6..f730c0a5b7 100644 --- a/e2e/content-services/document-list/document-list-pagination.e2e.ts +++ b/e2e/content-services/document-list/document-list-pagination.e2e.ts @@ -59,7 +59,7 @@ describe('Document List - Pagination', function () { const folderThreeModel = new FolderModel({ 'name': 'folderThree' }); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -85,6 +85,10 @@ describe('Document List - Pagination', function () { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + beforeEach((done) => { contentServicesPage.goToDocumentList(); contentServicesPage.checkAcsContainer(); diff --git a/e2e/content-services/document-list/document-list-permissions.e2e.ts b/e2e/content-services/document-list/document-list-permissions.e2e.ts index e7889aa9d5..f2de5f475a 100644 --- a/e2e/content-services/document-list/document-list-permissions.e2e.ts +++ b/e2e/content-services/document-list/document-list-permissions.e2e.ts @@ -28,13 +28,15 @@ describe('Document List Component', () => { const contentServicesPage = new ContentServicesPage(); const navBar = new NavigationBarPage(); const errorPage = new ErrorPage(); + const navigationBarPage = new NavigationBarPage(); + let privateSite; let acsUser = null; beforeAll(() => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); }); @@ -57,6 +59,7 @@ describe('Document List Component', () => { }); afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); await this.alfrescoJsApi.core.sitesApi.deleteSite(privateSite.entry.id); navBar.openLanguageMenu(); navBar.chooseLanguage('English'); diff --git a/e2e/content-services/document-list/document-list-properties.e2e.ts b/e2e/content-services/document-list/document-list-properties.e2e.ts index 42c723bb6c..9b6d87d18d 100644 --- a/e2e/content-services/document-list/document-list-properties.e2e.ts +++ b/e2e/content-services/document-list/document-list-properties.e2e.ts @@ -29,12 +29,12 @@ describe('Document List Component - Properties', () => { const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); - const navigationBar = new NavigationBarPage(); + const navigationBarPage = new NavigationBarPage(); let subFolder, parentFolder; this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); let acsUser = null; @@ -72,7 +72,7 @@ describe('Document List Component - Properties', () => { }); it('[C299154] Should disallow upload content on a folder row if allowDropFiles is false', () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); contentServicesPage.doubleClickRow(parentFolder.entry.name); contentServicesPage.disableDropFilesInAFolder(); @@ -88,7 +88,7 @@ describe('Document List Component - Properties', () => { }); it('[C91319] Should allow upload content on a folder row if allowDropFiles is true', () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); contentServicesPage.doubleClickRow(parentFolder.entry.name); contentServicesPage.enableDropFilesInAFolder(); diff --git a/e2e/content-services/document-list/document-list-thumbnails-tooltips.e2e.ts b/e2e/content-services/document-list/document-list-thumbnails-tooltips.e2e.ts index afa17a2dd3..0bcafdd9f5 100644 --- a/e2e/content-services/document-list/document-list-thumbnails-tooltips.e2e.ts +++ b/e2e/content-services/document-list/document-list-thumbnails-tooltips.e2e.ts @@ -22,6 +22,7 @@ import resources = require('../../util/resources'); import { LoginPage, StringUtil, UploadActions } from '@alfresco/adf-testing'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { FileModel } from '../../models/ACS/fileModel'; +import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; describe('Document List Component', () => { @@ -30,11 +31,12 @@ describe('Document List Component', () => { let uploadedFolder, uploadedFolderExtra; this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); let acsUser = null; let testFileNode, pdfBFileNode; + const navigationBarPage = new NavigationBarPage(); afterEach(async (done) => { await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -92,6 +94,8 @@ describe('Document List Component', () => { }); afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); if (filePdfNode) { await uploadActions.deleteFileOrFolder(filePdfNode.entry.id); diff --git a/e2e/content-services/lock-file.e2e.ts b/e2e/content-services/lock-file.e2e.ts index 53ea5bbb7e..a2c7cd46aa 100644 --- a/e2e/content-services/lock-file.e2e.ts +++ b/e2e/content-services/lock-file.e2e.ts @@ -36,7 +36,7 @@ describe('Lock File', () => { const managerUser = new AcsUserModel(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); diff --git a/e2e/content-services/metadata/aspect-oriented-config.e2e.ts b/e2e/content-services/metadata/aspect-oriented-config.e2e.ts index f15eb6008b..101312dc09 100644 --- a/e2e/content-services/metadata/aspect-oriented-config.e2e.ts +++ b/e2e/content-services/metadata/aspect-oriented-config.e2e.ts @@ -51,7 +51,7 @@ describe('Aspect oriented config', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); uploadActions = new UploadActions(this.alfrescoJsApi); @@ -86,6 +86,10 @@ describe('Aspect oriented config', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + afterEach(async (done) => { viewerPage.clickCloseButton(); contentServicesPage.checkAcsContainer(); diff --git a/e2e/content-services/metadata/metadata-permissions.e2e.ts b/e2e/content-services/metadata/metadata-permissions.e2e.ts index 084ecf2420..4ebf8846b8 100644 --- a/e2e/content-services/metadata/metadata-permissions.e2e.ts +++ b/e2e/content-services/metadata/metadata-permissions.e2e.ts @@ -57,7 +57,7 @@ describe('permissions', () => { }); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -94,9 +94,9 @@ describe('permissions', () => { done(); }); - afterAll(async (done) => { + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); await this.alfrescoJsApi.core.sitesApi.deleteSite(site.entry.id); - done(); }); it('[C274692] Should not be possible edit metadata properties when the user is a consumer user', async () => { diff --git a/e2e/content-services/metadata/metadata-properties.e2e.ts b/e2e/content-services/metadata/metadata-properties.e2e.ts index bb4edbc6c5..fa2813a62b 100644 --- a/e2e/content-services/metadata/metadata-properties.e2e.ts +++ b/e2e/content-services/metadata/metadata-properties.e2e.ts @@ -56,7 +56,7 @@ describe('CardView Component - properties', () => { }); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -80,6 +80,10 @@ describe('CardView Component - properties', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + afterEach(() => { viewerPage.clickCloseButton(); }); diff --git a/e2e/content-services/metadata/metadata-smoke-tests.e2e.ts b/e2e/content-services/metadata/metadata-smoke-tests.e2e.ts index 45bf0b26b4..4fd859b654 100644 --- a/e2e/content-services/metadata/metadata-smoke-tests.e2e.ts +++ b/e2e/content-services/metadata/metadata-smoke-tests.e2e.ts @@ -62,7 +62,7 @@ describe('Metadata component', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -84,6 +84,10 @@ describe('Metadata component', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + describe('Viewer Metadata', () => { beforeAll(async () => { diff --git a/e2e/content-services/notifications-component.e2e.ts b/e2e/content-services/notifications-component.e2e.ts index 391dde571d..bcd2721f04 100644 --- a/e2e/content-services/notifications-component.e2e.ts +++ b/e2e/content-services/notifications-component.e2e.ts @@ -20,11 +20,13 @@ import { AcsUserModel } from '../models/ACS/acsUserModel'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { NotificationPage } from '../pages/adf/notificationPage'; import { browser } from 'protractor'; +import { NavigationBarPage } from '../pages/adf/navigationBarPage'; describe('Notifications Component', () => { const loginPage = new LoginPage(); const notificationHistoryPage = new NotificationPage(); + const navigationBarPage = new NavigationBarPage(); const acsUser = new AcsUserModel(); @@ -32,7 +34,7 @@ describe('Notifications Component', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -50,6 +52,10 @@ describe('Notifications Component', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + afterEach( () => { browser.executeScript(`document.querySelector('button[data-automation-id="notification-custom-dismiss-button"]').click();`); notificationHistoryPage.enterDurationField(3000); diff --git a/e2e/content-services/permissions/permissions-component.e2e.ts b/e2e/content-services/permissions/permissions-component.e2e.ts index 77c9841e09..6832103591 100644 --- a/e2e/content-services/permissions/permissions-component.e2e.ts +++ b/e2e/content-services/permissions/permissions-component.e2e.ts @@ -21,7 +21,7 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel'; import resources = require('../../util/resources'); import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { FileModel } from '../../models/ACS/fileModel'; -import { StringUtil, BrowserActions, NotificationHistoryPage, LoginPage, UploadActions } from '@alfresco/adf-testing'; +import { StringUtil, BrowserActions, NotificationHistoryPage, LoginPage, UploadActions } from '@alfresco/adf-testing'; import { browser } from 'protractor'; import { FolderModel } from '../../models/ACS/folderModel'; import { ViewerPage } from '../../pages/adf/viewerPage'; @@ -33,7 +33,7 @@ describe('Permissions Component', function () { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); @@ -165,6 +165,8 @@ describe('Permissions Component', function () { }); afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await folders.forEach(function (folder) { uploadActions.deleteFileOrFolder(folder.entry.id); @@ -174,7 +176,7 @@ describe('Permissions Component', function () { done(); }); - describe('Inherit and assigning permissions', () => { + describe('Inherit and assigning permissions', () => { beforeEach(async (done) => { @@ -254,7 +256,7 @@ describe('Permissions Component', function () { }); - describe('Changing and duplicate Permissions', () => { + describe('Changing and duplicate Permissions', () => { beforeEach(async (done) => { @@ -285,15 +287,8 @@ describe('Permissions Component', function () { }); afterEach(async (done) => { - - try { - await uploadActions.deleteFileOrFolder(file.entry.id); - - } catch (error) { - - } + await uploadActions.deleteFileOrFolder(file.entry.id); done(); - }); it('[C274691] Should be able to add a new User with permission to the file and also change locally set permissions', () => { diff --git a/e2e/content-services/permissions/site-permissions.e2e.ts b/e2e/content-services/permissions/site-permissions.e2e.ts index 457e1a1b2b..f6608c6574 100644 --- a/e2e/content-services/permissions/site-permissions.e2e.ts +++ b/e2e/content-services/permissions/site-permissions.e2e.ts @@ -33,7 +33,7 @@ describe('Permissions Component', function () { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); @@ -149,6 +149,8 @@ describe('Permissions Component', function () { }); afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id); await this.alfrescoJsApi.core.sitesApi.deleteSite(privateSite.entry.id); diff --git a/e2e/content-services/share-file/share-file.e2e.ts b/e2e/content-services/share-file/share-file.e2e.ts index 2221425961..c70dec04fa 100644 --- a/e2e/content-services/share-file/share-file.e2e.ts +++ b/e2e/content-services/share-file/share-file.e2e.ts @@ -15,7 +15,13 @@ * limitations under the License. */ -import { LoginPage, BrowserActions, LocalStorageUtil, NotificationHistoryPage, UploadActions } from '@alfresco/adf-testing'; +import { + LoginPage, + BrowserActions, + LocalStorageUtil, + NotificationHistoryPage, + UploadActions +} from '@alfresco/adf-testing'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { ViewerPage } from '../../pages/adf/viewerPage'; @@ -29,9 +35,9 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; describe('Share file', () => { this.alfrescoJsApi = new AlfrescoApi({ - provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url - }); + provider: 'ECM', + hostEcm: browser.params.testConfig.adf_acs.host + }); const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); const contentListPage = contentServicesPage.getDocumentList(); @@ -57,19 +63,16 @@ describe('Share file', () => { nodeId = pngUploadedFile.entry.id; - loginPage.loginToContentServicesUsingUserModel(acsUser); + await loginPage.loginToContentServicesUsingUserModel(acsUser); - navigationBarPage.clickContentServicesButton(); + await navigationBarPage.clickContentServicesButton(); done(); }); afterAll(async (done) => { - try { - await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); - await uploadActions.deleteFileOrFolder(nodeId); - } catch (error) { - } + await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + await uploadActions.deleteFileOrFolder(nodeId); done(); }); diff --git a/e2e/content-services/share-file/unshare-file.e2e.ts b/e2e/content-services/share-file/unshare-file.e2e.ts index a9b3da4e7b..b2afee6303 100644 --- a/e2e/content-services/share-file/unshare-file.e2e.ts +++ b/e2e/content-services/share-file/unshare-file.e2e.ts @@ -30,7 +30,7 @@ describe('Unshare file', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); @@ -38,6 +38,8 @@ describe('Unshare file', () => { const navBar = new NavigationBarPage(); const errorPage = new ErrorPage(); const notificationHistoryPage = new NotificationHistoryPage(); + const navigationBarPage = new NavigationBarPage(); + const shareDialog = new ShareDialog(); const siteName = `PRIVATE-TEST-SITE-${StringUtil.generateRandomString(5)}`; const acsUser = new AcsUserModel(); @@ -101,6 +103,10 @@ describe('Unshare file', () => { done(); }); + afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + }); + afterEach(async (done) => { await browser.refresh(); done(); @@ -149,7 +155,7 @@ describe('Unshare file', () => { shareDialog.confirmationDialogIsDisplayed(); shareDialog.clickConfirmationDialogRemoveButton(); shareDialog.dialogIsClosed(); - BrowserActions.getUrl(sharedLink); + BrowserActions.getUrl(sharedLink.replace(browser.params.testConfig.adf_acs.host, browser.params.testConfig.adf.host)); errorPage.checkErrorCode(); }); }); diff --git a/e2e/content-services/social/social.component.e2e.ts b/e2e/content-services/social/social.component.e2e.ts index 660c5468fb..1ae79694de 100644 --- a/e2e/content-services/social/social.component.e2e.ts +++ b/e2e/content-services/social/social.component.e2e.ts @@ -36,7 +36,7 @@ describe('Social component', () => { const secondComponentVisitor = new AcsUserModel(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -85,6 +85,7 @@ describe('Social component', () => { }); afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); await uploadActions.deleteFileOrFolder(emptyFile.entry.id); done(); }); diff --git a/e2e/content-services/sso/sso-download-directive-component.e2e.ts b/e2e/content-services/sso/sso-download-directive-component.e2e.ts index 4aa65f8de5..8c5322d139 100644 --- a/e2e/content-services/sso/sso-download-directive-component.e2e.ts +++ b/e2e/content-services/sso/sso-download-directive-component.e2e.ts @@ -51,7 +51,7 @@ describe('SSO in ADF using ACS and AIS, Download Directive, Viewer, DocumentList this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url, + hostEcm: browser.params.testConfig.adf_acs.host, authType: 'OAUTH', oauth2: { host: browser.params.testConfig.adf.hostSso, @@ -74,7 +74,7 @@ describe('SSO in ADF using ACS and AIS, Download Directive, Viewer, DocumentList describe('SSO in ADF using ACS and AIS, implicit flow set', () => { beforeAll(async (done) => { - const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.testConfig.adf.url, browser.params.testConfig.adf.hostSso, 'ECM'); + const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.testConfig.adf_acs.host, browser.params.testConfig.adf.hostSso, 'ECM'); await apiService.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); identityService = new IdentityService(apiService); @@ -90,18 +90,18 @@ describe('SSO in ADF using ACS and AIS, Download Directive, Viewer, DocumentList silentLogin = false; implicitFlow = true; - settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url, + + await settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host, browser.params.testConfig.adf.hostSso, - browser.params.testConfig.adf.hostIdentity, - silentLogin, implicitFlow, browser.params.config.oauth2.clientId); + browser.params.testConfig.adf.hostIdentity, silentLogin, implicitFlow, browser.params.config.oauth2.clientId); - loginSsoPage.clickOnSSOButton(); - loginSsoPage.loginSSOIdentityService(acsUser.id, acsUser.password); + await loginSsoPage.clickOnSSOButton(); + await loginSsoPage.loginSSOIdentityService(acsUser.id, acsUser.password); - navigationBarPage.clickContentServicesButton(); - contentServicesPage.checkAcsContainer(); + await navigationBarPage.clickContentServicesButton(); + await contentServicesPage.checkAcsContainer(); contentListPage.doubleClickRow(folderName); - contentListPage.waitForTableBody(); + await contentListPage.waitForTableBody(); done(); }); diff --git a/e2e/content-services/tag-component.e2e.ts b/e2e/content-services/tag-component.e2e.ts index 0abf367d86..26845fefeb 100644 --- a/e2e/content-services/tag-component.e2e.ts +++ b/e2e/content-services/tag-component.e2e.ts @@ -33,7 +33,7 @@ describe('Tag component', () => { const acsUser = new AcsUserModel(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); const pdfFileModel = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name }); @@ -82,10 +82,9 @@ describe('Tag component', () => { }); afterAll(async (done) => { - try { - await uploadActions.deleteFileOrFolder(pdfUploadedFile.entry.id); - } catch (error) { - } + await navigationBarPage.clickLogoutButton(); + + await uploadActions.deleteFileOrFolder(pdfUploadedFile.entry.id); done(); }); diff --git a/e2e/content-services/trashcan-pagination.e2e.ts b/e2e/content-services/trashcan-pagination.e2e.ts index f9514381f7..762377e2be 100644 --- a/e2e/content-services/trashcan-pagination.e2e.ts +++ b/e2e/content-services/trashcan-pagination.e2e.ts @@ -60,7 +60,7 @@ describe('Trashcan - Pagination', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -89,6 +89,11 @@ describe('Trashcan - Pagination', () => { done(); }); + afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + done(); + }); + afterEach((done) => { browser.refresh(); trashcanPage.waitForTableBody(); diff --git a/e2e/content-services/tree-view-component.e2e.ts b/e2e/content-services/tree-view-component.e2e.ts index 012e1829db..7c26f87e7f 100644 --- a/e2e/content-services/tree-view-component.e2e.ts +++ b/e2e/content-services/tree-view-component.e2e.ts @@ -30,9 +30,9 @@ describe('Tree View Component', () => { const acsUser = new AcsUserModel(); this.alfrescoJsApi = new AlfrescoApi({ - provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url - }); + provider: 'ECM', + hostEcm: browser.params.testConfig.adf_acs.host + }); const uploadActions = new UploadActions(this.alfrescoJsApi); let treeFolder, secondTreeFolder, thirdTreeFolder; @@ -52,10 +52,22 @@ describe('Tree View Component', () => { await this.alfrescoJsApi.login(acsUser.id, acsUser.password); - treeFolder = await this.alfrescoJsApi.nodes.addNode(nodeNames.parentFolder, { name: nodeNames.folder, nodeType: 'cm:folder' }); - secondTreeFolder = await this.alfrescoJsApi.nodes.addNode(nodeNames.parentFolder, { name: nodeNames.secondFolder, nodeType: 'cm:folder' }); - thirdTreeFolder = await this.alfrescoJsApi.nodes.addNode(secondTreeFolder.entry.id, { name: nodeNames.thirdFolder, nodeType: 'cm:folder' }); - await this.alfrescoJsApi.nodes.addNode(thirdTreeFolder.entry.id, { name: nodeNames.document, nodeType: 'cm:content' }); + treeFolder = await this.alfrescoJsApi.nodes.addNode(nodeNames.parentFolder, { + name: nodeNames.folder, + nodeType: 'cm:folder' + }); + secondTreeFolder = await this.alfrescoJsApi.nodes.addNode(nodeNames.parentFolder, { + name: nodeNames.secondFolder, + nodeType: 'cm:folder' + }); + thirdTreeFolder = await this.alfrescoJsApi.nodes.addNode(secondTreeFolder.entry.id, { + name: nodeNames.thirdFolder, + nodeType: 'cm:folder' + }); + await this.alfrescoJsApi.nodes.addNode(thirdTreeFolder.entry.id, { + name: nodeNames.document, + nodeType: 'cm:content' + }); loginPage.loginToContentServicesUsingUserModel(acsUser); @@ -65,13 +77,12 @@ describe('Tree View Component', () => { }); afterAll(async (done) => { - try { - await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + await navigationBarPage.clickLogoutButton(); - await uploadActions.deleteFileOrFolder(treeFolder.entry.id); - await uploadActions.deleteFileOrFolder(secondTreeFolder.entry.id); - } catch (error) { - } + await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + + await uploadActions.deleteFileOrFolder(treeFolder.entry.id); + await uploadActions.deleteFileOrFolder(secondTreeFolder.entry.id); done(); }); diff --git a/e2e/content-services/upload/cancel-upload.e2e.ts b/e2e/content-services/upload/cancel-upload.e2e.ts index b02bb5a577..87a892d938 100644 --- a/e2e/content-services/upload/cancel-upload.e2e.ts +++ b/e2e/content-services/upload/cancel-upload.e2e.ts @@ -24,12 +24,13 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { FileModel } from '../../models/ACS/fileModel'; import resources = require('../../util/resources'); import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; +import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; describe('Upload component', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const contentServicesPage = new ContentServicesPage(); const uploadDialog = new UploadDialog(); @@ -37,6 +38,7 @@ describe('Upload component', () => { const loginPage = new LoginPage(); const acsUser = new AcsUserModel(); const uploadActions = new UploadActions(this.alfrescoJsApi); + const navigationBarPage = new NavigationBarPage(); const firstPdfFileModel = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF_B.file_name, @@ -69,6 +71,11 @@ describe('Upload component', () => { done(); }); + afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + done(); + }); + beforeEach(() => { contentServicesPage.goToDocumentList(); }); diff --git a/e2e/content-services/upload/excluded-file.e2e.ts b/e2e/content-services/upload/excluded-file.e2e.ts index 3847dbca27..1c6cf09486 100644 --- a/e2e/content-services/upload/excluded-file.e2e.ts +++ b/e2e/content-services/upload/excluded-file.e2e.ts @@ -29,6 +29,7 @@ import resources = require('../../util/resources'); import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { DropActions } from '../../actions/drop.actions'; +import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; describe('Upload component - Excluded Files', () => { @@ -37,6 +38,7 @@ describe('Upload component - Excluded Files', () => { const uploadToggles = new UploadToggles(); const loginPage = new LoginPage(); const acsUser = new AcsUserModel(); + const navigationBarPage = new NavigationBarPage(); const iniExcludedFile = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.INI.file_name, @@ -56,7 +58,7 @@ describe('Upload component - Excluded Files', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -72,6 +74,11 @@ describe('Upload component - Excluded Files', () => { done(); }); + afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + done(); + }); + afterEach(async (done) => { contentServicesPage.goToDocumentList(); diff --git a/e2e/content-services/upload/upload-dialog.ts b/e2e/content-services/upload/upload-dialog.ts index 4d160fffa1..1e8aa47f30 100644 --- a/e2e/content-services/upload/upload-dialog.ts +++ b/e2e/content-services/upload/upload-dialog.ts @@ -25,6 +25,7 @@ import { browser } from 'protractor'; import resources = require('../../util/resources'); import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { VersionManagePage } from '../../pages/adf/versionManagerPage'; +import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; describe('Upload component', () => { @@ -34,9 +35,11 @@ describe('Upload component', () => { const loginPage = new LoginPage(); const acsUser = new AcsUserModel(); const versionManagePage = new VersionManagePage(); + const navigationBarPage = new NavigationBarPage(); + this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -75,6 +78,11 @@ describe('Upload component', () => { done(); }); + afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + done(); + }); + beforeEach(() => { contentServicesPage.goToDocumentList(); }); diff --git a/e2e/content-services/upload/uploader-component.e2e.ts b/e2e/content-services/upload/uploader-component.e2e.ts index 24bf28027a..e13ff024ea 100644 --- a/e2e/content-services/upload/uploader-component.e2e.ts +++ b/e2e/content-services/upload/uploader-component.e2e.ts @@ -37,7 +37,7 @@ describe('Upload component', () => { const acsUser = new AcsUserModel(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); const navigationBarPage = new NavigationBarPage(); @@ -86,6 +86,11 @@ describe('Upload component', () => { done(); }); + afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + done(); + }); + beforeEach(() => { contentServicesPage.goToDocumentList(); }); diff --git a/e2e/content-services/upload/user-permission.e2e.ts b/e2e/content-services/upload/user-permission.e2e.ts index 1afc3526ab..98722e5a68 100644 --- a/e2e/content-services/upload/user-permission.e2e.ts +++ b/e2e/content-services/upload/user-permission.e2e.ts @@ -59,7 +59,7 @@ describe('Upload - User permission', () => { beforeAll(() => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); }); @@ -98,6 +98,11 @@ describe('Upload - User permission', () => { done(); }); + afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + done(); + }); + describe('Consumer permissions', () => { beforeEach(async (done) => { diff --git a/e2e/content-services/version/version-actions.e2e.ts b/e2e/content-services/version/version-actions.e2e.ts index 1d369300b5..5f8cb72f53 100644 --- a/e2e/content-services/version/version-actions.e2e.ts +++ b/e2e/content-services/version/version-actions.e2e.ts @@ -62,7 +62,7 @@ describe('Version component actions', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); uploadActions = new UploadActions(this.alfrescoJsApi); @@ -87,6 +87,10 @@ describe('Version component actions', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C280003] Should not be possible delete a file version if there is only one version', () => { versionManagePage.clickActionButton('1.0'); expect(element(by.css(`[id="adf-version-list-action-delete-1.0"]`)).isEnabled()).toBe(false); diff --git a/e2e/content-services/version/version-permissions.e2e.ts b/e2e/content-services/version/version-permissions.e2e.ts index eb0c73fd90..2c807b432e 100644 --- a/e2e/content-services/version/version-permissions.e2e.ts +++ b/e2e/content-services/version/version-permissions.e2e.ts @@ -64,7 +64,7 @@ describe('Version component permissions', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); const nodeActions = new NodeActions(); @@ -142,6 +142,8 @@ describe('Version component permissions', () => { }); afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + await this.alfrescoJsApi.nodes.deleteNode(sameCreatorFile.id); done(); }); @@ -184,6 +186,10 @@ describe('Version component permissions', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C277197] Should a user with Consumer permission not be able to upload a new version for a file with different creator', () => { contentServices.versionManagerContent(differentCreatorFile.name); @@ -218,6 +224,8 @@ describe('Version component permissions', () => { }); afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + await this.alfrescoJsApi.nodes.deleteNode(sameCreatorFile.id); done(); }); @@ -276,6 +284,7 @@ describe('Version component permissions', () => { }); afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); await this.alfrescoJsApi.nodes.deleteNode(sameCreatorFile.id); done(); }); diff --git a/e2e/content-services/version/version-properties.e2e.ts b/e2e/content-services/version/version-properties.e2e.ts index b46c10f4d0..ea485c9c3b 100644 --- a/e2e/content-services/version/version-properties.e2e.ts +++ b/e2e/content-services/version/version-properties.e2e.ts @@ -45,7 +45,7 @@ describe('Version Properties', () => { }); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -72,6 +72,11 @@ describe('Version Properties', () => { done(); }); + afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + done(); + }); + it('[C272817] Should NOT be present the download action when allowDownload property is false', () => { versionManagePage.disableDownload(); diff --git a/e2e/content-services/version/version-smoke-tests.e2e.ts b/e2e/content-services/version/version-smoke-tests.e2e.ts index 5aec178cd5..bfff41c072 100644 --- a/e2e/content-services/version/version-smoke-tests.e2e.ts +++ b/e2e/content-services/version/version-smoke-tests.e2e.ts @@ -62,7 +62,7 @@ describe('Version component', () => { }); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -88,6 +88,11 @@ describe('Version component', () => { done(); }); + afterAll(async (done) => { + await navigationBarPage.clickLogoutButton(); + done(); + }); + it('[C272768] Should be visible the first file version when you upload a file', () => { versionManagePage.checkUploadNewVersionsButtonIsDisplayed(); diff --git a/e2e/core/auth-guard/auth-guard-sso.e2e.ts b/e2e/core/auth-guard/auth-guard-sso.e2e.ts index 042dd698d5..63555a91bd 100644 --- a/e2e/core/auth-guard/auth-guard-sso.e2e.ts +++ b/e2e/core/auth-guard/auth-guard-sso.e2e.ts @@ -25,15 +25,18 @@ describe('Auth Guard SSO', () => { const errorPage = new ErrorPage(); it('[C307058] Should be redirected to 403 when user doesn\'t have permissions', async () => { - settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url, + settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host, browser.params.testConfig.adf.hostSso, browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId); + browser.driver.sleep(5000); + loginSSOPage.clickOnSSOButton(); + await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); BrowserActions.getUrl(browser.params.testConfig.adf.url + '/cloud/simple-app'); - browser.driver.sleep(1000); + browser.driver.sleep(2000); expect(errorPage.getErrorCode()).toBe('403'); }); diff --git a/e2e/core/card-view/card-view-component.e2e.ts b/e2e/core/card-view/card-view-component.e2e.ts index 3af67ff516..c65b941d2f 100644 --- a/e2e/core/card-view/card-view-component.e2e.ts +++ b/e2e/core/card-view/card-view-component.e2e.ts @@ -37,6 +37,10 @@ describe('CardView Component', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + afterEach(() => { cardViewPageComponent.clickOnResetButton(); }); diff --git a/e2e/core/datatable/data-table-component-selection.e2e.ts b/e2e/core/datatable/data-table-component-selection.e2e.ts index b6dcc8ddf5..74c32aa723 100644 --- a/e2e/core/datatable/data-table-component-selection.e2e.ts +++ b/e2e/core/datatable/data-table-component-selection.e2e.ts @@ -35,7 +35,7 @@ describe('Datatable component - selection', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -49,6 +49,10 @@ describe('Datatable component - selection', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C213258] Should be possible change the selection modes when change the selectionMode property', () => { dataTablePage.selectRow('2'); dataTableComponent.checkRowIsSelected('Id', '2'); diff --git a/e2e/core/datatable/data-table-component.e2e.ts b/e2e/core/datatable/data-table-component.e2e.ts index f55665236f..1aeff582d0 100644 --- a/e2e/core/datatable/data-table-component.e2e.ts +++ b/e2e/core/datatable/data-table-component.e2e.ts @@ -46,7 +46,7 @@ describe('Datatable component', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -58,6 +58,10 @@ describe('Datatable component', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + describe('Datatable component', () => { beforeAll(async (done) => { diff --git a/e2e/core/error-component.e2e.ts b/e2e/core/error-component.e2e.ts index f98b5747e1..ba696c1485 100644 --- a/e2e/core/error-component.e2e.ts +++ b/e2e/core/error-component.e2e.ts @@ -19,17 +19,19 @@ import { LoginPage, ErrorPage, BrowserActions } from '@alfresco/adf-testing'; import { AcsUserModel } from '../models/ACS/acsUserModel'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { browser } from 'protractor'; +import { NavigationBarPage } from '../pages/adf/navigationBarPage'; describe('Error Component', () => { const acsUser = new AcsUserModel(); const loginPage = new LoginPage(); const errorPage = new ErrorPage(); + const navigationBarPage = new NavigationBarPage(); beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -40,6 +42,10 @@ describe('Error Component', () => { }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C277302] Should display the error 403 when access to unauthorized page - My Change', () => { BrowserActions.getUrl(browser.params.testConfig.adf.url + '/error/403'); expect(errorPage.getErrorCode()).toBe('403'); diff --git a/e2e/core/header-component.e2e.ts b/e2e/core/header-component.e2e.ts index bd9463c621..96892a2bd7 100644 --- a/e2e/core/header-component.e2e.ts +++ b/e2e/core/header-component.e2e.ts @@ -49,7 +49,7 @@ describe('Header Component', () => { beforeAll(async(done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); const users = new UsersActions(); @@ -73,6 +73,7 @@ describe('Header Component', () => { }); afterAll(async(done) => { + await navigationBarPage.clickLogoutButton(); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId); done(); diff --git a/e2e/core/icons-component.e2e.ts b/e2e/core/icons-component.e2e.ts index 6bf379a450..11c2647a2c 100644 --- a/e2e/core/icons-component.e2e.ts +++ b/e2e/core/icons-component.e2e.ts @@ -33,7 +33,7 @@ describe('Universal Icon component', function () { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -43,6 +43,10 @@ describe('Universal Icon component', function () { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + beforeEach(async (done) => { navigationBarPage.navigateToIconsPage(); done(); diff --git a/e2e/core/infinite-scrolling.e2e.ts b/e2e/core/infinite-scrolling.e2e.ts index 683d485df1..d5c35cce79 100644 --- a/e2e/core/infinite-scrolling.e2e.ts +++ b/e2e/core/infinite-scrolling.e2e.ts @@ -55,7 +55,7 @@ describe('Enable infinite scrolling', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -82,6 +82,10 @@ describe('Enable infinite scrolling', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + beforeEach(async (done) => { navigationBarPage.clickContentServicesButton(); contentServicesPage.checkAcsContainer(); diff --git a/e2e/core/login/login-component.e2e.ts b/e2e/core/login/login-component.e2e.ts index 03a93dff51..8839665335 100644 --- a/e2e/core/login/login-component.e2e.ts +++ b/e2e/core/login/login-component.e2e.ts @@ -59,8 +59,8 @@ describe('Login component', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ALL', - hostEcm: browser.params.testConfig.adf.url, - hostBpm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host, + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/core/login/login-sso/login-sso-error.e2e.ts b/e2e/core/login/login-sso/login-sso-error.e2e.ts new file mode 100644 index 0000000000..c9b668c746 --- /dev/null +++ b/e2e/core/login/login-sso/login-sso-error.e2e.ts @@ -0,0 +1,43 @@ +/*! + * @license + * Copyright 2019 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { LoginSSOPage, SettingsPage } from '@alfresco/adf-testing'; +import { browser } from 'protractor'; + +describe('Login component - SSO', () => { + + const settingsPage = new SettingsPage(); + const loginSSOPage = new LoginSSOPage(); + + describe('SSO Login Error for login component', () => { + + afterEach(async () => { + await browser.executeScript('window.sessionStorage.clear();'); + await browser.executeScript('window.localStorage.clear();'); + }); + + it('[C299205] Should display the login error message when the SSO identity service is wrongly configured', async () => { + await settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host, + 'http://aps22/auth/realms/alfresco', + browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId); + await loginSSOPage.clickOnSSOButton(); + await loginSSOPage.checkLoginErrorIsDisplayed(); + expect(loginSSOPage.getLoginErrorMessage()).toContain('SSO Authentication server unreachable'); + }); + }); + +}); diff --git a/e2e/core/login/login-sso/login-sso.e2e.ts b/e2e/core/login/login-sso/login-sso.e2e.ts index 0c06f1f72f..c17c891641 100644 --- a/e2e/core/login/login-sso/login-sso.e2e.ts +++ b/e2e/core/login/login-sso/login-sso.e2e.ts @@ -29,65 +29,39 @@ describe('Login component - SSO', () => { const silentLogin = false; let implicitFlow; - describe('Login component - SSO implicit Flow', () => { + it('[C280665] Should be possible change the logout redirect URL', async () => { + await settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url, + browser.params.testConfig.adf.hostSso, + browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId, '/login'); + await loginSSOPage.clickOnSSOButton(); + await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + await navigationBarPage.clickLogoutButton(); - afterEach(() => { - navigationBarPage.clickLogoutButton(); - browser.executeScript('window.sessionStorage.clear();'); - browser.executeScript('window.localStorage.clear();'); - }); + browser.sleep(2000); - it('[C261050] Should be possible login with SSO', () => { - settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url, - browser.params.testConfig.adf.hostSso, - browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId); - loginSSOPage.clickOnSSOButton(); - loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); - }); - - it('[C280667] Should be redirect directly to keycloak without show the login page with silent login', () => { - settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url, - browser.params.testConfig.adf.hostSso, - browser.params.testConfig.adf.hostIdentity, true, true, browser.params.config.oauth2.clientId); - loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); - }); - }); - - describe('SSO Login Error for login component', () => { - - afterEach(() => { - browser.executeScript('window.sessionStorage.clear();'); - browser.executeScript('window.localStorage.clear();'); - }); - - it('[C299205] Should display the login error message when the SSO identity service is wrongly configured', () => { - settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url, - 'http://aps22/auth/realms/alfresco', - browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId); - loginSSOPage.clickOnSSOButton(); - loginSSOPage.checkLoginErrorIsDisplayed(); - expect(loginSSOPage.getLoginErrorMessage()).toContain('SSO Authentication server unreachable'); + browser.getCurrentUrl().then((actualUrl) => { + expect(actualUrl).toEqual(browser.params.testConfig.adf.url + '/login'); }); }); describe('Login component - SSO Grant type password (implicit flow false)', () => { - it('[C299158] Should be possible to login with SSO, with grant type password (Implicit Flow false)', () => { + it('[C299158] Should be possible to login with SSO, with grant type password (Implicit Flow false)', async () => { implicitFlow = false; - settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url, + await settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host, browser.params.testConfig.adf.hostSso, browser.params.testConfig.adf.hostIdentity, silentLogin, implicitFlow, browser.params.config.oauth2.clientId); - loginPage.waitForElements(); + await loginPage.waitForElements(); - settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url, + await settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host, browser.params.testConfig.adf.hostSso, browser.params.testConfig.adf.hostIdentity, silentLogin, implicitFlow, browser.params.config.oauth2.clientId); browser.ignoreSynchronization = true; - loginPage.enterUsername(browser.params.testConfig.adf.adminEmail); - loginPage.enterPassword(browser.params.testConfig.adf.adminPassword); - loginPage.clickSignInButton(); + await loginPage.enterUsername(browser.params.testConfig.adf.adminEmail); + await loginPage.enterPassword(browser.params.testConfig.adf.adminPassword); + await loginPage.clickSignInButton(); let isDisplayed = false; @@ -105,17 +79,29 @@ describe('Login component - SSO', () => { }); }); - it('[C280665] Should be possible change the logout redirect URL', () => { - settingsPage.setProviderEcmSso(browser.params.testConfig.adf.url, - browser.params.testConfig.adf.hostSso, - browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId, '/login'); - loginSSOPage.clickOnSSOButton(); - loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); - navigationBarPage.clickLogoutButton(); + describe('Login component - SSO implicit Flow', () => { - browser.getCurrentUrl().then((actualUrl) => { - expect(actualUrl).toEqual(browser.params.testConfig.adf.url + '/login'); + afterEach(() => { + navigationBarPage.clickLogoutButton(); + browser.executeScript('window.sessionStorage.clear();'); + browser.executeScript('window.localStorage.clear();'); + }); + + it('[C261050] Should be possible login with SSO', async () => { + await settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host, + browser.params.testConfig.adf.hostSso, + browser.params.testConfig.adf.hostIdentity, false, true, browser.params.config.oauth2.clientId); + await loginSSOPage.clickOnSSOButton(); + await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + }); + + it('[C280667] Should be redirect directly to keycloak without show the login page with silent login', async () => { + await settingsPage.setProviderEcmSso(browser.params.testConfig.adf_acs.host, + browser.params.testConfig.adf.hostSso, + browser.params.testConfig.adf.hostIdentity, true, true, browser.params.config.oauth2.clientId); + await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); }); }); + }); diff --git a/e2e/core/login/redirection.e2e.ts b/e2e/core/login/redirection.e2e.ts index f8bdf1378e..4e8cdff225 100644 --- a/e2e/core/login/redirection.e2e.ts +++ b/e2e/core/login/redirection.e2e.ts @@ -42,8 +42,8 @@ describe('Login component - Redirect', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url, - hostBpm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host, + hostBpm: browser.params.testConfig.adf_aps.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); const logoutPage = new LogoutPage(); diff --git a/e2e/core/pagination-empty-current-page.e2e.ts b/e2e/core/pagination-empty-current-page.e2e.ts index 4ddb108202..7ff27bbeb3 100644 --- a/e2e/core/pagination-empty-current-page.e2e.ts +++ b/e2e/core/pagination-empty-current-page.e2e.ts @@ -30,6 +30,7 @@ import { UploadActions } from '@alfresco/adf-testing'; import { Util } from '../util/util'; import resources = require('../util/resources'); import { browser } from 'protractor'; +import { NavigationBarPage } from '../pages/adf/navigationBarPage'; describe('Pagination - returns to previous page when current is empty', () => { @@ -37,6 +38,7 @@ describe('Pagination - returns to previous page when current is empty', () => { const contentServicesPage = new ContentServicesPage(); const paginationPage = new PaginationPage(); const viewerPage = new ViewerPage(); + const navigationBarPage = new NavigationBarPage(); const acsUser = new AcsUserModel(); const folderModel = new FolderModel({ 'name': 'folderOne' }); @@ -68,7 +70,7 @@ describe('Pagination - returns to previous page when current is empty', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -101,6 +103,10 @@ describe('Pagination - returns to previous page when current is empty', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C274710] Should redirect to previous page when current is emptied', () => { contentServicesPage.doubleClickRow(folderModel.name); contentServicesPage.checkAcsContainer(); diff --git a/e2e/core/settings-component.e2e.ts b/e2e/core/settings-component.e2e.ts index 6a1e113a17..4900537f27 100644 --- a/e2e/core/settings-component.e2e.ts +++ b/e2e/core/settings-component.e2e.ts @@ -56,8 +56,8 @@ describe('Settings component', () => { loginPage.waitForElements(); settingsPage.goToSettingsPage(); expect(settingsPage.getSelectedOptionText()).toEqual('ALL', 'The Settings changes are not saved'); - expect(settingsPage.getBpmHostUrl()).toEqual(browser.params.testConfig.adf.url, 'The BPM Settings changes are not saved'); - expect(settingsPage.getEcmHostUrl()).toEqual(browser.params.testConfig.adf.url, 'The ECM Settings changes are not saved'); + expect(settingsPage.getBpmHostUrl()).toEqual(browser.params.testConfig.adf_aps.host, 'The BPM Settings changes are not saved'); + expect(settingsPage.getEcmHostUrl()).toEqual(browser.params.testConfig.adf_acs.host, 'The ECM Settings changes are not saved'); }); @@ -104,8 +104,8 @@ describe('Settings component', () => { beforeAll( (done) => { settingsPage.goToSettingsPage(); settingsPage.setProvider(settingsPage.getEcmAndBpmOption(), 'ALL'); - settingsPage.setContentServicesURL(browser.params.testConfig.adf.url); - settingsPage.setProcessServicesURL(browser.params.testConfig.adf.url); + settingsPage.setContentServicesURL(browser.params.testConfig.adf_acs.host); + settingsPage.setProcessServicesURL(browser.params.testConfig.adf_aps.host); settingsPage.clickApply(); done(); }); @@ -121,8 +121,8 @@ describe('Settings component', () => { settingsPage.checkProviderOptions(); settingsPage.checkBasicAuthRadioIsSelected(); settingsPage.checkSsoRadioIsNotSelected(); - expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf.url); - expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf.url); + expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf_acs.host); + expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf_aps.host); expect(settingsPage.getBackButton().isEnabled()).toBe(true); expect(settingsPage.getApplyButton().isEnabled()).toBe(true); loginPage.goToLoginPage(); @@ -145,7 +145,7 @@ describe('Settings component', () => { expect(settingsPage.getSelectedOptionText()).toBe('BPM'); settingsPage.checkBasicAuthRadioIsSelected(); settingsPage.checkSsoRadioIsNotSelected(); - expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf.url); + expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf_aps.host); expect(settingsPage.getBackButton().isEnabled()).toBe(true); expect(settingsPage.getApplyButton().isEnabled()).toBe(true); settingsPage.clickBackButton(); @@ -172,7 +172,7 @@ describe('Settings component', () => { expect(settingsPage.getSelectedOptionText()).toBe('ECM'); settingsPage.checkBasicAuthRadioIsSelected(); settingsPage.checkSsoRadioIsNotSelected(); - expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf.url); + expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf_acs.host); expect(settingsPage.getBackButton().isEnabled()).toBe(true); expect(settingsPage.getApplyButton().isEnabled()).toBe(true); settingsPage.clickBackButton(); @@ -201,8 +201,8 @@ describe('Settings component', () => { expect(settingsPage.getSelectedOptionText()).toBe('ALL'); settingsPage.checkBasicAuthRadioIsSelected(); settingsPage.checkSsoRadioIsNotSelected(); - expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf.url); - expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf.url); + expect(settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.adf_acs.host); + expect(settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.adf_aps.host); expect(settingsPage.getBackButton().isEnabled()).toBe(true); expect(settingsPage.getApplyButton().isEnabled()).toBe(true); settingsPage.clickBackButton(); diff --git a/e2e/core/user-info-component.e2e.ts b/e2e/core/user-info-component.e2e.ts index 7e7905c623..0cb7f5e5d8 100644 --- a/e2e/core/user-info-component.e2e.ts +++ b/e2e/core/user-info-component.e2e.ts @@ -28,12 +28,15 @@ import resources = require('../util/resources'); import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { UsersActions } from '../actions/users.actions'; +import { NavigationBarPage } from '../pages/adf/navigationBarPage'; describe('User Info component', () => { const loginPage = new LoginPage(); const userInfoPage = new UserInfoPage(); let processUserModel, contentUserModel; + const navigationBarPage = new NavigationBarPage(); + const acsAvatarFileModel = new FileModel({ 'name': resources.Files.PROFILE_IMAGES.ECM.file_name, 'location': resources.Files.PROFILE_IMAGES.ECM.file_location @@ -48,8 +51,8 @@ describe('User Info component', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ALL', - hostEcm: browser.params.testConfig.adf.url, - hostBpm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host, + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -69,6 +72,10 @@ describe('User Info component', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C260111] Should display UserInfo when Process Services and Content Services are enabled', async () => { await loginPage.loginToAllUsingUserModel(contentUserModel); diff --git a/e2e/core/viewer/file-extensions/viewer-arcive.component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-arcive.component.e2e.ts index 86e801b7da..1cfd2d7943 100644 --- a/e2e/core/viewer/file-extensions/viewer-arcive.component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-arcive.component.e2e.ts @@ -25,17 +25,20 @@ import resources = require('../../../util/resources'); import { FolderModel } from '../../../models/ACS/folderModel'; import { AcsUserModel } from '../../../models/ACS/acsUserModel'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; +import { NavigationBarPage } from '../../../pages/adf/navigationBarPage'; describe('Viewer', () => { const viewerPage = new ViewerPage(); const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); + const navigationBarPage = new NavigationBarPage(); + let site; const acsUser = new AcsUserModel(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -64,6 +67,10 @@ describe('Viewer', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + describe('Archive Folder Uploaded', () => { let uploadedArchives; let archiveFolderUploaded; diff --git a/e2e/core/viewer/file-extensions/viewer-component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-component.e2e.ts index a4e5d8f824..af51099397 100644 --- a/e2e/core/viewer/file-extensions/viewer-component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-component.e2e.ts @@ -30,12 +30,13 @@ import { NavigationBarPage } from '../../..//pages/adf/navigationBarPage'; describe('Viewer', () => { const viewerPage = new ViewerPage(); - const navigationBarPage = new NavigationBarPage(); const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); + const navigationBarPage = new NavigationBarPage(); + this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); let site; @@ -72,6 +73,10 @@ describe('Viewer', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C272813] Should be redirected to site when opening and closing a file in a site', async () => { await loginPage.loginToContentServicesUsingUserModel(acsUser); diff --git a/e2e/core/viewer/file-extensions/viewer-excel.component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-excel.component.e2e.ts index 2053362b92..d760b79953 100644 --- a/e2e/core/viewer/file-extensions/viewer-excel.component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-excel.component.e2e.ts @@ -24,12 +24,15 @@ import resources = require('../../../util/resources'); import { FolderModel } from '../../../models/ACS/folderModel'; import { AcsUserModel } from '../../../models/ACS/acsUserModel'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; +import { NavigationBarPage } from '../../../pages/adf/navigationBarPage'; describe('Viewer', () => { const viewerPage = new ViewerPage(); const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); + const navigationBarPage = new NavigationBarPage(); + let site; const acsUser = new AcsUserModel(); @@ -39,7 +42,7 @@ describe('Viewer', () => { }); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -61,6 +64,11 @@ describe('Viewer', () => { done(); }); + + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + describe('Excel Folder Uploaded', () => { let uploadedExcels; @@ -92,7 +100,7 @@ describe('Viewer', () => { viewerPage.clickCloseButton(); } }); - }); + }, 5 * 60 * 1000); }); diff --git a/e2e/core/viewer/file-extensions/viewer-image.component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-image.component.e2e.ts index e78186fd08..f6b1a15a87 100644 --- a/e2e/core/viewer/file-extensions/viewer-image.component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-image.component.e2e.ts @@ -24,15 +24,18 @@ import resources = require('../../../util/resources'); import { FolderModel } from '../../../models/ACS/folderModel'; import { AcsUserModel } from '../../../models/ACS/acsUserModel'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; +import { NavigationBarPage } from '../../../pages/adf/navigationBarPage'; describe('Viewer', () => { const viewerPage = new ViewerPage(); const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); + const navigationBarPage = new NavigationBarPage(); + this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); let site; @@ -67,6 +70,10 @@ describe('Viewer', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + describe('Image Folder Uploaded', () => { let uploadedImages, uploadedImgRenditionFolderInfo; @@ -112,7 +119,7 @@ describe('Viewer', () => { viewerPage.clickCloseButton(); } }); - }); + }, 5 * 60 * 1000); }); diff --git a/e2e/core/viewer/file-extensions/viewer-powerpoint.component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-powerpoint.component.e2e.ts index 7092b0a44c..db9995caf0 100644 --- a/e2e/core/viewer/file-extensions/viewer-powerpoint.component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-powerpoint.component.e2e.ts @@ -24,15 +24,18 @@ import { FolderModel } from '../../../models/ACS/folderModel'; import { AcsUserModel } from '../../../models/ACS/acsUserModel'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { browser } from 'protractor'; +import { NavigationBarPage } from '../../../pages/adf/navigationBarPage'; describe('Viewer', () => { const viewerPage = new ViewerPage(); const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); + const navigationBarPage = new NavigationBarPage(); + this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -63,6 +66,10 @@ describe('Viewer', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + describe('PowerPoint Folder Uploaded', () => { let uploadedPpt; @@ -94,7 +101,7 @@ describe('Viewer', () => { viewerPage.clickCloseButton(); } }); - }); + }, 5 * 60 * 1000); }); diff --git a/e2e/core/viewer/file-extensions/viewer-text.component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-text.component.e2e.ts index cdd33466ec..bfa2b7f34e 100644 --- a/e2e/core/viewer/file-extensions/viewer-text.component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-text.component.e2e.ts @@ -24,15 +24,18 @@ import resources = require('../../../util/resources'); import { FolderModel } from '../../../models/ACS/folderModel'; import { AcsUserModel } from '../../../models/ACS/acsUserModel'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; +import { NavigationBarPage } from '../../../pages/adf/navigationBarPage'; describe('Viewer', () => { const viewerPage = new ViewerPage(); const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); + const navigationBarPage = new NavigationBarPage(); + this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); let site; @@ -62,6 +65,10 @@ describe('Viewer', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + describe('Text Folder Uploaded', () => { let uploadedTexts; diff --git a/e2e/core/viewer/file-extensions/viewer-word.component.e2e.ts b/e2e/core/viewer/file-extensions/viewer-word.component.e2e.ts index 03339f361a..e07443245c 100644 --- a/e2e/core/viewer/file-extensions/viewer-word.component.e2e.ts +++ b/e2e/core/viewer/file-extensions/viewer-word.component.e2e.ts @@ -24,15 +24,18 @@ import resources = require('../../../util/resources'); import { FolderModel } from '../../../models/ACS/folderModel'; import { AcsUserModel } from '../../../models/ACS/acsUserModel'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; +import { NavigationBarPage } from '../../../pages/adf/navigationBarPage'; describe('Viewer', () => { const viewerPage = new ViewerPage(); const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); + const navigationBarPage = new NavigationBarPage(); + this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); let site; @@ -62,6 +65,10 @@ describe('Viewer', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + describe('Word Folder Uploaded', () => { let uploadedWords; diff --git a/e2e/core/viewer/info-drawer.component.e2e.ts b/e2e/core/viewer/info-drawer.component.e2e.ts index 7138379f08..5e4596c347 100644 --- a/e2e/core/viewer/info-drawer.component.e2e.ts +++ b/e2e/core/viewer/info-drawer.component.e2e.ts @@ -34,7 +34,7 @@ describe('Info Drawer', () => { const contentServicesPage = new ContentServicesPage(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); let site; @@ -79,6 +79,10 @@ describe('Info Drawer', () => { contentServicesPage.checkAcsContainer(); }); + afterEach(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C277251] Should display the icon when the icon property is defined', () => { viewerPage.viewFile(pngFileUploaded.entry.name); viewerPage.clickLeftSidebarButton(); diff --git a/e2e/core/viewer/viewer-content-services-component.e2e.ts b/e2e/core/viewer/viewer-content-services-component.e2e.ts index 0361605c02..48183c1728 100644 --- a/e2e/core/viewer/viewer-content-services-component.e2e.ts +++ b/e2e/core/viewer/viewer-content-services-component.e2e.ts @@ -24,12 +24,15 @@ import resources = require('../../util/resources'); import { FileModel } from '../../models/ACS/fileModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; +import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; describe('Content Services Viewer', () => { const acsUser = new AcsUserModel(); const viewerPage = new ViewerPage(); const contentServicesPage = new ContentServicesPage(); const loginPage = new LoginPage(); + const navigationBarPage = new NavigationBarPage(); + let zoom; const pdfFile = new FileModel({ @@ -70,7 +73,7 @@ describe('Content Services Viewer', () => { }); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -111,7 +114,6 @@ describe('Content Services Viewer', () => { }); afterAll(async (done) => { - await uploadActions.deleteFileOrFolder(pdfFile.getId()); await uploadActions.deleteFileOrFolder(protectedFile.getId()); await uploadActions.deleteFileOrFolder(docxFile.getId()); @@ -119,6 +121,7 @@ describe('Content Services Viewer', () => { await uploadActions.deleteFileOrFolder(mp4File.getId()); await uploadActions.deleteFileOrFolder(pptFile.getId()); await uploadActions.deleteFileOrFolder(unsupportedFile.getId()); + await navigationBarPage.clickLogoutButton(); done(); }); 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 a68194dfe6..777b6fd7ef 100644 --- a/e2e/core/viewer/viewer-custom-toolbar-info-drawer.e2e.ts +++ b/e2e/core/viewer/viewer-custom-toolbar-info-drawer.e2e.ts @@ -23,15 +23,17 @@ import resources = require('../../util/resources'); import { FileModel } from '../../models/ACS/fileModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; +import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; describe('Viewer', () => { + const navigationBarPage = new NavigationBarPage(); const viewerPage = new ViewerPage(); const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); const acsUser = new AcsUserModel(); @@ -57,6 +59,7 @@ describe('Viewer', () => { afterAll(async (done) => { await uploadActions.deleteFileOrFolder(txtFileUploaded.entry.id); + await navigationBarPage.clickLogoutButton(); done(); }); diff --git a/e2e/core/viewer/viewer-extension.e2e.ts b/e2e/core/viewer/viewer-extension.e2e.ts index ecf5e57248..349987dd4f 100644 --- a/e2e/core/viewer/viewer-extension.e2e.ts +++ b/e2e/core/viewer/viewer-extension.e2e.ts @@ -35,7 +35,7 @@ describe('Viewer', () => { const contentServicesPage = new ContentServicesPage(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); let site; @@ -75,6 +75,7 @@ describe('Viewer', () => { afterAll(async (done) => { await this.alfrescoJsApi.login(acsUser.id, acsUser.password); await uploadActions.deleteFileOrFolder(jsFileUploaded.entry.id); + await navigationBarPage.clickLogoutButton(); done(); }); diff --git a/e2e/core/viewer/viewer-properties.e2e.ts b/e2e/core/viewer/viewer-properties.e2e.ts index 26b76ad8e4..97829f30b4 100644 --- a/e2e/core/viewer/viewer-properties.e2e.ts +++ b/e2e/core/viewer/viewer-properties.e2e.ts @@ -45,7 +45,7 @@ describe('Viewer - properties', () => { }); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -78,6 +78,7 @@ describe('Viewer - properties', () => { afterAll(async (done) => { await uploadActions.deleteFileOrFolder(pngFile.getId()); + await navigationBarPage.clickLogoutButton(); done(); }); diff --git a/e2e/core/viewer/viewer-share-content.ts b/e2e/core/viewer/viewer-share-content.ts index aefc8cbbad..5d9554040e 100644 --- a/e2e/core/viewer/viewer-share-content.ts +++ b/e2e/core/viewer/viewer-share-content.ts @@ -35,7 +35,7 @@ describe('Viewer', () => { const contentServicesPage = new ContentServicesPage(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); let site; @@ -86,6 +86,7 @@ describe('Viewer', () => { afterAll(async (done) => { await this.alfrescoJsApi.login(acsUser.id, acsUser.password); await uploadActions.deleteFileOrFolder(wordFileUploaded.entry.id); + await navigationBarPage.clickLogoutButton(); done(); }); diff --git a/e2e/insights/analytics-component.e2e.ts b/e2e/insights/analytics-component.e2e.ts index 8cce0e016d..346f954515 100644 --- a/e2e/insights/analytics-component.e2e.ts +++ b/e2e/insights/analytics-component.e2e.ts @@ -39,7 +39,7 @@ describe('Analytics Smoke Test', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/lite-server-proxy.js b/e2e/lite-server-proxy.js index d5b28e43c1..3559064f54 100644 --- a/e2e/lite-server-proxy.js +++ b/e2e/lite-server-proxy.js @@ -1,9 +1,3 @@ -var PROXY_HOST_ADF = process.env.PROXY_HOST_ADF; -var HOST = process.env.URL_HOST_ADF; - -let proxy = require('http-proxy-middleware'); - -let targetProxy = (PROXY_HOST_ADF || HOST); let fallback = require('connect-history-api-fallback'); module.exports = { @@ -12,21 +6,7 @@ module.exports = { open: false, server: { middleware: { - 1: proxy('/alfresco', { - "target": targetProxy, - changeOrigin: true, - pathRewrite: { - "^/alfresco/alfresco": "" - } - }), - 2: proxy('/activiti-app', { - "target": targetProxy, - changeOrigin: true, - "pathRewrite": { - "^/activiti-app/activiti-app": "" - } - }), - 3: fallback({index: '/index.html', verbose: true}) + 1: fallback({index: '/index.html', verbose: true}) } } }; diff --git a/e2e/pages/adf/demo-shell/process-services/processCloudDemoPage.ts b/e2e/pages/adf/demo-shell/process-services/processCloudDemoPage.ts index 9c6cee16e2..22ebeba01c 100644 --- a/e2e/pages/adf/demo-shell/process-services/processCloudDemoPage.ts +++ b/e2e/pages/adf/demo-shell/process-services/processCloudDemoPage.ts @@ -68,7 +68,6 @@ export class ProcessCloudDemoPage { } getActiveFilterName() { - BrowserVisibility.waitUntilElementIsVisible(this.activeFilter); return BrowserActions.getText(this.activeFilter); } diff --git a/e2e/pages/adf/demo-shell/process-services/tasksCloudDemoPage.ts b/e2e/pages/adf/demo-shell/process-services/tasksCloudDemoPage.ts index 8d7ff342af..f4ed0a4afa 100644 --- a/e2e/pages/adf/demo-shell/process-services/tasksCloudDemoPage.ts +++ b/e2e/pages/adf/demo-shell/process-services/tasksCloudDemoPage.ts @@ -100,7 +100,7 @@ export class TasksCloudDemoPage { openNewTaskForm() { BrowserActions.click(this.createButton); - BrowserActions.click(this.newTaskButton); + BrowserActions.clickExecuteScript('button[data-automation-id="btn-start-task"]'); return this; } diff --git a/e2e/pages/adf/navigationBarPage.ts b/e2e/pages/adf/navigationBarPage.ts index bd345afea7..7cec24967e 100644 --- a/e2e/pages/adf/navigationBarPage.ts +++ b/e2e/pages/adf/navigationBarPage.ts @@ -135,7 +135,7 @@ export class NavigationBarPage { async clickLogoutButton() { BrowserActions.closeMenuAndDialogs(); - BrowserActions.click(this.logoutButton); + BrowserActions.clickExecuteScript('.adf-sidenav-link[adf-logout]'); } async clickCardViewButton() { diff --git a/e2e/process-services-cloud/apps-section-cloud.e2e.ts b/e2e/process-services-cloud/apps-section-cloud.e2e.ts index c9eb37b9cc..465f1e61db 100644 --- a/e2e/process-services-cloud/apps-section-cloud.e2e.ts +++ b/e2e/process-services-cloud/apps-section-cloud.e2e.ts @@ -43,7 +43,7 @@ describe('Applications list', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await apiService.login(testUser.email, testUser.password); applicationsService = new ApplicationsService(apiService); applications = await applicationsService.getApplicationsByStatus('RUNNING'); 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 50d79e9a85..6af8babdfe 100644 --- a/e2e/process-services-cloud/edit-process-filters-component.e2e.ts +++ b/e2e/process-services-cloud/edit-process-filters-component.e2e.ts @@ -51,7 +51,7 @@ describe('Edit process filters cloud', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }); @@ -95,6 +95,8 @@ describe('Edit process filters cloud', () => { processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton(); + browser.driver.sleep(1000); + expect(processCloudDemoPage.getActiveFilterName()).toBe('New'); processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader(); expect(processCloudDemoPage.editProcessFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false); @@ -114,6 +116,9 @@ describe('Edit process filters cloud', () => { processCloudDemoPage.editProcessFilterCloudComponent().setSortFilterDropDown('Id'); processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton(); + + browser.driver.sleep(1000); + processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded(); expect(processCloudDemoPage.getActiveFilterName()).toBe('New'); expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); @@ -121,9 +126,15 @@ describe('Edit process filters cloud', () => { expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton().setFilterName('New').clickOnSaveButton(); processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded(); + + browser.driver.sleep(1000); + expect(processCloudDemoPage.getActiveFilterName()).toBe('New'); expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); + + browser.driver.sleep(1000); + processCloudDemoPage.customProcessFilter('custom-new').clickProcessFilter(); processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded(); expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); @@ -137,6 +148,9 @@ describe('Edit process filters cloud', () => { processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed(); processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton(); + + browser.driver.sleep(1000); + expect(processCloudDemoPage.getActiveFilterName()).toBe('New'); processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded(); expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); @@ -144,6 +158,9 @@ describe('Edit process filters cloud', () => { expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); processCloudDemoPage.editProcessFilterCloudComponent().clickSaveButton(); processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded(); + + browser.driver.sleep(1000); + expect(processCloudDemoPage.getActiveFilterName()).toBe('New'); expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); @@ -156,10 +173,17 @@ describe('Edit process filters cloud', () => { processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed(); processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton(); + + browser.driver.sleep(1000); + processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader(); expect(processCloudDemoPage.getActiveFilterName()).toBe('New'); + expect(processCloudDemoPage.editProcessFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); processCloudDemoPage.editProcessFilterCloudComponent().clickDeleteButton(); + + browser.driver.sleep(1000); + expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes'); processCloudDemoPage.customProcessFilter('New').checkProcessFilterNotDisplayed(); }); 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 b94c50c038..19c30632c2 100644 --- a/e2e/process-services-cloud/edit-task-filters-component.e2e.ts +++ b/e2e/process-services-cloud/edit-task-filters-component.e2e.ts @@ -57,7 +57,7 @@ describe('Edit task filters cloud', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }); @@ -119,6 +119,7 @@ describe('Edit task filters cloud', () => { tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton(); + browser.driver.sleep(1000); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New'); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().checkSaveButtonIsEnabled()).toEqual(false); @@ -139,18 +140,22 @@ describe('Edit task filters cloud', () => { tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton(); + + browser.driver.sleep(1000); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New'); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Priority'); tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton(); + + browser.driver.sleep(1000); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New'); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Priority'); tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); tasksCloudDemoPage.customTaskFilter('custom-new').clickTaskFilter(); - tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed(); + browser.driver.sleep(1000); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); @@ -162,12 +167,16 @@ describe('Edit task filters cloud', () => { tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton(); + + browser.driver.sleep(1000); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New'); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); tasksCloudDemoPage.editTaskFilterCloudComponent().setSortFilterDropDown('Name'); tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); + + browser.driver.sleep(1000); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New'); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Name'); tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); @@ -179,10 +188,16 @@ describe('Edit task filters cloud', () => { tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickSaveAsButton(); tasksCloudDemoPage.editTaskFilterCloudComponent().editTaskFilterDialog().setFilterName('New').clickOnSaveButton(); + + browser.driver.sleep(1000); + expect(tasksCloudDemoPage.getActiveFilterName()).toBe('New'); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Id'); tasksCloudDemoPage.editTaskFilterCloudComponent().clickDeleteButton(); + + browser.driver.sleep(1000); + expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); tasksCloudDemoPage.customTaskFilter('New').checkTaskFilterNotDisplayed(); }); 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 7d6e97423d..be21a04dd6 100644 --- a/e2e/process-services-cloud/form-field/dropdown-widget.e2e.ts +++ b/e2e/process-services-cloud/form-field/dropdown-widget.e2e.ts @@ -82,7 +82,7 @@ describe('Form Field Component - Dropdown Widget', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }); diff --git a/e2e/process-services-cloud/form-field/visibility-condition.e2e.ts b/e2e/process-services-cloud/form-field/visibility-condition.e2e.ts index 726f0a792f..1073e31b0b 100644 --- a/e2e/process-services-cloud/form-field/visibility-condition.e2e.ts +++ b/e2e/process-services-cloud/form-field/visibility-condition.e2e.ts @@ -15,24 +15,24 @@ * limitations under the License. */ -import { LoginPage, Widget } from '@alfresco/adf-testing'; +import { LoginSSOPage, SettingsPage, Widget } from '@alfresco/adf-testing'; import { browser } from 'protractor'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; -import { UsersActions } from '../../actions/users.actions'; import { FormCloudDemoPage } from '../../pages/adf/demo-shell/process-services-cloud/cloudFormDemoPage'; import { checkboxVisibilityForm } from '../../resources/forms/checkbox-visibility-condition'; describe('Visibility conditions - cloud', () => { - const loginPage = new LoginPage(); + const settingsPage = new SettingsPage(); + const loginSSOPage = new LoginSSOPage(); + const navigationBarPage = new NavigationBarPage(); const formCloudDemoPage = new FormCloudDemoPage(); const checkboxVisibilityFormJson = JSON.parse(checkboxVisibilityForm); const widget = new Widget(); - let tenantId, user; let visibleCheckbox; const widgets = { @@ -46,7 +46,7 @@ describe('Visibility conditions - cloud', () => { }; const checkbox = { - checkboxFieldValue : 'CheckboxFieldValue', + checkboxFieldValue: 'CheckboxFieldValue', checkboxVariableField: 'CheckboxVariableField', checkboxFieldVariable: 'CheckboxFieldVariable', checkboxFieldField: 'CheckboxFieldField', @@ -57,20 +57,14 @@ describe('Visibility conditions - cloud', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); - const users = new UsersActions(); - - await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); - - user = await users.createTenantAndUser(this.alfrescoJsApi); - - tenantId = user.tenantId; - - await this.alfrescoJsApi.login(user.email, user.password); - - await loginPage.loginToProcessServicesUsingUserModel(user); + await settingsPage.setProviderBpmSso( + browser.params.config.bpmHost, + browser.params.config.oauth2.host, + browser.params.config.identityHost); + await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); navigationBarPage.clickFormCloudButton(); @@ -79,12 +73,6 @@ describe('Visibility conditions - cloud', () => { done(); }); - afterAll(async (done) => { - await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); - await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId); - done(); - }); - it('[C309647] Should be able to see Checkbox widget when visibility condition refers to another field with specific value', () => { widget.textWidget().isWidgetVisible(widgets.textOneId); diff --git a/e2e/process-services-cloud/people-group-cloud-component.e2e.ts b/e2e/process-services-cloud/people-group-cloud-component.e2e.ts index fd89a50d9a..bf69634306 100644 --- a/e2e/process-services-cloud/people-group-cloud-component.e2e.ts +++ b/e2e/process-services-cloud/people-group-cloud-component.e2e.ts @@ -91,7 +91,7 @@ describe('People Groups Cloud Component', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }); diff --git a/e2e/process-services-cloud/people-group-cloud-filter-component.e2e.ts b/e2e/process-services-cloud/people-group-cloud-filter-component.e2e.ts index 97eec803f5..ffeacbb601 100644 --- a/e2e/process-services-cloud/people-group-cloud-filter-component.e2e.ts +++ b/e2e/process-services-cloud/people-group-cloud-filter-component.e2e.ts @@ -77,8 +77,8 @@ describe('People Groups Cloud Component', () => { await groupIdentityService.assignRole(groupActiviti.id, activitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN); groupNoRole = await groupIdentityService.createIdentityGroup(); - await groupIdentityService.addClientRole(groupAps.id, clientId, clientActivitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN ); - await groupIdentityService.addClientRole(groupActiviti.id, clientId, clientActivitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN ); + await groupIdentityService.addClientRole(groupAps.id, clientId, clientActivitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN); + await groupIdentityService.addClientRole(groupActiviti.id, clientId, clientActivitiAdminRoleId, identityService.ROLES.ACTIVITI_ADMIN); users = [`${apsUser.idIdentityService}`, `${activitiUser.idIdentityService}`, `${noRoleUser.idIdentityService}`, `${testUser.idIdentityService}`]; groups = [`${groupAps.id}`, `${groupActiviti.id}`, `${groupNoRole.id}`]; @@ -86,7 +86,7 @@ describe('People Groups Cloud Component', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }); @@ -102,6 +102,7 @@ describe('People Groups Cloud Component', () => { await identityService.deleteIdentityUser(testUser.idIdentityService); await identityService.deleteIdentityUser(apsUser.idIdentityService); await identityService.deleteIdentityUser(activitiUser.idIdentityService); + }); beforeEach(() => { diff --git a/e2e/process-services-cloud/process-custom-filters.e2e.ts b/e2e/process-services-cloud/process-custom-filters.e2e.ts index d92bf522ca..04452998af 100644 --- a/e2e/process-services-cloud/process-custom-filters.e2e.ts +++ b/e2e/process-services-cloud/process-custom-filters.e2e.ts @@ -109,7 +109,7 @@ describe('Process list cloud', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify(editProcessFilterConfigFile)); await LocalStorageUtil.setConfigField('adf-cloud-process-list', JSON.stringify(processListCloudConfigFile)); done(); diff --git a/e2e/process-services-cloud/process-filter-results.e2e.ts b/e2e/process-services-cloud/process-filter-results.e2e.ts index 2e374fdde2..89fbe65a4d 100644 --- a/e2e/process-services-cloud/process-filter-results.e2e.ts +++ b/e2e/process-services-cloud/process-filter-results.e2e.ts @@ -126,7 +126,7 @@ describe('Process filters cloud', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify(editProcessFilterConfigFile)); await LocalStorageUtil.setConfigField('adf-cloud-process-list', JSON.stringify(processListCloudConfigFile)); done(); diff --git a/e2e/process-services-cloud/process-filters-cloud.e2e.ts b/e2e/process-services-cloud/process-filters-cloud.e2e.ts index fb433311a6..ebaf31278c 100644 --- a/e2e/process-services-cloud/process-filters-cloud.e2e.ts +++ b/e2e/process-services-cloud/process-filters-cloud.e2e.ts @@ -87,7 +87,7 @@ describe('Process filters cloud', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }, 5 * 60 * 1000); diff --git a/e2e/process-services-cloud/process-header-cloud.e2e.ts b/e2e/process-services-cloud/process-header-cloud.e2e.ts index 696500f04c..af9ce23c23 100644 --- a/e2e/process-services-cloud/process-header-cloud.e2e.ts +++ b/e2e/process-services-cloud/process-header-cloud.e2e.ts @@ -100,7 +100,7 @@ describe('Process Header cloud component', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }); diff --git a/e2e/process-services-cloud/process-list-cloud-component.e2e.ts b/e2e/process-services-cloud/process-list-cloud-component.e2e.ts index e81d08328e..1c082a0ae9 100644 --- a/e2e/process-services-cloud/process-list-cloud-component.e2e.ts +++ b/e2e/process-services-cloud/process-list-cloud-component.e2e.ts @@ -72,7 +72,7 @@ describe('Process list cloud', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }); 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 2e7a5f5a65..3de28281db 100644 --- a/e2e/process-services-cloud/process-list-selection-cloud.e2e.ts +++ b/e2e/process-services-cloud/process-list-selection-cloud.e2e.ts @@ -71,7 +71,7 @@ describe('Process list cloud', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }); diff --git a/e2e/process-services-cloud/start-process-cloud.e2e.ts b/e2e/process-services-cloud/start-process-cloud.e2e.ts index 1af4bff66d..ce5a45a8cf 100644 --- a/e2e/process-services-cloud/start-process-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-process-cloud.e2e.ts @@ -36,7 +36,6 @@ describe('Start Process', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers ); - const processDefinitionWithoutName = 'process-'; const processName = StringUtil.generateRandomString(10); const processName255Characters = StringUtil.generateRandomString(255); const processNameBiggerThen255Characters = StringUtil.generateRandomString(256); @@ -58,7 +57,7 @@ describe('Start Process', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); navigationBarPage.navigateToProcessServicesCloudPage(); appListCloudComponent.checkApsContainer(); @@ -109,7 +108,6 @@ describe('Start Process', () => { startProcessPage.enterProcessName(processName); expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true); startProcessPage.clickStartProcessButton(); - processCloudDemoPage.clickOnProcessFilters(); processCloudDemoPage.runningProcessesFilter().clickProcessFilter(); expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes'); @@ -117,14 +115,4 @@ describe('Start Process', () => { }); - it('[C309875] Should display the processId when Process Definition has process name missing', async () => { - appListCloudComponent.checkAppIsDisplayed(simpleApp); - appListCloudComponent.goToApp(simpleApp); - processCloudDemoPage.openNewProcessForm(); - startProcessPage.clearField(startProcessPage.processNameInput); - startProcessPage.enterProcessName(processName); - startProcessPage.selectFromProcessDropdown(processDefinitionWithoutName); - expect(startProcessPage.checkStartProcessButtonIsEnabled()).toBe(true); - - }); }); 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 5436c231ff..bcbc5a80d3 100644 --- a/e2e/process-services-cloud/start-task-form-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-task-form-cloud.e2e.ts @@ -83,9 +83,10 @@ describe('Start Task Form', () => { let testUser, acsUser, groupInfo; let processDefinitionService: ProcessDefinitionsService; let processInstancesService: ProcessInstancesService; - let processDefinition, uploadLocalFileProcess, uploadContentFileProcess, uploadDefaultFileProcess, cancelUploadFileProcess, completeUploadFileProcess; + let processDefinition, uploadLocalFileProcess, uploadContentFileProcess, uploadDefaultFileProcess, + cancelUploadFileProcess, completeUploadFileProcess; const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name; - const pdfFile = new FileModel({'name': resources.Files.ADF_DOCUMENTS.PDF.file_name}); + const pdfFile = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name }); const pdfFileModel = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name, 'location': resources.Files.ADF_DOCUMENTS.PDF.file_location @@ -163,22 +164,19 @@ describe('Start Task Form', () => { browser.params.config.oauth2.host, browser.params.config.identityHost, browser.params.config.oauth2.clientId); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await LocalStorageUtil.setConfigField('adf-cloud-start-process', JSON.stringify(startProcessCloudConfig)); done(); }); afterAll(async (done) => { - try { - await this.alfrescoJsApi.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password); - await uploadActions.deleteFileOrFolder(uploadedFolder.entry.id); - await apiService.login(testUser.email, testUser.password); - const tasksService = new TasksService(apiService); - const standAloneTaskId = await tasksService.getTaskId(standaloneTaskName, candidateBaseApp); - await tasksService.deleteTask(standAloneTaskId, candidateBaseApp); - await identityService.deleteIdentityUser(testUser.idIdentityService); - } catch (error) { - } + await this.alfrescoJsApi.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password); + await uploadActions.deleteFileOrFolder(uploadedFolder.entry.id); + await apiService.login(testUser.email, testUser.password); + const tasksService = new TasksService(apiService); + const standAloneTaskId = await tasksService.getTaskId(standaloneTaskName, candidateBaseApp); + await tasksService.deleteTask(standAloneTaskId, candidateBaseApp); + await identityService.deleteIdentityUser(testUser.idIdentityService); done(); }); 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 9109e0f863..5aeafc8bf0 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 @@ -19,8 +19,17 @@ import { browser } from 'protractor'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { TasksCloudDemoPage } from '../../pages/adf/demo-shell/process-services/tasksCloudDemoPage'; import { - LoginSSOPage, AppListCloudPage, StringUtil, TaskHeaderCloudPage, - StartTasksCloudPage, PeopleCloudComponentPage, TasksService, ApiService, IdentityService, SettingsPage, GroupIdentityService + LoginSSOPage, + AppListCloudPage, + StringUtil, + TaskHeaderCloudPage, + StartTasksCloudPage, + PeopleCloudComponentPage, + TasksService, + ApiService, + IdentityService, + SettingsPage, + GroupIdentityService } from '@alfresco/adf-testing'; import resources = require('../../util/resources'); @@ -70,27 +79,24 @@ describe('Start Task', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }); afterAll(async (done) => { - try { - await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password); - const tasksService = new TasksService(apiService); + await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password); + const tasksService = new TasksService(apiService); - const tasks = [standaloneTaskName, unassignedTaskName, reassignTaskName]; - for (let i = 0; i < tasks.length; i++) { - const taskId = await tasksService.getTaskId(tasks[i], simpleApp); - if (taskId) { - await tasksService.deleteTask(taskId, simpleApp); - } + const tasks = [standaloneTaskName, unassignedTaskName, reassignTaskName]; + for (let i = 0; i < tasks.length; i++) { + const taskId = await tasksService.getTaskId(tasks[i], simpleApp); + if (taskId) { + await tasksService.deleteTask(taskId, simpleApp); } - await identityService.deleteIdentityUser(activitiUser.idIdentityService); - await identityService.deleteIdentityUser(apsUser.idIdentityService); - await identityService.deleteIdentityUser(testUser.idIdentityService); - } catch (error) { } + await identityService.deleteIdentityUser(activitiUser.idIdentityService); + await identityService.deleteIdentityUser(apsUser.idIdentityService); + await identityService.deleteIdentityUser(testUser.idIdentityService); done(); }); 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 a4bbdeaa1d..2ceb80de4a 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 @@ -19,8 +19,17 @@ import { browser } from 'protractor'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { TasksCloudDemoPage } from '../../pages/adf/demo-shell/process-services/tasksCloudDemoPage'; import { - LoginSSOPage, AppListCloudPage, StringUtil, GroupCloudComponentPage, - StartTasksCloudPage, PeopleCloudComponentPage, TasksService, ApiService, IdentityService, SettingsPage, GroupIdentityService + LoginSSOPage, + AppListCloudPage, + StringUtil, + GroupCloudComponentPage, + StartTasksCloudPage, + PeopleCloudComponentPage, + TasksService, + ApiService, + IdentityService, + SettingsPage, + GroupIdentityService, RolesService } from '@alfresco/adf-testing'; import resources = require('../../util/resources'); @@ -57,6 +66,11 @@ describe('Start Task - Group Cloud Component', () => { hrGroup = await groupIdentityService.getGroupInfoByGroupName('hr'); testGroup = await groupIdentityService.getGroupInfoByGroupName('testgroup'); + + const rolesService = new RolesService(apiService); + const apsAdminRoleId = await rolesService.getRoleIdByRoleName(identityService.ROLES.APS_USER); + await groupIdentityService.assignRole(testGroup.id, apsAdminRoleId, identityService.ROLES.APS_USER); + await identityService.addUserToGroup(testUser.idIdentityService, testGroup.id); await identityService.addUserToGroup(apsUser.idIdentityService, hrGroup.id); @@ -64,29 +78,28 @@ describe('Start Task - Group Cloud Component', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); + done(); }); afterAll(async (done) => { - try { - await apiService.login(testUser.email, testUser.password); - const tasksService = new TasksService(apiService); + await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password); + const tasksService = new TasksService(apiService); - const bothGroupsTaskId = await tasksService.getTaskId(bothGroupsTaskName, simpleApp); - await tasksService.deleteTask(bothGroupsTaskId, simpleApp); + const bothGroupsTaskId = await tasksService.getTaskId(bothGroupsTaskName, simpleApp); + await tasksService.deleteTask(bothGroupsTaskId, simpleApp); - const oneGroupTaskId = await tasksService.getTaskId(oneGroupTaskName, simpleApp); - await tasksService.deleteTask(oneGroupTaskId, simpleApp); + const oneGroupTaskId = await tasksService.getTaskId(oneGroupTaskName, simpleApp); + await tasksService.deleteTask(oneGroupTaskId, simpleApp); + + await identityService.deleteIdentityUser(apsUser.idIdentityService); + await identityService.deleteIdentityUser(testUser.idIdentityService); - await identityService.deleteIdentityUser(apsUser.idIdentityService); - await identityService.deleteIdentityUser(testUser.idIdentityService); - } catch (error) { - } done(); }); - beforeEach(() => { - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + beforeEach(async () => { + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); navigationBarPage.navigateToProcessServicesCloudPage(); appListCloudComponent.checkApsContainer(); appListCloudComponent.checkAppIsDisplayed(simpleApp); @@ -100,10 +113,11 @@ describe('Start Task - Group Cloud Component', () => { navigationBarPage.clickLogoutButton(); }); - it('[C291954] Should be able to select/delete an group for a standalone task', () => { + it('[C291954] Should be able to select/delete an group for a standalone task', async () => { peopleCloudComponent.clearAssignee(); groupCloud.searchGroups(testGroup.name); + groupCloud.checkGroupIsDisplayed(testGroup.name); groupCloud.selectGroupFromList(testGroup.name); groupCloud.checkSelectedGroup(testGroup.name); @@ -120,7 +134,7 @@ describe('Start Task - Group Cloud Component', () => { startTask.clickStartButton(); navigationBarPage.clickLogoutButton(); - loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password); + await loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password); navigationBarPage.navigateToProcessServicesCloudPage(); appListCloudComponent.checkApsContainer(); appListCloudComponent.checkAppIsDisplayed(simpleApp); @@ -136,7 +150,7 @@ describe('Start Task - Group Cloud Component', () => { tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(oneGroupTaskName); }); - it('[C291955] Should be able to select multiple groups when the selection mode=multiple', () => { + it('[C291955] Should be able to select multiple groups when the selection mode=multiple', async () => { peopleCloudComponent.clearAssignee(); groupCloud.searchGroups(testGroup.name); @@ -153,7 +167,7 @@ describe('Start Task - Group Cloud Component', () => { startTask.clickStartButton(); navigationBarPage.clickLogoutButton(); - loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password); + await loginSSOPage.loginSSOIdentityService(apsUser.email, apsUser.password); navigationBarPage.navigateToProcessServicesCloudPage(); appListCloudComponent.checkApsContainer(); appListCloudComponent.checkAppIsDisplayed(simpleApp); diff --git a/e2e/process-services-cloud/task-filters-cloud.e2e.ts b/e2e/process-services-cloud/task-filters-cloud.e2e.ts index c9791119e7..4051b67501 100644 --- a/e2e/process-services-cloud/task-filters-cloud.e2e.ts +++ b/e2e/process-services-cloud/task-filters-cloud.e2e.ts @@ -52,7 +52,7 @@ describe('Task filters cloud', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }); 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 a5d0abe7e7..0846840b5f 100644 --- a/e2e/process-services-cloud/task-form-cloud-component.e2e.ts +++ b/e2e/process-services-cloud/task-form-cloud-component.e2e.ts @@ -15,20 +15,19 @@ * limitations under the License. */ -import { browser } from 'protractor'; +import { browser, protractor } from 'protractor'; import { AppListCloudPage, StringUtil, ApiService, LoginSSOPage, TasksService, - QueryService, ProcessDefinitionsService, ProcessInstancesService, SettingsPage, TaskHeaderCloudPage, TaskFormCloudComponent, - Widget + Widget, IdentityService } from '@alfresco/adf-testing'; import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage'; @@ -50,21 +49,24 @@ describe('Task form cloud component', () => { let tasksService: TasksService; let processDefinitionService: ProcessDefinitionsService; let processInstancesService: ProcessInstancesService; - let queryService: QueryService; + let identityService: IdentityService; - let completedTask, createdTask, assigneeTask, toBeCompletedTask, completedProcess, claimedTask, formValidationsTask; + let completedTask, createdTask, assigneeTask, toBeCompletedTask, formValidationsTask, testUser; const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name; const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString(); beforeAll(async (done) => { const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers); - await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password); + await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password); + + identityService = new IdentityService(apiService); + testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.ROLES.APS_USER]); + await apiService.login(testUser.email, testUser.password); tasksService = new TasksService(apiService); - queryService = new QueryService(apiService); createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp); - assigneeTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp); + await tasksService.claimTask(assigneeTask.entry.id, candidateBaseApp); formValidationsTask = await tasksService.createStandaloneTaskWithForm(StringUtil.generateRandomString(), candidateBaseApp, formToTestValidationsKey); @@ -78,29 +80,38 @@ describe('Task form cloud component', () => { await tasksService.createAndCompleteTask(completedTaskName, candidateBaseApp); processDefinitionService = new ProcessDefinitionsService(apiService); + const processDefinition = await processDefinitionService .getProcessDefinitionByName(resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.processes.candidateUserProcess, candidateBaseApp); processInstancesService = new ProcessInstancesService(apiService); - completedProcess = await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp); - - await browser.driver.sleep(4000); // eventual consistency query - const task = await queryService.getProcessInstanceTasks(completedProcess.entry.id, candidateBaseApp); - claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateBaseApp); + await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp); await settingsPage.setProviderBpmSso( browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }, 5 * 60 * 1000); + afterAll(async (done) => { + try { + await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + await identityService.deleteIdentityUser(testUser.id); + } catch (error) { + } + await this.alfrescoJsApi.logout(); + browser.executeScript('window.sessionStorage.clear();'); + browser.executeScript('window.localStorage.clear();'); + done(); + }); + it('[C307032] Should display the appropriate title for the unclaim option of a Task', async () => { navigationBarPage.navigateToProcessServicesCloudPage(); appListCloudComponent.checkApsContainer(); appListCloudComponent.goToApp(candidateBaseApp); - tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); + await tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name); expect(taskFormCloudComponent.getReleaseButtonText()).toBe('RELEASE'); @@ -110,7 +121,7 @@ describe('Task form cloud component', () => { navigationBarPage.navigateToProcessServicesCloudPage(); appListCloudComponent.checkApsContainer(); appListCloudComponent.goToApp(candidateBaseApp); - tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); + await tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name); taskFormCloudComponent.checkFormIsNotDisplayed(); @@ -124,7 +135,7 @@ describe('Task form cloud component', () => { navigationBarPage.navigateToProcessServicesCloudPage(); appListCloudComponent.checkApsContainer(); appListCloudComponent.goToApp(candidateBaseApp); - tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); + await tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(formValidationsTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().selectRow(formValidationsTask.entry.name); taskFormCloudComponent.checkFormIsDisplayed(); @@ -139,11 +150,11 @@ describe('Task form cloud component', () => { expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(true); widget.dateWidget().setDateInput('Date0m1moq', 'invalid date'); - widget.dateWidget().clickOutsideWidget('Date0m1moq'); + await browser.actions().sendKeys(protractor.Key.ENTER).perform(); expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(false); widget.dateWidget().setDateInput('Date0m1moq', '20-10-2018'); - widget.dateWidget().clickOutsideWidget('Date0m1moq'); + await browser.actions().sendKeys(protractor.Key.ENTER).perform(); expect(taskFormCloudComponent.getCompleteButton().isEnabled()).toBe(true); widget.numberWidget().setFieldValue('Number0klykr', 'invalid number'); @@ -169,8 +180,8 @@ describe('Task form cloud component', () => { done(); }); - it('[C307093] Complete button is not displayed when the task is already completed', () => { - tasksCloudDemoPage.completedTasksFilter().clickTaskFilter(); + it('[C307093] Complete button is not displayed when the task is already completed', async () => { + await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter(); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks'); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName); tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName); @@ -178,10 +189,12 @@ describe('Task form cloud component', () => { taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); }); - it('[C307095] Task can not be completed by owner user', () => { - tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); + it('[C307095] Task can not be completed by owner user', async () => { + await tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); - tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignee().setStatusFilterDropDown('CREATED'); + await tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); + browser.driver.sleep(1000); + tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee().setStatusFilterDropDown('CREATED'); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().selectRow(createdTask.entry.name); @@ -189,8 +202,8 @@ describe('Task form cloud component', () => { taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); }); - it('[C307110] Task list is displayed after clicking on Cancel button', () => { - tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); + it('[C307110] Task list is displayed after clicking on Cancel button', async () => { + await tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name); @@ -202,8 +215,8 @@ describe('Task form cloud component', () => { tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name); }); - it('[C307094] Standalone Task can be completed by a user that is owner and assignee', () => { - tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); + it('[C307094] Standalone Task can be completed by a user that is owner and assignee', async () => { + await tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name); @@ -212,7 +225,7 @@ describe('Task form cloud component', () => { taskFormCloudComponent.checkCompleteButtonIsDisplayed().clickCompleteButton(); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(toBeCompletedTask.entry.name); - tasksCloudDemoPage.completedTasksFilter().clickTaskFilter(); + await tasksCloudDemoPage.completedTasksFilter().clickTaskFilter(); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(toBeCompletedTask.entry.name); taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); }); @@ -221,14 +234,14 @@ describe('Task form cloud component', () => { tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); - tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(claimedTask.entry.name); - tasksCloudDemoPage.taskListCloudComponent().selectRow(claimedTask.entry.name); + tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask.entry.name); + tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTask.entry.name); taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); taskFormCloudComponent.checkCompleteButtonIsDisplayed().clickCompleteButton(); - tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(claimedTask.entry.name); + tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask.entry.name); tasksCloudDemoPage.completedTasksFilter().clickTaskFilter(); - tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(claimedTask.entry.name); + tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask.entry.name); taskFormCloudComponent.checkCompleteButtonIsNotDisplayed(); }); }); diff --git a/e2e/process-services-cloud/task-header-cloud.e2e.ts b/e2e/process-services-cloud/task-header-cloud.e2e.ts index 55b8a66540..1354ed6338 100644 --- a/e2e/process-services-cloud/task-header-cloud.e2e.ts +++ b/e2e/process-services-cloud/task-header-cloud.e2e.ts @@ -90,7 +90,7 @@ describe('Task Header cloud component', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }); diff --git a/e2e/process-services-cloud/task-list-properties.e2e.ts b/e2e/process-services-cloud/task-list-properties.e2e.ts index 49a7c45a7b..ea5545c113 100644 --- a/e2e/process-services-cloud/task-list-properties.e2e.ts +++ b/e2e/process-services-cloud/task-list-properties.e2e.ts @@ -68,21 +68,25 @@ describe('Edit task filters and task list properties', () => { groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); + await apiService.login(testUser.email, testUser.password); + otherOwnerTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp); await tasksService.claimTask(otherOwnerTask.entry.id, simpleApp); createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp); await tasksService.claimTask(createdTask.entry.id, simpleApp); + notAssigned = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp); priorityTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp, { priority: priority }); await tasksService.claimTask(priorityTask.entry.id, simpleApp); + notDisplayedTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp); await tasksService.claimTask(notDisplayedTask.entry.id, candidateBaseApp); processDefinitionService = new ProcessDefinitionsService(apiService); processDefinition = await processDefinitionService - .getProcessDefinitionByName(resources.ACTIVITI7_APPS.SIMPLE_APP.processes.simpleProcess, simpleApp); + .getProcessDefinitionByName(resources.ACTIVITI7_APPS.SIMPLE_APP.processes.dropdownrestprocess, simpleApp); processInstancesService = new ProcessInstancesService(apiService); processInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp); @@ -96,7 +100,7 @@ describe('Edit task filters and task list properties', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); await LocalStorageUtil.setConfigField('adf-cloud-task-list', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify({ 'filterProperties': [ @@ -219,10 +223,11 @@ describe('Edit task filters and task list properties', () => { tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId(processInstance.entry.id) .setStatusFilterDropDown('ALL').clearAssignee(); - tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed(); - tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed(); + + browser.sleep(1000); expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfRows()).toBe(1); + tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByProcessInstanceId(processInstance.entry.id); }); diff --git a/e2e/process-services-cloud/task-list-selection.e2e.ts b/e2e/process-services-cloud/task-list-selection.e2e.ts index 50f59d6d64..03e9d743a0 100644 --- a/e2e/process-services-cloud/task-list-selection.e2e.ts +++ b/e2e/process-services-cloud/task-list-selection.e2e.ts @@ -68,7 +68,7 @@ describe('Task list cloud - selection', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }); diff --git a/e2e/process-services-cloud/tasks-custom-filters.e2e.ts b/e2e/process-services-cloud/tasks-custom-filters.e2e.ts index dc4aeb7e31..019a01fb25 100644 --- a/e2e/process-services-cloud/tasks-custom-filters.e2e.ts +++ b/e2e/process-services-cloud/tasks-custom-filters.e2e.ts @@ -103,7 +103,7 @@ describe('Task filters cloud', () => { browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.identityHost); - loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); + await loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password); done(); }, 5 * 60 * 1000 ); diff --git a/e2e/process-services/apps-section.e2e.ts b/e2e/process-services/apps-section.e2e.ts index 0e4e26e6de..b95110d82a 100644 --- a/e2e/process-services/apps-section.e2e.ts +++ b/e2e/process-services/apps-section.e2e.ts @@ -46,7 +46,7 @@ describe('Modify applications', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/attach-file-widget.e2e.ts b/e2e/process-services/attach-file-widget.e2e.ts index 1d8ebb1b2c..2f48b2f101 100644 --- a/e2e/process-services/attach-file-widget.e2e.ts +++ b/e2e/process-services/attach-file-widget.e2e.ts @@ -51,7 +51,7 @@ describe('Start Task - Task App', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -70,7 +70,7 @@ describe('Start Task - Task App', () => { afterAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/attach-form-component.e2e.ts b/e2e/process-services/attach-form-component.e2e.ts index b0bb770d21..b16f0bd73c 100644 --- a/e2e/process-services/attach-form-component.e2e.ts +++ b/e2e/process-services/attach-form-component.e2e.ts @@ -54,7 +54,7 @@ describe('Attach Form Component', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); const users = new UsersActions(); @@ -80,12 +80,9 @@ describe('Attach Form Component', () => { }); afterAll(async (done) => { - try { - await this.alfrescoJsApi.activiti.modelsApi.deleteModel(appId); - await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); - await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId); - } catch (error) { - } + await this.alfrescoJsApi.activiti.modelsApi.deleteModel(appId); + await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId); done(); }); diff --git a/e2e/process-services/checklist-component.e2e.ts b/e2e/process-services/checklist-component.e2e.ts index a2e4625dc8..a2fb2baf8f 100644 --- a/e2e/process-services/checklist-component.e2e.ts +++ b/e2e/process-services/checklist-component.e2e.ts @@ -53,7 +53,7 @@ describe('Checklist component', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/comment-component-processes.e2e.ts b/e2e/process-services/comment-component-processes.e2e.ts index 6dbb8e2aef..e5e534262c 100644 --- a/e2e/process-services/comment-component-processes.e2e.ts +++ b/e2e/process-services/comment-component-processes.e2e.ts @@ -40,7 +40,7 @@ describe('Comment component for Processes', () => { beforeAll(async(done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); const apps = new AppsActions(); diff --git a/e2e/process-services/comment-component-tasks.e2e.ts b/e2e/process-services/comment-component-tasks.e2e.ts index 4246089994..be312480ef 100644 --- a/e2e/process-services/comment-component-tasks.e2e.ts +++ b/e2e/process-services/comment-component-tasks.e2e.ts @@ -49,7 +49,7 @@ describe('Comment component for Processes', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); const apps = new AppsActions(); @@ -74,15 +74,11 @@ describe('Comment component for Processes', () => { }); afterAll(async (done) => { - try { - await this.alfrescoJsApi.activiti.modelsApi.deleteModel(appId); + await this.alfrescoJsApi.activiti.modelsApi.deleteModel(appId); - await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); + await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); - await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId); - } catch (error) { - - } + await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId); done(); }); diff --git a/e2e/process-services/custom-process-filters-sorting.e2e.ts b/e2e/process-services/custom-process-filters-sorting.e2e.ts index e03c2b9487..801c7b8445 100644 --- a/e2e/process-services/custom-process-filters-sorting.e2e.ts +++ b/e2e/process-services/custom-process-filters-sorting.e2e.ts @@ -54,7 +54,7 @@ describe('Sorting for process filters', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); done(); diff --git a/e2e/process-services/custom-process-filters.e2e.ts b/e2e/process-services/custom-process-filters.e2e.ts index fafda3e16e..2cbb0a5d15 100644 --- a/e2e/process-services/custom-process-filters.e2e.ts +++ b/e2e/process-services/custom-process-filters.e2e.ts @@ -52,7 +52,7 @@ describe('New Process Filters', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/custom-tasks-filters.e2e.ts b/e2e/process-services/custom-tasks-filters.e2e.ts index 326d0732c2..3b8391b93d 100644 --- a/e2e/process-services/custom-tasks-filters.e2e.ts +++ b/e2e/process-services/custom-tasks-filters.e2e.ts @@ -79,7 +79,7 @@ describe('Start Task - Custom App', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/dynamic-table-date-picker.e2e.ts b/e2e/process-services/dynamic-table-date-picker.e2e.ts index 76914349e9..40c0e711ba 100644 --- a/e2e/process-services/dynamic-table-date-picker.e2e.ts +++ b/e2e/process-services/dynamic-table-date-picker.e2e.ts @@ -40,7 +40,7 @@ describe('Dynamic Table', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); apps = new AppsActions(); diff --git a/e2e/process-services/empty-process-list-component.e2e.ts b/e2e/process-services/empty-process-list-component.e2e.ts index 9cf6096424..7c76cf703d 100644 --- a/e2e/process-services/empty-process-list-component.e2e.ts +++ b/e2e/process-services/empty-process-list-component.e2e.ts @@ -50,7 +50,7 @@ describe('Empty Process List Test', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/form-component.e2e.ts b/e2e/process-services/form-component.e2e.ts index 21acc54db6..0c2f3dcc63 100644 --- a/e2e/process-services/form-component.e2e.ts +++ b/e2e/process-services/form-component.e2e.ts @@ -50,7 +50,7 @@ describe('Form Component', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); const users = new UsersActions(); diff --git a/e2e/process-services/form-people-widget.e2e.ts b/e2e/process-services/form-people-widget.e2e.ts index dcd61d80ac..9d80da1ec1 100644 --- a/e2e/process-services/form-people-widget.e2e.ts +++ b/e2e/process-services/form-people-widget.e2e.ts @@ -42,7 +42,7 @@ describe('Form widgets - People', () => { const startProcess = new StartProcessPage(); const processDetailsPage = new ProcessDetailsPage(); const taskDetails = new TaskDetailsPage(); - const appNavigationBar = new ProcessServiceTabBarPage(); + const processServiceTabBarPage = new ProcessServiceTabBarPage(); beforeAll(async (done) => { const users = new UsersActions(); @@ -50,7 +50,7 @@ describe('Form widgets - People', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -108,7 +108,7 @@ describe('Form widgets - People', () => { taskDetails.checkCompleteFormButtonIsDisplayed(); taskDetails.clickCompleteFormTask(); - appNavigationBar.clickProcessButton(); + processServiceTabBarPage.clickProcessButton(); processFiltersPage.clickCompletedFilterButton(); processFiltersPage.selectFromProcessList(app.processName); diff --git a/e2e/process-services/form-widgets-component.e2e.ts b/e2e/process-services/form-widgets-component.e2e.ts index 204537f1d4..684695eca5 100644 --- a/e2e/process-services/form-widgets-component.e2e.ts +++ b/e2e/process-services/form-widgets-component.e2e.ts @@ -51,7 +51,7 @@ describe('Form widgets', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -207,7 +207,7 @@ describe('Form widgets', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/pagination-processlist-addingProcesses.e2e.ts b/e2e/process-services/pagination-processlist-addingProcesses.e2e.ts index 88de1f1a7c..12837df662 100644 --- a/e2e/process-services/pagination-processlist-addingProcesses.e2e.ts +++ b/e2e/process-services/pagination-processlist-addingProcesses.e2e.ts @@ -53,7 +53,7 @@ describe('Process List - Pagination when adding processes', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/pagination-tasklist-addingTasks.e2e.ts b/e2e/process-services/pagination-tasklist-addingTasks.e2e.ts index ebf1bb638c..0d3d2f09b9 100644 --- a/e2e/process-services/pagination-tasklist-addingTasks.e2e.ts +++ b/e2e/process-services/pagination-tasklist-addingTasks.e2e.ts @@ -55,7 +55,7 @@ describe('Items per page set to 15 and adding of tasks', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/people-component.e2e.ts b/e2e/process-services/people-component.e2e.ts index 9adcb37f4a..4bd549dc53 100644 --- a/e2e/process-services/people-component.e2e.ts +++ b/e2e/process-services/people-component.e2e.ts @@ -49,7 +49,7 @@ describe('People component', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/process-attachmentList-actionMenu.e2e.ts b/e2e/process-services/process-attachmentList-actionMenu.e2e.ts index eb7ce016b5..9c3df57f3e 100644 --- a/e2e/process-services/process-attachmentList-actionMenu.e2e.ts +++ b/e2e/process-services/process-attachmentList-actionMenu.e2e.ts @@ -63,7 +63,7 @@ describe('Attachment list action menu for processes', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/process-filters-component.e2e.ts b/e2e/process-services/process-filters-component.e2e.ts index a0b1717d2b..6916daf542 100644 --- a/e2e/process-services/process-filters-component.e2e.ts +++ b/e2e/process-services/process-filters-component.e2e.ts @@ -62,7 +62,7 @@ describe('Process Filters Test', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/process-instance-details.e2e.ts b/e2e/process-services/process-instance-details.e2e.ts index 3e6b453d4f..d8f44ec9ad 100644 --- a/e2e/process-services/process-instance-details.e2e.ts +++ b/e2e/process-services/process-instance-details.e2e.ts @@ -48,7 +48,7 @@ describe('Process Instance Details', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/processList-component.e2e.ts b/e2e/process-services/processList-component.e2e.ts index de5687b45c..62b1aee1e0 100644 --- a/e2e/process-services/processList-component.e2e.ts +++ b/e2e/process-services/processList-component.e2e.ts @@ -57,7 +57,7 @@ describe('Process List Test', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/processlist-pagination.e2e.ts b/e2e/process-services/processlist-pagination.e2e.ts index 5bce76670f..39fcd92f7e 100644 --- a/e2e/process-services/processlist-pagination.e2e.ts +++ b/e2e/process-services/processlist-pagination.e2e.ts @@ -63,7 +63,7 @@ describe('Process List - Pagination', function () { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -95,7 +95,7 @@ describe('Process List - Pagination', function () { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password); diff --git a/e2e/process-services/sort-tasklist-pagination.e2e.ts b/e2e/process-services/sort-tasklist-pagination.e2e.ts index cac8574755..c5ce48227a 100644 --- a/e2e/process-services/sort-tasklist-pagination.e2e.ts +++ b/e2e/process-services/sort-tasklist-pagination.e2e.ts @@ -57,7 +57,7 @@ describe('Task List Pagination - Sorting', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/standalone-task.e2e.ts b/e2e/process-services/standalone-task.e2e.ts index d1dfaf6107..5a54ea840e 100644 --- a/e2e/process-services/standalone-task.e2e.ts +++ b/e2e/process-services/standalone-task.e2e.ts @@ -48,7 +48,7 @@ describe('Start Task - Task App', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/start-process-component.e2e.ts b/e2e/process-services/start-process-component.e2e.ts index e87756126d..7e8c8dc545 100644 --- a/e2e/process-services/start-process-component.e2e.ts +++ b/e2e/process-services/start-process-component.e2e.ts @@ -71,7 +71,7 @@ describe('Start Process Component', () => { beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -87,7 +87,7 @@ describe('Start Process Component', () => { this.alfrescoJsApiUserTwo = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApiUserTwo.login(secondProcUserModel.email, secondProcUserModel.password); diff --git a/e2e/process-services/start-task-custom-app.e2e.ts b/e2e/process-services/start-task-custom-app.e2e.ts index 67ec144c74..563343e040 100644 --- a/e2e/process-services/start-task-custom-app.e2e.ts +++ b/e2e/process-services/start-task-custom-app.e2e.ts @@ -63,7 +63,7 @@ describe('Start Task - Custom App', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/start-task-task-app.e2e.ts b/e2e/process-services/start-task-task-app.e2e.ts index 57e1ddcfb3..8aaa6288bc 100644 --- a/e2e/process-services/start-task-task-app.e2e.ts +++ b/e2e/process-services/start-task-task-app.e2e.ts @@ -65,7 +65,7 @@ describe('Start Task - Task App', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/task-attachmentList-actionMenu.e2e.ts b/e2e/process-services/task-attachmentList-actionMenu.e2e.ts index 7ffde50b45..4a0d1154a9 100644 --- a/e2e/process-services/task-attachmentList-actionMenu.e2e.ts +++ b/e2e/process-services/task-attachmentList-actionMenu.e2e.ts @@ -63,7 +63,7 @@ describe('Attachment list action menu for tasks', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/task-audit.e2e.ts b/e2e/process-services/task-audit.e2e.ts index b263de6794..e953dec8fc 100644 --- a/e2e/process-services/task-audit.e2e.ts +++ b/e2e/process-services/task-audit.e2e.ts @@ -52,7 +52,7 @@ describe('Task Audit', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/task-details-form.e2e.ts b/e2e/process-services/task-details-form.e2e.ts index bd710cd95b..732c5c1a20 100644 --- a/e2e/process-services/task-details-form.e2e.ts +++ b/e2e/process-services/task-details-form.e2e.ts @@ -57,7 +57,7 @@ describe('Task Details - Form', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/task-details-no-form.e2e.ts b/e2e/process-services/task-details-no-form.e2e.ts index d1654efe0b..a87425636e 100644 --- a/e2e/process-services/task-details-no-form.e2e.ts +++ b/e2e/process-services/task-details-no-form.e2e.ts @@ -46,7 +46,7 @@ describe('Task Details - No form', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/task-details.e2e.ts b/e2e/process-services/task-details.e2e.ts index a6f43bbb12..7e0b50a557 100644 --- a/e2e/process-services/task-details.e2e.ts +++ b/e2e/process-services/task-details.e2e.ts @@ -51,7 +51,7 @@ describe('Task Details component', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/task-filters-component.e2e.ts b/e2e/process-services/task-filters-component.e2e.ts index 361a6bc37c..09facf5077 100644 --- a/e2e/process-services/task-filters-component.e2e.ts +++ b/e2e/process-services/task-filters-component.e2e.ts @@ -51,7 +51,7 @@ describe('Task', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); done(); @@ -221,7 +221,7 @@ describe('Task', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/task-filters-sorting.e2e.ts b/e2e/process-services/task-filters-sorting.e2e.ts index c5bb31a4b4..53934db797 100644 --- a/e2e/process-services/task-filters-sorting.e2e.ts +++ b/e2e/process-services/task-filters-sorting.e2e.ts @@ -59,7 +59,7 @@ describe('Task Filters Sorting', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/task-list-pagination.e2e.ts b/e2e/process-services/task-list-pagination.e2e.ts index 5659b8b874..54bced062d 100644 --- a/e2e/process-services/task-list-pagination.e2e.ts +++ b/e2e/process-services/task-list-pagination.e2e.ts @@ -60,7 +60,7 @@ describe('Task List Pagination', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/widgets/amount-widget.e2e.ts b/e2e/process-services/widgets/amount-widget.e2e.ts index afa43626e3..b1e50d5ee1 100644 --- a/e2e/process-services/widgets/amount-widget.e2e.ts +++ b/e2e/process-services/widgets/amount-widget.e2e.ts @@ -43,7 +43,7 @@ describe('Amount Widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -62,9 +62,9 @@ describe('Amount Widget', () => { done(); }); - beforeEach(() => { + beforeEach(async () => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); diff --git a/e2e/process-services/widgets/attach-folder-widget.e2e.ts b/e2e/process-services/widgets/attach-folder-widget.e2e.ts index 4022427d1b..140425ba55 100644 --- a/e2e/process-services/widgets/attach-folder-widget.e2e.ts +++ b/e2e/process-services/widgets/attach-folder-widget.e2e.ts @@ -40,7 +40,7 @@ describe('Attach Folder widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -59,9 +59,9 @@ describe('Attach Folder widget', () => { done(); }); - beforeEach(() => { + beforeEach(async () => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); diff --git a/e2e/process-services/widgets/checkbox-widget.e2e.ts b/e2e/process-services/widgets/checkbox-widget.e2e.ts index 5a764a258d..16ab4905a3 100644 --- a/e2e/process-services/widgets/checkbox-widget.e2e.ts +++ b/e2e/process-services/widgets/checkbox-widget.e2e.ts @@ -41,7 +41,7 @@ describe('Checkbox Widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -60,9 +60,9 @@ describe('Checkbox Widget', () => { done(); }); - beforeEach(() => { + beforeEach(async () => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); diff --git a/e2e/process-services/widgets/date-time-widget.e2e.ts b/e2e/process-services/widgets/date-time-widget.e2e.ts index 6a0730814e..27ccbaad31 100644 --- a/e2e/process-services/widgets/date-time-widget.e2e.ts +++ b/e2e/process-services/widgets/date-time-widget.e2e.ts @@ -41,7 +41,7 @@ describe('Date and time widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -60,9 +60,9 @@ describe('Date and time widget', () => { done(); }); - beforeEach(() => { + beforeEach(async () => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); diff --git a/e2e/process-services/widgets/date-widget.e2e.ts b/e2e/process-services/widgets/date-widget.e2e.ts index 07400b3da2..cc89574479 100644 --- a/e2e/process-services/widgets/date-widget.e2e.ts +++ b/e2e/process-services/widgets/date-widget.e2e.ts @@ -41,7 +41,7 @@ describe('Date widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -60,9 +60,9 @@ describe('Date widget', () => { done(); }); - beforeEach(() => { + beforeEach(async () => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); diff --git a/e2e/process-services/widgets/document-template-widget.e2e.ts b/e2e/process-services/widgets/document-template-widget.e2e.ts index 1feab62773..e28d38b3ed 100644 --- a/e2e/process-services/widgets/document-template-widget.e2e.ts +++ b/e2e/process-services/widgets/document-template-widget.e2e.ts @@ -41,7 +41,7 @@ describe('Document Template widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -60,9 +60,9 @@ describe('Document Template widget', () => { done(); }); - beforeEach(() => { + beforeEach(async () => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); diff --git a/e2e/process-services/widgets/dropdown-widget.e2e.ts b/e2e/process-services/widgets/dropdown-widget.e2e.ts index ac8b5693f3..0fe797ccc1 100644 --- a/e2e/process-services/widgets/dropdown-widget.e2e.ts +++ b/e2e/process-services/widgets/dropdown-widget.e2e.ts @@ -41,7 +41,7 @@ describe('Dropdown widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -60,9 +60,9 @@ describe('Dropdown widget', () => { done(); }); - beforeEach(() => { + beforeEach(async () => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); diff --git a/e2e/process-services/widgets/dynamic-table-widget.e2e.ts b/e2e/process-services/widgets/dynamic-table-widget.e2e.ts index 2e961827ea..91d1386601 100644 --- a/e2e/process-services/widgets/dynamic-table-widget.e2e.ts +++ b/e2e/process-services/widgets/dynamic-table-widget.e2e.ts @@ -43,7 +43,7 @@ describe('Dynamic Table widget ', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -62,9 +62,9 @@ describe('Dynamic Table widget ', () => { done(); }); - beforeEach(() => { + beforeEach(async () => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); @@ -104,7 +104,7 @@ describe('Dynamic Table widget ', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/widgets/header-widget.e2e.ts b/e2e/process-services/widgets/header-widget.e2e.ts index 0c893b611c..3cf29761dd 100644 --- a/e2e/process-services/widgets/header-widget.e2e.ts +++ b/e2e/process-services/widgets/header-widget.e2e.ts @@ -41,7 +41,7 @@ describe('Header widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -60,9 +60,9 @@ describe('Header widget', () => { done(); }); - beforeEach(() => { + beforeEach(async () => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); diff --git a/e2e/process-services/widgets/hyperlink-widget.e2e.ts b/e2e/process-services/widgets/hyperlink-widget.e2e.ts index 0c061df859..801e7368c8 100644 --- a/e2e/process-services/widgets/hyperlink-widget.e2e.ts +++ b/e2e/process-services/widgets/hyperlink-widget.e2e.ts @@ -41,7 +41,7 @@ describe('Hyperlink widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -60,9 +60,9 @@ describe('Hyperlink widget', () => { done(); }); - beforeEach(() => { + beforeEach(async () => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); diff --git a/e2e/process-services/widgets/multi-line-widget.e2e.ts b/e2e/process-services/widgets/multi-line-widget.e2e.ts index b7624444a8..c70d60aab5 100644 --- a/e2e/process-services/widgets/multi-line-widget.e2e.ts +++ b/e2e/process-services/widgets/multi-line-widget.e2e.ts @@ -41,7 +41,7 @@ describe('Multi-line Widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -60,9 +60,9 @@ describe('Multi-line Widget', () => { done(); }); - beforeEach(() => { + beforeEach(async () => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); diff --git a/e2e/process-services/widgets/number-widget.e2e.ts b/e2e/process-services/widgets/number-widget.e2e.ts index e9324e7180..dbcd5bb7ce 100644 --- a/e2e/process-services/widgets/number-widget.e2e.ts +++ b/e2e/process-services/widgets/number-widget.e2e.ts @@ -42,7 +42,7 @@ describe('Number widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -61,9 +61,9 @@ describe('Number widget', () => { done(); }); - beforeEach(() => { + beforeEach(async() => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); diff --git a/e2e/process-services/widgets/people-widget.e2e.ts b/e2e/process-services/widgets/people-widget.e2e.ts index a6425b21d0..6f6a047890 100644 --- a/e2e/process-services/widgets/people-widget.e2e.ts +++ b/e2e/process-services/widgets/people-widget.e2e.ts @@ -41,7 +41,7 @@ describe('People widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -60,9 +60,9 @@ describe('People widget', () => { done(); }); - beforeEach(() => { + beforeEach(async() => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); diff --git a/e2e/process-services/widgets/radio-buttons-widget.e2e.ts b/e2e/process-services/widgets/radio-buttons-widget.e2e.ts index eb2716856f..64e2103e5d 100644 --- a/e2e/process-services/widgets/radio-buttons-widget.e2e.ts +++ b/e2e/process-services/widgets/radio-buttons-widget.e2e.ts @@ -41,7 +41,7 @@ describe('Radio Buttons Widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); diff --git a/e2e/process-services/widgets/text-widget.e2e.ts b/e2e/process-services/widgets/text-widget.e2e.ts index 8b0a0cc3d5..e1015e6c48 100644 --- a/e2e/process-services/widgets/text-widget.e2e.ts +++ b/e2e/process-services/widgets/text-widget.e2e.ts @@ -41,7 +41,7 @@ describe('Text widget', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -60,9 +60,9 @@ describe('Text widget', () => { done(); }); - beforeEach(() => { + beforeEach(async () => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); diff --git a/e2e/process-services/widgets/widget-visibility-condition.e2e.ts b/e2e/process-services/widgets/widget-visibility-condition.e2e.ts index fca6d4718e..aa3fc7981a 100644 --- a/e2e/process-services/widgets/widget-visibility-condition.e2e.ts +++ b/e2e/process-services/widgets/widget-visibility-condition.e2e.ts @@ -38,7 +38,7 @@ const value = { }; const checkbox = { - checkboxFieldValue : 'text1value', + checkboxFieldValue: 'text1value', checkboxVariableField: 'variablefield', checkboxFieldVariable: 'text1variable', checkboxFieldField: 'text1text2', @@ -64,7 +64,7 @@ describe('Process-Services - Visibility conditions', () => { alfrescoJsApi = new AlfrescoApi({ provider: 'BPM', - hostBpm: browser.params.testConfig.adf.url + hostBpm: browser.params.testConfig.adf_aps.host }); await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -83,9 +83,9 @@ describe('Process-Services - Visibility conditions', () => { done(); }); - beforeEach(() => { + beforeEach(async () => { const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`; - BrowserActions.getUrl(urlToNavigateTo); + await BrowserActions.getUrl(urlToNavigateTo); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.formFields().checkFormIsDisplayed(); }); @@ -132,9 +132,13 @@ describe('Process-Services - Visibility conditions', () => { it('[C311425] Should be able to see Checkbox widget when visibility condition refers to a field and another field', () => { widget.textWidget().isWidgetVisible(widgets.textOneId); - expect(widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldField)).toBe(true); + expect(widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxFieldField)).toBe(true); widget.textWidget().setValue(widgets.textOneId, value.displayCheckbox); + + expect(widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldField)).toBe(true); + widget.textWidget().setValue(widgets.textTwoId, value.displayCheckbox); + expect(widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxFieldField)).toBe(true); }); diff --git a/e2e/resources/adf/allFileTypes/documents/text/a_msg_file.msg b/e2e/resources/adf/allFileTypes/documents/text/a_msg_file.msg deleted file mode 100644 index 84955e7847b36beef2d5b587dd30aaa009cf8e60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31744 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 { const acsUser = new AcsUserModel(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -79,6 +79,8 @@ describe('Search Checklist Component', () => { await uploadActions.deleteFileOrFolder(createdFile.entry.id); await uploadActions.deleteFileOrFolder(createdFolder.entry.id); + await navigationBarPage.clickLogoutButton(); + done(); }); diff --git a/e2e/search/components/search-date-range.e2e.ts b/e2e/search/components/search-date-range.e2e.ts index 3ee33a10f6..8ad22fefa1 100644 --- a/e2e/search/components/search-date-range.e2e.ts +++ b/e2e/search/components/search-date-range.e2e.ts @@ -34,14 +34,14 @@ describe('Search Date Range Filter', () => { const dateRangeFilter = searchFilters.createdDateRangeFilterPage(); const searchResults = new SearchResultsPage(); const datePicker = new DatePickerPage(); - const navigationBar = new NavigationBarPage(); + const navigationBarPage = new NavigationBarPage(); const dataTable = new DataTableComponentPage(); beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); loginPage.loginToContentServices(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -191,7 +191,7 @@ describe('Search Date Range Filter', () => { }); it('[C277117] Should be able to change date format', async () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); jsonFile.categories[4].component.settings.dateFormat = 'MM-DD-YY'; diff --git a/e2e/search/components/search-number-range.e2e.ts b/e2e/search/components/search-number-range.e2e.ts index 1926893f29..73dedbf24c 100644 --- a/e2e/search/components/search-number-range.e2e.ts +++ b/e2e/search/components/search-number-range.e2e.ts @@ -34,7 +34,7 @@ describe('Search Number Range Filter', () => { const searchFilters = new SearchFiltersPage(); const sizeRangeFilter = searchFilters.sizeRangeFilterPage(); const searchResults = new SearchResultsPage(); - const navigationBar = new NavigationBarPage(); + const navigationBarPage = new NavigationBarPage(); const dataTable = new DataTableComponentPage(); const acsUser = new AcsUserModel(); @@ -52,7 +52,7 @@ describe('Search Number Range Filter', () => { let file2Bytes, file0Bytes; this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -81,6 +81,9 @@ describe('Search Number Range Filter', () => { await this.alfrescoJsApi.login(acsUser.id, acsUser.password); await uploadActions.deleteFileOrFolder(file2Bytes.entry.id); await uploadActions.deleteFileOrFolder(file0Bytes.entry.id); + + await navigationBarPage.clickLogoutButton(); + done(); }); @@ -389,7 +392,7 @@ describe('Search Number Range Filter', () => { }); it('[C276928] Should be able to change the field property for number range', async () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); jsonFile.categories[3].component.settings.field = 'cm:created'; @@ -431,7 +434,7 @@ describe('Search Number Range Filter', () => { }); it('[C277139] Should be able to set To field to be exclusive', async () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); jsonFile.categories[3].component.settings.format = '[{FROM} TO {TO}>'; @@ -467,7 +470,7 @@ describe('Search Number Range Filter', () => { }); it('[C277140] Should be able to set From field to be exclusive', async () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); jsonFile.categories[3].component.settings.format = '<{FROM} TO {TO}]'; diff --git a/e2e/search/components/search-radio.e2e.ts b/e2e/search/components/search-radio.e2e.ts index deeb572756..d05e0f1aad 100644 --- a/e2e/search/components/search-radio.e2e.ts +++ b/e2e/search/components/search-radio.e2e.ts @@ -36,7 +36,7 @@ describe('Search Radio Component', () => { const acsUser = new AcsUserModel(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -86,6 +86,8 @@ describe('Search Radio Component', () => { await uploadActions.deleteFileOrFolder(createdFile.entry.id); await uploadActions.deleteFileOrFolder(createdFolder.entry.id); + await navigationBarPage.clickLogoutButton(); + done(); }); diff --git a/e2e/search/components/search-slider.e2e.ts b/e2e/search/components/search-slider.e2e.ts index 80ff186b27..9d59bbf40e 100644 --- a/e2e/search/components/search-slider.e2e.ts +++ b/e2e/search/components/search-slider.e2e.ts @@ -34,7 +34,7 @@ describe('Search Number Range Filter', () => { const searchFilters = new SearchFiltersPage(); const sizeSliderFilter = searchFilters.sizeSliderFilterPage(); const searchResults = new SearchResultsPage(); - const navigationBar = new NavigationBarPage(); + const navigationBarPage = new NavigationBarPage(); const dataTable = new DataTableComponentPage(); const acsUser = new AcsUserModel(); @@ -47,7 +47,7 @@ describe('Search Number Range Filter', () => { let file2Bytes; this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -77,6 +77,9 @@ describe('Search Number Range Filter', () => { await uploadActions.deleteFileOrFolder(file2Bytes.entry.id); } catch (error) { } + + await navigationBarPage.clickLogoutButton(); + done(); }); @@ -159,7 +162,7 @@ describe('Search Number Range Filter', () => { }); it('[C276983] Should be able to disable thumb label in Search Size Slider', async () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); jsonFile.categories[2].component.settings.thumbLabel = false; @@ -177,7 +180,7 @@ describe('Search Number Range Filter', () => { }); it('[C276985] Should be able to set min value for Search Size Slider', async () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); const minSize = 3; jsonFile.categories[2].component.settings.min = minSize; @@ -198,7 +201,7 @@ describe('Search Number Range Filter', () => { }); it('[C276986] Should be able to set max value for Search Size Slider', async () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); const maxSize = 50; jsonFile.categories[2].component.settings.max = maxSize; @@ -219,7 +222,7 @@ describe('Search Number Range Filter', () => { }); it('[C276987] Should be able to set steps for Search Size Slider', async () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); const step = 10; jsonFile.categories[2].component.settings.step = step; diff --git a/e2e/search/components/search-sorting-picker.e2e.ts b/e2e/search/components/search-sorting-picker.e2e.ts index 9239bde831..f748d049e1 100644 --- a/e2e/search/components/search-sorting-picker.e2e.ts +++ b/e2e/search/components/search-sorting-picker.e2e.ts @@ -34,7 +34,7 @@ describe('Search Sorting Picker', () => { const searchDialog = new SearchDialog(); const searchFilters = new SearchFiltersPage(); const searchResults = new SearchResultsPage(); - const navigationBar = new NavigationBarPage(); + const navigationBarPage = new NavigationBarPage(); const searchSortingPicker = new SearchSortingPickerPage(); const contentServices = new ContentServicesPage(); const nodeActions = new NodeActions(); @@ -53,7 +53,7 @@ describe('Search Sorting Picker', () => { let pngA, pngD; this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); const search = '_png_file.png'; @@ -78,6 +78,9 @@ describe('Search Sorting Picker', () => { afterAll(async (done) => { await uploadActions.deleteFileOrFolder(pngA.entry.id); await uploadActions.deleteFileOrFolder(pngD.entry.id); + + await navigationBarPage.clickLogoutButton(); + done(); }); @@ -102,7 +105,7 @@ describe('Search Sorting Picker', () => { }); it('[C277271] Should be able to add a custom search sorter in the "sort by" option', async () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); jsonFile = SearchConfiguration.getConfiguration(); jsonFile.sorting.options.push({ 'key': 'Modifier', @@ -124,7 +127,7 @@ describe('Search Sorting Picker', () => { }); it('[C277272] Should be able to exclude a standard search sorter from the sorting option', async () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); jsonFile = SearchConfiguration.getConfiguration(); const removedOption = jsonFile.sorting.options.splice(0, 1); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile)); @@ -140,7 +143,7 @@ describe('Search Sorting Picker', () => { }); it('[C277273] Should be able to set a default order for a search sorting option', async () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); jsonFile = SearchConfiguration.getConfiguration(); jsonFile.sorting.options[0].ascending = false; @@ -197,7 +200,7 @@ describe('Search Sorting Picker', () => { }); it('[C277288] Should be able to sort the search results by "Modified Date" ASC', async () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); jsonFile = SearchConfiguration.getConfiguration(); jsonFile.sorting.options.push({ diff --git a/e2e/search/components/search-text.e2e.ts b/e2e/search/components/search-text.e2e.ts index 089244985b..475849b97c 100644 --- a/e2e/search/components/search-text.e2e.ts +++ b/e2e/search/components/search-text.e2e.ts @@ -46,7 +46,7 @@ describe('Search component - Text widget', () => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword); @@ -71,6 +71,10 @@ describe('Search component - Text widget', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C289329] Placeholder should be displayed in the widget when the input string is empty', () => { BrowserActions.getUrl(browser.params.testConfig.adf.url + '/search;q=*'); searchResultPage.tableIsLoaded(); diff --git a/e2e/search/search-component.e2e.ts b/e2e/search/search-component.e2e.ts index 789fb9837b..d41de82253 100644 --- a/e2e/search/search-component.e2e.ts +++ b/e2e/search/search-component.e2e.ts @@ -42,6 +42,7 @@ describe('Search component - Search Bar', () => { const loginPage = new LoginPage(); const contentServicesPage = new ContentServicesPage(); + const navigationBarPage = new NavigationBarPage(); const searchDialog = new SearchDialog(); const searchResultPage = new SearchResultsPage(); @@ -50,7 +51,7 @@ describe('Search component - Search Bar', () => { const acsUser = new AcsUserModel(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -115,6 +116,7 @@ describe('Search component - Search Bar', () => { await uploadActions.deleteFileOrFolder(currentNode.entry.id); }); + await navigationBarPage.clickLogoutButton(); done(); }); @@ -277,12 +279,10 @@ describe('Search component - Search Bar', () => { describe('Highlight', () => { - const navigationBar = new NavigationBarPage(); - const searchConfiguration = SearchConfiguration.getConfiguration(); beforeAll(async () => { - navigationBar.clickContentServicesButton(); + navigationBarPage.clickContentServicesButton(); await LocalStorageUtil.setConfigField('search', JSON.stringify(searchConfiguration)); diff --git a/e2e/search/search-filters.e2e.ts b/e2e/search/search-filters.e2e.ts index 6cd6113fa3..7fe908d7be 100644 --- a/e2e/search/search-filters.e2e.ts +++ b/e2e/search/search-filters.e2e.ts @@ -35,7 +35,7 @@ describe('Search Filters', () => { const searchFiltersPage = new SearchFiltersPage(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); const paginationPage = new PaginationPage(); @@ -118,6 +118,7 @@ describe('Search Filters', () => { await uploadActions.deleteFileOrFolder(fileTypeTxt1.entry.id); await uploadActions.deleteFileOrFolder(fileTypeTxt2.entry.id); await uploadActions.deleteFileOrFolder(fileTypeJpg.entry.id); + await navigationBarPage.clickLogoutButton(); done(); }); diff --git a/e2e/search/search-multiselect.e2e.ts b/e2e/search/search-multiselect.e2e.ts index 0ec11d0291..483723d329 100644 --- a/e2e/search/search-multiselect.e2e.ts +++ b/e2e/search/search-multiselect.e2e.ts @@ -25,6 +25,7 @@ import { SearchResultsPage } from '../pages/adf/searchResultsPage'; import { SearchFiltersPage } from '../pages/adf/searchFiltersPage'; import { AcsUserModel } from '../models/ACS/acsUserModel'; import { FileModel } from '../models/ACS/fileModel'; +import { NavigationBarPage } from '../pages/adf/navigationBarPage'; describe('Search Component - Multi-Select Facet', () => { const loginPage = new LoginPage(); @@ -32,10 +33,12 @@ describe('Search Component - Multi-Select Facet', () => { const searchResultsPage = new SearchResultsPage(); this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); const searchFiltersPage = new SearchFiltersPage(); + const navigationBarPage = new NavigationBarPage(); + let site, userOption; describe('', () => { @@ -97,6 +100,7 @@ describe('Search Component - Multi-Select Facet', () => { ]); await this.alfrescoJsApi.core.sitesApi.deleteSite(site.entry.id); + await navigationBarPage.clickLogoutButton(); done(); }); diff --git a/e2e/search/search-page-component.e2e.ts b/e2e/search/search-page-component.e2e.ts index 3537353bd8..ed8b85b4c5 100644 --- a/e2e/search/search-page-component.e2e.ts +++ b/e2e/search/search-page-component.e2e.ts @@ -28,6 +28,7 @@ import { FileModel } from '../models/ACS/fileModel'; import { Util } from '../util/util'; import resources = require('../util/resources'); import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; +import { NavigationBarPage } from '../pages/adf/navigationBarPage'; describe('Search component - Search Page', () => { const search = { @@ -47,6 +48,7 @@ describe('Search component - Search Page', () => { const contentServicesPage = new ContentServicesPage(); const searchDialog = new SearchDialog(); const searchResultPage = new SearchResultsPage(); + const navigationBarPage = new NavigationBarPage(); const acsUser = new AcsUserModel(); const emptyFolderModel = new FolderModel({ 'name': 'search' + StringUtil.generateRandomString() }); @@ -57,7 +59,7 @@ describe('Search component - Search Page', () => { const adminNrOfFiles = 5; this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', - hostEcm: browser.params.testConfig.adf.url + hostEcm: browser.params.testConfig.adf_acs.host }); const uploadActions = new UploadActions(this.alfrescoJsApi); @@ -96,6 +98,10 @@ describe('Search component - Search Page', () => { done(); }); + afterAll(async () => { + await navigationBarPage.clickLogoutButton(); + }); + it('[C260264] Should display message when no results are found', () => { const notExistentFileName = StringUtil.generateRandomString(); searchDialog.checkSearchBarIsNotVisible().checkSearchIconIsVisible().clickOnSearchIcon() diff --git a/e2e/test.config.js b/e2e/test.config.js index 1dd6dbc56f..3e812a00d6 100644 --- a/e2e/test.config.js +++ b/e2e/test.config.js @@ -62,6 +62,8 @@ if (LOG) { module.exports = { + projectName :'ADF', + appConfig: appConfig, main: { @@ -165,7 +167,7 @@ module.exports = { * The protocol where the app runs. * @config main.protocol {String} */ - host: HOST, + host: PROXY || HOST, /** * The port where the app runs. @@ -193,7 +195,7 @@ module.exports = { * The host where the app runs. * @config main.host {String} */ - host: HOST, + host: PROXY || HOST, /** * The port where the app runs. diff --git a/lib/core/viewer/components/viewer.component.ts b/lib/core/viewer/components/viewer.component.ts index fbd9163775..bb49bd4c8b 100644 --- a/lib/core/viewer/components/viewer.component.ts +++ b/lib/core/viewer/components/viewer.component.ts @@ -170,7 +170,7 @@ export class ViewerComponent implements OnChanges, OnInit, OnDestroy { * There is a delay of at least one second between attempts. */ @Input() - maxRetries = 10; + maxRetries = 30; /** Emitted when user clicks the 'Back' button. */ @Output() @@ -200,7 +200,7 @@ export class ViewerComponent implements OnChanges, OnInit, OnDestroy { @Output() invalidSharedLink = new EventEmitter(); - TRY_TIMEOUT: number = 2000; + TRY_TIMEOUT: number = 10000; viewerType = 'unknown'; isLoading = false; diff --git a/lib/testing/src/lib/content-services/pages/document-list.page.ts b/lib/testing/src/lib/content-services/pages/document-list.page.ts index 582b408e32..d40d546472 100644 --- a/lib/testing/src/lib/content-services/pages/document-list.page.ts +++ b/lib/testing/src/lib/content-services/pages/document-list.page.ts @@ -67,7 +67,7 @@ export class DocumentListPage { clickOnActionMenu(content) { BrowserActions.closeMenuAndDialogs(); const row = this.dataTable.getRow('Display name', content); - row.element(this.optionButton).click(); + BrowserActions.click(row.element(this.optionButton)); BrowserVisibility.waitUntilElementIsVisible(this.actionMenu); browser.sleep(500); return this; diff --git a/lib/testing/src/lib/core/actions/identity/group-identity.service.ts b/lib/testing/src/lib/core/actions/identity/group-identity.service.ts index 08d2544338..81a6d32af5 100644 --- a/lib/testing/src/lib/core/actions/identity/group-identity.service.ts +++ b/lib/testing/src/lib/core/actions/identity/group-identity.service.ts @@ -17,6 +17,9 @@ import { ApiService } from '../api.service'; import { StringUtil } from '../../utils/string.util'; +import { browser } from 'protractor'; + +const GROUP_SUFFIX = browser.params.testConfig ? browser.params.testConfig.projectName : 'TestGroup'; export class GroupIdentityService { @@ -40,7 +43,7 @@ export class GroupIdentityService { const path = '/groups'; const method = 'POST'; const queryParams = {}, postBody = { - 'name': groupName + 'TestGroup' + 'name': groupName + GROUP_SUFFIX }; const data = await this.api.performIdentityOperation(path, method, queryParams, postBody); return data; @@ -49,8 +52,7 @@ export class GroupIdentityService { async deleteGroup(groupId) { const path = `/groups/${groupId}`; const method = 'DELETE'; - const queryParams = {}, postBody = { - }; + const queryParams = {}, postBody = {}; const data = await this.api.performIdentityOperation(path, method, queryParams, postBody); return data; } @@ -58,7 +60,7 @@ export class GroupIdentityService { async getGroupInfoByGroupName(groupName) { const path = `/groups`; const method = 'GET'; - const queryParams = { 'search' : groupName }, postBody = {}; + const queryParams = { 'search': groupName }, postBody = {}; const data = await this.api.performIdentityOperation(path, method, queryParams, postBody); return data[0]; @@ -68,7 +70,7 @@ export class GroupIdentityService { const path = `/groups/${groupId}/role-mappings/realm`; const method = 'POST'; const queryParams = {}, - postBody = [{'id': roleId, 'name': roleName}]; + postBody = [{ 'id': roleId, 'name': roleName }]; const data = await this.api.performIdentityOperation(path, method, queryParams, postBody); return data; @@ -102,7 +104,7 @@ export class GroupIdentityService { */ async getClientIdByApplicationName(applicationName: string) { const path = `/clients`; - const method = 'GET', queryParams = {clientId: applicationName}, postBody = {}; + const method = 'GET', queryParams = { clientId: applicationName }, postBody = {}; const data = await this.api.performIdentityOperation(path, method, queryParams, postBody); return data[0].id; diff --git a/lib/testing/src/lib/core/models/user.model.ts b/lib/testing/src/lib/core/models/user.model.ts index fb0892a0d6..50c213d0a5 100644 --- a/lib/testing/src/lib/core/models/user.model.ts +++ b/lib/testing/src/lib/core/models/user.model.ts @@ -16,13 +16,16 @@ */ import { StringUtil } from '../utils/string.util'; +import { browser } from 'protractor'; + +const EMAIL_DOMAIN = browser.params.testConfig ? browser.params.testConfig.projectName : 'alfresco'; export class UserModel { firstName: string = StringUtil.generateRandomString(); lastName: string = StringUtil.generateRandomString(); password: string = StringUtil.generateRandomString(); - email: string = StringUtil.generateRandomEmail('@alfresco.com'); + email: string = StringUtil.generateRandomEmail(`@${EMAIL_DOMAIN}.com`); username: string = StringUtil.generateRandomString().toLowerCase(); idIdentityService: string; diff --git a/lib/testing/src/lib/core/pages/form/widgets/dateWidget.ts b/lib/testing/src/lib/core/pages/form/widgets/dateWidget.ts index 1fa43537ae..7b9ad55d0c 100644 --- a/lib/testing/src/lib/core/pages/form/widgets/dateWidget.ts +++ b/lib/testing/src/lib/core/pages/form/widgets/dateWidget.ts @@ -51,11 +51,6 @@ export class DateWidget { return dateInput.clear(); } - clickOutsideWidget(fieldId) { - const form = this.formFields.getWidget(fieldId); - BrowserActions.click(form); - } - getErrorMessage(fieldId) { const errorMessage = element(by.css(`adf-form-field div[id="field-${fieldId}-container"] div[class="adf-error-text"]`)); return BrowserActions.getText(errorMessage); diff --git a/lib/testing/src/lib/core/pages/login-sso.page.ts b/lib/testing/src/lib/core/pages/login-sso.page.ts index 31212a6b9b..fd4584a06c 100644 --- a/lib/testing/src/lib/core/pages/login-sso.page.ts +++ b/lib/testing/src/lib/core/pages/login-sso.page.ts @@ -28,37 +28,38 @@ export class LoginSSOPage { header = element(by.id('adf-header')); loginError = element(by.css(`div[data-automation-id="login-error"]`)); - loginSSOIdentityService(username, password) { + async loginSSOIdentityService(username, password) { browser.ignoreSynchronization = true; - BrowserVisibility.waitUntilElementIsVisible(this.usernameField); - this.enterUsername(username); - this.enterPassword(password); - this.clickLoginButton(); - browser.actions().sendKeys(protractor.Key.ENTER).perform(); - return BrowserVisibility.waitUntilElementIsVisible(this.header); + await BrowserVisibility.waitUntilElementIsVisible(this.usernameField); + await this.enterUsername(username); + await this.enterPassword(password); + await this.clickLoginButton(); + await browser.actions().sendKeys(protractor.Key.ENTER).perform(); + await BrowserVisibility.waitUntilElementIsVisible(this.header); + await browser.waitForAngular(''); } - clickOnSSOButton() { - return BrowserActions.clickExecuteScript('[data-automation-id="login-button-sso"]'); + async clickOnSSOButton() { + await BrowserActions.clickExecuteScript('[data-automation-id="login-button-sso"]'); } - enterUsername(username) { - BrowserActions.clearSendKeys(this.usernameField, username); + async enterUsername(username) { + await BrowserActions.clearSendKeys(this.usernameField, username); } - enterPassword(password) { - BrowserActions.clearSendKeys(this.passwordField, password); + async enterPassword(password) { + await BrowserActions.clearSendKeys(this.passwordField, password); } - clickLoginButton() { - return BrowserActions.click(this.loginButton); + async clickLoginButton() { + await BrowserActions.click(this.loginButton); } - checkLoginErrorIsDisplayed() { - return BrowserVisibility.waitUntilElementIsVisible(this.loginError); + async checkLoginErrorIsDisplayed() { + await BrowserVisibility.waitUntilElementIsVisible(this.loginError); } - getLoginErrorMessage() { + async getLoginErrorMessage() { return BrowserActions.getText(this.loginError); } diff --git a/lib/testing/src/lib/core/pages/login.page.ts b/lib/testing/src/lib/core/pages/login.page.ts index 5d7bc263a7..d38e758ee2 100644 --- a/lib/testing/src/lib/core/pages/login.page.ts +++ b/lib/testing/src/lib/core/pages/login.page.ts @@ -88,11 +88,11 @@ export class LoginPage { } enterUsername(username) { - BrowserActions.clearSendKeys(this.txtUsername, username); + return BrowserActions.clearSendKeys(this.txtUsername, username); } enterPassword(password) { - BrowserActions.clearSendKeys(this.txtPassword, password); + return BrowserActions.clearSendKeys(this.txtPassword, password); } async clearUsername() { diff --git a/lib/testing/src/lib/core/pages/settings.page.ts b/lib/testing/src/lib/core/pages/settings.page.ts index 685cd545d7..b72a80340b 100644 --- a/lib/testing/src/lib/core/pages/settings.page.ts +++ b/lib/testing/src/lib/core/pages/settings.page.ts @@ -149,7 +149,7 @@ export class SettingsPage { this.setSilentLogin(silentLogin); this.setImplicitFlow(implicitFlow); this.setLogoutUrl(logoutUr); - this.clickApply(); + await this.clickApply(); await browser.sleep(1000); } 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 1bb34e0a50..a9031aa21d 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 @@ -30,8 +30,8 @@ export class EditTaskFilterCloudComponentPage { id = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-taskId"]')); processDefinitionId = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-processDefinitionId"]')); processInstanceId = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-processInstanceId"]')); - lastModifiedFrom = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-lastModifiedFrom"]')); - lastModifiedTo = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-lastModifiedTo"]')); + lastModifiedFrom = element(by.css('input[placeholder="LastModifiedFrom"]')); + lastModifiedTo = element(by.css('input[placeholder="LastModifiedTo"]')); parentTaskId = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-parentTaskId"]')); owner = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-owner"]')); saveButton = element(by.css('[data-automation-id="adf-filter-action-save"]')); @@ -58,7 +58,7 @@ export class EditTaskFilterCloudComponentPage { } getStatusFilterDropDownValue() { - return element.all(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-status'] span")).first().getText(); + return BrowserActions.getText(element(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-status'] span span"))); } setSortFilterDropDown(option) { @@ -70,8 +70,7 @@ export class EditTaskFilterCloudComponentPage { } getSortFilterDropDownValue() { - const elementSort = element.all(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-sort'] span")).first(); - return BrowserActions.getText(elementSort); + return BrowserActions.getText(element(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-sort'] span span"))); } setOrderFilterDropDown(option) { @@ -84,13 +83,12 @@ export class EditTaskFilterCloudComponentPage { } getOrderFilterDropDownValue() { - return element.all(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-order'] span")).first().getText(); + return BrowserActions.getText(element(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-order'] span span"))); } clickOnDropDownArrow(option) { const dropDownArrow = element.all(by.css("mat-form-field[data-automation-id='" + option + "'] div[class*='arrow']")).first(); - BrowserVisibility.waitUntilElementIsVisible(dropDownArrow); - dropDownArrow.click(); + BrowserActions.click(dropDownArrow); BrowserVisibility.waitUntilElementIsVisible(this.selectedOption); } @@ -126,18 +124,18 @@ export class EditTaskFilterCloudComponentPage { return BrowserActions.getText(this.owner); } - setLastModifiedFrom(option) { + setLastModifiedFrom(lastModifiedFromDate) { this.clearField(this.lastModifiedFrom); - return this.setProperty('lastModifiedFrom', option); + BrowserActions.clearSendKeys(this.lastModifiedFrom, lastModifiedFromDate); } getLastModifiedFrom() { return BrowserActions.getText(this.lastModifiedFrom); } - setLastModifiedTo(option) { + setLastModifiedTo(lastModifiedToDate) { this.clearField(this.lastModifiedTo); - return this.setProperty('lastModifiedTo', option); + BrowserActions.clearSendKeys(this.lastModifiedTo, lastModifiedToDate); } getLastModifiedTo() { @@ -210,8 +208,7 @@ export class EditTaskFilterCloudComponentPage { } getAppNameDropDownValue() { - const locator = element.all(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-appName'] span")).first(); - return BrowserActions.getText(locator); + return BrowserActions.getText(element(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-appName'] span span"))); } setId(option) { diff --git a/package.json b/package.json index 737ef7053e..f0ab9fd556 100644 --- a/package.json +++ b/package.json @@ -141,7 +141,6 @@ "extract-text-webpack-plugin": "^4.0.0-beta.0", "fs-extra": "^4.0.2", "graphql": "^14.1.1", - "http-proxy-middleware": "^0.19.0", "husky": "^1.2.0", "jasmine-ajax": "3.2.0", "jasmine-core": "~2.8.0", diff --git a/protractor.conf.ts b/protractor.conf.ts index 3e2f27f905..8a850ada9f 100644 --- a/protractor.conf.ts +++ b/protractor.conf.ts @@ -36,6 +36,8 @@ let LIST_SPECS = process.env.LIST_SPECS || []; let LOG = process.env.LOG ? true : false; let arraySpecs = []; +let failFast = require('jasmine-fail-fast'); + if (LOG) { console.log('======= PROTRACTOR CONFIGURATION ====== '); console.log('SAVE_SCREENSHOT : ' + SAVE_SCREENSHOT); @@ -43,6 +45,7 @@ if (LOG) { console.log('FOLDER : ' + FOLDER); console.log('MAXINSTANCES : ' + MAXINSTANCES); console.log('LIST_SPECS : ' + LIST_SPECS); + console.log('SELENIUM_SERVER : ' + SELENIUM_SERVER); } let browser_options = function () { @@ -177,7 +180,109 @@ let uploadReport = async function (alfrescoJsApi, filenameReport) { } }; +let beforeAllRewrite = function () { + + const originalBeforeAll = global.beforeAll; + + // tslint:disable-next-line + global.beforeAll = function (beforeAllFunction, timeout) { + const wrapClbk = async (done) => { + try { + await beforeAllFunction(done); + } catch (error) { + console.log('Error Before all second attempt in 10 sec'); + sleep(10000); + try { + await beforeAllFunction(done); + } catch (e) { + // tslint:disable-next-line:no-console + console.log('Error Before all second attempt fail all' + JSON.stringify(error)); + expect(true).toBe(false); + } + } + + done(); + return; + }; + + originalBeforeAll(wrapClbk, timeout); + + }; +}; + +let afterAllRewrite = function () { + + const originalAfterAll = global.afterAll; + + // tslint:disable-next-line + global.afterAll = function (afterAllFunction, timeout) { + const wrapClbk = async (done) => { + try { + await afterAllFunction(done); + } catch (error) { + // tslint:disable-next-line:no-console + console.log('Error After all' + JSON.stringify(error)); + } + + done(); + return; + }; + + originalAfterAll(wrapClbk, timeout); + + }; +}; + +let beforeEachAllRewrite = function () { + + const originalBeforeEach = global.beforeEach; + + // tslint:disable-next-line + global.beforeEach = function (beforeEachFunction, timeout) { + const wrapClbk = async (done) => { + try { + await beforeEachFunction(done); + } catch (error) { + // tslint:disable-next-line:no-console + console.log('Error before Each' + JSON.stringify(error)); + expect(true).toBe(false); + } + + done(); + return; + }; + + originalBeforeEach(wrapClbk, timeout); + + }; +}; + +let afterEachAllRewrite = function () { + + const originalAfterEach = global.afterEach; + + // tslint:disable-next-line + global.afterEach = function (afterEachFunction, timeout) { + const wrapClbk = async (done) => { + try { + await afterEachFunction(done); + } catch (error) { + // tslint:disable-next-line:no-console + console.log('Error After each' + JSON.stringify(error)); + + } + + done(); + return; + }; + + originalAfterEach(wrapClbk, timeout); + + }; +}; + let browserLogErrorPrint = function () { + if (process.env.LOG) { var browserLogs = require('protractor-browser-logs'), logs = browserLogs(browser); @@ -243,6 +348,7 @@ let saveReport = async function (alfrescoJsApi, retryCount) { console.log('done delete screenshot'); }); }; + exports.config = { allScriptsTimeout: TIMEOUT, @@ -258,10 +364,10 @@ exports.config = { browserName: 'chrome', - shardTestFiles: true, - maxInstances: MAXINSTANCES, + shardTestFiles: true, + chromeOptions: { prefs: { 'credentials_enable_service': false, @@ -328,12 +434,15 @@ exports.config = { }, onPrepare() { + afterEachAllRewrite(); + beforeEachAllRewrite(); + afterAllRewrite(); + beforeAllRewrite(); browserLogErrorPrint(); retry.onPrepare(); jasmine.DEFAULT_TIMEOUT_INTERVAL = TIMEOUT; - let failFast = require('jasmine-fail-fast'); jasmine.getEnv().addReporter(failFast.init()); require('ts-node').register({ @@ -433,3 +542,8 @@ exports.config = { } }; + +function sleep(delay) { + var start = new Date().getTime(); + while (new Date().getTime() < start + delay) ; +} diff --git a/scripts/check-env/check-activiti-env.js b/scripts/check-env/check-activiti-env.js index 6ceb67804f..ed03103ac6 100755 --- a/scripts/check-env/check-activiti-env.js +++ b/scripts/check-env/check-activiti-env.js @@ -276,13 +276,11 @@ async function deployApp(apiService, app, name) { "version": app.entry.name, "security": [{"role": "APS_ADMIN", "groups": [], "users": ["admin.adf"]}, { "role": "APS_USER", - "groups": ["hr"], + "groups": ["hr", "testgroup"], "users": ["admin.adf"] }] }; - //console.log(JSON.stringify(bodyParam)); - const headerParams = {}, formParams = {}, queryParams = {}, contentTypes = ['application/json'], accepts = ['application/json']; diff --git a/scripts/lint.sh b/scripts/lint.sh index 5cfaa789a8..6ffff11297 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -14,7 +14,7 @@ echo "====== Parallel lint =====" npx concurrently -s "all" "npm run lint-lib || exit 1" "npm run stylelint || exit 1" "npm run spellcheck || exit " "ng lint dev || exit 1" "npm run lint-e2e || exit 1" || exit 1 -if grep "envalfresco" . -R --exclude-dir={node_modules,.history,.idea,scripts} --exclude=".env.cloud"; then +if grep "envalfresco" . -R --exclude-dir={node_modules,.history,.idea,scripts,dist,e2e-output} --exclude=".env.cloud"; then echo not permitted word exit 1 fi diff --git a/scripts/smart-build.sh b/scripts/smart-build.sh index 1ed52caf6a..e554d20391 100755 --- a/scripts/smart-build.sh +++ b/scripts/smart-build.sh @@ -39,17 +39,16 @@ else gnu='' fi -#reset the tmp folder -affected="$(./scripts/affected-libs.sh ${gnu[@]} -b "$BRANCH_NAME")" -echo $affected -libs=(`echo $affected | sed 's/^$/\n/g'`) - - if [ $BRANCH_NAME == 'undefined' ]; then echo "Rebase your branch" exit 1 fi +#reset the tmp folder +affected="$(./scripts/affected-libs.sh ${gnu[@]} -b "$BRANCH_NAME")" +echo $affected +libs=(`echo $affected | sed 's/^$/\n/g'`) + echo "Builds" #extensions diff --git a/scripts/test-e2e-lib.sh b/scripts/test-e2e-lib.sh index f8bca06bea..d8933ec3e2 100755 --- a/scripts/test-e2e-lib.sh +++ b/scripts/test-e2e-lib.sh @@ -10,6 +10,11 @@ EXEC_VERSION_JSAPI=false TIMEOUT=15000 SELENIUM_PROMISE_MANAGER=1 DEBUG=false +eval GNU=false + +gnu_mode() { + GNU=true +} show_help() { echo "Usage: ./scripts/test-e2e-lib.sh -host adf.domain.com -u admin -p admin -e admin" @@ -38,6 +43,7 @@ show_help() { echo "-disable-control-flow disable control flow" echo "-db or --debug run the debugger" echo "-vjsapi install different version from npm of JS-API defined in the package.json" + echo "-gnu for gnu" echo "-h or --help" } @@ -121,6 +127,7 @@ set_test_folder(){ set_selenium(){ SELENIUM_SERVER=$1 + export SELENIUM_SERVER=$SELENIUM_SERVER } set_env(){ @@ -188,17 +195,22 @@ while [[ $1 == -* ]]; do -m|--maxInstances) max_instances $2; shift 2;; -vjsapi) version_js_api $2; shift 2;; -disable-control-flow|--disable-control-flow) disable_control_flow; shift;; + -gnu) gnu_mode; shift;; -*) echo "invalid option: $1" 1>&2; show_help; exit 1;; esac done +if $GNU; then + sedi='-i' +else + sedi=('-i' '') +fi + rm -rf ./e2e/downloads/ rm -rf ./e2e-output/screenshots/ export TIMEOUT=$TIMEOUT -export SELENIUM_SERVER=$SELENIUM_SERVER - export SELENIUM_PROMISE_MANAGER=$SELENIUM_PROMISE_MANAGER if $EXEC_VERSION_JSAPI == true; then @@ -220,10 +232,26 @@ else if [[ $LITESERVER == "true" ]]; then echo "====== Run dist in lite-server =====" ls demo-shell/dist + + if [[ -n "${PROXY_HOST_ADF}" ]] + then + replace="\/" + encoded=${PROXY_HOST_ADF//\//$replace} + sed -e "s/\"bpmHost\": \".*\"/\"bpmHost\": \"${encoded}\"/g" "${sedi[@]}" demo-shell/dist/app.config.json + fi + + if [[ -n "${PROXY_HOST_ADF}" ]] + then + replace="\/" + encoded=${PROXY_HOST_ADF//\//$replace} + sed -e "s/\"ecmHost\": \".*\"/\"ecmHost\": \"${encoded}\"/g" "${sedi[@]}" demo-shell/dist/app.config.json + fi + npm run lite-server-e2e>/dev/null & ./node_modules/protractor/bin/protractor protractor.conf.ts || exit 1 else if [[ $DEBUG == "true" ]]; then - echo "====== DEBUG =====" + echo "====== DEBUG npm run lite-server-e2e>/dev/null & ./node_modules/protractor/bin/protractor protractor.conf.ts || exit 1 + else=====" node --inspect-brk ./node_modules/protractor/bin/protractor protractor.conf.ts || exit 1 else ./node_modules/protractor/bin/protractor protractor.conf.ts || exit 1 diff --git a/scripts/travis/e2e/content-services-e2e.sh b/scripts/travis/e2e/content-services-e2e.sh index 9e04695896..70b0bc146b 100755 --- a/scripts/travis/e2e/content-services-e2e.sh +++ b/scripts/travis/e2e/content-services-e2e.sh @@ -12,7 +12,7 @@ AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)"; AFFECTED_E2E="$(./scripts/git-util/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e/$CONTEXT_ENV")"; node ./scripts/check-env/check-cs-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1 -RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --use-dist -b -m 3 || exit 1) +RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --use-dist -b -m 2 -gnu || exit 1) if [[ $AFFECTED_LIBS =~ "testing" || $AFFECTED_LIBS =~ "$CONTEXT_ENV" || $TRAVIS_PULL_REQUEST == "false" ]]; then $RUN_CHECK diff --git a/scripts/travis/e2e/core-e2e.sh b/scripts/travis/e2e/core-e2e.sh index 6b83320ed4..89bf60fd2b 100755 --- a/scripts/travis/e2e/core-e2e.sh +++ b/scripts/travis/e2e/core-e2e.sh @@ -13,7 +13,7 @@ AFFECTED_E2E="$(./scripts/git-util/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e/ node ./scripts/check-env/check-ps-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1 node ./scripts/check-env/check-cs-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1 -RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --use-dist -b -m 3 ) +RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --use-dist -b -m 2 -gnu ) if [[ $AFFECTED_LIBS =~ "testing" || $AFFECTED_LIBS =~ "$CONTEXT_ENV" || $TRAVIS_PULL_REQUEST == "false" ]]; then diff --git a/scripts/travis/e2e/insights-e2e.sh b/scripts/travis/e2e/insights-e2e.sh index 6b302285c4..4d8294f3a1 100755 --- a/scripts/travis/e2e/insights-e2e.sh +++ b/scripts/travis/e2e/insights-e2e.sh @@ -10,5 +10,5 @@ AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)"; if [[ $AFFECTED_LIBS =~ "testing" || $AFFECTED_LIBS =~ "insight" || $TRAVIS_PULL_REQUEST == "false" ]]; then node ./scripts/check-env/check-ps-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1; - ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder insights --use-dist || exit 1; + ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder insights --use-dist -gnu || exit 1; fi; diff --git a/scripts/travis/e2e/process-services-cloud-e2e.sh b/scripts/travis/e2e/process-services-cloud-e2e.sh index 436fcd0158..23385be4e7 100755 --- a/scripts/travis/e2e/process-services-cloud-e2e.sh +++ b/scripts/travis/e2e/process-services-cloud-e2e.sh @@ -11,7 +11,7 @@ CONTEXT_ENV="process-services-cloud" AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)"; AFFECTED_E2E="$(./scripts/git-util/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e/$CONTEXT_ENV")"; -RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST_BPM" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" -host_sso "$E2E_HOST_SSO" -host_bpm "$E2E_HOST_BPM" -host_identity "$E2E_HOST_IDENTITY" -identity_admin_email "$E2E_ADMIN_EMAIL_IDENTITY" -identity_admin_password "$E2E_ADMIN_PASSWORD_IDENTITY" --use-dist ) +RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST_BPM" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" -host_sso "$E2E_HOST_SSO" -host_bpm "$E2E_HOST_BPM" -host_identity "$E2E_HOST_IDENTITY" -identity_admin_email "$E2E_ADMIN_EMAIL_IDENTITY" -identity_admin_password "$E2E_ADMIN_PASSWORD_IDENTITY" --use-dist -gnu ) if [[ $AFFECTED_LIBS =~ "testing" || $AFFECTED_LIBS =~ "$CONTEXT_ENV" || $TRAVIS_PULL_REQUEST == "false" ]]; then diff --git a/scripts/travis/e2e/process-services-e2e.sh b/scripts/travis/e2e/process-services-e2e.sh index 819962ef9e..dcde131902 100755 --- a/scripts/travis/e2e/process-services-e2e.sh +++ b/scripts/travis/e2e/process-services-e2e.sh @@ -12,7 +12,7 @@ AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)"; AFFECTED_E2E="$(./scripts/git-util/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e/$CONTEXT_ENV/")"; node ./scripts/check-env/check-ps-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1 -RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --use-dist -b -m 3 ) +RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --use-dist -b -m 2 -gnu ) if [[ $AFFECTED_LIBS =~ "testing" || $AFFECTED_LIBS =~ "$CONTEXT_ENV" || $TRAVIS_PULL_REQUEST == "false" ]]; then diff --git a/scripts/travis/e2e/search-e2e.sh b/scripts/travis/e2e/search-e2e.sh index 4840574104..1f168cb17b 100755 --- a/scripts/travis/e2e/search-e2e.sh +++ b/scripts/travis/e2e/search-e2e.sh @@ -12,7 +12,7 @@ AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)"; AFFECTED_E2E="$(./scripts/git-util/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e/$CONTEXT_ENV")"; node ./scripts/check-env/check-cs-env.js --host "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" || exit 1 -RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --use-dist -b -m 3 ) +RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --use-dist -b -m 2 -gnu ) if [[ $AFFECTED_LIBS =~ "testing" || $AFFECTED_LIBS =~ "content-services" || $TRAVIS_PULL_REQUEST == "false" ]]; then diff --git a/scripts/travis/update/update-children.sh b/scripts/travis/update/update-children.sh index 5a023b68b1..b921948ed1 100755 --- a/scripts/travis/update/update-children.sh +++ b/scripts/travis/update/update-children.sh @@ -14,7 +14,5 @@ echo "Update AMA" ./scripts/travis/update/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Alfresco/alfresco-modeler-app' echo "Update Workspace" ./scripts/travis/update/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Alfresco/alfresco-process-workspace-app' -echo "Update AMA Activiti" -./scripts/travis/update/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Activiti/activiti-modeling-app' echo "Update APA Activiti" ./scripts/travis/update/update-project.sh -gnu -t $GITHUB_TOKEN -n 'Alfresco/alfresco-admin-app'