mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-24 17:31:52 +00:00
[ACA-1946] automate tests for Favourite Libraries list (#803)
* automate part of the Favourite Libraries tests refactor File Libraries tests to include My Libraries * rephrasing * forgotten changes * fix tests
This commit is contained in:
committed by
Suzana Dirla
parent
dcacbc1210
commit
ca67da3657
@@ -36,6 +36,7 @@ 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"]'
|
||||
};
|
||||
@@ -50,6 +51,23 @@ export class Sidenav extends Component {
|
||||
super(Sidenav.selectors.root, ancestor);
|
||||
}
|
||||
|
||||
private async expandMenu(name: string) {
|
||||
try{
|
||||
|
||||
if (await element(by.cssContainingText('.mat-expanded', name)).isPresent()) {
|
||||
return Promise.resolve();
|
||||
} else {
|
||||
const link = this.getLink(name);
|
||||
await Utils.waitUntilElementClickable(link);
|
||||
await link.click();
|
||||
await element(by.css(Sidenav.selectors.expansion_panel_content)).isPresent();
|
||||
}
|
||||
|
||||
} catch (e) {
|
||||
console.log('---- sidebar navigation catch expandMenu: ', e);
|
||||
}
|
||||
}
|
||||
|
||||
async openNewMenu() {
|
||||
const { menu, newButton } = this;
|
||||
|
||||
@@ -67,38 +85,40 @@ export class Sidenav extends Component {
|
||||
await this.menu.clickMenuItem('Create Library');
|
||||
}
|
||||
|
||||
async isActiveByLabel(label: string) {
|
||||
const className = await this.getLinkByLabel(label).getAttribute('class');
|
||||
return className.includes(Sidenav.selectors.activeLink.replace('.', ''));
|
||||
async isActive(name: string) {
|
||||
const className = await this.getLinkLabel(name).getAttribute('class');
|
||||
return className.includes(Sidenav.selectors.active);
|
||||
}
|
||||
|
||||
async childIsActiveByLabel(label: string) {
|
||||
const labelElement = await this.getLinkByLabel(label).element(by.css('span'));
|
||||
return (await labelElement.getAttribute('class'))
|
||||
.includes(Sidenav.selectors.activeLink.replace('.', ''));
|
||||
async childIsActive(name: string) {
|
||||
const childClass = await this.getLinkLabel(name).element(by.css('span')).getAttribute('class');
|
||||
return childClass.includes(Sidenav.selectors.active);
|
||||
}
|
||||
|
||||
getLink(label: string) {
|
||||
return this.component.element(by.cssContainingText(Sidenav.selectors.link, label));
|
||||
getLink(name: string) {
|
||||
return this.getLinkLabel(name).element(by.xpath('..'));
|
||||
}
|
||||
|
||||
getLinkByLabel(label: string) {
|
||||
return this.component.element(by.cssContainingText(Sidenav.selectors.label, label));
|
||||
// return browser.element(by.xpath(`.//*[.="${label}" and class="${Sidenav.selectors.label}"]`))
|
||||
getLinkLabel(name: string) {
|
||||
return this.component.element(by.cssContainingText(Sidenav.selectors.label, name));
|
||||
}
|
||||
|
||||
async getLinkTooltip(label: string) {
|
||||
return await this.getLink(label).getAttribute('title');
|
||||
getActiveLink() {
|
||||
return this.activeLink;
|
||||
}
|
||||
|
||||
async navigateToLinkByLabel(label: string) {
|
||||
async getLinkTooltip(name: string) {
|
||||
return await this.getLink(name).getAttribute('title');
|
||||
}
|
||||
|
||||
async navigateToLink(name: string) {
|
||||
try{
|
||||
const link = this.getLinkByLabel(label);
|
||||
const link = this.getLinkLabel(name);
|
||||
await Utils.waitUntilElementClickable(link);
|
||||
return await link.click();
|
||||
|
||||
} catch (e){
|
||||
console.log('---- sidebar navigation catch navigateToLinkByLabel: ', e);
|
||||
console.log('---- sidebar navigation catch navigateToLink: ', e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,21 +126,8 @@ export class Sidenav extends Component {
|
||||
return await element(by.cssContainingText('.mat-expanded', SIDEBAR_LABELS.FILE_LIBRARIES)).isPresent();
|
||||
}
|
||||
|
||||
async expandMenu(label: string) {
|
||||
try{
|
||||
|
||||
if (await element(by.cssContainingText('.mat-expanded', label)).isPresent()) {
|
||||
return Promise.resolve();
|
||||
} else {
|
||||
const link = this.getLinkByLabel(label);
|
||||
await Utils.waitUntilElementClickable(link);
|
||||
await link.click();
|
||||
await element(by.css(Sidenav.selectors.expansion_panel_content)).isPresent();
|
||||
}
|
||||
|
||||
} catch (e) {
|
||||
console.log('---- sidebar navigation catch expandMenu: ', e);
|
||||
}
|
||||
async expandFileLibraries() {
|
||||
return await this.expandMenu(SIDEBAR_LABELS.FILE_LIBRARIES);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user