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 { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
||||||
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||||
import { AcsUserModel } from '../../models/ACS/acsUserModel';
|
import { AcsUserModel } from '../../models/ACS/acsUserModel';
|
||||||
|
import { ViewerPage } from '../../pages/adf/viewerPage';
|
||||||
import TestConfig = require('../../test.config');
|
import TestConfig = require('../../test.config');
|
||||||
import resources = require('../../util/resources');
|
import resources = require('../../util/resources');
|
||||||
import { Util } from '../../util/util';
|
import { Util } from '../../util/util';
|
||||||
@@ -705,4 +706,35 @@ describe('Document List Component', () => {
|
|||||||
done();
|
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'));
|
currentFolder = element(by.css('div[class*="adf-breadcrumb-item adf-active"] div'));
|
||||||
createFolderButton = element(by.css('button[data-automation-id="create-new-folder"]'));
|
createFolderButton = element(by.css('button[data-automation-id="create-new-folder"]'));
|
||||||
activeBreadcrumb = element(by.css('div[class*="active"]'));
|
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"]'));
|
uploadFileButton = element(by.css('input[data-automation-id="upload-single-file"]'));
|
||||||
uploadMultipleFileButton = element(by.css('input[data-automation-id="upload-multiple-files"]'));
|
uploadMultipleFileButton = element(by.css('input[data-automation-id="upload-multiple-files"]'));
|
||||||
uploadFolderButton = element(by.css('input[data-automation-id="uploadFolder"]'));
|
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"]'));
|
searchInputElement = element(by.css('input[data-automation-id="content-node-selector-search-input"]'));
|
||||||
shareNodeButton = element(by.cssContainingText('mat-icon', ' share '));
|
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() {
|
getElementsDisplayedCreated() {
|
||||||
let deferred = protractor.promise.defer();
|
let deferred = protractor.promise.defer();
|
||||||
let fileCreatedLocator = this.contentList.getColumnLocator('Created');
|
let fileCreatedLocator = this.contentList.getColumnLocator('Created');
|
||||||
@@ -103,7 +124,9 @@ export class ContentServicesPage {
|
|||||||
|
|
||||||
getElementsDisplayedAuthor(alfrescoJsApi) {
|
getElementsDisplayedAuthor(alfrescoJsApi) {
|
||||||
let deferred = protractor.promise.defer();
|
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 = [];
|
let initialList = [];
|
||||||
|
|
||||||
nodes.forEach((item) => {
|
nodes.forEach((item) => {
|
||||||
@@ -226,6 +249,7 @@ export class ContentServicesPage {
|
|||||||
goToDocumentList() {
|
goToDocumentList() {
|
||||||
this.clickOnContentServices();
|
this.clickOnContentServices();
|
||||||
this.checkAcsContainer();
|
this.checkAcsContainer();
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
clickOnContentServices() {
|
clickOnContentServices() {
|
||||||
@@ -253,6 +277,10 @@ export class ContentServicesPage {
|
|||||||
return deferred.promise;
|
return deferred.promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getTooltip(content) {
|
||||||
|
return this.contentList.getRowByRowName(content).element(this.tooltip).getAttribute('title');
|
||||||
|
}
|
||||||
|
|
||||||
getBreadcrumbTooltip(nodeName: string) {
|
getBreadcrumbTooltip(nodeName: string) {
|
||||||
return element(by.css(`nav[data-automation-id="breadcrumb"] div[title="${nodeName}"]`)).getAttribute('title');
|
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);
|
this.passwordInput.sendKeys(password);
|
||||||
}
|
}
|
||||||
|
|
||||||
checkDatatableHeaderIsDisplayed() {
|
|
||||||
Util.waitUntilElementIsVisible(this.datatableHeader);
|
|
||||||
}
|
|
||||||
|
|
||||||
checkFileIsLoaded() {
|
checkFileIsLoaded() {
|
||||||
Util.waitUntilElementIsOnPage(this.pdfPageLoaded, 15000);
|
Util.waitUntilElementIsOnPage(this.pdfPageLoaded, 15000);
|
||||||
}
|
}
|
||||||
@@ -519,40 +515,14 @@ export class ViewerPage {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
disableShare() {
|
|
||||||
this.formControllersPage.disableToggle(this.shareSwitch);
|
|
||||||
}
|
|
||||||
|
|
||||||
enableShare() {
|
|
||||||
this.formControllersPage.enableToggle(this.shareSwitch);
|
|
||||||
}
|
|
||||||
|
|
||||||
disableAllowSidebar() {
|
disableAllowSidebar() {
|
||||||
this.formControllersPage.disableToggle(this.allowSidebarSwitch);
|
this.formControllersPage.disableToggle(this.allowSidebarSwitch);
|
||||||
}
|
}
|
||||||
|
|
||||||
enableAllowSidebar() {
|
|
||||||
this.formControllersPage.enableToggle(this.allowSidebarSwitch);
|
|
||||||
}
|
|
||||||
|
|
||||||
disableAllowLeftSidebar() {
|
disableAllowLeftSidebar() {
|
||||||
this.formControllersPage.disableToggle(this.allowLeftSidebarSwitch);
|
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() {
|
checkMoreActionsDisplayed() {
|
||||||
Util.waitUntilElementIsVisible(this.bugButton);
|
Util.waitUntilElementIsVisible(this.bugButton);
|
||||||
Util.waitUntilElementIsVisible(this.timeButton);
|
Util.waitUntilElementIsVisible(this.timeButton);
|
||||||
|
Reference in New Issue
Block a user