[ACA-1628] async await (#693)

* async / await on login component and utils

* more async / awaits

* remove fdescribe

* expect for exact totalItems in waitForApi methods
other async / awaits

* pagination tests

* more tries

* disable selenium promise manager

* try to fix shared-links tests

* re-enable selenium_promise_manager and some more fixes

* add target es2017 to e2e

* set target to es2017 on tsconfig.spec.json

* other tries

* forgotten console.log

* disable pagination tests

* some fixes for pagination

* temporary fix viewer actions tests

* fix some actions tests

* fix some tests for actions

* fix some tests for undo action

* try to fix some more tests

* fixes for toolbar actions

* fix NoSuchElementError for openMoreMenu

* fix NoSuchElementError for rightClickOnMultipleSelection

* fixes for mark as favourite

* more fixes

* more fixes

* change order of some expects

* forgot describe
This commit is contained in:
Adina Parpalita
2018-10-08 11:21:02 +03:00
committed by Denys Vuika
parent 0d4795bfa8
commit 7d73ae309c
53 changed files with 1553 additions and 1662 deletions

View File

@@ -28,54 +28,58 @@ import { Menu } from '../menu/menu';
import { Component } from '../component';
export class Toolbar extends Component {
private static selectors = {
root: '.adf-toolbar',
button: '.mat-icon-button'
};
private static selectors = {
root: '.adf-toolbar',
button: '.mat-icon-button'
};
menu: Menu = new Menu();
buttons: ElementArrayFinder = this.component.all(by.css(Toolbar.selectors.button));
menu: Menu = new Menu();
buttons: ElementArrayFinder = this.component.all(by.css(Toolbar.selectors.button));
constructor(ancestor?: ElementFinder) {
super(Toolbar.selectors.root, ancestor);
}
constructor(ancestor?: ElementFinder) {
super(Toolbar.selectors.root, ancestor);
}
async isEmpty() {
return await this.buttons.count() === 0;
}
async isEmpty() {
const count = await this.buttons.count();
return count === 0;
}
async isButtonPresent(title: string) {
return await this.component.element(by.css(`${Toolbar.selectors.button}[title="${title}"]`)).isPresent();
}
async isButtonPresent(title: string) {
const elem = this.component.element(by.css(`${Toolbar.selectors.button}[title="${title}"]`));
return await elem.isPresent();
}
getButtonByLabel(label: string) {
return this.component.element(by.cssContainingText(Toolbar.selectors.button, label));
}
getButtonByLabel(label: string) {
return this.component.element(by.cssContainingText(Toolbar.selectors.button, label));
}
getButtonByTitleAttribute(title: string) {
return this.component.element(by.css(`${Toolbar.selectors.button}[title="${title}"]`));
}
getButtonByTitleAttribute(title: string) {
return this.component.element(by.css(`${Toolbar.selectors.button}[title="${title}"]`));
}
getButtonById(id: string) {
return this.component.element(by.id(id));
}
getButtonById(id: string) {
return this.component.element(by.id(id));
}
async openMoreMenu() {
await this.getButtonByTitleAttribute('More actions').click();
await this.menu.waitForMenuToOpen();
return this.menu;
}
async openMoreMenu() {
await this.isButtonPresent('More actions');
const moreMenu = this.getButtonByTitleAttribute('More actions');
await moreMenu.click();
await this.menu.waitForMenuToOpen();
// return this.menu;
}
async closeMoreMenu() {
return await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
}
async closeMoreMenu() {
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
}
async getButtonTooltip(button: ElementFinder) {
return await button.getAttribute('title');
}
async getButtonTooltip(button: ElementFinder) {
return await button.getAttribute('title');
}
async clickButton(title: string) {
const btn = this.getButtonByTitleAttribute(title);
await btn.click();
}
async clickButton(title: string) {
const btn = this.getButtonByTitleAttribute(title);
await btn.click();
}
}