[ACA-2116] search results available actions (#895)

* add item.id to File Libraries

* add method to wait for node to be indexed

* create separate methods in queries API to wait for sites or wait for nodes

* improvements, renaming

* renaming

* fix

* add tests for actions on search results

* add wait and use new method

* fix

* another fix

* use correct method

* more fixes

* create method for clickView button

* fixes

* no message
This commit is contained in:
Adina Parpalita
2019-01-19 18:47:12 +02:00
committed by Denys Vuika
parent 0471b783a4
commit d2e0f688e8
36 changed files with 919 additions and 257 deletions

View File

@@ -36,15 +36,34 @@ export class Sidenav extends Component {
label: '.item--label',
expansion_panel: ".mat-expansion-panel-header",
expansion_panel_content: ".mat-expansion-panel-body",
active: 'item--active',
activeLink: '.item--active',
newButton: '[data-automation-id="create-button"]'
active: 'mat-accent',
activeLink: '.mat-accent',
activeChild: 'item--active',
newButton: '[data-automation-id="create-button"]',
personalFiles: `[id='app.navbar.personalFiles']`,
fileLibraries: `[id='app.navbar.libraries.menu']`,
myLibraries: `[id='app.navbar.libraries.files']`,
favoriteLibraries: `[id='app.navbar.libraries.favorite']`,
shared: `[id='app.navbar.shared']`,
recentFiles: `[id='app.navbar.recentFiles']`,
favorites: `[id='app.navbar.favorites']`,
trash: `[id='app.navbar.trashcan']`
};
links: ElementArrayFinder = this.component.all(by.css(Sidenav.selectors.link));
activeLink: ElementFinder = this.component.element(by.css(Sidenav.selectors.activeLink));
newButton: ElementArrayFinder = this.component.all(by.css(Sidenav.selectors.newButton));
personalFiles: ElementFinder = this.component.element(by.css(Sidenav.selectors.personalFiles));
fileLibraries: ElementFinder = this.component.element(by.css(Sidenav.selectors.fileLibraries));
myLibraries: ElementFinder = this.component.element(by.css(Sidenav.selectors.myLibraries));
favoriteLibraries: ElementFinder = this.component.element(by.css(Sidenav.selectors.favoriteLibraries));
shared: ElementFinder = this.component.element(by.css(Sidenav.selectors.shared));
recentFiles: ElementFinder = this.component.element(by.css(Sidenav.selectors.recentFiles));
favorites: ElementFinder = this.component.element(by.css(Sidenav.selectors.favorites));
trash: ElementFinder = this.component.element(by.css(Sidenav.selectors.trash));
menu: Menu = new Menu();
constructor(ancestor?: ElementFinder) {
@@ -92,7 +111,7 @@ export class Sidenav extends Component {
async childIsActive(name: string) {
const childClass = await this.getLinkLabel(name).element(by.css('span')).getAttribute('class');
return childClass.includes(Sidenav.selectors.active);
return childClass.includes(Sidenav.selectors.activeChild);
}
getLink(name: string) {
@@ -100,7 +119,17 @@ export class Sidenav extends Component {
}
getLinkLabel(name: string) {
return this.component.element(by.cssContainingText(Sidenav.selectors.label, name));
switch (name) {
case 'Personal Files': return this.personalFiles;
case 'File Libraries': return this.fileLibraries;
case 'My Libraries': return this.myLibraries;
case 'Favorite Libraries': return this.favoriteLibraries;
case 'Shared': return this.shared;
case 'Recent Files': return this.recentFiles;
case 'Favorites': return this.favorites;
case 'Trash': return this.trash;
default: return this.personalFiles;
}
}
getActiveLink() {
@@ -111,14 +140,14 @@ export class Sidenav extends Component {
return await this.getLink(name).getAttribute('title');
}
async navigateToLink(name: string) {
async clickLink(name: string) {
try{
const link = this.getLinkLabel(name);
await Utils.waitUntilElementClickable(link);
return await link.click();
} catch (e){
console.log('---- sidebar navigation catch navigateToLink: ', e);
console.log('---- sidebar navigation catch clickLink: ', e);
}
}