diff --git a/.travis.yml b/.travis.yml index cf14efac5d..7bedf9d8b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,7 +21,6 @@ env: #E2E VARIABLES - SAVE_SCREENSHOT=true - REDIRECT_URI=/ - - REDIRECT_URI_LOGOUT=/logout/ - BROWSER_RUN=true - MAXINSTANCES=2 @@ -35,19 +34,19 @@ branches: stages: - name: Setup - - name: "Lint & Build Dist & Release" + - name: "Build lib" if: tag IS blank - - name: Trigger Alpha ADF child build - if: (branch = develop AND type = push) OR type = api - - name: Check bundle + - name: "Check bundle" if: type = push AND tag IS blank - - name: Unit test - if: (branch != master AND type != cron AND tag IS blank) OR type = api - - name: e2e Test - if: (branch != master AND type != cron AND tag IS blank) OR type = api - - name: Trigger Beta ADF child build + - name: "Trigger Alpha ADF child build" + if: (branch = develop AND type = push) OR type = api + - name: "Trigger Beta ADF child build" if: tag =~ .*beta.* - - name: Release tag + - name: "Build" + if: (branch != master AND type != cron AND tag IS blank) OR type = api + - name: "e2e Test" + if: (branch != master AND type != cron AND tag IS blank) OR type = api + - name: "Release tag" if: type = cron OR branch = master addons: @@ -71,67 +70,80 @@ jobs: use: node_modules_cache # Run Only for any PR - - stage: "Lint & Build Dist & Release" - name: Build + - stage: "Build lib" + name: "Lib::Build" script: - - ./scripts/travis/build/build.sh + - ./scripts/travis/build/build-libs.sh - ./scripts/travis/release/release-npm.sh - - ./scripts/travis/release/release-docker.sh workspaces: create: - name: built_artefacts_cache + name: built_libs_cache paths: - - "$DEMO_SHELL_DIR" - "$BUILT_LIBS_DIR" use: node_modules_cache - - stage: "Lint & Build Dist & Release" + - stage: "Build lib" name: "Lint" script: ./scripts/lint.sh workspaces: - use: node_modules_cache + use: node_modules_cache - - stage: Unit test - name: Unit test content + - stage: "Build" + name: "Demo Shell :Build && dockerize" + script: + # Build Demo shell for production docker" + - NODE_OPTIONS=--max_old_space_size=8192 nx build demoshell --prod + - ./scripts/travis/release/release-docker.sh + workspaces: + create: + name: built_demo_shell_cache + paths: + - "$DEMO_SHELL_DIR" + use: + - node_modules_cache + - built_libs_cache + + - stage: "Build" + name: "content::unit" script: ./scripts/travis/unit-test/content.sh workspaces: use: node_modules_cache - - stage: Unit test - name: Unit test core extension demo + - stage: "Build" + name: "core-extension::unit" script: ./scripts/travis/unit-test/core-extension.sh workspaces: use: node_modules_cache - - stage: Unit test - name: Unit test process insights + - stage: "Build" + name: "process-insights::unit" script: ./scripts/travis/unit-test/process.sh workspaces: use: node_modules_cache - - stage: Unit test - name: Unit test process-cloud + - stage: "Build" + name: "process-cloud::unit" script: ./scripts/travis/unit-test/process-cloud.sh workspaces: use: node_modules_cache - - stage: Trigger Alpha ADF child build - name: Trigger Alpha ADF child build + - stage: "Trigger Alpha ADF child build" + name: "Trigger Alpha ADF child build" script: ./scripts/travis/update/update-project.sh -p $TRAVIS_BUILD_NUMBER -t $GITHUB_TOKEN -v alpha workspaces: use: node_modules_cache - - stage: Trigger Beta ADF child build - name: Trigger Beta ADF child build + - stage: "Trigger Beta ADF child build" + name: "Trigger Beta ADF child build" script: ./scripts/travis/update/update-project.sh -p $TRAVIS_BUILD_NUMBER -t $GITHUB_TOKEN -v beta workspaces: use: node_modules_cache - - stage: Release tag + - stage: "Release tag" script: ./scripts/travis/release/git-tag.sh - - stage: e2e Test - name: core + - stage: "e2e Test" + name: "Core" before_script: - ./scripts/ci/job_hooks/before_e2e.sh - ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1 @@ -141,10 +153,12 @@ jobs: workspaces: use: - node_modules_cache - - built_artefacts_cache + - built_libs_cache + - built_demo_shell_cache - - stage: e2e Test - name: content + + - stage: "e2e Test" + name: "Content: Components" before_script: - ./scripts/ci/job_hooks/before_e2e.sh - ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1 @@ -153,10 +167,73 @@ jobs: workspaces: use: - node_modules_cache - - built_artefacts_cache + - built_libs_cache + - built_demo_shell_cache + env: + - CONTEXT_ENV="content-services/components" - - stage: e2e Test - name: search + - stage: "e2e Test" + name: "Content: Directives" + before_script: + - ./scripts/ci/job_hooks/before_e2e.sh + - ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1 + script: ./scripts/travis/e2e/content-services-e2e.sh + after_script: ./scripts/ci/job_hooks/after_e2e.sh + workspaces: + use: + - node_modules_cache + - built_libs_cache + - built_demo_shell_cache + env: + - CONTEXT_ENV="content-services/directives" + + - stage: "e2e Test" + name: "Content: Document List" + before_script: + - ./scripts/ci/job_hooks/before_e2e.sh + - ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1 + script: ./scripts/travis/e2e/content-services-e2e.sh + after_script: ./scripts/ci/job_hooks/after_e2e.sh + workspaces: + use: + - node_modules_cache + - built_libs_cache + - built_demo_shell_cache + env: + - CONTEXT_ENV="content-services/document-list" + + - stage: "e2e Test" + name: "Content: Metadata" + before_script: + - ./scripts/ci/job_hooks/before_e2e.sh + - ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1 + script: ./scripts/travis/e2e/content-services-e2e.sh + after_script: ./scripts/ci/job_hooks/after_e2e.sh + workspaces: + use: + - node_modules_cache + - built_libs_cache + - built_demo_shell_cache + env: + - CONTEXT_ENV="content-services/metadata" + + - stage: "e2e Test" + name: "Content: Upload and Versioning" + before_script: + - ./scripts/ci/job_hooks/before_e2e.sh + - ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1 + script: ./scripts/travis/e2e/content-services-e2e.sh + after_script: ./scripts/ci/job_hooks/after_e2e.sh + workspaces: + use: + - node_modules_cache + - built_libs_cache + - built_demo_shell_cache + env: + - CONTEXT_ENV="content-services/upload" + + - stage: "e2e Test" + name: "Search" before_script: - ./scripts/ci/job_hooks/before_e2e.sh - ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1 @@ -165,10 +242,11 @@ jobs: workspaces: use: - node_modules_cache - - built_artefacts_cache + - built_libs_cache + - built_demo_shell_cache - - stage: e2e Test - name: process + - stage: "e2e Test" + name: "Process: Form" before_script: - ./scripts/ci/job_hooks/before_e2e.sh || travis_terminate 1 - ./scripts/ci/check-env/check-ps-env.sh || travis_terminate 1 @@ -178,10 +256,61 @@ jobs: workspaces: use: - node_modules_cache - - built_artefacts_cache + - built_libs_cache + - built_demo_shell_cache + env: + - CONTEXT_ENV="process-services/form" - - stage: e2e Test - name: process Cloud + - stage: "e2e Test" + name: "Process: Process" + before_script: + - ./scripts/ci/job_hooks/before_e2e.sh || travis_terminate 1 + - ./scripts/ci/check-env/check-ps-env.sh || travis_terminate 1 + - ./scripts/ci/check-env/check-external-cs-env.sh || travis_terminate 1 + script: ./scripts/travis/e2e/process-services-e2e.sh + after_script: ./scripts/ci/job_hooks/after_e2e.sh + workspaces: + use: + - node_modules_cache + - built_libs_cache + - built_demo_shell_cache + env: + - CONTEXT_ENV="process-services/process" + + - stage: "e2e Test" + name: "Process: Tasks" + before_script: + - ./scripts/ci/job_hooks/before_e2e.sh || travis_terminate 1 + - ./scripts/ci/check-env/check-ps-env.sh || travis_terminate 1 + - ./scripts/ci/check-env/check-external-cs-env.sh || travis_terminate 1 + script: ./scripts/travis/e2e/process-services-e2e.sh + after_script: ./scripts/ci/job_hooks/after_e2e.sh + workspaces: + use: + - node_modules_cache + - built_libs_cache + - built_demo_shell_cache + env: + - CONTEXT_ENV="process-services/tasks" + + - stage: "e2e Test" + name: "Process: Widgets" + before_script: + - ./scripts/ci/job_hooks/before_e2e.sh || travis_terminate 1 + - ./scripts/ci/check-env/check-ps-env.sh || travis_terminate 1 + - ./scripts/ci/check-env/check-external-cs-env.sh || travis_terminate 1 + script: ./scripts/travis/e2e/process-services-e2e.sh + after_script: ./scripts/ci/job_hooks/after_e2e.sh + workspaces: + use: + - node_modules_cache + - built_libs_cache + - built_demo_shell_cache + env: + - CONTEXT_ENV="process-services/widgets" + + - stage: "e2e Test" + name: "Process Cloud : Form" before_script: - ./scripts/ci/job_hooks/before_e2e.sh - ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1 @@ -191,7 +320,78 @@ jobs: workspaces: use: - node_modules_cache - - built_artefacts_cache + - built_libs_cache + - smartrunner-cache-process-cloud + - built_demo_shell_cache + env: + - CONTEXT_ENV="process-services-cloud/form-field" + + - stage: "e2e Test" + name: "Process Cloud : People" + before_script: + - ./scripts/ci/job_hooks/before_e2e.sh + - ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1 + - ./scripts/ci/check-env/check-ps-cloud-env.sh || travis_terminate 1 + script: ./scripts/travis/e2e/process-services-cloud-e2e.sh + after_script: ./scripts/ci/job_hooks/after_e2e.sh + workspaces: + use: + - node_modules_cache + - built_libs_cache + - smartrunner-cache-process-cloud + - built_demo_shell_cache + env: + - CONTEXT_ENV="process-services-cloud/people" + + - stage: "e2e Test" + name: "Process Cloud : Process" + before_script: + - ./scripts/ci/job_hooks/before_e2e.sh + - ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1 + - ./scripts/ci/check-env/check-ps-cloud-env.sh || travis_terminate 1 + script: ./scripts/travis/e2e/process-services-cloud-e2e.sh + after_script: ./scripts/ci/job_hooks/after_e2e.sh + workspaces: + use: + - node_modules_cache + - built_libs_cache + - smartrunner-cache-process-cloud + - built_demo_shell_cache + env: + - CONTEXT_ENV="process-services-cloud/process" + + - stage: "e2e Test" + name: "Process Cloud : Start Task" + before_script: + - ./scripts/ci/job_hooks/before_e2e.sh + - ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1 + - ./scripts/ci/check-env/check-ps-cloud-env.sh || travis_terminate 1 + script: ./scripts/travis/e2e/process-services-cloud-e2e.sh + after_script: ./scripts/ci/job_hooks/after_e2e.sh + workspaces: + use: + - node_modules_cache + - built_libs_cache + - smartrunner-cache-process-cloud + - built_demo_shell_cache + env: + - CONTEXT_ENV="process-services-cloud/start-task" + + - stage: "e2e Test" + name: "Process Cloud : Tasks List" + before_script: + - ./scripts/ci/job_hooks/before_e2e.sh + - ./scripts/ci/check-env/check-cs-env.sh || travis_terminate 1 + - ./scripts/ci/check-env/check-ps-cloud-env.sh || travis_terminate 1 + script: ./scripts/travis/e2e/process-services-cloud-e2e.sh + after_script: ./scripts/ci/job_hooks/after_e2e.sh + workspaces: + use: + - node_modules_cache + - built_libs_cache + - built_demo_shell_cache + env: + - CONTEXT_ENV="process-services-cloud/task-list" - stage: Check bundle script: diff --git a/angular.json b/angular.json index fd9dfd7805..75f32106d8 100644 --- a/angular.json +++ b/angular.json @@ -162,6 +162,16 @@ "maximumWarning": "6kb" } ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "aot": true, + "extractLicenses": true, + "vendorChunk": true, + "buildOptimizer": true, + "verbose": false, "fileReplacements": [ { "replace": "demo-shell/src/environments/environment.ts", diff --git a/demo-shell/src/app/services/app-notifications.service.ts b/demo-shell/src/app/services/app-notifications.service.ts index 0574626df2..45c2ada84f 100644 --- a/demo-shell/src/app/services/app-notifications.service.ts +++ b/demo-shell/src/app/services/app-notifications.service.ts @@ -14,7 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { AppConfigService, NotificationService, NotificationModel, AlfrescoApiService, IdentityUserService } from '@alfresco/adf-core'; +import { + AuthenticationService, + AppConfigService, + NotificationService, + NotificationModel, + AlfrescoApiService, + IdentityUserService +} from '@alfresco/adf-core'; import { NotificationCloudService } from '@alfresco/adf-process-services-cloud'; import { Injectable } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; @@ -39,6 +46,7 @@ export class AppNotificationsService { constructor( private appConfigService: AppConfigService, + private authenticationService: AuthenticationService, private notificationCloudService: NotificationCloudService, private notificationService: NotificationService, private translateService: TranslateService, @@ -46,25 +54,40 @@ export class AppNotificationsService { private alfrescoApiService: AlfrescoApiService ) { this.alfrescoApiService.alfrescoApiInitialized.subscribe(() => { - const deployedApps = this.appConfigService.get('alfresco-deployed-apps', []); - if (deployedApps?.length) { - deployedApps.forEach((app) => { - this.notificationCloudService - .makeGQLQuery(app.name, SUBSCRIPTION_QUERY) - .pipe(map((events: any) => events.data.engineEvents)) - .subscribe((result) => { - result.map((engineEvent) => this.notifyEvent(engineEvent)); + if (this.isProcessServicesEnabled()) { + this.alfrescoApiService.getInstance().oauth2Auth.once('token_issued', () => { + + const deployedApps = this.appConfigService.get('alfresco-deployed-apps', []); + if (deployedApps?.length) { + deployedApps.forEach((app) => { + this.notificationCloudService + .makeGQLQuery(app.name, SUBSCRIPTION_QUERY) + .pipe(map((events: any) => events.data.engineEvents)) + .subscribe((result) => { + result.map((engineEvent) => this.notifyEvent(engineEvent)); + }); }); + } + }); + } + }); } + private isProcessServicesEnabled() { + return this.authenticationService.isLoggedIn() && (this.authenticationService.isBPMProvider() || this.authenticationService.isALLProvider()); + } + notifyEvent(engineEvent) { let message; switch (engineEvent.eventType) { case 'TASK_ASSIGNED': - message = this.translateService.instant('NOTIFICATIONS.TASK_ASSIGNED', { taskName: engineEvent.entity.name || '', assignee: engineEvent.entity.assignee }); + message = this.translateService.instant('NOTIFICATIONS.TASK_ASSIGNED', { + taskName: engineEvent.entity.name || '', + assignee: engineEvent.entity.assignee + }); this.pushNotification(engineEvent, message); break; case 'TASK_UPDATED': diff --git a/e2e/content-services/about-content-services.component.e2e.ts b/e2e/content-services/about-content-services.component.e2e.ts deleted file mode 100644 index fbdf776663..0000000000 --- a/e2e/content-services/about-content-services.component.e2e.ts +++ /dev/null @@ -1,58 +0,0 @@ -/*! - * @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 { AboutPage, ApiService, LoginPage, UserModel, UsersActions } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; - -describe('About Content Services', () => { - - const loginPage = new LoginPage(); - const navigationBarPage = new NavigationBarPage(); - const aboutPage = new AboutPage(); - let acsUser: UserModel; - const apiService = new ApiService(); - const usersActions = new UsersActions(apiService); - - beforeAll(async() => { - await apiService.loginWithProfile('admin'); - acsUser = await usersActions.createUser(); - await apiService.login(acsUser.username, acsUser.password); - await loginPage.login(acsUser.username, acsUser.password); - await navigationBarPage.clickAboutButton(); - }); - - afterAll(async () => { - await navigationBarPage.clickLogoutButton(); - }); - - it('[C280002] Should be able to view about content services info', async () => { - await aboutPage.checkAppTitleIsDisplayed(); - await aboutPage.checkSourceCodeTitleIsDisplayed(); - await aboutPage.checkGithubUrlIsDisplayed(); - await aboutPage.checkGithubVersionIsDisplayed(); - await aboutPage.checkEcmHostIsDisplayed(); - await aboutPage.checkEcmEditionIsDisplayed(); - await aboutPage.checkEcmVersionIsDisplayed(); - await aboutPage.checkAboutListIsLoaded(); - await aboutPage.checkPackageColumnsIsDisplayed(); - await aboutPage.checkEcmStatusTitleIsDisplayed(); - await aboutPage.checkStatusColumnsIsDisplayed(); - await aboutPage.checkEcmLicenseTitleIsDisplayed(); - await aboutPage.checkLicenseColumnsIsDisplayed(); - await aboutPage.checkEcmModulesTitleIsDisplayed(); - await aboutPage.checkModulesColumnsIsDisplayed(); - }); -}); diff --git a/e2e/content-services/comments/comment-component.e2e.ts b/e2e/content-services/components/comment-component.e2e.ts similarity index 100% rename from e2e/content-services/comments/comment-component.e2e.ts rename to e2e/content-services/components/comment-component.e2e.ts diff --git a/e2e/content-services/lock-file.e2e.ts b/e2e/content-services/components/lock-file.e2e.ts similarity index 97% rename from e2e/content-services/lock-file.e2e.ts rename to e2e/content-services/components/lock-file.e2e.ts index 27927fb562..6e9517d5dd 100644 --- a/e2e/content-services/lock-file.e2e.ts +++ b/e2e/content-services/components/lock-file.e2e.ts @@ -24,13 +24,13 @@ import { UsersActions, WaitActions } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ContentServicesPage } from '../core/pages/content-services.page'; -import { LockFilePage } from '../content-services/pages/lock-file.page'; -import { FileModel } from '../models/ACS/file.model'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ContentServicesPage } from '../../core/pages/content-services.page'; +import { LockFilePage } from '../../content-services/pages/lock-file.page'; +import { FileModel } from '../../models/ACS/file.model'; import { browser } from 'protractor'; import { NodeEntry } from '@alfresco/js-api'; -import CONSTANTS = require('../util/constants'); +import CONSTANTS = require('../../util/constants'); describe('Lock File', () => { diff --git a/e2e/content-services/permissions/permissions-component.e2e.ts b/e2e/content-services/components/permissions-component.e2e.ts similarity index 100% rename from e2e/content-services/permissions/permissions-component.e2e.ts rename to e2e/content-services/components/permissions-component.e2e.ts diff --git a/e2e/content-services/share-file/share-file.e2e.ts b/e2e/content-services/components/share-file.e2e.ts similarity index 100% rename from e2e/content-services/share-file/share-file.e2e.ts rename to e2e/content-services/components/share-file.e2e.ts diff --git a/e2e/content-services/permissions/site-permissions.e2e.ts b/e2e/content-services/components/site-permissions.e2e.ts similarity index 100% rename from e2e/content-services/permissions/site-permissions.e2e.ts rename to e2e/content-services/components/site-permissions.e2e.ts diff --git a/e2e/content-services/social/social.component.e2e.ts b/e2e/content-services/components/social.component.e2e.ts similarity index 100% rename from e2e/content-services/social/social.component.e2e.ts rename to e2e/content-services/components/social.component.e2e.ts diff --git a/e2e/content-services/tag-component.e2e.ts b/e2e/content-services/components/tag-component.e2e.ts similarity index 97% rename from e2e/content-services/tag-component.e2e.ts rename to e2e/content-services/components/tag-component.e2e.ts index 73a909f10b..f21554fad7 100644 --- a/e2e/content-services/tag-component.e2e.ts +++ b/e2e/content-services/components/tag-component.e2e.ts @@ -15,10 +15,10 @@ * limitations under the License. */ -import { FileModel } from '../models/ACS/file.model'; +import { FileModel } from '../../models/ACS/file.model'; import { ApiService, LoginPage, StringUtil, UploadActions, UserModel, UsersActions } from '@alfresco/adf-testing'; -import { TagPage } from '../content-services/pages/tag.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { TagPage } from '../../content-services/pages/tag.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; import { browser } from 'protractor'; describe('Tag component', () => { diff --git a/e2e/content-services/tree-view-component.e2e.ts b/e2e/content-services/components/tree-view-component.e2e.ts similarity index 97% rename from e2e/content-services/tree-view-component.e2e.ts rename to e2e/content-services/components/tree-view-component.e2e.ts index 8223ee6b4d..d499f67181 100644 --- a/e2e/content-services/tree-view-component.e2e.ts +++ b/e2e/content-services/components/tree-view-component.e2e.ts @@ -16,8 +16,8 @@ */ import { ApiService, LoginPage, UploadActions, UserModel, UsersActions } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TreeViewPage } from './pages/tree-view.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TreeViewPage } from './../pages/tree-view.page'; describe('Tree View Component', () => { diff --git a/e2e/content-services/share-file/unshare-file.e2e.ts b/e2e/content-services/components/unshare-file.e2e.ts similarity index 100% rename from e2e/content-services/share-file/unshare-file.e2e.ts rename to e2e/content-services/components/unshare-file.e2e.ts diff --git a/e2e/content-services/directives/restore-content-directive.e2e.ts b/e2e/content-services/directives/restore-content-directive.e2e.ts index 7976d5d085..7bded77039 100644 --- a/e2e/content-services/directives/restore-content-directive.e2e.ts +++ b/e2e/content-services/directives/restore-content-directive.e2e.ts @@ -66,8 +66,7 @@ describe('Restore content directive', () => { let testFolder: NodeEntry; const uploadActions = new UploadActions(apiService); - let folderWithContent, folderWithFolder, subFolder, subFile, testFile, restoreFile, publicSite, siteFolder, - siteFile; + let folderWithContent, folderWithFolder, subFolder, subFile, testFile; beforeAll(async () => { await apiService.loginWithProfile('admin'); @@ -81,7 +80,6 @@ describe('Restore content directive', () => { testFile = await uploadActions.uploadFile(pdfFileModel.location, pdfFileModel.name, '-my-'); folderWithFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), '-my-'); subFolder = await uploadActions.createFolder(StringUtil.generateRandomString(5), folderWithFolder.entry.id); - restoreFile = await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, '-my-'); }); afterAll(async () => { @@ -223,81 +221,6 @@ describe('Restore content directive', () => { await contentServicesPage.openFolder(folderWithFolder.entry.name); await contentServicesPage.checkContentIsDisplayed(subFolder.entry.name); }); - - it('[C260241] Should display restore icon both for file and folder', async () => { - await contentServicesPage.checkContentIsDisplayed(testFolder.entry.name); - await contentServicesPage.checkContentIsDisplayed(restoreFile.entry.name); - await contentServicesPage.deleteContent(testFolder.entry.name); - await contentServicesPage.deleteContent(restoreFile.entry.name); - - await navigationBarPage.clickTrashcanButton(); - await trashcanPage.waitForTableBody(); - await trashcanPage.checkRestoreButtonIsNotDisplayed(); - await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(testFolder.entry.name); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(testFolder.entry.name); - await trashcanPage.checkRestoreButtonIsDisplayed(); - await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(testFolder.entry.name); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsNotSelected(testFolder.entry.name); - - await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(restoreFile.entry.name); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(restoreFile.entry.name); - await trashcanPage.checkRestoreButtonIsDisplayed(); - - await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(testFolder.entry.name); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(testFolder.entry.name); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(restoreFile.entry.name); - await trashcanPage.checkRestoreButtonIsDisplayed(); - }); - }); - - describe('Restore deleted library', () => { - - beforeAll(async () => { - await apiService.login(acsUser.username, acsUser.password); - const publicSiteName = `public-${StringUtil.generateRandomString(5)}`; - const publicSiteBody = { visibility: 'PUBLIC', title: publicSiteName }; - publicSite = await apiService.getInstance().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 apiService.getInstance().core.sitesApi.deleteSite(publicSite.entry.id); - }); - - afterEach(async () => { - await navigationBarPage.clickLogoutButton(); - }); - - beforeEach(async () => { - await loginPage.login(acsUser.username, acsUser.password); - await navigationBarPage.navigateToContentServices(); - await contentServicesPage.waitForTableBody(); - }); - - afterAll(async () => { - try { - await apiService.loginWithProfile('admin'); - await apiService.getInstance().core.sitesApi.deleteSite(publicSite.entry.id, { permanent: true }); - } catch (error) { - } - }); - - it('[C260241] Should restore the deleted library along with contents inside', async () => { - await navigationBarPage.clickTrashcanButton(); - await trashcanPage.waitForTableBody(); - await trashcanPage.getDocumentList().dataTablePage().checkRowContentIsDisplayed(publicSite.entry.id); - await trashcanPage.getDocumentList().dataTablePage().clickRowByContentCheckbox(publicSite.entry.id); - await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(publicSite.entry.id); - await trashcanPage.clickRestore(); - - await waitActions.nodeIsPresent(publicSite.entry.guid); - - await navigationBarPage.goToSite(publicSite); - await contentServicesPage.waitForTableBody(); - - await contentServicesPage.checkContentIsDisplayed(siteFolder.entry.name); - await contentServicesPage.openFolder(siteFolder.entry.name); - await contentServicesPage.checkContentIsDisplayed(siteFile.entry.name); - await notificationHistoryPage.checkNotifyContains(publicSite.entry.id + ' item restored'); - }); }); describe('Restore with folder hierarchies', () => { diff --git a/e2e/content-services/sso/sso-download-directive-component.e2e.ts b/e2e/content-services/directives/sso-download-directive-component.e2e.ts similarity index 100% rename from e2e/content-services/sso/sso-download-directive-component.e2e.ts rename to e2e/content-services/directives/sso-download-directive-component.e2e.ts diff --git a/e2e/content-services/trashcan-pagination.e2e.ts b/e2e/content-services/trashcan-pagination.e2e.ts deleted file mode 100644 index 5bacb6e1b0..0000000000 --- a/e2e/content-services/trashcan-pagination.e2e.ts +++ /dev/null @@ -1,135 +0,0 @@ -/*! - * @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 { - ApiService, - LoginPage, - PaginationPage, - StringUtil, - UploadActions, - UserModel, - UsersActions -} from '@alfresco/adf-testing'; -import { browser } from 'protractor'; -import { FolderModel } from '../models/ACS/folder.model'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TrashcanPage } from '../core/pages/trashcan.page'; - -describe('Trashcan - Pagination', () => { - const pagination = { - base: 'newFile', - extension: '.txt' - }; - - const itemsPerPage = { - five: '5', - fiveValue: 5, - ten: '10', - tenValue: 10, - fifteen: '15', - fifteenValue: 15, - twenty: '20', - twentyValue: 20, - default: '25' - }; - - const loginPage = new LoginPage(); - const trashcanPage = new TrashcanPage(); - const paginationPage = new PaginationPage(); - const navigationBarPage = new NavigationBarPage(); - const apiService = new ApiService(); - const usersActions = new UsersActions(apiService); - - let acsUser: UserModel; - const newFolderModel = new FolderModel({ name: 'newFolder' }); - const noOfFiles = 20; - - beforeAll(async () => { - const uploadActions = new UploadActions(apiService); - const fileNames = StringUtil.generateFilesNames(10, noOfFiles + 9, pagination.base, pagination.extension); - await apiService.loginWithProfile('admin'); - acsUser = await usersActions.createUser(); - - await apiService.login(acsUser.username, acsUser.password); - const folderUploadedModel = await uploadActions.createFolder(newFolderModel.name, '-my-'); - const emptyFiles: any = await uploadActions.createEmptyFiles(fileNames, folderUploadedModel.entry.id); - - for (const entry of emptyFiles.list.entries) { - await apiService.getInstance().node.deleteNode(entry.entry.id).then(() => {}, async () => { - await apiService.getInstance().node.deleteNode(entry.entry.id); - }); - } - - await loginPage.login(acsUser.username, acsUser.password); - await navigationBarPage.clickTrashcanButton(); - await trashcanPage.getDocumentList().dataTablePage().waitTillContentLoaded(); - }); - - afterAll(async () => { - await navigationBarPage.clickLogoutButton(); - }); - - afterEach(async () => { - await browser.refresh(); - await trashcanPage.getDocumentList().dataTablePage().waitTillContentLoaded(); - }); - - it('[C272811] Should be able to set Items per page to 20', async () => { - await paginationPage.selectItemsPerPage(itemsPerPage.twenty); - await trashcanPage.waitForTableBody(); - await trashcanPage.waitForPagination(); - await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty); - await expect(await paginationPage.getPaginationRange()).toEqual('Showing 1-' + noOfFiles + ' of ' + noOfFiles); - await expect(await trashcanPage.numberOfResultsDisplayed()).toBe(noOfFiles); - await paginationPage.checkNextPageButtonIsDisabled(); - await paginationPage.checkPreviousPageButtonIsDisabled(); - }); - - it('[C276742] Should be able to set Items per page to 15', async () => { - await paginationPage.selectItemsPerPage(itemsPerPage.fifteen); - await trashcanPage.waitForTableBody(); - await trashcanPage.waitForPagination(); - await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen); - await expect(await paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fifteenValue + ' of ' + noOfFiles); - await expect(await trashcanPage.numberOfResultsDisplayed()).toBe(itemsPerPage.fifteenValue); - await paginationPage.checkNextPageButtonIsEnabled(); - await paginationPage.checkPreviousPageButtonIsDisabled(); - }); - - it('[C276743] Should be able to set Items per page to 10', async () => { - await paginationPage.selectItemsPerPage(itemsPerPage.ten); - await trashcanPage.waitForTableBody(); - await trashcanPage.waitForPagination(); - await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten); - await expect(await paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.tenValue + ' of ' + noOfFiles); - await expect(await trashcanPage.numberOfResultsDisplayed()).toBe(itemsPerPage.tenValue); - await paginationPage.checkNextPageButtonIsEnabled(); - await paginationPage.checkPreviousPageButtonIsDisabled(); - }); - - it('[C276744] Should be able to set Items per page to 5', async () => { - await paginationPage.selectItemsPerPage(itemsPerPage.five); - await trashcanPage.waitForTableBody(); - await trashcanPage.waitForPagination(); - await expect(await paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); - await expect(await paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fiveValue + ' of ' + noOfFiles); - await expect(await trashcanPage.numberOfResultsDisplayed()).toBe(itemsPerPage.fiveValue); - await paginationPage.checkNextPageButtonIsEnabled(); - await paginationPage.checkPreviousPageButtonIsDisabled(); - }); -}) -; diff --git a/e2e/content-services/version/version-actions.e2e.ts b/e2e/content-services/upload/version-actions.e2e.ts similarity index 100% rename from e2e/content-services/version/version-actions.e2e.ts rename to e2e/content-services/upload/version-actions.e2e.ts diff --git a/e2e/content-services/version/version-permissions.e2e.ts b/e2e/content-services/upload/version-permissions.e2e.ts similarity index 100% rename from e2e/content-services/version/version-permissions.e2e.ts rename to e2e/content-services/upload/version-permissions.e2e.ts diff --git a/e2e/content-services/version/version-properties.e2e.ts b/e2e/content-services/upload/version-properties.e2e.ts similarity index 100% rename from e2e/content-services/version/version-properties.e2e.ts rename to e2e/content-services/upload/version-properties.e2e.ts diff --git a/e2e/content-services/version/version-smoke-tests.e2e.ts b/e2e/content-services/upload/version-smoke-tests.e2e.ts similarity index 100% rename from e2e/content-services/version/version-smoke-tests.e2e.ts rename to e2e/content-services/upload/version-smoke-tests.e2e.ts diff --git a/e2e/core/settings-component.e2e.ts b/e2e/core/settings-component.e2e.ts deleted file mode 100644 index bd2ae876b3..0000000000 --- a/e2e/core/settings-component.e2e.ts +++ /dev/null @@ -1,221 +0,0 @@ -/*! - * @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 { BrowserActions, LocalStorageUtil, SettingsPage } from '@alfresco/adf-testing'; -import { browser, protractor } from 'protractor'; -import { ContentServicesPage } from '../core/pages/content-services.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessServicesPage } from '../process-services/pages/process-services.page'; -import { LoginShellPage } from '../core/pages/login-shell.page'; - -describe('Settings component', () => { - - const loginPage = new LoginShellPage(); - const settingsPage = new SettingsPage(); - const navigationBarPage = new NavigationBarPage(); - const processServicesPage = new ProcessServicesPage(); - const contentServicesPage = new ContentServicesPage(); - const loginError = 'Request has been terminated ' + - 'Possible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.'; - - describe('Should be able to change Urls in the Settings', () => { - beforeAll(async () => { - await LocalStorageUtil.setStorageItem('authType', 'BASIC'); - await browser.refresh(); - }); - - beforeEach(async () => { - await settingsPage.goToSettingsPage(); - }); - - it('[C245641] Should navigate User from Settings page to Login screen', async () => { - await settingsPage.clickBackButton(); - await loginPage.waitForElements(); - }); - - it('[C291948] Should save ALL Settings changes when User clicks Apply button', async () => { - await loginPage.goToLoginPage(); - await loginPage.clickSettingsIcon(); - await settingsPage.setProviderEcmBpm(); - await loginPage.waitForElements(); - await settingsPage.goToSettingsPage(); - await expect(await settingsPage.getSelectedOptionText()).toEqual('ALL', 'The Settings changes are not saved'); - await expect(await settingsPage.getBpmHostUrl()).toEqual(browser.params.testConfig.appConfig.bpmHost, 'The BPM Settings changes are not saved'); - await expect(await settingsPage.getEcmHostUrl()).toEqual(browser.params.testConfig.appConfig.ecmHost, 'The ECM Settings changes are not saved'); - }); - - it('[C291949] Should have field validation for Content Services Url', async () => { - await settingsPage.setProvider('ALL'); - await settingsPage.clearContentServicesURL(); - await settingsPage.ecmText.sendKeys(protractor.Key.TAB); - await settingsPage.checkValidationMessageIsDisplayed(); - await settingsPage.checkApplyButtonIsDisabled(); - }); - - it('[C291950] Should have field validation for Process Services Url', async () => { - await settingsPage.setProvider('ALL'); - await settingsPage.clearProcessServicesURL(); - await settingsPage.bpmText.sendKeys(protractor.Key.TAB); - await settingsPage.checkValidationMessageIsDisplayed(); - await settingsPage.checkApplyButtonIsDisabled(); - }); - - it('[C291951] Should not be able to sign in with invalid Content Services Url', async () => { - await settingsPage.setProvider('ECM'); - await settingsPage.setContentServicesURL('http://localhost:7070'); - await settingsPage.clickApply(); - await loginPage.waitForElements(); - await loginPage.enterUsername(browser.params.testConfig.users.admin.username); - await loginPage.enterPassword(browser.params.testConfig.users.admin.password); - await loginPage.clickSignInButton(); - await loginPage.checkLoginErrorIsDisplayed(loginError); - }); - - it('[C291952] Should not be able to sign in with invalid Process Services Url', async () => { - await settingsPage.setProvider('BPM'); - await settingsPage.setProcessServicesURL('http://localhost:7070'); - await settingsPage.clickApply(); - await loginPage.waitForElements(); - await loginPage.enterUsername(browser.params.testConfig.users.admin.username); - await loginPage.enterPassword(browser.params.testConfig.users.admin.password); - await loginPage.clickSignInButton(); - await loginPage.checkLoginErrorIsDisplayed(loginError); - }); - }); - - describe('Settings Component - Basic Authentication', () => { - beforeAll(async () => { - await LocalStorageUtil.setStorageItem('authType', 'OAUTH'); - await browser.refresh(); - await settingsPage.goToSettingsPage(); - await settingsPage.setProvider('ALL'); - await settingsPage.setContentServicesURL(browser.params.testConfig.appConfig.ecmHost); - await settingsPage.setProcessServicesURL(browser.params.testConfig.appConfig.bpmHost); - await settingsPage.setImplicitFlow(false); - await settingsPage.setSilentLogin(false); - await settingsPage.clickApply(); - }); - - beforeEach(async () => { - await loginPage.goToLoginPage(); - await loginPage.clickSettingsIcon(); - await settingsPage.checkProviderDropdownIsDisplayed(); - }); - - it('[C277751] Should allow the User to login to Process Services using the BPM selection on Settings page', async () => { - await settingsPage.checkProviderOptions(); - await settingsPage.checkBasicAuthRadioIsSelected(); - await settingsPage.checkSsoRadioIsNotSelected(); - await expect(await settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.appConfig.ecmHost); - await expect(await settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.appConfig.bpmHost); - - await expect(await settingsPage.getBackButton().isEnabled()).toBe(true); - await expect(await settingsPage.getApplyButton().isEnabled()).toBe(true); - await loginPage.goToLoginPage(); - await loginPage.clickSettingsIcon(); - await settingsPage.checkProviderDropdownIsDisplayed(); - await settingsPage.setProvider('BPM'); - await settingsPage.clickBackButton(); - await loginPage.waitForElements(); - await loginPage.clickSettingsIcon(); - await settingsPage.checkProviderDropdownIsDisplayed(); - await settingsPage.setProviderBpm(); - await loginPage.waitForElements(); - await loginPage.enterUsername(browser.params.testConfig.users.admin.username); - await loginPage.enterPassword(browser.params.testConfig.users.admin.password); - await loginPage.clickSignInButton(); - await navigationBarPage.navigateToProcessServicesPage(); - await processServicesPage.checkApsContainer(); - await processServicesPage.checkAppIsDisplayed('Task App'); - await navigationBarPage.clickSettingsButton(); - await expect(await settingsPage.getSelectedOptionText()).toBe('BPM'); - - await settingsPage.checkBasicAuthRadioIsSelected(); - await settingsPage.checkSsoRadioIsNotSelected(); - await expect(await settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.appConfig.bpmHost); - - await expect(await settingsPage.getBackButton().isEnabled()).toBe(true); - await expect(await settingsPage.getApplyButton().isEnabled()).toBe(true); - await settingsPage.clickBackButton(); - await loginPage.waitForElements(); - await BrowserActions.getUrl(browser.baseUrl + '/activiti'); - await processServicesPage.checkApsContainer(); - await processServicesPage.checkAppIsDisplayed('Task App'); - }); - - it('[C277752] Should allow the User to login to Content Services using the ECM selection on Settings page', async () => { - await settingsPage.setProvider('ECM'); - await settingsPage.clickBackButton(); - await loginPage.waitForElements(); - await loginPage.clickSettingsIcon(); - await settingsPage.checkProviderDropdownIsDisplayed(); - await settingsPage.setProviderEcm(); - await loginPage.waitForElements(); - await loginPage.enterUsername(browser.params.testConfig.users.admin.username); - await loginPage.enterPassword(browser.params.testConfig.users.admin.password); - await loginPage.clickSignInButton(); - await navigationBarPage.navigateToContentServices(); - await contentServicesPage.checkAcsContainer(); - await navigationBarPage.clickSettingsButton(); - await expect(await settingsPage.getSelectedOptionText()).toBe('ECM'); - await settingsPage.checkBasicAuthRadioIsSelected(); - await settingsPage.checkSsoRadioIsNotSelected(); - - await expect(await settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.appConfig.ecmHost); - await expect(await settingsPage.getBackButton().isEnabled()).toBe(true); - await expect(await settingsPage.getApplyButton().isEnabled()).toBe(true); - await settingsPage.clickBackButton(); - await loginPage.waitForElements(); - await BrowserActions.getUrl(browser.baseUrl + '/files'); - await contentServicesPage.checkAcsContainer(); - }); - - it('[C277753] Should allow the User to login to both Process Services and Content Services using the ALL selection on Settings Page', async () => { - await settingsPage.setProvider('ALL'); - await settingsPage.clickBackButton(); - await loginPage.waitForElements(); - await loginPage.clickSettingsIcon(); - await settingsPage.checkProviderDropdownIsDisplayed(); - await settingsPage.setProviderEcmBpm(); - await loginPage.waitForElements(); - await loginPage.enterUsername(browser.params.testConfig.users.admin.username); - await loginPage.enterPassword(browser.params.testConfig.users.admin.password); - await loginPage.clickSignInButton(); - await navigationBarPage.navigateToContentServices(); - await contentServicesPage.checkAcsContainer(); - await navigationBarPage.navigateToProcessServicesPage(); - await processServicesPage.checkApsContainer(); - await processServicesPage.checkAppIsDisplayed('Task App'); - await navigationBarPage.clickSettingsButton(); - await expect(await settingsPage.getSelectedOptionText()).toBe('ALL'); - await settingsPage.checkBasicAuthRadioIsSelected(); - await settingsPage.checkSsoRadioIsNotSelected(); - await expect(await settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.appConfig.ecmHost); - await expect(await settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.appConfig.bpmHost); - - await expect(await settingsPage.getBackButton().isEnabled()).toBe(true); - await expect(await settingsPage.getApplyButton().isEnabled()).toBe(true); - await settingsPage.clickBackButton(); - await loginPage.waitForElements(); - await BrowserActions.getUrl(browser.baseUrl + '/files'); - await contentServicesPage.checkAcsContainer(); - await BrowserActions.getUrl(browser.baseUrl + '/activiti'); - await processServicesPage.checkApsContainer(); - await processServicesPage.checkAppIsDisplayed('Task App'); - }); - }); -}); diff --git a/e2e/process-services-cloud/about-process-services-cloud.component.e2e.ts b/e2e/process-services-cloud/about-process-services-cloud.component.e2e.ts deleted file mode 100644 index 3c7520872e..0000000000 --- a/e2e/process-services-cloud/about-process-services-cloud.component.e2e.ts +++ /dev/null @@ -1,53 +0,0 @@ -/*! - * @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 { ApiService, IdentityService, AboutPage, LoginPage } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; - -describe('About Process Services Cloud', () => { - - const loginSSOPage = new LoginPage(); - const navigationBarPage = new NavigationBarPage(); - const aboutPage = new AboutPage(); - - const apiService = new ApiService(); - const identityService = new IdentityService(apiService); - - let testUser; - - beforeAll(async () => { - await apiService.loginWithProfile('identityAdmin'); - testUser = await identityService.createIdentityUserWithRole( [identityService.ROLES.ACTIVITI_USER, identityService.ROLES.ACTIVITI_DEVOPS]); - await loginSSOPage.login(testUser.username, testUser.password); - await apiService.login(testUser.username, testUser.password); - await navigationBarPage.clickAboutButton(); - }); - - afterAll(async () => { - await apiService.loginWithProfile('identityAdmin'); - await identityService.deleteIdentityUser(testUser.idIdentityService); - }); - - it('[C280002] Should be able to view about process services cloud info', async () => { - await aboutPage.checkAppTitleIsDisplayed(); - await aboutPage.checkSourceCodeTitleIsDisplayed(); - await aboutPage.checkGithubUrlIsDisplayed(); - await aboutPage.checkGithubVersionIsDisplayed(); - await aboutPage.checkBpmHostIsDisplayed(); - await aboutPage.checkEcmHostIsDisplayed(); - }); -}); diff --git a/e2e/process-services-cloud/pages/tasks-cloud-demo.page.ts b/e2e/process-services-cloud/pages/tasks-cloud-demo.page.ts index 01e64dc769..a34d829b39 100644 --- a/e2e/process-services-cloud/pages/tasks-cloud-demo.page.ts +++ b/e2e/process-services-cloud/pages/tasks-cloud-demo.page.ts @@ -21,7 +21,7 @@ import { TaskFiltersCloudComponentPage, EditTaskFilterCloudComponentPage, TaskListCloudComponentPage, - BrowserActions, DropdownPage, Logger, TestElement + BrowserActions, DropdownPage, TestElement, DataTableComponentPage } from '@alfresco/adf-testing'; export class TasksCloudDemoPage { @@ -52,6 +52,7 @@ export class TasksCloudDemoPage { editTaskFilterCloud = new EditTaskFilterCloudComponentPage(); taskFilterCloudComponent = new TaskFiltersCloudComponentPage(); + dataTableComponentPage = new DataTableComponentPage(); async disableDisplayTaskDetails(): Promise { await this.togglePage.disableToggle(this.displayTaskDetailsToggle); @@ -161,22 +162,6 @@ export class TasksCloudDemoPage { } async waitTillContentLoaded(): Promise { - if (await this.isSpinnerPresent()) { - Logger.log('wait loading spinner disappear'); - await this.spinner.waitNotPresent(); - } else { - try { - Logger.log('wait loading spinner is present'); - await this.spinner.waitPresent(); - } catch {} - } - } - - private async isSpinnerPresent(): Promise { - try { - return await this.spinner.isDisplayed(); - } catch { - return false; - } + await this.dataTableComponentPage.waitTillContentLoaded(); } } diff --git a/e2e/process-services-cloud/people-group-cloud-component.e2e.ts b/e2e/process-services-cloud/people/people-group-cloud-component.e2e.ts similarity index 98% rename from e2e/process-services-cloud/people-group-cloud-component.e2e.ts rename to e2e/process-services-cloud/people/people-group-cloud-component.e2e.ts index 718b28f319..9de3f62e21 100644 --- a/e2e/process-services-cloud/people-group-cloud-component.e2e.ts +++ b/e2e/process-services-cloud/people/people-group-cloud-component.e2e.ts @@ -25,8 +25,8 @@ import { RolesService } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { PeopleGroupCloudComponentPage } from './pages/people-group-cloud-component.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { PeopleGroupCloudComponentPage } from './../pages/people-group-cloud-component.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; describe('People Groups Cloud Component', () => { diff --git a/e2e/process-services-cloud/people-group-cloud-filter-component.e2e.ts b/e2e/process-services-cloud/people/people-group-cloud-filter-component.e2e.ts similarity index 97% rename from e2e/process-services-cloud/people-group-cloud-filter-component.e2e.ts rename to e2e/process-services-cloud/people/people-group-cloud-filter-component.e2e.ts index a78a8aebf5..8d61f562d1 100644 --- a/e2e/process-services-cloud/people-group-cloud-filter-component.e2e.ts +++ b/e2e/process-services-cloud/people/people-group-cloud-filter-component.e2e.ts @@ -17,8 +17,8 @@ import { ApiService, GroupCloudComponentPage, GroupIdentityService, IdentityService, LoginPage, PeopleCloudComponentPage } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { PeopleGroupCloudComponentPage } from './pages/people-group-cloud-component.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { PeopleGroupCloudComponentPage } from './../pages/people-group-cloud-component.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; describe('People Groups Cloud Component', () => { diff --git a/e2e/process-services-cloud/process-custom-filters.e2e.ts b/e2e/process-services-cloud/process/process-custom-filters.e2e.ts similarity index 97% rename from e2e/process-services-cloud/process-custom-filters.e2e.ts rename to e2e/process-services-cloud/process/process-custom-filters.e2e.ts index d71063be81..cb95b79055 100644 --- a/e2e/process-services-cloud/process-custom-filters.e2e.ts +++ b/e2e/process-services-cloud/process/process-custom-filters.e2e.ts @@ -31,11 +31,11 @@ import { TasksService } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { EditProcessFilterConfiguration } from './config/edit-process-filter.config'; -import { ProcessListCloudConfiguration } from './config/process-list-cloud.config'; +import { ProcessCloudDemoPage } from './../pages/process-cloud-demo.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { EditProcessFilterConfiguration } from './../config/edit-process-filter.config'; +import { ProcessListCloudConfiguration } from './../config/process-list-cloud.config'; describe('Process list cloud', () => { diff --git a/e2e/process-services-cloud/process-filter-results.e2e.ts b/e2e/process-services-cloud/process/process-filter-results.e2e.ts similarity index 97% rename from e2e/process-services-cloud/process-filter-results.e2e.ts rename to e2e/process-services-cloud/process/process-filter-results.e2e.ts index 1f512a55fd..865037035e 100644 --- a/e2e/process-services-cloud/process-filter-results.e2e.ts +++ b/e2e/process-services-cloud/process/process-filter-results.e2e.ts @@ -30,12 +30,12 @@ import { TasksService } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessListPage } from '../process-services/pages/process-list.page'; -import { EditProcessFilterConfiguration } from './config/edit-process-filter.config'; -import { ProcessListCloudConfiguration } from './config/process-list-cloud.config'; +import { ProcessCloudDemoPage } from './../pages/process-cloud-demo.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ProcessListPage } from '../../process-services/pages/process-list.page'; +import { EditProcessFilterConfiguration } from './../config/edit-process-filter.config'; +import { ProcessListCloudConfiguration } from './../config/process-list-cloud.config'; import moment = require('moment'); describe('Process filters cloud', () => { diff --git a/e2e/process-services-cloud/process-filter-task.e2e.ts b/e2e/process-services-cloud/process/process-filter-task.e2e.ts similarity index 91% rename from e2e/process-services-cloud/process-filter-task.e2e.ts rename to e2e/process-services-cloud/process/process-filter-task.e2e.ts index 249ecc95fc..cae74babc0 100644 --- a/e2e/process-services-cloud/process-filter-task.e2e.ts +++ b/e2e/process-services-cloud/process/process-filter-task.e2e.ts @@ -27,12 +27,12 @@ import { TaskHeaderCloudPage } from '@alfresco/adf-testing'; import { browser, protractor } from 'protractor'; -import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page'; -import { ProcessDetailsCloudDemoPage } from './pages/process-details-cloud-demo.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { EditProcessFilterConfiguration } from './config/edit-process-filter.config'; -import { ProcessListCloudConfiguration } from './config/process-list-cloud.config'; +import { ProcessCloudDemoPage } from './../pages/process-cloud-demo.page'; +import { ProcessDetailsCloudDemoPage } from './../pages/process-details-cloud-demo.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { EditProcessFilterConfiguration } from './../config/edit-process-filter.config'; +import { ProcessListCloudConfiguration } from './../config/process-list-cloud.config'; import { ProcessDefinitionCloud, ProcessInstanceCloud, diff --git a/e2e/process-services-cloud/process-filters-cloud.e2e.ts b/e2e/process-services-cloud/process/process-filters-cloud.e2e.ts similarity index 96% rename from e2e/process-services-cloud/process-filters-cloud.e2e.ts rename to e2e/process-services-cloud/process/process-filters-cloud.e2e.ts index 34858e9098..0d0eb4e2e2 100644 --- a/e2e/process-services-cloud/process-filters-cloud.e2e.ts +++ b/e2e/process-services-cloud/process/process-filters-cloud.e2e.ts @@ -29,10 +29,10 @@ import { EditProcessFilterCloudComponentPage } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import CONSTANTS = require('../util/constants'); +import { ProcessCloudDemoPage } from './../pages/process-cloud-demo.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import CONSTANTS = require('../../util/constants'); describe('Process filters cloud', () => { diff --git a/e2e/process-services-cloud/process-header-cloud.e2e.ts b/e2e/process-services-cloud/process/process-header-cloud.e2e.ts similarity index 95% rename from e2e/process-services-cloud/process-header-cloud.e2e.ts rename to e2e/process-services-cloud/process/process-header-cloud.e2e.ts index a73709ab77..d4e6ab3cd0 100644 --- a/e2e/process-services-cloud/process-header-cloud.e2e.ts +++ b/e2e/process-services-cloud/process/process-header-cloud.e2e.ts @@ -17,12 +17,12 @@ import { ApiService, AppListCloudPage, GroupIdentityService, IdentityService, LoginPage, ProcessDefinitionsService, ProcessHeaderCloudPage, ProcessInstancesService, QueryService, StringUtil, LocalStorageUtil } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import CONSTANTS = require('../util/constants'); +import { ProcessCloudDemoPage } from './../pages/process-cloud-demo.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import CONSTANTS = require('../../util/constants'); import moment = require('moment'); -import { EditProcessFilterConfiguration } from './config/edit-process-filter.config'; +import { EditProcessFilterConfiguration } from './../config/edit-process-filter.config'; describe('Process Header cloud component', () => { diff --git a/e2e/process-services-cloud/process-list-selection-cloud.e2e.ts b/e2e/process-services-cloud/process/process-list-selection-cloud.e2e.ts similarity index 96% rename from e2e/process-services-cloud/process-list-selection-cloud.e2e.ts rename to e2e/process-services-cloud/process/process-list-selection-cloud.e2e.ts index 7337fb1da4..9b7f084c9b 100644 --- a/e2e/process-services-cloud/process-list-selection-cloud.e2e.ts +++ b/e2e/process-services-cloud/process/process-list-selection-cloud.e2e.ts @@ -17,12 +17,12 @@ import { ApiService, AppListCloudPage, GroupIdentityService, IdentityService, LoginPage, ProcessDefinitionsService, ProcessInstancesService, LocalStorageUtil } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessDetailsCloudDemoPage } from './pages/process-details-cloud-demo.page'; -import { EditProcessFilterConfiguration } from './config/edit-process-filter.config'; -import CONSTANTS = require('../util/constants'); +import { ProcessCloudDemoPage } from './../pages/process-cloud-demo.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ProcessDetailsCloudDemoPage } from './../pages/process-details-cloud-demo.page'; +import { EditProcessFilterConfiguration } from './../config/edit-process-filter.config'; +import CONSTANTS = require('../../util/constants'); describe('Process list cloud', () => { diff --git a/e2e/process-services-cloud/process-task-attach-content-file-cloud.e2e.ts b/e2e/process-services-cloud/process/process-task-attach-content-file-cloud.e2e.ts similarity index 93% rename from e2e/process-services-cloud/process-task-attach-content-file-cloud.e2e.ts rename to e2e/process-services-cloud/process/process-task-attach-content-file-cloud.e2e.ts index fb667044dc..0f59ed7ec0 100644 --- a/e2e/process-services-cloud/process-task-attach-content-file-cloud.e2e.ts +++ b/e2e/process-services-cloud/process/process-task-attach-content-file-cloud.e2e.ts @@ -33,10 +33,10 @@ import { UploadActions, ViewerPage } from '@alfresco/adf-testing'; -import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; -import CONSTANTS = require('../util/constants'); +import { ProcessCloudDemoPage } from './../pages/process-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; +import CONSTANTS = require('../../util/constants'); describe('Process Task - Attach content file', () => { @@ -78,19 +78,19 @@ describe('Process Task - Attach content file', () => { let groupInfo: any; const pdfFileOne = { - 'name': browser.params.resources.Files.ADF_DOCUMENTS.PDF.file_name, - 'location': browser.params.resources.Files.ADF_DOCUMENTS.PDF.file_path + 'name': browser.params.resources.Files.ADF_DOCUMENTS.PNG.file_name, + 'location': browser.params.resources.Files.ADF_DOCUMENTS.PNG.file_path }; const pdfFileTwo = { - 'name': browser.params.resources.Files.ADF_DOCUMENTS.PDF_B.file_name, - 'location': browser.params.resources.Files.ADF_DOCUMENTS.PDF_B.file_path + 'name': browser.params.resources.Files.ADF_DOCUMENTS.PNG_B.file_name, + 'location': browser.params.resources.Files.ADF_DOCUMENTS.PNG_B.file_path }; beforeAll(async () => { await apiService.loginWithProfile('identityAdmin'); - testUser = await identityService.createIdentityUserWithRole( [identityService.ROLES.ACTIVITI_USER]); + testUser = await identityService.createIdentityUserWithRole([identityService.ROLES.ACTIVITI_USER]); groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); @@ -166,7 +166,7 @@ describe('Process Task - Attach content file', () => { await processList.checkContentIsDisplayedById(processInstance.entry.id); }); - async function viewAttachedFile(contentUploadWidget, fileName: string): Promise { + async function viewAttachedFile(contentUploadWidget: any, fileName: string): Promise { await contentUploadWidget.checkFileIsAttached(fileName); await contentUploadWidget.viewFile(fileName); diff --git a/e2e/process-services-cloud/service-task-list-cloud-component.e2e.ts b/e2e/process-services-cloud/service-task-list-cloud-component.e2e.ts deleted file mode 100644 index d0b1045f8e..0000000000 --- a/e2e/process-services-cloud/service-task-list-cloud-component.e2e.ts +++ /dev/null @@ -1,88 +0,0 @@ -/*! - * @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 { browser -} from 'protractor'; -import { - LoginPage, - ApiService, - IdentityService, - GroupIdentityService, - ProcessDefinitionsService, - ProcessInstancesService -} from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ServiceTaskListPage } from './pages/service-task-list.page'; -import CONSTANTS = require('../util/constants'); - -describe('Service task list cloud', () => { - - describe('Service Task Filters', () => { - - const loginSSOPage = new LoginPage(); - const navigationBarPage = new NavigationBarPage(); - const serviceTaskListPage = new ServiceTaskListPage(); - - const apiService = new ApiService(); - const identityService = new IdentityService(apiService); - const groupIdentityService = new GroupIdentityService(apiService); - const processDefinitionService = new ProcessDefinitionsService(apiService); - const processInstancesService = new ProcessInstancesService(apiService); - - const simpleApp = browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.name; - /* cspell:disable-next-line */ - const activityNameSimpleApp = browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.multiinstanceservicetask; - - let testUser, groupInfo; - - beforeAll(async () => { - await apiService.loginWithProfile('identityAdmin'); - - testUser = await identityService.createIdentityUserWithRole([identityService.ROLES.ACTIVITI_USER]); - groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); - await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - - await apiService.login(testUser.email, testUser.password); - const processDefinition = await processDefinitionService - /* cspell:disable-next-line */ - .getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.multiinstanceservicetask, simpleApp); - await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp); - - /* cspell:disable-next-line */ - await loginSSOPage.login(browser.params.testConfig.users.superadmin.username, browser.params.testConfig.users.superadmin.password); - }); - - afterAll(async () => { - await apiService.loginWithProfile('identityAdmin'); - await identityService.deleteIdentityUser(testUser.idIdentityService); - }); - - it('[C587515] Should be able to select a filter service task and see only the service task related to the selected app', async () => { - await navigationBarPage.navigateToServiceTaskListCloudPage(); - await serviceTaskListPage.checkServiceTaskFiltersDisplayed(); - await serviceTaskListPage.checkSearchServiceTaskFiltersDisplayed(); - await serviceTaskListPage.checkServiceTaskListDisplayed(); - - await serviceTaskListPage.clickCompletedServiceTask(); - await serviceTaskListPage.clickSearchHeaderServiceTask(); - await serviceTaskListPage.searchByActivityName(activityNameSimpleApp); - await serviceTaskListPage.checkServiceTaskListResultsIsLoaded(); - - await expect(await serviceTaskListPage.getStatusText()).toBe(CONSTANTS.SERVICE_TASK_STATUS.COMPLETED); - }); - }); -}); diff --git a/e2e/process-services-cloud/start-process-cloud.e2e.ts b/e2e/process-services-cloud/start-task/start-process-cloud.e2e.ts similarity index 96% rename from e2e/process-services-cloud/start-process-cloud.e2e.ts rename to e2e/process-services-cloud/start-task/start-process-cloud.e2e.ts index fa914c54df..da9bea0649 100644 --- a/e2e/process-services-cloud/start-process-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-task/start-process-cloud.e2e.ts @@ -17,9 +17,9 @@ import { ApiService, AppListCloudPage, BrowserActions, GroupIdentityService, IdentityService, LoginPage, StartProcessCloudPage, StringUtil } from '@alfresco/adf-testing'; import { browser, protractor } from 'protractor'; -import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import CONSTANTS = require('../util/constants'); +import { ProcessCloudDemoPage } from './../pages/process-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import CONSTANTS = require('../../util/constants'); describe('Start Process', () => { diff --git a/e2e/process-services-cloud/start-task-form-cloud.e2e.ts b/e2e/process-services-cloud/start-task/start-task-form-cloud.e2e.ts similarity index 98% rename from e2e/process-services-cloud/start-task-form-cloud.e2e.ts rename to e2e/process-services-cloud/start-task/start-task-form-cloud.e2e.ts index 1ffc62e376..81bc28b0d7 100644 --- a/e2e/process-services-cloud/start-task-form-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-task/start-task-form-cloud.e2e.ts @@ -16,8 +16,8 @@ */ import { browser, protractor } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; import { LoginPage, AppListCloudPage, @@ -40,11 +40,11 @@ import { FileBrowserUtil, ProcessCloudWidgetPage, QueryService } from '@alfresco/adf-testing'; -import { StartProcessCloudConfiguration } from './config/start-process-cloud.config'; -import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page'; -import { ProcessDetailsCloudDemoPage } from './pages/process-details-cloud-demo.page'; -import { FileModel } from '../models/ACS/file.model'; -import CONSTANTS = require('../util/constants'); +import { StartProcessCloudConfiguration } from './../config/start-process-cloud.config'; +import { ProcessCloudDemoPage } from './../pages/process-cloud-demo.page'; +import { ProcessDetailsCloudDemoPage } from './../pages/process-details-cloud-demo.page'; +import { FileModel } from '../../models/ACS/file.model'; +import CONSTANTS = require('../../util/constants'); describe('Start Task Form', () => { diff --git a/e2e/process-services-cloud/apps-section-cloud.e2e.ts b/e2e/process-services-cloud/task-list/apps-section-cloud.e2e.ts similarity index 97% rename from e2e/process-services-cloud/apps-section-cloud.e2e.ts rename to e2e/process-services-cloud/task-list/apps-section-cloud.e2e.ts index 1baeaceba4..01c7203039 100644 --- a/e2e/process-services-cloud/apps-section-cloud.e2e.ts +++ b/e2e/process-services-cloud/task-list/apps-section-cloud.e2e.ts @@ -17,7 +17,7 @@ import { ApiService, Application, AppListCloudPage, IdentityService, LocalStorageUtil, LoginPage } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; describe('Applications list', () => { diff --git a/e2e/process-services-cloud/edit-process-filters-component.e2e.ts b/e2e/process-services-cloud/task-list/edit-process-filters-component.e2e.ts similarity index 90% rename from e2e/process-services-cloud/edit-process-filters-component.e2e.ts rename to e2e/process-services-cloud/task-list/edit-process-filters-component.e2e.ts index 3e4fea490d..cd16708f5f 100644 --- a/e2e/process-services-cloud/edit-process-filters-component.e2e.ts +++ b/e2e/process-services-cloud/task-list/edit-process-filters-component.e2e.ts @@ -23,10 +23,10 @@ import { LoginPage } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { ProcessCloudDemoPage } from './pages/process-cloud-demo.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import CONSTANTS = require('../util/constants'); +import { ProcessCloudDemoPage } from '../pages/process-cloud-demo.page'; +import { TasksCloudDemoPage } from '../pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import CONSTANTS = require('../../util/constants'); describe('Edit process filters cloud', () => { @@ -102,10 +102,10 @@ describe('Edit process filters cloud', () => { it('[C291805] New process filter is added when clicking Save As button', async () => { await createNewProcessCustomFilter('New'); - await browser.driver.sleep(1000); await expect(await processFilter.getActiveFilterName()).toBe('New'); await editProcessFilter.openFilter(); + await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id'); await processFilter.clickAllProcessesFilter(); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Start Date'); @@ -115,18 +115,16 @@ describe('Edit process filters cloud', () => { }); it('[C291807] A process filter is updated when clicking on save button', async () => { - await editProcessFilter.setSortFilterDropDown('Id'); - await processFilter.clickAllProcessesFilter(); - await editProcessFilter.saveAs('New'); + await createNewProcessCustomFilter('New'); await expect(await processFilter.getActiveFilterName()).toBe('New'); await editProcessFilter.openFilter(); await editProcessFilter.checkCustomiseFilterHeaderIsExpanded(); - await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Id'); await editProcessFilter.setSortFilterDropDown('Process Name'); await expect(await editProcessFilter.getSortFilterDropDownValue()).toEqual('Process Name'); await editProcessFilter.clickSaveButton(); await editProcessFilter.openFilter(); + await editProcessFilter.checkCustomiseFilterHeaderIsExpanded(); await browser.driver.sleep(1000); @@ -137,9 +135,7 @@ describe('Edit process filters cloud', () => { }); it('[C291808] A process filter is deleted when clicking on delete button', async () => { - await editProcessFilter.setSortFilterDropDown('Id'); - await processFilter.clickAllProcessesFilter(); - await editProcessFilter.saveAs('New'); + await createNewProcessCustomFilter('New'); await editProcessFilter.openFilter(); await expect(await processFilter.getActiveFilterName()).toBe('New'); @@ -172,7 +168,6 @@ describe('Edit process filters cloud', () => { it('[C291811] Save button of process filter dialog should be disabled when process name is empty', async () => { await editProcessFilter.setSortFilterDropDown('Id'); - await processFilter.clickAllProcessesFilter(); await editProcessFilter.clickSaveAsButton(); const dialog = editProcessFilter.editProcessFilterDialog(); @@ -192,7 +187,6 @@ describe('Edit process filters cloud', () => { it('[C291809] Process filter dialog is displayed when clicking on Save As button', async () => { await editProcessFilter.setSortFilterDropDown('Name'); - await processFilter.clickAllProcessesFilter(); await editProcessFilter.clickSaveAsButton(); const dialog = editProcessFilter.editProcessFilterDialog(); @@ -204,9 +198,9 @@ describe('Edit process filters cloud', () => { await dialog.clickOnCancelButton(); }); - async function createNewProcessCustomFilter(name: string): Promise { - await editProcessFilter.setSortFilterDropDown('Id'); + async function createNewProcessCustomFilter(name: string, sort = 'Id'): Promise { await processFilter.clickAllProcessesFilter(); + await editProcessFilter.setSortFilterDropDown(sort); await editProcessFilter.saveAs(name); } }); diff --git a/e2e/process-services-cloud/edit-task-filters-component.e2e.ts b/e2e/process-services-cloud/task-list/edit-task-filters-component.e2e.ts similarity index 99% rename from e2e/process-services-cloud/edit-task-filters-component.e2e.ts rename to e2e/process-services-cloud/task-list/edit-task-filters-component.e2e.ts index b26a727fe3..e87d5fbeaa 100644 --- a/e2e/process-services-cloud/edit-task-filters-component.e2e.ts +++ b/e2e/process-services-cloud/task-list/edit-task-filters-component.e2e.ts @@ -25,8 +25,8 @@ import { IdentityService, GroupIdentityService } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; describe('Edit task filters cloud', () => { diff --git a/e2e/process-services-cloud/task-counters-cloud.e2e.ts b/e2e/process-services-cloud/task-list/task-counters-cloud.e2e.ts similarity index 97% rename from e2e/process-services-cloud/task-counters-cloud.e2e.ts rename to e2e/process-services-cloud/task-list/task-counters-cloud.e2e.ts index 25caad5e03..796fe50d78 100644 --- a/e2e/process-services-cloud/task-counters-cloud.e2e.ts +++ b/e2e/process-services-cloud/task-list/task-counters-cloud.e2e.ts @@ -29,8 +29,8 @@ import { ProcessDefinitionsService, QueryService } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; describe('Task counters cloud', () => { diff --git a/e2e/process-services-cloud/task-filters-cloud.e2e.ts b/e2e/process-services-cloud/task-list/task-filters-cloud.e2e.ts similarity index 97% rename from e2e/process-services-cloud/task-filters-cloud.e2e.ts rename to e2e/process-services-cloud/task-list/task-filters-cloud.e2e.ts index 452007def4..ffc9a5692f 100644 --- a/e2e/process-services-cloud/task-filters-cloud.e2e.ts +++ b/e2e/process-services-cloud/task-list/task-filters-cloud.e2e.ts @@ -26,8 +26,8 @@ import { GroupIdentityService, QueryService } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; describe('Task filters cloud', () => { diff --git a/e2e/process-services-cloud/task-form-cloud-component-tab.e2e.ts b/e2e/process-services-cloud/task-list/task-form-cloud-component-tab.e2e.ts similarity index 99% rename from e2e/process-services-cloud/task-form-cloud-component-tab.e2e.ts rename to e2e/process-services-cloud/task-list/task-form-cloud-component-tab.e2e.ts index c4a0bcc865..5d079021b3 100644 --- a/e2e/process-services-cloud/task-form-cloud-component-tab.e2e.ts +++ b/e2e/process-services-cloud/task-list/task-form-cloud-component-tab.e2e.ts @@ -28,8 +28,8 @@ import { TaskFormCloudComponent, IdentityService, GroupIdentityService, ProcessCloudWidgetPage, FormCloudService } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; describe('Task form cloud component', () => { diff --git a/e2e/process-services-cloud/task-form-cloud-component.e2e.ts b/e2e/process-services-cloud/task-list/task-form-cloud-component.e2e.ts similarity index 99% rename from e2e/process-services-cloud/task-form-cloud-component.e2e.ts rename to e2e/process-services-cloud/task-list/task-form-cloud-component.e2e.ts index 47a184de43..7f1e7de0a0 100644 --- a/e2e/process-services-cloud/task-form-cloud-component.e2e.ts +++ b/e2e/process-services-cloud/task-list/task-form-cloud-component.e2e.ts @@ -30,8 +30,8 @@ import { TasksService, FormCloudService } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; describe('Task form cloud component', () => { diff --git a/e2e/process-services-cloud/task-header-cloud.e2e.ts b/e2e/process-services-cloud/task-list/task-header-cloud.e2e.ts similarity index 98% rename from e2e/process-services-cloud/task-header-cloud.e2e.ts rename to e2e/process-services-cloud/task-list/task-header-cloud.e2e.ts index 3965597fa3..e0265941e7 100644 --- a/e2e/process-services-cloud/task-header-cloud.e2e.ts +++ b/e2e/process-services-cloud/task-list/task-header-cloud.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import CONSTANTS = require('../util/constants'); +import CONSTANTS = require('../../util/constants'); import { ApiService, AppListCloudPage, @@ -29,8 +29,8 @@ import { PeopleCloudComponentPage } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; import moment = require('moment'); const isValueInvalid = (value: any): boolean => { diff --git a/e2e/process-services-cloud/task-list-properties-sort.e2e.ts b/e2e/process-services-cloud/task-list/task-list-properties-sort.e2e.ts similarity index 98% rename from e2e/process-services-cloud/task-list-properties-sort.e2e.ts rename to e2e/process-services-cloud/task-list/task-list-properties-sort.e2e.ts index 1409e3a498..0a2345d95a 100644 --- a/e2e/process-services-cloud/task-list-properties-sort.e2e.ts +++ b/e2e/process-services-cloud/task-list/task-list-properties-sort.e2e.ts @@ -21,9 +21,9 @@ import { LoginPage, ApiService, AppListCloudPage, LocalStorageUtil, IdentityService, GroupIdentityService } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; -import { TaskListCloudConfiguration } from './config/task-list-cloud.config'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; +import { TaskListCloudConfiguration } from './../config/task-list-cloud.config'; describe('Edit task filters and task list properties', () => { const SORT_ORDER = { diff --git a/e2e/process-services-cloud/task-list-properties.e2e.ts b/e2e/process-services-cloud/task-list/task-list-properties.e2e.ts similarity index 97% rename from e2e/process-services-cloud/task-list-properties.e2e.ts rename to e2e/process-services-cloud/task-list/task-list-properties.e2e.ts index 14cc99d726..7fccc20d6b 100644 --- a/e2e/process-services-cloud/task-list-properties.e2e.ts +++ b/e2e/process-services-cloud/task-list/task-list-properties.e2e.ts @@ -22,11 +22,11 @@ import { LoginPage, ApiService, AppListCloudPage, LocalStorageUtil, IdentityService, GroupIdentityService, DateUtil } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; -import { TaskListCloudConfiguration } from './config/task-list-cloud.config'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; +import { TaskListCloudConfiguration } from './../config/task-list-cloud.config'; import moment = require('moment'); -import { taskFilterConfiguration } from './config/task-filter.config'; +import { taskFilterConfiguration } from './../config/task-filter.config'; describe('Edit task filters and task list properties', () => { diff --git a/e2e/process-services-cloud/task-list-selection.e2e.ts b/e2e/process-services-cloud/task-list/task-list-selection.e2e.ts similarity index 98% rename from e2e/process-services-cloud/task-list-selection.e2e.ts rename to e2e/process-services-cloud/task-list/task-list-selection.e2e.ts index a9c5a82dd3..7f64159df3 100644 --- a/e2e/process-services-cloud/task-list-selection.e2e.ts +++ b/e2e/process-services-cloud/task-list/task-list-selection.e2e.ts @@ -25,8 +25,8 @@ import { TasksService } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; describe('Task list cloud - selection', () => { diff --git a/e2e/process-services-cloud/tasks-claim-release.e2e.ts b/e2e/process-services-cloud/task-list/tasks-claim-release.e2e.ts similarity index 97% rename from e2e/process-services-cloud/tasks-claim-release.e2e.ts rename to e2e/process-services-cloud/task-list/tasks-claim-release.e2e.ts index 0be4453414..236a196791 100644 --- a/e2e/process-services-cloud/tasks-claim-release.e2e.ts +++ b/e2e/process-services-cloud/task-list/tasks-claim-release.e2e.ts @@ -28,10 +28,10 @@ import { TaskFormCloudComponent, TaskHeaderCloudPage } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; import { ProcessInstanceCloud } from '@alfresco/adf-process-services-cloud'; -import { taskFilterConfiguration } from './config/task-filter.config'; +import { taskFilterConfiguration } from './../config/task-filter.config'; describe('Task claim/release', () => { diff --git a/e2e/process-services-cloud/tasks-custom-filters.e2e.ts b/e2e/process-services-cloud/task-list/tasks-custom-filters.e2e.ts similarity index 98% rename from e2e/process-services-cloud/tasks-custom-filters.e2e.ts rename to e2e/process-services-cloud/task-list/tasks-custom-filters.e2e.ts index 5fd94bfc3e..e9230b4059 100644 --- a/e2e/process-services-cloud/tasks-custom-filters.e2e.ts +++ b/e2e/process-services-cloud/task-list/tasks-custom-filters.e2e.ts @@ -29,8 +29,8 @@ import { GroupIdentityService, AppListCloudPage, TaskListCloudComponentPage } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; describe('Task filters cloud', () => { diff --git a/e2e/process-services/about-process-services.e2e.ts b/e2e/process-services/about-process-services.e2e.ts deleted file mode 100644 index 32fe300fd0..0000000000 --- a/e2e/process-services/about-process-services.e2e.ts +++ /dev/null @@ -1,56 +0,0 @@ -/*! - * @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 { AboutPage, ApiService, LoginPage, UsersActions } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; - -describe('About Process Services', () => { - - const loginPage = new LoginPage(); - const navigationBarPage = new NavigationBarPage(); - const aboutPage = new AboutPage(); - - let user; - - const apiService = new ApiService(); - const usersActions = new UsersActions(apiService); - - beforeAll(async() => { - await apiService.loginWithProfile('admin'); - user = await usersActions.createUser(); - await apiService.login(user.username, user.password); - await loginPage.login(user.username, user.password); - await navigationBarPage.clickAboutButton(); - }); - - afterAll(async() => { - await navigationBarPage.clickLogoutButton(); - await apiService.loginWithProfile('admin'); - await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId); - }); - - it('[C280002] Should be able to view about process services info', async () => { - await aboutPage.checkAppTitleIsDisplayed(); - await aboutPage.checkSourceCodeTitleIsDisplayed(); - await aboutPage.checkGithubUrlIsDisplayed(); - await aboutPage.checkGithubVersionIsDisplayed(); - await aboutPage.checkBpmHostIsDisplayed(); - await aboutPage.checkBpmEditionIsDisplayed(); - await aboutPage.checkBpmVersionIsDisplayed(); - await aboutPage.checkAboutListIsLoaded(); - await aboutPage.checkPackageColumnsIsDisplayed(); - }); -}); diff --git a/e2e/process-services/apps-section.e2e.ts b/e2e/process-services/form/apps-section.e2e.ts similarity index 96% rename from e2e/process-services/apps-section.e2e.ts rename to e2e/process-services/form/apps-section.e2e.ts index c0adc05751..15f69665c7 100644 --- a/e2e/process-services/apps-section.e2e.ts +++ b/e2e/process-services/form/apps-section.e2e.ts @@ -17,10 +17,10 @@ import { browser } from 'protractor'; import { ApiService, ApplicationsUtil, LoginPage, UsersActions } from '@alfresco/adf-testing'; -import { ProcessServicesPage } from './pages/process-services.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ModelsActions } from '../actions/APS/models.actions'; -import CONSTANTS = require('../util/constants'); +import { ProcessServicesPage } from './../pages/process-services.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ModelsActions } from '../../actions/APS/models.actions'; +import CONSTANTS = require('../../util/constants'); describe('Modify applications', () => { diff --git a/e2e/process-services/attach-file-content-service.e2e.ts b/e2e/process-services/form/attach-file-content-service.e2e.ts similarity index 98% rename from e2e/process-services/attach-file-content-service.e2e.ts rename to e2e/process-services/form/attach-file-content-service.e2e.ts index dffc9dcab2..6a5221ab10 100644 --- a/e2e/process-services/attach-file-content-service.e2e.ts +++ b/e2e/process-services/form/attach-file-content-service.e2e.ts @@ -30,10 +30,10 @@ import { SearchService, Logger } from '@alfresco/adf-testing'; -import { TasksPage } from './pages/tasks.page'; +import { TasksPage } from './../pages/tasks.page'; import { browser } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import CONSTANTS = require('../util/constants'); +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import CONSTANTS = require('../../util/constants'); describe('Attach File - Content service', () => { diff --git a/e2e/process-services/attach-file-widget-start-task-app.e2e.ts b/e2e/process-services/form/attach-file-widget-start-task-app.e2e.ts similarity index 94% rename from e2e/process-services/attach-file-widget-start-task-app.e2e.ts rename to e2e/process-services/form/attach-file-widget-start-task-app.e2e.ts index 8b8b231930..c36e801a78 100644 --- a/e2e/process-services/attach-file-widget-start-task-app.e2e.ts +++ b/e2e/process-services/form/attach-file-widget-start-task-app.e2e.ts @@ -24,11 +24,11 @@ import { ViewerPage, Widget } from '@alfresco/adf-testing'; -import { TasksPage } from './pages/tasks.page'; -import { FileModel } from '../models/ACS/file.model'; +import { TasksPage } from './../pages/tasks.page'; +import { FileModel } from '../../models/ACS/file.model'; import { browser } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import CONSTANTS = require('../util/constants'); +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import CONSTANTS = require('../../util/constants'); describe('Start Task - Task App', () => { const app = browser.params.resources.Files.WIDGETS_SMOKE_TEST; diff --git a/e2e/process-services/attach-folder.e2e.ts b/e2e/process-services/form/attach-folder.e2e.ts similarity index 96% rename from e2e/process-services/attach-folder.e2e.ts rename to e2e/process-services/form/attach-folder.e2e.ts index 24120270bb..c92768e500 100644 --- a/e2e/process-services/attach-folder.e2e.ts +++ b/e2e/process-services/form/attach-folder.e2e.ts @@ -29,10 +29,10 @@ import { Widget, SearchService } from '@alfresco/adf-testing'; -import { TasksPage } from './pages/tasks.page'; +import { TasksPage } from './../pages/tasks.page'; import { browser } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import CONSTANTS = require('../util/constants'); +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import CONSTANTS = require('../../util/constants'); describe('Attach Folder', () => { const app = browser.params.resources.Files.WIDGET_CHECK_APP; diff --git a/e2e/process-services/attach-form-component.e2e.ts b/e2e/process-services/form/attach-form-component.e2e.ts similarity index 94% rename from e2e/process-services/attach-form-component.e2e.ts rename to e2e/process-services/form/attach-form-component.e2e.ts index a95b9de406..4ec3c163d0 100644 --- a/e2e/process-services/attach-form-component.e2e.ts +++ b/e2e/process-services/form/attach-form-component.e2e.ts @@ -17,12 +17,12 @@ import { ApiService, ApplicationsUtil, FormFields, LoginPage, UsersActions } from '@alfresco/adf-testing'; import { browser, by } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { AttachFormPage } from './pages/attach-form.page'; -import { TasksPage } from './pages/tasks.page'; -import { TaskDetailsPage } from './pages/task-details.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { AttachFormPage } from './../pages/attach-form.page'; +import { TasksPage } from './../pages/tasks.page'; +import { TaskDetailsPage } from './../pages/task-details.page'; import { TaskRepresentation } from '@alfresco/js-api'; -import CONSTANTS = require('../util/constants'); +import CONSTANTS = require('../../util/constants'); describe('Attach Form Component', () => { const app = browser.params.resources.Files.SIMPLE_APP_WITH_USER_FORM; diff --git a/e2e/process-services/checklist-component.e2e.ts b/e2e/process-services/form/checklist-component.e2e.ts similarity index 96% rename from e2e/process-services/checklist-component.e2e.ts rename to e2e/process-services/form/checklist-component.e2e.ts index a172c01e41..a60eb6a7a6 100644 --- a/e2e/process-services/checklist-component.e2e.ts +++ b/e2e/process-services/form/checklist-component.e2e.ts @@ -16,15 +16,15 @@ */ import { ApiService, LoginPage, UsersActions } from '@alfresco/adf-testing'; -import { TasksPage } from './pages/tasks.page'; -import { ProcessServicesPage } from './pages/process-services.page'; -import { ChecklistDialog } from './pages/dialog/create-checklist-dialog.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { TasksPage } from './../pages/tasks.page'; +import { ProcessServicesPage } from './../pages/process-services.page'; +import { ChecklistDialog } from './../pages/dialog/create-checklist-dialog.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; import { browser } from 'protractor'; import * as fs from 'fs'; import * as path from 'path'; import { TaskRepresentation } from '@alfresco/js-api'; -import CONSTANTS = require('../util/constants'); +import CONSTANTS = require('../../util/constants'); describe('Checklist component', () => { diff --git a/e2e/process-services/dynamic-table-date-picker.e2e.ts b/e2e/process-services/form/dynamic-table-date-picker.e2e.ts similarity index 96% rename from e2e/process-services/dynamic-table-date-picker.e2e.ts rename to e2e/process-services/form/dynamic-table-date-picker.e2e.ts index 76d8e70bdd..839fb1a11b 100644 --- a/e2e/process-services/dynamic-table-date-picker.e2e.ts +++ b/e2e/process-services/form/dynamic-table-date-picker.e2e.ts @@ -24,9 +24,9 @@ import { UsersActions, Widget } from '@alfresco/adf-testing'; -import { ProcessFiltersPage } from './pages/process-filters.page'; -import { ProcessServiceTabBarPage } from './pages/process-service-tab-bar.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; +import { ProcessServiceTabBarPage } from './../pages/process-service-tab-bar.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; import { browser } from 'protractor'; describe('Dynamic Table', () => { diff --git a/e2e/process-services/form-component.e2e.ts b/e2e/process-services/form/form-component.e2e.ts similarity index 98% rename from e2e/process-services/form-component.e2e.ts rename to e2e/process-services/form/form-component.e2e.ts index 08cf25ff18..f439eb0cb3 100644 --- a/e2e/process-services/form-component.e2e.ts +++ b/e2e/process-services/form/form-component.e2e.ts @@ -16,7 +16,7 @@ */ import { ApiService, FormPage, LoginPage, UsersActions, Widget } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; describe('Form Component', () => { diff --git a/e2e/process-services/form-people-widget.e2e.ts b/e2e/process-services/form/form-people-widget.e2e.ts similarity index 91% rename from e2e/process-services/form-people-widget.e2e.ts rename to e2e/process-services/form/form-people-widget.e2e.ts index 66ced9d5be..4837d1d440 100644 --- a/e2e/process-services/form-people-widget.e2e.ts +++ b/e2e/process-services/form/form-people-widget.e2e.ts @@ -23,12 +23,12 @@ import { UsersActions, Widget } from '@alfresco/adf-testing'; -import { ProcessFiltersPage } from './pages/process-filters.page'; -import { ProcessDetailsPage } from './pages/process-details.page'; -import { TaskDetailsPage } from './pages/task-details.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; +import { ProcessDetailsPage } from './../pages/process-details.page'; +import { TaskDetailsPage } from './../pages/task-details.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; import { browser } from 'protractor'; -import { ProcessServiceTabBarPage } from './pages/process-service-tab-bar.page'; +import { ProcessServiceTabBarPage } from './../pages/process-service-tab-bar.page'; describe('Form widgets - People ', () => { diff --git a/e2e/process-services/form-widgets-component.e2e.ts b/e2e/process-services/form/form-widgets-component.e2e.ts similarity index 97% rename from e2e/process-services/form-widgets-component.e2e.ts rename to e2e/process-services/form/form-widgets-component.e2e.ts index eb75fce0e2..454c1c54f6 100644 --- a/e2e/process-services/form-widgets-component.e2e.ts +++ b/e2e/process-services/form/form-widgets-component.e2e.ts @@ -23,11 +23,11 @@ import { UsersActions, Widget } from '@alfresco/adf-testing'; -import { TasksPage } from './pages/tasks.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { TasksPage } from './../pages/tasks.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; import { browser } from 'protractor'; -import CONSTANTS = require('../util/constants'); -import FormDefinitionModel = require('../models/APS/FormDefinitionModel'); +import CONSTANTS = require('../../util/constants'); +import FormDefinitionModel = require('../../models/APS/FormDefinitionModel'); const formInstance = new FormDefinitionModel(); diff --git a/e2e/process-services/people-component.e2e.ts b/e2e/process-services/form/people-component.e2e.ts similarity index 98% rename from e2e/process-services/people-component.e2e.ts rename to e2e/process-services/form/people-component.e2e.ts index 423d4894ba..ffbd2a2d1d 100644 --- a/e2e/process-services/people-component.e2e.ts +++ b/e2e/process-services/form/people-component.e2e.ts @@ -16,14 +16,14 @@ */ import { ApiService, LoginPage, UserModel, UsersActions } from '@alfresco/adf-testing'; -import { TasksPage } from './pages/tasks.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessServicesPage } from './pages/process-services.page'; +import { TasksPage } from './../pages/tasks.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ProcessServicesPage } from './../pages/process-services.page'; import { browser } from 'protractor'; import * as fs from 'fs'; import * as path from 'path'; import { TaskRepresentation } from '@alfresco/js-api'; -import CONSTANTS = require('../util/constants'); +import CONSTANTS = require('../../util/constants'); describe('People component', () => { diff --git a/e2e/process-services/stencil.e2e.ts b/e2e/process-services/form/stencil.e2e.ts similarity index 87% rename from e2e/process-services/stencil.e2e.ts rename to e2e/process-services/form/stencil.e2e.ts index e5c955f232..3df3c2d36b 100644 --- a/e2e/process-services/stencil.e2e.ts +++ b/e2e/process-services/form/stencil.e2e.ts @@ -23,15 +23,15 @@ import { UserModel, UsersActions } from '@alfresco/adf-testing'; -import { TasksPage } from './pages/tasks.page'; +import { TasksPage } from './../pages/tasks.page'; import { browser } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessServiceTabBarPage } from './pages/process-service-tab-bar.page'; -import { ProcessListDemoPage } from './pages/process-list-demo.page'; -import { ProcessFiltersPage } from './pages/process-filters.page'; -import { ProcessDetailsPage } from './pages/process-details.page'; -import { ProcessListPage } from './pages/process-list.page'; -import CONSTANTS = require('../util/constants'); +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ProcessServiceTabBarPage } from './../pages/process-service-tab-bar.page'; +import { ProcessListDemoPage } from './../pages/process-list-demo.page'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; +import { ProcessDetailsPage } from './../pages/process-details.page'; +import { ProcessListPage } from './../pages/process-list.page'; +import CONSTANTS = require('../../util/constants'); describe('Stencil', () => { diff --git a/e2e/process-services/comment-component-processes.e2e.ts b/e2e/process-services/process/comment-component-processes.e2e.ts similarity index 96% rename from e2e/process-services/comment-component-processes.e2e.ts rename to e2e/process-services/process/comment-component-processes.e2e.ts index 9ee8b437ee..6c31a8debe 100644 --- a/e2e/process-services/comment-component-processes.e2e.ts +++ b/e2e/process-services/process/comment-component-processes.e2e.ts @@ -17,9 +17,9 @@ import { browser } from 'protractor'; import { ApiService, ApplicationsUtil, LoginPage, ProcessUtil, UsersActions } from '@alfresco/adf-testing'; -import { ProcessFiltersPage } from './pages/process-filters.page'; -import { CommentsPage } from '../core/pages/comments.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; +import { CommentsPage } from '../../core/pages/comments.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; describe('Comment component for Processes', () => { diff --git a/e2e/process-services/custom-process-filters-sorting.e2e.ts b/e2e/process-services/process/custom-process-filters-sorting.e2e.ts similarity index 98% rename from e2e/process-services/custom-process-filters-sorting.e2e.ts rename to e2e/process-services/process/custom-process-filters-sorting.e2e.ts index 6f94903a40..bacef09c6d 100644 --- a/e2e/process-services/custom-process-filters-sorting.e2e.ts +++ b/e2e/process-services/process/custom-process-filters-sorting.e2e.ts @@ -18,9 +18,9 @@ import { browser } from 'protractor'; import { ApiService, ApplicationsUtil, LoginPage, ProcessUtil, UsersActions } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessFiltersPage } from './pages/process-filters.page'; -import { FiltersPage } from './pages/filters.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; +import { FiltersPage } from './../pages/filters.page'; describe('Sorting for process filters', () => { diff --git a/e2e/process-services/custom-process-filters.e2e.ts b/e2e/process-services/process/custom-process-filters.e2e.ts similarity index 96% rename from e2e/process-services/custom-process-filters.e2e.ts rename to e2e/process-services/process/custom-process-filters.e2e.ts index 2fb205cbb6..e614d5b383 100644 --- a/e2e/process-services/custom-process-filters.e2e.ts +++ b/e2e/process-services/process/custom-process-filters.e2e.ts @@ -16,10 +16,10 @@ */ import { ApiService, LoginPage, UsersActions } from '@alfresco/adf-testing'; -import { ProcessFiltersPage } from './pages/process-filters.page'; -import { ProcessServiceTabBarPage } from './pages/process-service-tab-bar.page'; -import { AppSettingsTogglesPage } from './pages/dialog/app-settings-toggles.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; +import { ProcessServiceTabBarPage } from './../pages/process-service-tab-bar.page'; +import { AppSettingsTogglesPage } from './../pages/dialog/app-settings-toggles.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; describe('New Process Filters', () => { diff --git a/e2e/process-services/empty-process-list-component.e2e.ts b/e2e/process-services/process/empty-process-list-component.e2e.ts similarity index 91% rename from e2e/process-services/empty-process-list-component.e2e.ts rename to e2e/process-services/process/empty-process-list-component.e2e.ts index 8e3ec94397..e38713afc5 100644 --- a/e2e/process-services/empty-process-list-component.e2e.ts +++ b/e2e/process-services/process/empty-process-list-component.e2e.ts @@ -17,11 +17,11 @@ import { browser } from 'protractor'; import { ApiService, ApplicationsUtil, LoginPage, StartProcessPage, UsersActions } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessServicesPage } from './pages/process-services.page'; -import { ProcessFiltersPage } from './pages/process-filters.page'; -import { ProcessDetailsPage } from './pages/process-details.page'; -import { ProcessListPage } from './pages/process-list.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ProcessServicesPage } from './../pages/process-services.page'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; +import { ProcessDetailsPage } from './../pages/process-details.page'; +import { ProcessListPage } from './../pages/process-list.page'; describe('Empty Process List Test', () => { diff --git a/e2e/process-services/pagination-processlist-adding-processes.e2e.ts b/e2e/process-services/process/pagination-processlist-adding-processes.e2e.ts similarity index 95% rename from e2e/process-services/pagination-processlist-adding-processes.e2e.ts rename to e2e/process-services/process/pagination-processlist-adding-processes.e2e.ts index 7bce616521..1ce25ed0d0 100644 --- a/e2e/process-services/pagination-processlist-adding-processes.e2e.ts +++ b/e2e/process-services/process/pagination-processlist-adding-processes.e2e.ts @@ -24,9 +24,9 @@ import { UsersActions } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessDetailsPage } from './pages/process-details.page'; -import { ProcessFiltersPage } from './pages/process-filters.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ProcessDetailsPage } from './../pages/process-details.page'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; describe('Process List - Pagination when adding processes', () => { diff --git a/e2e/process-services/process-attachment-list-action-menu.e2e.ts b/e2e/process-services/process/process-attachment-list-action-menu.e2e.ts similarity index 95% rename from e2e/process-services/process-attachment-list-action-menu.e2e.ts rename to e2e/process-services/process/process-attachment-list-action-menu.e2e.ts index 1fd21523e3..492e820f29 100644 --- a/e2e/process-services/process-attachment-list-action-menu.e2e.ts +++ b/e2e/process-services/process/process-attachment-list-action-menu.e2e.ts @@ -24,11 +24,11 @@ import { UsersActions, ViewerPage } from '@alfresco/adf-testing'; -import { ProcessFiltersPage } from './pages/process-filters.page'; -import { ProcessDetailsPage } from './pages/process-details.page'; -import { AttachmentListPage } from './pages/attachment-list.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { FileModel } from '../models/ACS/file.model'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; +import { ProcessDetailsPage } from './../pages/process-details.page'; +import { AttachmentListPage } from './../pages/attachment-list.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { FileModel } from '../../models/ACS/file.model'; import { browser } from 'protractor'; describe('Attachment list action menu for processes', () => { diff --git a/e2e/process-services/process-filters-component.e2e.ts b/e2e/process-services/process/process-filters-component.e2e.ts similarity index 95% rename from e2e/process-services/process-filters-component.e2e.ts rename to e2e/process-services/process/process-filters-component.e2e.ts index 6f3ebec4da..18d12ccac1 100644 --- a/e2e/process-services/process-filters-component.e2e.ts +++ b/e2e/process-services/process/process-filters-component.e2e.ts @@ -23,16 +23,16 @@ import { StartProcessPage, UsersActions } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessServicesPage } from './pages/process-services.page'; -import { ProcessFiltersPage } from './pages/process-filters.page'; -import { ProcessServiceTabBarPage } from './pages/process-service-tab-bar.page'; -import { ProcessDetailsPage } from './pages/process-details.page'; -import { ProcessListPage } from './pages/process-list.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ProcessServicesPage } from './../pages/process-services.page'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; +import { ProcessServiceTabBarPage } from './../pages/process-service-tab-bar.page'; +import { ProcessDetailsPage } from './../pages/process-details.page'; +import { ProcessListPage } from './../pages/process-list.page'; import { UserProcessInstanceFilterRepresentation } from '@alfresco/js-api'; import { browser } from 'protractor'; -import { ProcessListDemoPage } from './pages/process-list-demo.page'; -import CONSTANTS = require('../util/constants'); +import { ProcessListDemoPage } from './../pages/process-list-demo.page'; +import CONSTANTS = require('../../util/constants'); describe('Process Filters Test', () => { diff --git a/e2e/process-services/process-instance-details.e2e.ts b/e2e/process-services/process/process-instance-details.e2e.ts similarity index 88% rename from e2e/process-services/process-instance-details.e2e.ts rename to e2e/process-services/process/process-instance-details.e2e.ts index 43b41c3420..a462b23ff0 100644 --- a/e2e/process-services/process-instance-details.e2e.ts +++ b/e2e/process-services/process/process-instance-details.e2e.ts @@ -17,11 +17,11 @@ import { browser } from 'protractor'; import { ApiService, ApplicationsUtil, LoginPage, ProcessUtil, UsersActions } from '@alfresco/adf-testing'; -import { ProcessServicesPage } from './pages/process-services.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessServiceTabBarPage } from './pages/process-service-tab-bar.page'; -import { ProcessListPage } from './pages/process-list.page'; -import { ProcessDetailsPage } from './pages/process-details.page'; +import { ProcessServicesPage } from './../pages/process-services.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ProcessServiceTabBarPage } from './../pages/process-service-tab-bar.page'; +import { ProcessListPage } from './../pages/process-list.page'; +import { ProcessDetailsPage } from './../pages/process-details.page'; import moment = require('moment'); describe('Process Instance Details', () => { diff --git a/e2e/process-services/process-list-component.e2e.ts b/e2e/process-services/process/process-list-component.e2e.ts similarity index 99% rename from e2e/process-services/process-list-component.e2e.ts rename to e2e/process-services/process/process-list-component.e2e.ts index baec4f0b32..ea2572ec30 100644 --- a/e2e/process-services/process-list-component.e2e.ts +++ b/e2e/process-services/process/process-list-component.e2e.ts @@ -23,7 +23,7 @@ import { ProcessUtil, UsersActions } from '@alfresco/adf-testing'; -import { ProcessListDemoPage } from './pages/process-list-demo.page'; +import { ProcessListDemoPage } from './../pages/process-list-demo.page'; import { browser } from 'protractor'; describe('Process List Test', () => { diff --git a/e2e/process-services/processlist-pagination.e2e.ts b/e2e/process-services/process/processlist-pagination.e2e.ts similarity index 99% rename from e2e/process-services/processlist-pagination.e2e.ts rename to e2e/process-services/process/processlist-pagination.e2e.ts index c207eea563..8e30d0f53c 100644 --- a/e2e/process-services/processlist-pagination.e2e.ts +++ b/e2e/process-services/process/processlist-pagination.e2e.ts @@ -24,9 +24,9 @@ import { UsersActions } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessDetailsPage } from './pages/process-details.page'; -import { ProcessFiltersPage } from './pages/process-filters.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ProcessDetailsPage } from './../pages/process-details.page'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; describe('Process List - Pagination', () => { diff --git a/e2e/process-services/start-process-component.e2e.ts b/e2e/process-services/process/start-process-component.e2e.ts similarity index 97% rename from e2e/process-services/start-process-component.e2e.ts rename to e2e/process-services/process/start-process-component.e2e.ts index 29e1308884..6e4e872f57 100644 --- a/e2e/process-services/start-process-component.e2e.ts +++ b/e2e/process-services/process/start-process-component.e2e.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import CONSTANTS = require('../util/constants'); +import CONSTANTS = require('../../util/constants'); import { ApiService, ApplicationsUtil, BrowserActions, @@ -31,15 +31,15 @@ import { Widget } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { FileModel } from '../models/ACS/file.model'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { AttachmentListPage } from './pages/attachment-list.page'; -import { ProcessDetailsPage } from './pages/process-details.page'; -import { ProcessFiltersPage } from './pages/process-filters.page'; -import { ProcessServicesPage } from './pages/process-services.page'; -import { ProcessServiceTabBarPage } from './pages/process-service-tab-bar.page'; -import { ContentServicesPage } from '../core/pages/content-services.page'; -import { UploadDialogPage } from '../core/pages/dialog/upload-dialog.page'; +import { FileModel } from '../../models/ACS/file.model'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { AttachmentListPage } from './../pages/attachment-list.page'; +import { ProcessDetailsPage } from './../pages/process-details.page'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; +import { ProcessServicesPage } from './../pages/process-services.page'; +import { ProcessServiceTabBarPage } from './../pages/process-service-tab-bar.page'; +import { ContentServicesPage } from '../../core/pages/content-services.page'; +import { UploadDialogPage } from '../../core/pages/dialog/upload-dialog.page'; describe('Start Process Component', () => { diff --git a/e2e/process-services/comment-component-tasks.e2e.ts b/e2e/process-services/tasks/comment-component-tasks.e2e.ts similarity index 96% rename from e2e/process-services/comment-component-tasks.e2e.ts rename to e2e/process-services/tasks/comment-component-tasks.e2e.ts index e0112c1095..5426d520ee 100644 --- a/e2e/process-services/comment-component-tasks.e2e.ts +++ b/e2e/process-services/tasks/comment-component-tasks.e2e.ts @@ -18,12 +18,12 @@ import { browser } from 'protractor'; import { ApiService, ApplicationsUtil, LoginPage, UserModel, UsersActions } from '@alfresco/adf-testing'; -import { TasksPage } from './pages/tasks.page'; -import { CommentsPage } from '../core/pages/comments.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { TasksPage } from './../pages/tasks.page'; +import { CommentsPage } from '../../core/pages/comments.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; import { TaskRepresentation } from '@alfresco/js-api'; -import CONSTANTS = require('../util/constants'); +import CONSTANTS = require('../../util/constants'); describe('Comment component for Processes', () => { diff --git a/e2e/process-services/custom-tasks-filters.e2e.ts b/e2e/process-services/tasks/custom-tasks-filters.e2e.ts similarity index 99% rename from e2e/process-services/custom-tasks-filters.e2e.ts rename to e2e/process-services/tasks/custom-tasks-filters.e2e.ts index 1e2f3287d5..220331a4d3 100644 --- a/e2e/process-services/custom-tasks-filters.e2e.ts +++ b/e2e/process-services/tasks/custom-tasks-filters.e2e.ts @@ -26,9 +26,9 @@ import { UsersActions } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { AppsRuntimeActions } from '../actions/APS/apps-runtime.actions'; -import { TaskListDemoPage } from './pages/task-list-demo.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { AppsRuntimeActions } from '../../actions/APS/apps-runtime.actions'; +import { TaskListDemoPage } from './../pages/task-list-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; import { TaskRepresentation } from '@alfresco/js-api'; import moment = require('moment'); diff --git a/e2e/process-services/info-drawer.e2e.ts b/e2e/process-services/tasks/info-drawer.e2e.ts similarity index 97% rename from e2e/process-services/info-drawer.e2e.ts rename to e2e/process-services/tasks/info-drawer.e2e.ts index e92ef2e689..46f0c0c16b 100644 --- a/e2e/process-services/info-drawer.e2e.ts +++ b/e2e/process-services/tasks/info-drawer.e2e.ts @@ -28,12 +28,12 @@ import { } from '@alfresco/adf-testing'; import { AppDefinitionRepresentation } from '@alfresco/js-api'; import { browser, by, element } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksPage } from './pages/tasks.page'; -import { ProcessServiceTabBarPage } from './pages/process-service-tab-bar.page'; -import { ProcessFiltersPage } from './pages/process-filters.page'; -import { infoDrawerConfiguration } from './config/task.config'; -import CONSTANTS = require('../util/constants'); +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksPage } from './../pages/tasks.page'; +import { ProcessServiceTabBarPage } from './../pages/process-service-tab-bar.page'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; +import { infoDrawerConfiguration } from './../config/task.config'; +import CONSTANTS = require('../../util/constants'); import moment = require('moment'); describe('Info Drawer', () => { diff --git a/e2e/process-services/pagination-tasklist-adding-tasks.e2e.ts b/e2e/process-services/tasks/pagination-tasklist-adding-tasks.e2e.ts similarity index 95% rename from e2e/process-services/pagination-tasklist-adding-tasks.e2e.ts rename to e2e/process-services/tasks/pagination-tasklist-adding-tasks.e2e.ts index c2bd6ed01d..7152967455 100644 --- a/e2e/process-services/pagination-tasklist-adding-tasks.e2e.ts +++ b/e2e/process-services/tasks/pagination-tasklist-adding-tasks.e2e.ts @@ -24,9 +24,9 @@ import { UsersActions } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksPage } from './pages/tasks.page'; -import CONSTANTS = require('../util/constants'); +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksPage } from './../pages/tasks.page'; +import CONSTANTS = require('../../util/constants'); describe('Items per page set to 15 and adding of tasks', () => { diff --git a/e2e/process-services/sort-tasklist-pagination.e2e.ts b/e2e/process-services/tasks/sort-tasklist-pagination.e2e.ts similarity index 94% rename from e2e/process-services/sort-tasklist-pagination.e2e.ts rename to e2e/process-services/tasks/sort-tasklist-pagination.e2e.ts index 3e86340d56..a4c7ee06cc 100644 --- a/e2e/process-services/sort-tasklist-pagination.e2e.ts +++ b/e2e/process-services/tasks/sort-tasklist-pagination.e2e.ts @@ -24,10 +24,10 @@ import { UsersActions } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksPage } from './pages/tasks.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksPage } from './../pages/tasks.page'; import { TaskRepresentation } from '@alfresco/js-api'; -import CONSTANTS = require('../util/constants'); +import CONSTANTS = require('../../util/constants'); describe('Task List Pagination - Sorting', () => { diff --git a/e2e/process-services/standalone-task.e2e.ts b/e2e/process-services/tasks/standalone-task.e2e.ts similarity index 96% rename from e2e/process-services/standalone-task.e2e.ts rename to e2e/process-services/tasks/standalone-task.e2e.ts index 598100e0c9..0b742e0779 100644 --- a/e2e/process-services/standalone-task.e2e.ts +++ b/e2e/process-services/tasks/standalone-task.e2e.ts @@ -18,12 +18,12 @@ import { browser } from 'protractor'; import { ApiService, LoginPage, UsersActions } from '@alfresco/adf-testing'; -import { TasksPage } from './pages/tasks.page'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; +import { TasksPage } from './../pages/tasks.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; import * as fs from 'fs'; import * as path from 'path'; -import CONSTANTS = require('../util/constants'); -import Task = require('../models/APS/Task'); +import CONSTANTS = require('../../util/constants'); +import Task = require('../../models/APS/Task'); describe('Start Task - Task App', () => { diff --git a/e2e/process-services/start-task-custom-app.e2e.ts b/e2e/process-services/tasks/start-task-custom-app.e2e.ts similarity index 96% rename from e2e/process-services/start-task-custom-app.e2e.ts rename to e2e/process-services/tasks/start-task-custom-app.e2e.ts index a4880243c9..fdd5ba0ea1 100644 --- a/e2e/process-services/start-task-custom-app.e2e.ts +++ b/e2e/process-services/tasks/start-task-custom-app.e2e.ts @@ -18,12 +18,12 @@ import { ApiService, ApplicationsUtil, LoginPage, UserModel, UsersActions } from '@alfresco/adf-testing'; import { browser, by } from 'protractor'; -import { FileModel } from '../models/ACS/file.model'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { AttachmentListPage } from './pages/attachment-list.page'; -import { ProcessServiceTabBarPage } from './pages/process-service-tab-bar.page'; -import { TasksPage } from './pages/tasks.page'; -import CONSTANTS = require('../util/constants'); +import { FileModel } from '../../models/ACS/file.model'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { AttachmentListPage } from './../pages/attachment-list.page'; +import { ProcessServiceTabBarPage } from './../pages/process-service-tab-bar.page'; +import { TasksPage } from './../pages/tasks.page'; +import CONSTANTS = require('../../util/constants'); describe('Start Task - Custom App', () => { diff --git a/e2e/process-services/start-task-task-app.e2e.ts b/e2e/process-services/tasks/start-task-task-app.e2e.ts similarity index 94% rename from e2e/process-services/start-task-task-app.e2e.ts rename to e2e/process-services/tasks/start-task-task-app.e2e.ts index 5c62e6a8d3..64f119168e 100644 --- a/e2e/process-services/start-task-task-app.e2e.ts +++ b/e2e/process-services/tasks/start-task-task-app.e2e.ts @@ -17,16 +17,16 @@ import { ApiService, LoginPage, StringUtil, UserModel, UsersActions } from '@alfresco/adf-testing'; import { browser, by } from 'protractor'; -import { FileModel } from '../models/ACS/file.model'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { AttachmentListPage } from './pages/attachment-list.page'; -import { ChecklistDialog } from './pages/dialog/create-checklist-dialog.page'; -import { ProcessServiceTabBarPage } from './pages/process-service-tab-bar.page'; -import { TasksPage } from './pages/tasks.page'; +import { FileModel } from '../../models/ACS/file.model'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { AttachmentListPage } from './../pages/attachment-list.page'; +import { ChecklistDialog } from './../pages/dialog/create-checklist-dialog.page'; +import { ProcessServiceTabBarPage } from './../pages/process-service-tab-bar.page'; +import { TasksPage } from './../pages/tasks.page'; import * as fs from 'fs'; import * as path from 'path'; import { TaskRepresentation } from '@alfresco/js-api'; -import CONSTANTS = require('../util/constants'); +import CONSTANTS = require('../../util/constants'); describe('Start Task - Task App', () => { diff --git a/e2e/process-services/task-assignee.e2e.ts b/e2e/process-services/tasks/task-assignee.e2e.ts similarity index 96% rename from e2e/process-services/task-assignee.e2e.ts rename to e2e/process-services/tasks/task-assignee.e2e.ts index d82b452df4..a1df4ca075 100644 --- a/e2e/process-services/task-assignee.e2e.ts +++ b/e2e/process-services/tasks/task-assignee.e2e.ts @@ -24,15 +24,15 @@ import { UserModel, UsersActions } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessServicesPage } from './pages/process-services.page'; -import { ProcessFiltersPage } from './pages/process-filters.page'; -import { ProcessServiceTabBarPage } from './pages/process-service-tab-bar.page'; -import { ProcessDetailsPage } from './pages/process-details.page'; -import { ProcessListPage } from './pages/process-list.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ProcessServicesPage } from './../pages/process-services.page'; +import { ProcessFiltersPage } from './../pages/process-filters.page'; +import { ProcessServiceTabBarPage } from './../pages/process-service-tab-bar.page'; +import { ProcessDetailsPage } from './../pages/process-details.page'; +import { ProcessListPage } from './../pages/process-list.page'; import { browser } from 'protractor'; -import { TasksPage } from './pages/tasks.page'; -import CONSTANTS = require('../util/constants'); +import { TasksPage } from './../pages/tasks.page'; +import CONSTANTS = require('../../util/constants'); describe('Task Assignee', () => { diff --git a/e2e/process-services/task-attachment-list-action-menu.e2e.ts b/e2e/process-services/tasks/task-attachment-list-action-menu.e2e.ts similarity index 96% rename from e2e/process-services/task-attachment-list-action-menu.e2e.ts rename to e2e/process-services/tasks/task-attachment-list-action-menu.e2e.ts index 98687bec38..206548aeca 100644 --- a/e2e/process-services/task-attachment-list-action-menu.e2e.ts +++ b/e2e/process-services/tasks/task-attachment-list-action-menu.e2e.ts @@ -24,14 +24,14 @@ import { UsersActions, ViewerPage } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksPage } from './pages/tasks.page'; -import { AttachmentListPage } from './pages/attachment-list.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksPage } from './../pages/tasks.page'; +import { AttachmentListPage } from './../pages/attachment-list.page'; import * as fs from 'fs'; import * as path from 'path'; -import { FileModel } from '../models/ACS/file.model'; +import { FileModel } from '../../models/ACS/file.model'; import { TaskRepresentation } from '@alfresco/js-api'; -import CONSTANTS = require('../util/constants'); +import CONSTANTS = require('../../util/constants'); describe('Attachment list action menu for tasks', () => { diff --git a/e2e/process-services/task-audit.e2e.ts b/e2e/process-services/tasks/task-audit.e2e.ts similarity index 96% rename from e2e/process-services/task-audit.e2e.ts rename to e2e/process-services/tasks/task-audit.e2e.ts index 062ea62c46..74a585e95b 100644 --- a/e2e/process-services/task-audit.e2e.ts +++ b/e2e/process-services/tasks/task-audit.e2e.ts @@ -16,9 +16,9 @@ */ import { LoginPage, BrowserActions, FileBrowserUtil, ApplicationsUtil, ApiService, UsersActions } from '@alfresco/adf-testing'; -import { TasksPage } from './pages/tasks.page'; -import { ProcessServicesPage } from './pages/process-services.page'; -import CONSTANTS = require('../util/constants'); +import { TasksPage } from './../pages/tasks.page'; +import { ProcessServicesPage } from './../pages/process-services.page'; +import CONSTANTS = require('../../util/constants'); import { browser } from 'protractor'; import { TaskRepresentation } from '@alfresco/js-api'; diff --git a/e2e/process-services/task-details-form.e2e.ts b/e2e/process-services/tasks/task-details-form.e2e.ts similarity index 97% rename from e2e/process-services/task-details-form.e2e.ts rename to e2e/process-services/tasks/task-details-form.e2e.ts index 60cb1fd184..f284a4ad69 100644 --- a/e2e/process-services/task-details-form.e2e.ts +++ b/e2e/process-services/tasks/task-details-form.e2e.ts @@ -25,15 +25,15 @@ import { Widget } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { FormModelActions } from '../actions/APS/form-model.actions'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { FiltersPage } from './pages/filters.page'; -import { TaskDetailsPage } from './pages/task-details.page'; -import { TasksListPage } from './pages/tasks-list.page'; -import { TasksPage } from './pages/tasks.page'; -import { AttachFormPage } from './pages/attach-form.page'; +import { FormModelActions } from '../../actions/APS/form-model.actions'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { FiltersPage } from './../pages/filters.page'; +import { TaskDetailsPage } from './../pages/task-details.page'; +import { TasksListPage } from './../pages/tasks-list.page'; +import { TasksPage } from './../pages/tasks.page'; +import { AttachFormPage } from './../pages/attach-form.page'; import { TaskRepresentation } from '@alfresco/js-api'; -import CONSTANTS = require('../util/constants'); +import CONSTANTS = require('../../util/constants'); describe('Task Details - Form', () => { diff --git a/e2e/process-services/task-details-no-form.e2e.ts b/e2e/process-services/tasks/task-details-no-form.e2e.ts similarity index 94% rename from e2e/process-services/task-details-no-form.e2e.ts rename to e2e/process-services/tasks/task-details-no-form.e2e.ts index 65d870f501..0e5ec8835e 100644 --- a/e2e/process-services/task-details-no-form.e2e.ts +++ b/e2e/process-services/tasks/task-details-no-form.e2e.ts @@ -16,10 +16,10 @@ */ import { ApiService, ApplicationsUtil, LoginPage, ProcessUtil, UsersActions } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksPage } from './pages/tasks.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksPage } from './../pages/tasks.page'; import { browser } from 'protractor'; -import CONSTANTS = require('../util/constants'); +import CONSTANTS = require('../../util/constants'); describe('Task Details - No form', () => { diff --git a/e2e/process-services/task-details.e2e.ts b/e2e/process-services/tasks/task-details.e2e.ts similarity index 98% rename from e2e/process-services/task-details.e2e.ts rename to e2e/process-services/tasks/task-details.e2e.ts index cd9b68e5c7..15b0d03751 100644 --- a/e2e/process-services/task-details.e2e.ts +++ b/e2e/process-services/tasks/task-details.e2e.ts @@ -24,14 +24,14 @@ import { StringUtil, UsersActions } from '@alfresco/adf-testing'; -import { ProcessServicesPage } from './pages/process-services.page'; -import { TasksPage } from './pages/tasks.page'; +import { ProcessServicesPage } from './../pages/process-services.page'; +import { TasksPage } from './../pages/tasks.page'; import { browser } from 'protractor'; import { TaskRepresentation } from '@alfresco/js-api'; -import Task = require('../models/APS/Task'); -import TaskModel = require('../models/APS/TaskModel'); -import FormModel = require('../models/APS/FormModel'); -import CONSTANTS = require('../util/constants'); +import Task = require('../../models/APS/Task'); +import TaskModel = require('../../models/APS/TaskModel'); +import FormModel = require('../../models/APS/FormModel'); +import CONSTANTS = require('../../util/constants'); import moment = require('moment'); describe('Task Details component', () => { diff --git a/e2e/process-services/task-filters-component.e2e.ts b/e2e/process-services/tasks/task-filters-component.e2e.ts similarity index 95% rename from e2e/process-services/task-filters-component.e2e.ts rename to e2e/process-services/tasks/task-filters-component.e2e.ts index 58915562b3..3bd6b32547 100644 --- a/e2e/process-services/task-filters-component.e2e.ts +++ b/e2e/process-services/tasks/task-filters-component.e2e.ts @@ -16,14 +16,14 @@ */ import { ApiService, ApplicationsUtil, LoginPage, UserModel, UsersActions } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessServicesPage } from './pages/process-services.page'; -import { TasksPage } from './pages/tasks.page'; -import { TasksListPage } from './pages/tasks-list.page'; -import { TaskDetailsPage } from './pages/task-details.page'; -import { ProcessServiceTabBarPage } from './pages/process-service-tab-bar.page'; -import { AppSettingsTogglesPage } from './pages/dialog/app-settings-toggles.page'; -import { TaskFiltersDemoPage } from './pages/task-filters-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ProcessServicesPage } from './../pages/process-services.page'; +import { TasksPage } from './../pages/tasks.page'; +import { TasksListPage } from './../pages/tasks-list.page'; +import { TaskDetailsPage } from './../pages/task-details.page'; +import { ProcessServiceTabBarPage } from './../pages/process-service-tab-bar.page'; +import { AppSettingsTogglesPage } from './../pages/dialog/app-settings-toggles.page'; +import { TaskFiltersDemoPage } from './../pages/task-filters-demo.page'; import { UserProcessInstanceFilterRepresentation } from '@alfresco/js-api'; import { browser } from 'protractor'; diff --git a/e2e/process-services/task-filters-sorting.e2e.ts b/e2e/process-services/tasks/task-filters-sorting.e2e.ts similarity index 96% rename from e2e/process-services/task-filters-sorting.e2e.ts rename to e2e/process-services/tasks/task-filters-sorting.e2e.ts index 06ff434303..5cf05ab53f 100644 --- a/e2e/process-services/task-filters-sorting.e2e.ts +++ b/e2e/process-services/tasks/task-filters-sorting.e2e.ts @@ -16,12 +16,12 @@ */ import { ApiService, ApplicationsUtil, LoginPage, UsersActions } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { ProcessServicesPage } from './pages/process-services.page'; -import { TasksPage } from './pages/tasks.page'; -import { TasksListPage } from './pages/tasks-list.page'; -import { TaskDetailsPage } from './pages/task-details.page'; -import { TaskFiltersDemoPage } from './pages/task-filters-demo.page'; +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { ProcessServicesPage } from './../pages/process-services.page'; +import { TasksPage } from './../pages/tasks.page'; +import { TasksListPage } from './../pages/tasks-list.page'; +import { TaskDetailsPage } from './../pages/task-details.page'; +import { TaskFiltersDemoPage } from './../pages/task-filters-demo.page'; import { UserProcessInstanceFilterRepresentation } from '@alfresco/js-api'; import { browser } from 'protractor'; diff --git a/e2e/process-services/task-list-pagination.e2e.ts b/e2e/process-services/tasks/task-list-pagination.e2e.ts similarity index 98% rename from e2e/process-services/task-list-pagination.e2e.ts rename to e2e/process-services/tasks/task-list-pagination.e2e.ts index 50c1992206..fcfb4b5ae2 100644 --- a/e2e/process-services/task-list-pagination.e2e.ts +++ b/e2e/process-services/tasks/task-list-pagination.e2e.ts @@ -25,9 +25,9 @@ import { UsersActions } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { NavigationBarPage } from '../core/pages/navigation-bar.page'; -import { TasksPage } from './pages/tasks.page'; -import CONSTANTS = require('../util/constants'); +import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { TasksPage } from './../pages/tasks.page'; +import CONSTANTS = require('../../util/constants'); describe('Task List Pagination', () => { diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js index b5600c9ff9..70f7fafe2a 100644 --- a/e2e/protractor.conf.js +++ b/e2e/protractor.conf.js @@ -294,6 +294,24 @@ exports.config = { } return retry.afterLaunch(MAX_RETRIES, statusCode); + }, + + onComplete: async function () { + browser.manage().logs().get('browser').then(function(browserLog) { + if (browserLog.length) { + browserLog = browserLog.filter((log)=>{ + return log.level.name_ === 'SEVERE'; + }) + if (browserLog.length) { + console.error('\x1b[31m','============ Browser console error ==========='); + + browserLog.forEach((log)=>{ + console.error('\x1b[31m', log.message); + }) + + } + } + }); } }; diff --git a/e2e/protractor.excludes.json b/e2e/protractor.excludes.json index 93be31543c..b2cb9b4eaf 100644 --- a/e2e/protractor.excludes.json +++ b/e2e/protractor.excludes.json @@ -1,13 +1,7 @@ { - "C277751": "setting problem APS not basic", - "C277752": "setting problem APS not basic", - "C277753": "setting problem APS not basic", "C260049": "login problem APS not basic", "C260051": "login problem APS not basic", "C279932": "login problem APS not basic", "C279931": "login problem APS not basic", - "C279930": "login problem APS not basic", - "C260241": "ADF-5335- this will exclude 2 tests", - "C587515": "https://alfresco.atlassian.net/browse/ADF-5340", - "C311290": "https://alfresco.atlassian.net/browse/ADF-5308" + "C279930": "login problem APS not basic" } diff --git a/e2e/protractor/save-remote.js b/e2e/protractor/save-remote.js index f6705f3ed3..a14ee034a0 100644 --- a/e2e/protractor/save-remote.js +++ b/e2e/protractor/save-remote.js @@ -42,6 +42,8 @@ async function uploadScreenshot(retryCount, suffixFileName) { }); } + suffixFileName = suffixFileName.replace(/\//g, '-'); + fs.renameSync(path.resolve(__dirname, '../../e2e-output/'), path.resolve(__dirname, `../../e2e-output-${retryCount}/`)) const child_process = require("child_process"); diff --git a/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.ts b/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.ts index 8b72b5b255..0fd8e93cec 100644 --- a/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.ts +++ b/lib/content-services/src/lib/content-metadata/components/content-metadata/content-metadata.component.ts @@ -113,7 +113,7 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy { ngOnInit() { this.cardViewUpdateService.itemUpdated$ .pipe( - debounceTime(200), + debounceTime(500), takeUntil(this.onDestroy$)) .subscribe( (updatedNode: UpdateNotification) => { @@ -124,7 +124,7 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy { ); this.cardViewUpdateService.updatedAspect$.pipe( - debounceTime(200), + debounceTime(500), takeUntil(this.onDestroy$)) .subscribe((node) => this.loadProperties(node)); diff --git a/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.ts b/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.ts index 18e33ef8df..f1b9e506cf 100644 --- a/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.ts +++ b/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.ts @@ -360,7 +360,7 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy { private onFileUploadEvent() { this.uploadService.fileUploadComplete .pipe( - debounceTime(300), + debounceTime(500), scan((files, currentFile) => [...files, currentFile], []), takeUntil(this.onDestroy$) ) diff --git a/lib/content-services/src/lib/dialogs/library/library.dialog.ts b/lib/content-services/src/lib/dialogs/library/library.dialog.ts index 97727285e5..0db3f777eb 100644 --- a/lib/content-services/src/lib/dialogs/library/library.dialog.ts +++ b/lib/content-services/src/lib/dialogs/library/library.dialog.ts @@ -103,7 +103,7 @@ export class LibraryDialogComponent implements OnInit, OnDestroy { this.form.controls['title'].valueChanges .pipe( - debounceTime(300), + debounceTime(500), mergeMap( (title) => this.checkLibraryNameExists(title), (title) => title diff --git a/lib/core/mock/alfresco-api.service.mock.ts b/lib/core/mock/alfresco-api.service.mock.ts index 8839d2adb6..1460b2a986 100644 --- a/lib/core/mock/alfresco-api.service.mock.ts +++ b/lib/core/mock/alfresco-api.service.mock.ts @@ -34,7 +34,7 @@ export class AlfrescoApiServiceMock extends AlfrescoApiService { initialize(): Promise { return new Promise((resolve) => { - this.alfrescoApiInitializedSubject.next(true); + this.alfrescoApiInitialized.next(true); resolve(); }); } diff --git a/lib/core/services/alfresco-api.service.ts b/lib/core/services/alfresco-api.service.ts index 1ebba8a655..a44419d915 100644 --- a/lib/core/services/alfresco-api.service.ts +++ b/lib/core/services/alfresco-api.service.ts @@ -26,7 +26,7 @@ import { AlfrescoApiCompatibility, AlfrescoApiConfig, AspectsApi, TypesApi } from '@alfresco/js-api'; import { AppConfigService, AppConfigValues } from '../app-config/app-config.service'; -import { Subject, Observable, BehaviorSubject } from 'rxjs'; +import { Subject, ReplaySubject } from 'rxjs'; import { OauthConfigModel } from '../models/oauth-config.model'; import { StorageService } from './storage.service'; @@ -41,8 +41,7 @@ export class AlfrescoApiService { */ nodeUpdated = new Subject(); - protected alfrescoApiInitializedSubject: BehaviorSubject; - alfrescoApiInitialized: Observable; + alfrescoApiInitialized: ReplaySubject = new ReplaySubject(1); protected alfrescoApi: AlfrescoApiCompatibility; @@ -113,15 +112,13 @@ export class AlfrescoApiService { constructor( protected appConfig: AppConfigService, protected storageService: StorageService) { - this.alfrescoApiInitializedSubject = new BehaviorSubject(null); - this.alfrescoApiInitialized = this.alfrescoApiInitializedSubject.asObservable(); } async load() { await this.appConfig.load().then(() => { this.storageService.prefix = this.appConfig.get(AppConfigValues.STORAGE_PREFIX, ''); this.initAlfrescoApi(); - this.alfrescoApiInitializedSubject.next(true); + this.alfrescoApiInitialized.next(true); }); } diff --git a/lib/core/services/authentication.service.ts b/lib/core/services/authentication.service.ts index 2968d3f5eb..9a0e1050bd 100644 --- a/lib/core/services/authentication.service.ts +++ b/lib/core/services/authentication.service.ts @@ -16,7 +16,7 @@ */ import { Injectable } from '@angular/core'; -import { Observable, Subject, from, throwError, Observer } from 'rxjs'; +import { Observable, from, throwError, Observer, ReplaySubject } from 'rxjs'; import { AlfrescoApiService } from './alfresco-api.service'; import { CookieService } from './cookie.service'; import { LogService } from './log.service'; @@ -39,8 +39,8 @@ export class AuthenticationService { private bearerExcludedUrls: string[] = ['auth/realms', 'resources/', 'assets/']; - onLogin: Subject = new Subject(); - onLogout: Subject = new Subject(); + onLogin: ReplaySubject = new ReplaySubject(1); + onLogout: ReplaySubject = new ReplaySubject(1); constructor( private appConfig: AppConfigService, diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts index 4f23a37977..363944fc7b 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts @@ -253,7 +253,7 @@ describe('EditProcessFilterCloudComponent', () => { fixture.detectChanges(); component.editProcessFilterForm.valueChanges - .pipe(debounceTime(300)) + .pipe(debounceTime(500)) .subscribe(() => { const saveButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-saveAs"]'); fixture.detectChanges(); @@ -277,7 +277,7 @@ describe('EditProcessFilterCloudComponent', () => { fixture.detectChanges(); component.editProcessFilterForm.valueChanges - .pipe(debounceTime(300)) + .pipe(debounceTime(500)) .subscribe(() => { const saveButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-saveAs"]'); fixture.detectChanges(); diff --git a/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.spec.ts index b01bdad914..5ff234f62a 100755 --- a/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.spec.ts @@ -131,7 +131,7 @@ describe('StartProcessCloudComponent', () => { const change = new SimpleChange(null, 'MyApp', true); component.ngOnChanges({ 'appName': change }); fixture.detectChanges(); - tick(450); + tick(550); fixture.whenStable().then(() => { fixture.detectChanges(); @@ -167,7 +167,7 @@ describe('StartProcessCloudComponent', () => { typeValueInto('#processName', 'OLE'); typeValueInto('#processDefinitionName', 'processwithoutform2'); fixture.detectChanges(); - tick(450); + tick(550); fixture.whenStable().then(() => { fixture.detectChanges(); @@ -244,7 +244,7 @@ describe('StartProcessCloudComponent', () => { typeValueInto('#processName', 'My new process with form'); typeValueInto('#processDefinitionName', 'processwithform'); fixture.detectChanges(); - tick(450); + tick(550); fixture.whenStable().then(() => { fixture.detectChanges(); @@ -271,7 +271,7 @@ describe('StartProcessCloudComponent', () => { typeValueInto('#processName', 'My new process with form'); typeValueInto('#processDefinitionName', 'processwithform'); fixture.detectChanges(); - tick(450); + tick(550); fixture.whenStable().then(() => { fixture.detectChanges(); @@ -299,7 +299,7 @@ describe('StartProcessCloudComponent', () => { typeValueInto('#processName', 'My new process with form'); typeValueInto('#processDefinitionName', 'processwithform'); fixture.detectChanges(); - tick(450); + tick(550); fixture.whenStable().then(() => { fixture.detectChanges(); @@ -356,7 +356,7 @@ describe('StartProcessCloudComponent', () => { const change = new SimpleChange(null, 'MyApp', true); component.ngOnChanges({ 'appName': change }); fixture.detectChanges(); - tick(450); + tick(550); fixture.whenStable().then(() => { fixture.detectChanges(); @@ -383,7 +383,7 @@ describe('StartProcessCloudComponent', () => { const change = new SimpleChange(null, 'MyApp', true); component.ngOnChanges({ 'appName': change }); fixture.detectChanges(); - tick(450); + tick(550); fixture.whenStable().then(() => { fixture.detectChanges(); diff --git a/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts b/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts index c309495bb4..345b4ef1bc 100755 --- a/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts @@ -118,7 +118,7 @@ export class StartProcessCloudComponent implements OnChanges, OnInit, OnDestroy }); this.processDefinition.valueChanges - .pipe(debounceTime(300)) + .pipe(debounceTime(500)) .pipe(takeUntil(this.onDestroy$)) .subscribe((processDefinitionName) => { this.selectProcessDefinitionByProcesDefinitionName(processDefinitionName); diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.ts index 357e838852..97f14efe8b 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.ts @@ -379,7 +379,7 @@ export abstract class BaseEditTaskFilterCloudComponent implements OnInit, OnC onFilterChange() { this.editTaskFilterForm.valueChanges .pipe( - debounceTime(200), + debounceTime(500), filter(() => this.isFormValid()), takeUntil(this.onDestroy$) ) diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter-cloud.component.spec.ts index f0cb0877d4..d9bf22d1af 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter-cloud.component.spec.ts @@ -242,7 +242,7 @@ describe('EditServiceTaskFilterCloudComponent', () => { fixture.detectChanges(); component.editTaskFilterForm.valueChanges - .pipe(debounceTime(300)) + .pipe(debounceTime(500)) .subscribe(() => { const saveButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-save"]'); fixture.detectChanges(); @@ -328,7 +328,7 @@ describe('EditServiceTaskFilterCloudComponent', () => { fixture.detectChanges(); component.editTaskFilterForm.valueChanges - .pipe(debounceTime(300)) + .pipe(debounceTime(500)) .subscribe(() => { const saveButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-saveAs"]'); fixture.detectChanges(); @@ -352,7 +352,7 @@ describe('EditServiceTaskFilterCloudComponent', () => { fixture.detectChanges(); component.editTaskFilterForm.valueChanges - .pipe(debounceTime(300)) + .pipe(debounceTime(500)) .subscribe(() => { const saveButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-saveAs"]'); fixture.detectChanges(); diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.spec.ts index a5cfc9d8c3..7be493dea7 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.spec.ts @@ -257,7 +257,7 @@ describe('EditTaskFilterCloudComponent', () => { fixture.detectChanges(); component.editTaskFilterForm.valueChanges - .pipe(debounceTime(300)) + .pipe(debounceTime(500)) .subscribe(() => { const saveButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-save"]'); fixture.detectChanges(); @@ -343,7 +343,7 @@ describe('EditTaskFilterCloudComponent', () => { fixture.detectChanges(); component.editTaskFilterForm.valueChanges - .pipe(debounceTime(300)) + .pipe(debounceTime(500)) .subscribe(() => { const saveButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-saveAs"]'); fixture.detectChanges(); @@ -367,7 +367,7 @@ describe('EditTaskFilterCloudComponent', () => { fixture.detectChanges(); component.editTaskFilterForm.valueChanges - .pipe(debounceTime(300)) + .pipe(debounceTime(500)) .subscribe(() => { const saveButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-saveAs"]'); fixture.detectChanges(); diff --git a/lib/testing/src/lib/core/pages/material/dropdown.page.ts b/lib/testing/src/lib/core/pages/material/dropdown.page.ts index 4e5dc871f8..73a85966aa 100644 --- a/lib/testing/src/lib/core/pages/material/dropdown.page.ts +++ b/lib/testing/src/lib/core/pages/material/dropdown.page.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { element, by, ElementFinder } from 'protractor'; +import { element, by, ElementFinder, browser } from 'protractor'; import { BrowserVisibility } from '../../utils/browser-visibility'; import { BrowserActions } from '../../utils/browser-actions'; import { Logger } from '../../utils/logger'; @@ -35,9 +35,9 @@ export class DropdownPage { async selectOption(option: string): Promise { Logger.log(`Select dropdown option ${option}`); - await BrowserVisibility.waitUntilElementIsVisible(element.all(by.cssContainingText('mat-option span.mat-option-text', option)).first()); const optionElement = element.all(by.cssContainingText('mat-option span.mat-option-text', option)).first(); await BrowserActions.click(optionElement); + await browser.waitForAngular(); } async getValue(): Promise { @@ -76,11 +76,11 @@ export class DropdownPage { return BrowserActions.getText(selectedOption); } - async checkOptionIsDisplayed(option: string): Promise { + async checkOptionIsDisplayed(option: string): Promise { await BrowserVisibility.waitUntilElementIsVisible(element.all(by.cssContainingText('mat-option span.mat-option-text', option)).first()); } - async checkOptionIsNotDisplayed(option: string): Promise { + async checkOptionIsNotDisplayed(option: string): Promise { await BrowserVisibility.waitUntilElementIsNotVisible(element.all(by.cssContainingText('mat-option span.mat-option-text', option)).first()); } diff --git a/lib/testing/src/lib/process-services-cloud/pages/edit-process-filter-cloud-component.page.ts b/lib/testing/src/lib/process-services-cloud/pages/edit-process-filter-cloud-component.page.ts index de799b377a..a6cd05aeac 100644 --- a/lib/testing/src/lib/process-services-cloud/pages/edit-process-filter-cloud-component.page.ts +++ b/lib/testing/src/lib/process-services-cloud/pages/edit-process-filter-cloud-component.page.ts @@ -64,7 +64,7 @@ export class EditProcessFilterCloudComponentPage { async openFilter(): Promise { await this.isFilterDisplayed(); await BrowserActions.click(this.customiseFilter); - await browser.driver.sleep(1000); + await browser.driver.sleep(5000); } async checkCustomiseFilterHeaderIsExpanded(): Promise { diff --git a/lib/testing/src/lib/process-services-cloud/pages/form/widget/attach-file-widget-cloud.page.ts b/lib/testing/src/lib/process-services-cloud/pages/form/widget/attach-file-widget-cloud.page.ts index 74e33e6349..e9f2e8b29f 100644 --- a/lib/testing/src/lib/process-services-cloud/pages/form/widget/attach-file-widget-cloud.page.ts +++ b/lib/testing/src/lib/process-services-cloud/pages/form/widget/attach-file-widget-cloud.page.ts @@ -15,8 +15,9 @@ * limitations under the License. */ -import { Locator, element, by, ElementFinder } from 'protractor'; +import { Locator, element, by, ElementFinder, browser } from 'protractor'; import { BrowserActions } from '../../../../core/utils/browser-actions'; +import { Logger } from '../../../../core/utils/logger'; import { BrowserVisibility } from '../../../../core/utils/browser-visibility'; export class AttachFileWidgetCloudPage { @@ -29,7 +30,7 @@ export class AttachFileWidgetCloudPage { } assignWidget(fieldId: string): void { - this.widget = element(by.css(`adf-form-field div[id='field-${fieldId}-container']`)); + this.widget = element(by.css(`adf-form-field div[id='field-${fieldId}-container']`)); } async clickAttachContentFile(fileId: string): Promise { @@ -70,13 +71,18 @@ export class AttachFileWidgetCloudPage { } async clickActionMenu(fileName: string, actionName: string): Promise { + Logger.info('Click action menu'); + await BrowserActions.closeMenuAndDialogs(); const fileId = await this.getFileId(fileName); + Logger.info(`FileId ${fileId}`); const optionMenu = this.widget.element(by.css(`button[id='${fileId}-option-menu']`)); await BrowserActions.click(optionMenu); await BrowserActions.waitUntilActionMenuIsVisible(); + await browser.waitForAngular(); const actionButton = element(by.css(`button#${fileId}-${actionName}`)); await BrowserActions.click(actionButton); await BrowserVisibility.waitUntilElementIsNotVisible(actionButton); + await browser.waitForAngular(); } async removeFile(fileName: string): Promise { diff --git a/lib/testing/src/lib/process-services-cloud/pages/people-cloud-component.page.ts b/lib/testing/src/lib/process-services-cloud/pages/people-cloud-component.page.ts index ab54ed12cc..96ad91af05 100644 --- a/lib/testing/src/lib/process-services-cloud/pages/people-cloud-component.page.ts +++ b/lib/testing/src/lib/process-services-cloud/pages/people-cloud-component.page.ts @@ -42,7 +42,7 @@ export class PeopleCloudComponentPage { } async searchAssigneeAndSelect(name: string): Promise { - await BrowserActions.clearSendKeys(this.peopleCloudSearch, name); + await BrowserActions.clearSendKeys(this.peopleCloudSearch, name, 100); await this.selectAssigneeFromList(name); } diff --git a/package-lock.json b/package-lock.json index cd112264e6..a2e6dcb76b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,14 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@alfresco/adf-testing": { + "version": "4.3.0-f791a7aa98e2565c357869d951cf287113ebb310", + "resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-4.3.0-f791a7aa98e2565c357869d951cf287113ebb310.tgz", + "integrity": "sha512-pY4eVmNIaFyxcx5hwAMriWyWiWCarGo8Xl6bYlTXsA7gEA5BRAWmgFs0wCL7wlmu2owfPNyBtQOtL6lWG7xR+Q==", + "requires": { + "tslib": "^2.0.0" + } + }, "@alfresco/js-api": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-4.3.0.tgz", diff --git a/package.json b/package.json index 122f7078dc..d1a632f64f 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "03s": "", "lint-demo": "tslint -p tsconfig.json -c tslint.json", "lint-lib": "tslint -p ./lib/tsconfig.json -c ./lib/tslint.json", - "lint-e2e": "tsc -p tsconfig.e2e.json && tslint -p tsconfig.e2e.json -c tslint.json", + "lint-e2e": "tsc -p tsconfig.e2e.json", "validate-config": "ajv validate -s ./lib/core/app-config/schema.json -d ./demo-shell/src/app.config.json --errors=text --verbose", "spellcheck": "cspell 'demo-shell/{src,e2e}/**/*.ts' 'e2e/**/*.ts' 'lib/{content-services,core,extensions,insights,process-services,process-services-cloud}/**/*.ts'", "stylelint": "stylelint ./**/*.scss --config stylelint-config.json", diff --git a/scripts/travis/build/build.sh b/scripts/travis/build/build-libs.sh similarity index 85% rename from scripts/travis/build/build.sh rename to scripts/travis/build/build-libs.sh index 60430a5419..6f9ffa655f 100755 --- a/scripts/travis/build/build.sh +++ b/scripts/travis/build/build-libs.sh @@ -26,6 +26,3 @@ then fi; ./scripts/build/build-all-lib.sh - -echo "====== Build Demo shell for production =====" -NODE_OPTIONS=--max_old_space_size=8192 nx build demoshell --prod diff --git a/scripts/travis/e2e/content-services-e2e.sh b/scripts/travis/e2e/content-services-e2e.sh index bebbc34616..77321f2024 100755 --- a/scripts/travis/e2e/content-services-e2e.sh +++ b/scripts/travis/e2e/content-services-e2e.sh @@ -6,7 +6,6 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd $DIR/../../../ -export CONTEXT_ENV="content-services" export PROVIDER='ECM' export AUTH_TYPE='BASIC' @@ -20,7 +19,7 @@ if [ "${TRAVIS_EVENT_TYPE}" == "pull_request" ]; then fi; #-b is needed to run the Folder upload test that are not workin in Headless chrome -RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" --use-dist -m 4 || exit 1) +RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" --use-dist || exit 1) if [[ $AFFECTED_LIBS =~ "testing" || $AFFECTED_LIBS =~ "$CONTEXT_ENV" || "${TRAVIS_EVENT_TYPE}" == "push" || "${TRAVIS_EVENT_TYPE}" == "api" ]]; then echo "Run all e2e $CONTEXT_ENV" $RUN_CHECK diff --git a/scripts/travis/e2e/process-services-cloud-e2e.sh b/scripts/travis/e2e/process-services-cloud-e2e.sh index 05ad2f25a2..2b0a84d399 100755 --- a/scripts/travis/e2e/process-services-cloud-e2e.sh +++ b/scripts/travis/e2e/process-services-cloud-e2e.sh @@ -6,7 +6,6 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd $DIR/../../../ -export CONTEXT_ENV="process-services-cloud" export PROVIDER="ALL" export AUTH_TYPE="OAUTH" diff --git a/scripts/travis/e2e/process-services-e2e.sh b/scripts/travis/e2e/process-services-e2e.sh index be61b92412..0e7ef9974c 100755 --- a/scripts/travis/e2e/process-services-e2e.sh +++ b/scripts/travis/e2e/process-services-e2e.sh @@ -4,7 +4,6 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd $DIR/../../../ -export CONTEXT_ENV="process-services" export PROVIDER='BPM' export AUTH_TYPE="OAUTH" diff --git a/scripts/travis/update/update-project.sh b/scripts/travis/update/update-project.sh index d05a406303..a989b9c74b 100755 --- a/scripts/travis/update/update-project.sh +++ b/scripts/travis/update/update-project.sh @@ -97,12 +97,11 @@ while [[ $1 == -* ]]; do esac done -cd "$REPO_DIR" - -JS_API_INSTALLED=$(npm list @alfresco/js-api --depth=0 --json | jq -r '.dependencies["@alfresco/js-api"].version') - +JS_API_INSTALLED=$(cat package.json | jq -r '.dependencies["@alfresco/js-api"]') echo "Current installed JS-API $JS_API_INSTALLED" +cd "$REPO_DIR" + if [[ (-z "$TOKEN") || (-z "$VERSION") ]] then echo "Each of 'branch name' (-b) token (-t) and pr number (-p) have to be set. See -help."