[AAE-5869] Added missing methods for e2e's (#7480)

* [AAE-5869] added missing methods for e2e's

* [AAE-5869] use TestElement

* [AAE-5869] added method to display no content container

* [AAE-5869] added method to wait for file properties table

* trigger travis

* [AAE-5869] upgrade simpleapp id of new widget

* trigger travis

* [AAE-5869] upgrade simpleapp

* trigger travis

* [AAE-5869] removed check for table display for file not attached method

* [AAE-5869] fixed string lint

* [AAE-5869] fixed lint error
This commit is contained in:
Tomasz Gnyp
2022-02-03 16:34:49 +01:00
committed by GitHub
parent 8dc736e8f0
commit 3205a3da7c
8 changed files with 43 additions and 9 deletions

View File

@@ -39,7 +39,7 @@ export class ContentNodeSelectorDialogPage {
dataTable = this.contentList.dataTablePage();
siteListDropdown = new DropdownPage(this.dialog.$(`mat-select[data-automation-id='site-my-files-option']`));
breadcrumbDropdown = new BreadcrumbDropdownPage();
tabPage: TabPage = new TabPage();
tab: TabPage = new TabPage();
uploadButtonComponent = new UploadButtonPage();
uploadFromLocalTab = $$('*[role="tab"]').get(1);
@@ -50,6 +50,10 @@ export class ContentNodeSelectorDialogPage {
return this.breadcrumbDropdown;
}
tabPage(): TabPage {
return this.tab;
}
uploadButtonPage(): UploadButtonPage {
return this.uploadButtonComponent;
}
@@ -159,11 +163,11 @@ export class ContentNodeSelectorDialogPage {
async attachFilesFromLocal(files: FileModel[]): Promise<void> {
await this.checkFileServerTabIsLoaded();
await this.tabPage.clickTabByLabel(this.uploadFromLocalTabName);
await this.tab.clickTabByLabel(this.uploadFromLocalTabName);
await this.uploadButtonComponent.attachFiles(files);
await this.tabPage.clickTabByLabel(this.repositoryTabName);
await this.tab.clickTabByLabel(this.repositoryTabName);
await this.dataTable.waitForTableBody();
await this.dataTable.waitTillContentLoaded();

View File

@@ -40,6 +40,18 @@ export class BreadcrumbDropdownPage {
await this.breadCrumbDropdown.checkDropdownIsVisible();
}
async checkBreadCrumbDropdownIsNotDisplayed(): Promise<void> {
await this.breadCrumbDropdown.checkDropdownIsNotVisible();
}
async checkBreadCrumbOptionIsDisplayed(optionName: string): Promise<void> {
await this.breadCrumbDropdown.checkOptionIsDisplayed(optionName);
}
async checkBreadCrumbOptionIsNotDisplayed(optionName: string): Promise<void> {
await this.breadCrumbDropdown.checkOptionIsNotDisplayed(optionName);
}
async getTextOfCurrentFolder(): Promise<string> {
return BrowserActions.getText(this.currentFolder);
}

View File

@@ -34,6 +34,7 @@ export class DataTableComponentPage {
emptyList: ElementFinder;
emptyListTitle: ElementFinder;
emptyListSubtitle: ElementFinder;
noContentContainer: ElementFinder;
rows = `adf-datatable div[class*='adf-datatable-body'] adf-datatable-row[class*='adf-datatable-row']`;
@@ -52,6 +53,7 @@ export class DataTableComponentPage {
this.emptyList = this.rootElement.$(`adf-empty-content`);
this.emptyListTitle = this.rootElement.$(`.adf-empty-content__title`);
this.emptyListSubtitle = this.rootElement.$(`.adf-empty-content__subtitle`);
this.noContentContainer = $(`div[class*='adf-no-content-container']`);
}
geCellElementDetail(detail: string): ElementArrayFinder {
@@ -462,6 +464,10 @@ export class DataTableComponentPage {
await BrowserVisibility.waitUntilElementIsVisible($(`div[data-automation-id="auto_id_entry.${column}"]`));
}
async checkNoContentContainerIsDisplayed() {
await BrowserVisibility.waitUntilElementIsVisible(this.noContentContainer);
}
async getNumberOfColumns(): Promise<number> {
return this.allColumns.count();
}

View File

@@ -16,12 +16,15 @@
*/
import { by, element, $ } from 'protractor';
import { TestElement } from '../../../test-element';
import { BrowserActions, BrowserVisibility } from '../../../utils/public-api';
export class TabPage {
changeTabAnimation = $('div[class="mat-ripple-element"]');
public disabledContentNodeSelectorTabInfoIcon = TestElement.byCss('[data-automation-id="adf-content-node-selector-disabled-tab-info-icon"]');
async clickTabByLabel(tabLabel): Promise<void> {
const user = element(by.cssContainingText('.mat-tab-label-content', tabLabel));
await BrowserActions.click(user);

View File

@@ -53,6 +53,10 @@ export class DropdownPage {
await BrowserVisibility.waitUntilElementIsVisible(this.dropDownElement);
}
async checkDropdownIsNotVisible(): Promise<void> {
await BrowserVisibility.waitUntilElementIsNotVisible(this.dropDownElement);
}
async checkDropdownIsClickable(): Promise<void> {
await BrowserVisibility.waitUntilElementIsClickable(this.dropDownElement);
}

View File

@@ -24,14 +24,18 @@ import { TestElement } from '../../../../core/test-element';
export class AttachFileWidgetCloudPage {
widget: ElementFinder;
filesListLocator: string = 'div[class="adf-file-properties-table"]';
constructor(fieldId: string) {
this.assignWidget(fieldId);
}
getFileAttachedLocatorByContainingText = async (text: string): Promise<ElementFinder> => {
const filesListLocator = 'div[class="adf-file-properties-table"]';
return this.widget.$(filesListLocator).element(by.cssContainingText('table tbody tr td span ', text));
async isFileTablePropertiesDisplayed(): Promise<void> {
await BrowserVisibility.waitUntilElementIsVisible(this.widget.$(this.filesListLocator));
}
getFileAttachedLocatorByContainingText = async(text: string): Promise<ElementFinder> => {
return this.widget.$(this.filesListLocator).element(by.cssContainingText('table tbody tr td span ', text));
};
assignWidget(fieldId: string): void {
@@ -55,6 +59,7 @@ export class AttachFileWidgetCloudPage {
async checkFileIsAttached(name): Promise<void> {
const fileAttached = await this.getFileAttachedLocatorByContainingText(name);
await this.isFileTablePropertiesDisplayed();
await BrowserVisibility.waitUntilElementIsVisible(fileAttached);
}
@@ -65,8 +70,7 @@ export class AttachFileWidgetCloudPage {
}
async checkNoFileIsAttached(): Promise<void> {
const filesListLocator = 'div[class="adf-file-properties-table"]';
const fileItem = new TestElement(this.widget.$(filesListLocator).$('table'));
const fileItem = new TestElement(this.widget.$(this.filesListLocator).$('table'));
await fileItem.waitNotVisible();
}

View File

@@ -298,7 +298,8 @@ export const ACTIVITI_CLOUD_APPS = {
attachFileWidget2: 'Attachfile04mfeb',
attachFileLocalChildFolder: 'Attachfilelocalchildfolder',
attachFileContentServices: 'Attachfilecontentservices',
attachFileLocalMultiple: 'Attachfilelocalmultiple'
attachFileLocalMultiple: 'Attachfilelocalmultiple',
attachFileInvalidPath: 'Attachfileinvalidpath'
},
attachSingleMultiple: {
name: 'attach-single-multiple',