mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
Automation test for hyperlink navigation (#4121)
This commit is contained in:
committed by
Eugenio Romano
parent
78411fc365
commit
8431f0b1f1
@@ -20,6 +20,7 @@ import { LoginPage } from '../../pages/adf/loginPage';
|
||||
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
||||
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||
import { AcsUserModel } from '../../models/ACS/acsUserModel';
|
||||
import { ViewerPage } from '../../pages/adf/viewerPage';
|
||||
import TestConfig = require('../../test.config');
|
||||
import resources = require('../../util/resources');
|
||||
import { Util } from '../../util/util';
|
||||
@@ -705,4 +706,35 @@ describe('Document List Component', () => {
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
describe('Column Template', () => {
|
||||
|
||||
const file0BytesModel = new FileModel({
|
||||
'name': resources.Files.ADF_DOCUMENTS.TXT_0B.file_name,
|
||||
'location': resources.Files.ADF_DOCUMENTS.TXT_0B.file_location
|
||||
});
|
||||
|
||||
let file;
|
||||
let viewer = new ViewerPage();
|
||||
|
||||
beforeAll(async (done) => {
|
||||
acsUser = new AcsUserModel();
|
||||
await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
|
||||
await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser);
|
||||
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
|
||||
file = await uploadActions.uploadFile(this.alfrescoJsApi, file0BytesModel.location, file0BytesModel.name, '-my-');
|
||||
|
||||
loginPage.loginToContentServicesUsingUserModel(acsUser);
|
||||
contentServicesPage.goToDocumentList()
|
||||
.waitForTableBody();
|
||||
done();
|
||||
});
|
||||
|
||||
it('[C291843] Should be able to navigate using nodes hyperlink when activated', () => {
|
||||
contentServicesPage.enableHyperlinkNavigation()
|
||||
.checkFileHyperlinkIsEnabled(file.entry.name)
|
||||
.clickFileHyperlink(file.entry.name);
|
||||
viewer.checkFileIsLoaded();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -36,6 +36,7 @@ export class ContentServicesPage {
|
||||
currentFolder = element(by.css('div[class*="adf-breadcrumb-item adf-active"] div'));
|
||||
createFolderButton = element(by.css('button[data-automation-id="create-new-folder"]'));
|
||||
activeBreadcrumb = element(by.css('div[class*="active"]'));
|
||||
tooltip = by.css('div[class*="--text adf-full-width"] span');
|
||||
uploadFileButton = element(by.css('input[data-automation-id="upload-single-file"]'));
|
||||
uploadMultipleFileButton = element(by.css('input[data-automation-id="upload-multiple-files"]'));
|
||||
uploadFolderButton = element(by.css('input[data-automation-id="uploadFolder"]'));
|
||||
@@ -61,6 +62,26 @@ export class ContentServicesPage {
|
||||
searchInputElement = element(by.css('input[data-automation-id="content-node-selector-search-input"]'));
|
||||
shareNodeButton = element(by.cssContainingText('mat-icon', ' share '));
|
||||
|
||||
clickFileHyperlink(fileName) {
|
||||
let hyperlink = element(by.cssContainingText('adf-name-column[class*="adf-datatable-link"] span', fileName));
|
||||
Util.waitUntilElementIsClickable(hyperlink);
|
||||
hyperlink.click();
|
||||
return this;
|
||||
}
|
||||
|
||||
checkFileHyperlinkIsEnabled(fileName) {
|
||||
let hyperlink = element(by.cssContainingText('adf-name-column[class*="adf-datatable-link"] span', fileName));
|
||||
Util.waitUntilElementIsVisible(hyperlink);
|
||||
return this;
|
||||
}
|
||||
|
||||
enableHyperlinkNavigation() {
|
||||
let hyperlinkToggle = element(by.cssContainingText('.mat-slide-toggle-content', 'Hyperlink navigation'));
|
||||
Util.waitUntilElementIsVisible(hyperlinkToggle);
|
||||
hyperlinkToggle.click();
|
||||
return this;
|
||||
}
|
||||
|
||||
getElementsDisplayedCreated() {
|
||||
let deferred = protractor.promise.defer();
|
||||
let fileCreatedLocator = this.contentList.getColumnLocator('Created');
|
||||
@@ -103,7 +124,9 @@ export class ContentServicesPage {
|
||||
|
||||
getElementsDisplayedAuthor(alfrescoJsApi) {
|
||||
let deferred = protractor.promise.defer();
|
||||
this.nodeActions.getNodesDisplayed(alfrescoJsApi).then((nodes) => {
|
||||
let idList = this.getElementsDisplayedId();
|
||||
let numberOfElements = this.numberOfResultsDisplayed();
|
||||
this.nodeActions.getNodesDisplayed(alfrescoJsApi, idList, numberOfElements).then((nodes) => {
|
||||
let initialList = [];
|
||||
|
||||
nodes.forEach((item) => {
|
||||
@@ -226,6 +249,7 @@ export class ContentServicesPage {
|
||||
goToDocumentList() {
|
||||
this.clickOnContentServices();
|
||||
this.checkAcsContainer();
|
||||
return this;
|
||||
}
|
||||
|
||||
clickOnContentServices() {
|
||||
@@ -253,6 +277,10 @@ export class ContentServicesPage {
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
getTooltip(content) {
|
||||
return this.contentList.getRowByRowName(content).element(this.tooltip).getAttribute('title');
|
||||
}
|
||||
|
||||
getBreadcrumbTooltip(nodeName: string) {
|
||||
return element(by.css(`nav[data-automation-id="breadcrumb"] div[title="${nodeName}"]`)).getAttribute('title');
|
||||
}
|
||||
|
@@ -122,10 +122,6 @@ export class ViewerPage {
|
||||
this.passwordInput.sendKeys(password);
|
||||
}
|
||||
|
||||
checkDatatableHeaderIsDisplayed() {
|
||||
Util.waitUntilElementIsVisible(this.datatableHeader);
|
||||
}
|
||||
|
||||
checkFileIsLoaded() {
|
||||
Util.waitUntilElementIsOnPage(this.pdfPageLoaded, 15000);
|
||||
}
|
||||
@@ -519,40 +515,14 @@ export class ViewerPage {
|
||||
return this;
|
||||
}
|
||||
|
||||
disableShare() {
|
||||
this.formControllersPage.disableToggle(this.shareSwitch);
|
||||
}
|
||||
|
||||
enableShare() {
|
||||
this.formControllersPage.enableToggle(this.shareSwitch);
|
||||
}
|
||||
|
||||
disableAllowSidebar() {
|
||||
this.formControllersPage.disableToggle(this.allowSidebarSwitch);
|
||||
}
|
||||
|
||||
enableAllowSidebar() {
|
||||
this.formControllersPage.enableToggle(this.allowSidebarSwitch);
|
||||
}
|
||||
|
||||
disableAllowLeftSidebar() {
|
||||
this.formControllersPage.disableToggle(this.allowLeftSidebarSwitch);
|
||||
}
|
||||
|
||||
enableAllowLeftSidebar() {
|
||||
this.formControllersPage.enableToggle(this.allowLeftSidebarSwitch);
|
||||
}
|
||||
|
||||
checkShareButtonDisplayed() {
|
||||
Util.waitUntilElementIsVisible(this.shareButton);
|
||||
return this;
|
||||
}
|
||||
|
||||
checkShareButtonIsNotDisplayed() {
|
||||
Util.waitUntilElementIsNotVisible(this.shareButton);
|
||||
return this;
|
||||
}
|
||||
|
||||
checkMoreActionsDisplayed() {
|
||||
Util.waitUntilElementIsVisible(this.bugButton);
|
||||
Util.waitUntilElementIsVisible(this.timeButton);
|
||||
|
Reference in New Issue
Block a user