diff --git a/e2e/content-services/document-list/document-list-actions.e2e.ts b/e2e/content-services/document-list/document-list-actions.e2e.ts index 12cbdfc3c3..0a040691f7 100644 --- a/e2e/content-services/document-list/document-list-actions.e2e.ts +++ b/e2e/content-services/document-list/document-list-actions.e2e.ts @@ -19,6 +19,7 @@ import { browser, by, element } from 'protractor'; import { ApiService, BreadcrumbPage, + BreadcrumbDropdownPage, ContentNodeSelectorDialogPage, LoginPage, PaginationPage, @@ -31,7 +32,6 @@ import { import { ContentServicesPage } from '../../core/pages/content-services.page'; import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; import { FileModel } from '../../models/ACS/file.model'; -import { BreadCrumbDropdownPage } from '../pages/breadcrumb/bread-crumb-dropdown.page'; import { InfinitePaginationPage } from '../../core/pages/infinite-pagination.page'; import { FolderModel } from '../../models/ACS/folder.model'; @@ -43,7 +43,7 @@ describe('Document List Component - Actions', () => { const contentListPage = contentServicesPage.getDocumentList(); const contentNodeSelector = new ContentNodeSelectorDialogPage(); const paginationPage = new PaginationPage(); - const breadCrumbDropdownPage = new BreadCrumbDropdownPage(); + const breadCrumbDropdownPage = new BreadcrumbDropdownPage(); const breadCrumbPage = new BreadcrumbPage(); const viewerPage = new ViewerPage(); const apiService = new ApiService(); diff --git a/e2e/process-services-cloud/start-task-form-cloud.e2e.ts b/e2e/process-services-cloud/start-task-form-cloud.e2e.ts index 2f314eb2d0..86bec6c7ec 100644 --- a/e2e/process-services-cloud/start-task-form-cloud.e2e.ts +++ b/e2e/process-services-cloud/start-task-form-cloud.e2e.ts @@ -21,6 +21,7 @@ import { TasksCloudDemoPage } from './pages/tasks-cloud-demo.page'; import { LoginPage, AppListCloudPage, + BreadcrumbDropdownPage, StringUtil, StartTasksCloudPage, ApiService, @@ -43,7 +44,6 @@ import { StartProcessCloudConfiguration } from './config/start-process-cloud.con 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 { BreadCrumbDropdownPage } from '../content-services/pages/breadcrumb/bread-crumb-dropdown.page'; import CONSTANTS = require('../util/constants'); describe('Start Task Form', () => { @@ -55,7 +55,7 @@ describe('Start Task Form', () => { const tasksCloudDemoPage = new TasksCloudDemoPage(); const startTask = new StartTasksCloudPage(); const contentNodeSelectorDialogPage = new ContentNodeSelectorDialogPage(); - const breadCrumbDropdownPage = new BreadCrumbDropdownPage(); + const breadCrumbDropdownPage = new BreadcrumbDropdownPage(); const processDetailsCloudDemoPage = new ProcessDetailsCloudDemoPage(); const widget = new ProcessCloudWidgetPage(); const startProcessPage = new StartProcessCloudPage(); diff --git a/lib/testing/src/lib/content-services/dialog/content-node-selector-dialog.page.ts b/lib/testing/src/lib/content-services/dialog/content-node-selector-dialog.page.ts index 73bac4f655..8f0310206a 100644 --- a/lib/testing/src/lib/content-services/dialog/content-node-selector-dialog.page.ts +++ b/lib/testing/src/lib/content-services/dialog/content-node-selector-dialog.page.ts @@ -21,6 +21,7 @@ import { DocumentListPage } from '../pages/document-list.page'; import { BrowserVisibility } from '../../core/utils/browser-visibility'; import { BrowserActions } from '../../core/utils/browser-actions'; import { DropdownPage } from '../../core/pages/material/dropdown.page'; +import { BreadcrumbDropdownPage } from '../pages/breadcrumb/breadcrumb-dropdown.page'; export class ContentNodeSelectorDialogPage { dialog = element(by.css(`adf-content-node-selector`)); @@ -34,6 +35,7 @@ export class ContentNodeSelectorDialogPage { contentList = new DocumentListPage(this.dialog); dataTable = this.contentList.dataTablePage(); siteListDropdown = new DropdownPage(this.dialog.element(by.css(`mat-select[data-automation-id='site-my-files-option']`))); + breadcrumbDropdownPage = new BreadcrumbDropdownPage(); async checkDialogIsDisplayed(): Promise { await BrowserVisibility.waitUntilElementIsVisible(this.dialog); @@ -132,6 +134,8 @@ export class ContentNodeSelectorDialogPage { async attachFileFromLocal(fileName: string, fileLocation: string): Promise { await this.checkDialogIsDisplayed(); + await this.dataTable.waitForTableBody(); + await this.breadcrumbDropdownPage.checkCurrentFolderIsDisplayed(); await browser.setFileDetector(new remote.FileDetector()); const uploadButton = element(by.css('adf-upload-button input')); diff --git a/e2e/content-services/pages/breadcrumb/bread-crumb-dropdown.page.ts b/lib/testing/src/lib/content-services/pages/breadcrumb/breadcrumb-dropdown.page.ts similarity index 79% rename from e2e/content-services/pages/breadcrumb/bread-crumb-dropdown.page.ts rename to lib/testing/src/lib/content-services/pages/breadcrumb/breadcrumb-dropdown.page.ts index d175b2d2dc..1865a3fa47 100644 --- a/e2e/content-services/pages/breadcrumb/bread-crumb-dropdown.page.ts +++ b/lib/testing/src/lib/content-services/pages/breadcrumb/breadcrumb-dropdown.page.ts @@ -16,9 +16,11 @@ */ import { element, by } from 'protractor'; -import { BrowserActions, DropdownPage } from '@alfresco/adf-testing'; +import { BrowserActions } from '../../../core/utils/browser-actions'; +import { BrowserVisibility } from '../../../core/utils/browser-visibility'; +import { DropdownPage } from '../../../core/pages/material/dropdown.page'; -export class BreadCrumbDropdownPage { +export class BreadcrumbDropdownPage { breadCrumb = element(by.css(`adf-dropdown-breadcrumb[data-automation-id='content-node-selector-content-breadcrumb']`)); parentFolder = this.breadCrumb.element(by.css(`button[data-automation-id='dropdown-breadcrumb-trigger']`)); @@ -41,4 +43,8 @@ export class BreadCrumbDropdownPage { async getTextOfCurrentFolder(): Promise { return BrowserActions.getText(this.currentFolder); } + + async checkCurrentFolderIsDisplayed(): Promise { + await BrowserVisibility.waitUntilElementIsVisible(this.currentFolder); + } } diff --git a/lib/testing/src/lib/content-services/pages/breadcrumb/public-api.ts b/lib/testing/src/lib/content-services/pages/breadcrumb/public-api.ts new file mode 100644 index 0000000000..c04d1c275c --- /dev/null +++ b/lib/testing/src/lib/content-services/pages/breadcrumb/public-api.ts @@ -0,0 +1,18 @@ +/*! + * @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. + */ + +export * from './breadcrumb-dropdown.page'; diff --git a/lib/testing/src/lib/content-services/pages/public-api.ts b/lib/testing/src/lib/content-services/pages/public-api.ts index 0134cd36c6..dd97458106 100644 --- a/lib/testing/src/lib/content-services/pages/public-api.ts +++ b/lib/testing/src/lib/content-services/pages/public-api.ts @@ -19,4 +19,5 @@ export * from './like.page'; export * from './rate.page'; export * from './document-list.page'; +export * from './breadcrumb/public-api'; export * from './search/public-api'; diff --git a/lib/testing/src/lib/process-services-cloud/pages/task-list-cloud-component.page.ts b/lib/testing/src/lib/process-services-cloud/pages/task-list-cloud-component.page.ts index 6c207972c4..2f26ad3b7f 100644 --- a/lib/testing/src/lib/process-services-cloud/pages/task-list-cloud-component.page.ts +++ b/lib/testing/src/lib/process-services-cloud/pages/task-list-cloud-component.page.ts @@ -121,6 +121,10 @@ export class TaskListCloudComponentPage { return BrowserActions.getText(this.noTasksFound); } + async checkNoTasksFoundMessageIsDisplayed(): Promise { + await BrowserVisibility.waitUntilElementIsVisible(this.noTasksFound); + } + async getAllRowsNameColumn() { return this.dataTable.getAllRowsColumnValues(column.name); }