mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
[ADF-3962] sso download directive automated (#4452)
* sso download directive automated * temp changes * temp changes * moving of services under lib testing and ADF-3962 automated * removed the browser sleep * cspell and linting fixes. * codacy improvements * export public-api update * remove circular dep * remove circular dep * fixes * fix user info test * fix datatable * random commit * move other string * fix lint * fix lint * fix prolem type * fix failing test * fix tag test * fix problems after rebase * fix lint * remove space * remove visibility method duplicated
This commit is contained in:
committed by
Eugenio Romano
parent
89f612bbb0
commit
4376d357ac
@@ -16,8 +16,8 @@
|
||||
*/
|
||||
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { Util } from '../../util/util';
|
||||
import { ElementFinder, ElementArrayFinder } from 'protractor/built/element';
|
||||
import { BrowserVisibility } from '@alfresco/adf-testing';
|
||||
|
||||
export class DataTableComponentPage {
|
||||
|
||||
@@ -45,40 +45,41 @@ export class DataTableComponentPage {
|
||||
}
|
||||
|
||||
checkAllRowsButtonIsDisplayed() {
|
||||
Util.waitUntilElementIsVisible(this.selectAll);
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.selectAll);
|
||||
return this;
|
||||
}
|
||||
|
||||
checkAllRows() {
|
||||
Util.waitUntilElementIsClickable(this.selectAll).then(() => {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.selectAll);
|
||||
BrowserVisibility.waitUntilElementIsClickable(this.selectAll).then(() => {
|
||||
this.selectAll.click();
|
||||
Util.waitUntilElementIsVisible(this.selectAll.element(by.css('input[aria-checked="true"]')));
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.selectAll.element(by.css('input[aria-checked="true"]')));
|
||||
});
|
||||
return this;
|
||||
}
|
||||
|
||||
clickCheckbox(columnName, columnValue) {
|
||||
const checkbox = this.getRowCheckbox(columnName, columnValue);
|
||||
Util.waitUntilElementIsClickable(checkbox);
|
||||
BrowserVisibility.waitUntilElementIsClickable(checkbox);
|
||||
checkbox.click();
|
||||
}
|
||||
|
||||
checkRowIsNotChecked(columnName, columnValue) {
|
||||
Util.waitUntilElementIsNotOnPage(this.getRowCheckbox(columnName, columnValue).element(by.css('input[aria-checked="true"]')));
|
||||
BrowserVisibility.waitUntilElementIsNotOnPage(this.getRowCheckbox(columnName, columnValue).element(by.css('input[aria-checked="true"]')));
|
||||
}
|
||||
|
||||
checkRowIsChecked(columnName, columnValue) {
|
||||
const rowCheckbox = this.getRowCheckbox(columnName, columnValue);
|
||||
Util.waitUntilElementIsVisible(rowCheckbox.element(by.css('input[aria-checked="true"]')));
|
||||
BrowserVisibility.waitUntilElementIsVisible(rowCheckbox.element(by.css('input[aria-checked="true"]')));
|
||||
}
|
||||
|
||||
getRowCheckbox(columnName, columnValue) {
|
||||
return this.getRowParentElement(columnName, columnValue)
|
||||
return this.getRow(columnName, columnValue)
|
||||
.element(by.css('mat-checkbox'));
|
||||
}
|
||||
|
||||
checkNoRowIsSelected() {
|
||||
Util.waitUntilElementIsNotOnPage(this.selectedRowNumber);
|
||||
BrowserVisibility.waitUntilElementIsNotOnPage(this.selectedRowNumber);
|
||||
}
|
||||
|
||||
getNumberOfSelectedRows() {
|
||||
@@ -92,28 +93,29 @@ export class DataTableComponentPage {
|
||||
|
||||
selectRow(columnName, columnValue) {
|
||||
const row = this.getRow(columnName, columnValue);
|
||||
Util.waitUntilElementIsClickable(row);
|
||||
BrowserVisibility.waitUntilElementIsVisible(row);
|
||||
BrowserVisibility.waitUntilElementIsClickable(row);
|
||||
row.click();
|
||||
return this;
|
||||
}
|
||||
|
||||
checkRowIsSelected(columnName, columnValue) {
|
||||
const selectedRow = this.getRow(columnName, columnValue).element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
|
||||
Util.waitUntilElementIsVisible(selectedRow);
|
||||
const selectedRow = this.getRowElement(columnName, columnValue).element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
|
||||
BrowserVisibility.waitUntilElementIsVisible(selectedRow);
|
||||
return this;
|
||||
}
|
||||
|
||||
checkRowIsNotSelected(columnName, columnValue) {
|
||||
const selectedRow = this.getRow(columnName, columnValue).element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
|
||||
Util.waitUntilElementIsNotOnPage(selectedRow);
|
||||
const selectedRow = this.getRowElement(columnName, columnValue).element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
|
||||
BrowserVisibility.waitUntilElementIsNotOnPage(selectedRow);
|
||||
return this;
|
||||
}
|
||||
|
||||
getColumnValueForRow(identifyingColumn, identifyingValue, columnName) {
|
||||
const row = this.getRow(identifyingColumn, identifyingValue).element(by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row')]`));
|
||||
Util.waitUntilElementIsVisible(row);
|
||||
const row = this.getRow(identifyingColumn, identifyingValue);
|
||||
BrowserVisibility.waitUntilElementIsVisible(row);
|
||||
const rowColumn = row.element(by.css(`div[title="${columnName}"] span`));
|
||||
Util.waitUntilElementIsVisible(rowColumn);
|
||||
BrowserVisibility.waitUntilElementIsVisible(rowColumn);
|
||||
return rowColumn.getText();
|
||||
}
|
||||
|
||||
@@ -127,7 +129,7 @@ export class DataTableComponentPage {
|
||||
checkListIsSorted(sortOrder, locator) {
|
||||
const deferred = protractor.promise.defer();
|
||||
const column = element.all(by.css(`div[title='${locator}'] span`));
|
||||
Util.waitUntilElementIsVisible(column.first());
|
||||
BrowserVisibility.waitUntilElementIsVisible(column.first());
|
||||
const initialList = [];
|
||||
column.each(function (currentElement) {
|
||||
currentElement.getText().then(function (text) {
|
||||
@@ -147,11 +149,11 @@ export class DataTableComponentPage {
|
||||
rightClickOnRow(columnName, columnValue) {
|
||||
const row = this.getRow(columnName, columnValue);
|
||||
browser.actions().click(row, protractor.Button.RIGHT).perform();
|
||||
Util.waitUntilElementIsVisible(element(by.id('adf-context-menu-content')));
|
||||
BrowserVisibility.waitUntilElementIsVisible(element(by.id('adf-context-menu-content')));
|
||||
}
|
||||
|
||||
getTooltip(columnName, columnValue) {
|
||||
return this.getRow(columnName, columnValue).getAttribute('title');
|
||||
return this.getRowElement(columnName, columnValue).getAttribute('title');
|
||||
}
|
||||
|
||||
getFileHyperlink(filename) {
|
||||
@@ -164,21 +166,21 @@ export class DataTableComponentPage {
|
||||
|
||||
async getAllRowsColumnValues(column) {
|
||||
const columnLocator = by.css("adf-datatable div[class*='adf-datatable-body'] div[class*='adf-datatable-row'] div[title='" + column + "'] span");
|
||||
Util.waitUntilElementIsVisible(element.all(columnLocator).first());
|
||||
BrowserVisibility.waitUntilElementIsVisible(element.all(columnLocator).first());
|
||||
const initialList: any = await element.all(columnLocator).getText();
|
||||
return initialList.filter((el) => el);
|
||||
}
|
||||
|
||||
async getRowsWithSameColumnValues(columnName, columnValue) {
|
||||
const columnLocator = by.css(`div[title='${columnName}'] div[data-automation-id="text_${columnValue}"] span`);
|
||||
Util.waitUntilElementIsVisible(this.rootElement.all(columnLocator).first());
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.rootElement.all(columnLocator).first());
|
||||
return this.rootElement.all(columnLocator).getText();
|
||||
}
|
||||
|
||||
doubleClickRow(columnName, columnValue) {
|
||||
const row = this.getRow(columnName, columnValue);
|
||||
Util.waitUntilElementIsVisible(row);
|
||||
Util.waitUntilElementIsClickable(row);
|
||||
BrowserVisibility.waitUntilElementIsVisible(row);
|
||||
BrowserVisibility.waitUntilElementIsClickable(row);
|
||||
row.click();
|
||||
this.checkRowIsSelected(columnName, columnValue);
|
||||
browser.actions().sendKeys(protractor.Key.ENTER).perform();
|
||||
@@ -186,7 +188,7 @@ export class DataTableComponentPage {
|
||||
}
|
||||
|
||||
waitForTableBody() {
|
||||
Util.waitUntilElementIsVisible(this.tableBody);
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.tableBody);
|
||||
}
|
||||
|
||||
getFirstElementDetail(detail) {
|
||||
@@ -200,7 +202,7 @@ export class DataTableComponentPage {
|
||||
|
||||
sortByColumn(sortOrder, column) {
|
||||
const locator = by.css(`div[data-automation-id="auto_id_${column}"]`);
|
||||
Util.waitUntilElementIsVisible(element(locator));
|
||||
BrowserVisibility.waitUntilElementIsVisible(element(locator));
|
||||
return element(locator).getAttribute('class').then(function (result) {
|
||||
if (sortOrder === true) {
|
||||
if (!result.includes('sorted-asc')) {
|
||||
@@ -223,49 +225,49 @@ export class DataTableComponentPage {
|
||||
|
||||
checkContentIsDisplayed(columnName, columnValue) {
|
||||
const row = this.getRow(columnName, columnValue);
|
||||
Util.waitUntilElementIsVisible(row);
|
||||
BrowserVisibility.waitUntilElementIsVisible(row);
|
||||
return this;
|
||||
}
|
||||
|
||||
checkContentIsNotDisplayed(columnName, columnValue) {
|
||||
const row = this.getRow(columnName, columnValue);
|
||||
Util.waitUntilElementIsNotOnPage(row);
|
||||
const row = this.getRowElement(columnName, columnValue);
|
||||
BrowserVisibility.waitUntilElementIsNotOnPage(row);
|
||||
return this;
|
||||
}
|
||||
|
||||
contentInPosition(position) {
|
||||
Util.waitUntilElementIsVisible(this.contents);
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.contents);
|
||||
return this.contents.get(position - 1).getText();
|
||||
}
|
||||
|
||||
getRowParentElement(columnName, columnValue) {
|
||||
getRow(columnName, columnValue) {
|
||||
const row = this.rootElement.all(by.css(`div[title="${columnName}"] div[data-automation-id="text_${columnValue}"]`)).first()
|
||||
.element(by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row')]`));
|
||||
Util.waitUntilElementIsVisible(row);
|
||||
BrowserVisibility.waitUntilElementIsVisible(row);
|
||||
return row;
|
||||
}
|
||||
|
||||
getRow(columnName, columnValue) {
|
||||
getRowElement(columnName, columnValue) {
|
||||
return this.rootElement.all(by.css(`div[title="${columnName}"] div[data-automation-id="text_${columnValue}"] span`)).first();
|
||||
}
|
||||
|
||||
checkSpinnerIsDisplayed() {
|
||||
Util.waitUntilElementIsPresent(this.spinner);
|
||||
BrowserVisibility.waitUntilElementIsPresent(this.spinner);
|
||||
return this;
|
||||
}
|
||||
|
||||
checkSpinnerIsNotDisplayed() {
|
||||
Util.waitUntilElementIsNotOnPage(this.spinner);
|
||||
BrowserVisibility.waitUntilElementIsNotOnPage(this.spinner);
|
||||
return this;
|
||||
}
|
||||
|
||||
tableIsLoaded() {
|
||||
Util.waitUntilElementIsVisible(this.rootElement);
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.rootElement);
|
||||
return this;
|
||||
}
|
||||
|
||||
checkColumnIsDisplayed(column) {
|
||||
Util.waitUntilElementIsVisible(element(by.css(`div[data-automation-id="auto_id_entry.${column}"]`)));
|
||||
BrowserVisibility.waitUntilElementIsVisible(element(by.css(`div[data-automation-id="auto_id_entry.${column}"]`)));
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -278,6 +280,6 @@ export class DataTableComponentPage {
|
||||
}
|
||||
|
||||
getCellByRowAndColumn(rowColumn, rowContent, columnName) {
|
||||
return this.getRowParentElement(rowColumn, rowContent).element(by.css(`div[title='${columnName}']`));
|
||||
return this.getRow(rowColumn, rowContent).element(by.css(`div[title='${columnName}']`));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user