[ADF-1858] Automation tests for Viewer Component - Content Services (#3587)

* Automation tests for Viewer Component - Content Services

* Automation tests for Viewer component - Content Services

* Deleting alfresco-ng2-components.iml
This commit is contained in:
marouanbentaleb
2018-07-17 20:30:07 +01:00
committed by Eugenio Romano
parent 9901295e25
commit e721c877f2
8 changed files with 308 additions and 218 deletions

View File

@@ -16,46 +16,30 @@
*/
var Util = require('../../util/util');
var CardViewPage = require('./cardViewPage');
var ViewerToolbarPage = function () {
var closeButton = element(by.css("button[data-automation-id='toolbar-back']"));
var fileThumbnail = element(by.css("img[class='adf-viewer__mimeicon']"));
var closeButton = element(by.css("button[data-automation-id='adf-toolbar-back']"));
var fileName = element(by.id('adf-viewer-display-name'));
var downloadButton = element(by.css("button[data-automation-id='toolbar-download'] > span > mat-icon"));
var infoButton = element(by.css("button[data-automation-id='toolbar-sidebar']"));
var infoSideBar = element(by.css("div[class='adf-info-drawer-layout-header']"));
var downloadButton = element(by.css("button[data-automation-id='adf-toolbar-download'] > span > mat-icon"));
var infoButton = element(by.css("button[data-automation-id='adf-toolbar-sidebar']"));
var previousPageButton = element(by.id('viewer-previous-page-button'));
var nextPageButton = element(by.id('viewer-next-page-button'));
var pageSelectorInput = element(by.css("div[class='adf-pdf-viewer__toolbar-page-selector'] input"));
var zoomInButton = element(by.id('viewer-zoom-in-button'));
var zoomOutButton = element(by.id('viewer-zoom-out-button'));
var scalePageButton = element(by.id('viewer-scale-page-button'));
var imgContainer = element(by.id('viewer-image'));
var pdfContainer = element(by.id('viewer-pdf-container'));
var fullScreenButton = element(by.css("button[data-automation-id='adf-toolbar-fullscreen']"));
var rotateLeft = element(by.css("button[id='viewer-rotate-left-button']"));
var rotateRight = element(by.css("button[id='viewer-rotate-right-button']"));
var scaleImg = element(by.css("button[id='viewer-reset-button']"));
var customBtn = element(by.css("data-automation-id='adf-toolbar-custom-btn'"));
var fileThumbnail = element(by.css("img[data-automation-id='adf-file-thumbnail']"));
var pageSelectorInput = element(by.css("input[data-automation-id='adf-page-selector']"));
var imgContainer = element(by.css("div[data-automation-id='adf-image-container']"));
var mediaContainer = element(by.css("adf-media-player[class='adf-media-player ng-star-inserted']"));
var unsupportedFileContainer = element(by.cssContainingText('.label','Document preview could not be loaded'));
var allPages = element.all(by.css("div[class='canvasWrapper'] > canvas")).first();
var pageCanvas = element.all(by.css("div[class='canvasWrapper']")).first();
this.canvasHeight = function () {
var deferred = protractor.promise.defer();
pageCanvas.getAttribute("style").then(function (value) {
var canvasHeight = value.split("height: ")[1].split("px")[0];
deferred.fulfill(canvasHeight);
});
return deferred.promise;
};
this.canvasWidth = function () {
var deferred = protractor.promise.defer();
pageCanvas.getAttribute("style").then(function (value) {
var canvasWidth = value.split("width: ")[1].split("px")[0];
deferred.fulfill(canvasWidth);
});
return deferred.promise;
};
var percentage = element(by.css("div[data-automation-id='adf-page-scale'"));
this.viewFile = function (fileName) {
var fileView = element(by.xpath("//div[@class='document-list-container']//span[@title='" + fileName +"']"));
@@ -64,6 +48,23 @@ var ViewerToolbarPage = function () {
browser.actions().sendKeys(protractor.Key.ENTER).perform();
};
this.clearPageNumber = function ()
{
Util.waitUntilElementIsVisible(pageSelectorInput);
pageSelectorInput.clear();
pageSelectorInput.sendKeys(protractor.Key.ENTER);
};
this.getZoom = function ()
{
return percentage.getText();
};
this.exitFullScreen = function () {
var jsCode = "document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen&&document.webkitExitFullscreen();";
browser.executeScript(jsCode);
};
this.checkCloseButtonIsDisplayed = function () {
Util.waitUntilElementIsVisible(closeButton);
};
@@ -76,11 +77,6 @@ var ViewerToolbarPage = function () {
Util.waitUntilElementIsVisible(infoButton);
};
this.clickCloseButton = function () {
Util.waitUntilElementIsVisible(closeButton);
closeButton.click();
};
this.checkFileThumbnailIsDisplayed = function () {
Util.waitUntilElementIsVisible(fileThumbnail);
};
@@ -90,74 +86,30 @@ var ViewerToolbarPage = function () {
expect(fileName.getText()).toEqual(file);
};
this.clickDownloadButton = function () {
Util.waitUntilElementIsVisible(downloadButton);
downloadButton.click();
};
this.clickInfoButton = function () {
Util.waitUntilElementIsVisible(infoButton);
infoButton.click();
return new CardViewPage();
};
this.checkInfoSideBarIsNotDisplayed = function () {
Util.waitUntilElementIsNotVisible(infoSideBar);
};
this.checkInfoSideBarIsDisplayed = function () {
Util.waitUntilElementIsVisible(infoSideBar);
};
this.checkInfoSideBarIsNotDisplayed = function () {
Util.waitUntilElementIsNotOnPage(infoSideBar);
};
this.checkPreviousPageButtonIsDisplayed =function () {
Util.waitUntilElementIsVisible(previousPageButton);
};
this.clickPreviousPageButton = function () {
Util.waitUntilElementIsVisible(previousPageButton);
previousPageButton.click();
};
this.checkNextPageButtonIsDisplayed = function () {
Util.waitUntilElementIsVisible(nextPageButton);
};
this.clickNextPageButton = function () {
Util.waitUntilElementIsVisible(nextPageButton);
nextPageButton.click();
};
this.checkZoomInButtonIsDisplayed = function () {
Util.waitUntilElementIsVisible(zoomInButton);
};
this.clickZoomInButton = function () {
Util.waitUntilElementIsVisible(zoomInButton);
zoomInButton.click();
this.checkZoomInButtonIsNotDisplayed = function () {
Util.waitUntilElementIsNotVisible(zoomInButton);
};
this.checkZoomOutButtonIsDisplayed = function () {
Util.waitUntilElementIsVisible(zoomOutButton);
};
this.clickZoomOutButton = function () {
Util.waitUntilElementIsVisible(zoomOutButton);
zoomOutButton.click();
};
this.checkScalePageButtonIsDisplayed = function () {
Util.waitUntilElementIsVisible(scalePageButton);
};
this.clickScalePageButton = function () {
Util.waitUntilElementIsVisible(scalePageButton);
scalePageButton.click();
};
this.checkPageSelectorInputIsDisplayed = function (number) {
Util.waitUntilElementIsVisible(pageSelectorInput);
pageSelectorInput.getAttribute('value').then(function (pageNumber) {
@@ -165,13 +117,6 @@ var ViewerToolbarPage = function () {
})
};
this.enterPage = function (number) {
Util.waitUntilElementIsVisible(pageSelectorInput);
pageSelectorInput.clear();
pageSelectorInput.sendKeys(number);
pageSelectorInput.sendKeys(protractor.Key.ENTER);
};
this.checkImgContainerIsDisplayed = function () {
Util.waitUntilElementIsVisible(imgContainer);
};
@@ -184,10 +129,6 @@ var ViewerToolbarPage = function () {
Util.waitUntilElementIsVisible(mediaContainer);
};
this.checkUnsupportedFileContainerIsDisplayed = function () {
Util.waitUntilElementIsVisible(unsupportedFileContainer);
};
this.checkFileContent = function (pageNumber, text) {
var pageLoaded = element.all(by.css("div[data-page-number='" + pageNumber + "'][data-loaded='true']")).first();
var textLayerLoaded = element.all(by.css("div[data-page-number='" + pageNumber + "'] div[class='textLayer'] > div")).first();
@@ -197,6 +138,123 @@ var ViewerToolbarPage = function () {
Util.waitUntilElementIsVisible(textLayerLoaded);
Util.waitUntilElementIsVisible(specificText);
};
this.checkFullScreenButtonIsDisplayed = function () {
Util.waitUntilElementIsVisible(fullScreenButton);
};
this.checkFullScreenButtonIsNotDisplayed = function () {
Util.waitUntilElementIsNotVisible(fullScreenButton);
};
this.checkPercentageIsDisplayed = function () {
Util.waitUntilElementIsVisible(percentage);
};
this.checkZoomedIn = function (zoom)
{
expect(percentage.getText()).toBeGreaterThan(zoom);
};
this.checkZoomedOut = function (zoom)
{
expect(percentage.getText()).toBeLessThan(zoom);
};
this.checkRotateLeftButtonIsDisplayed = function () {
Util.waitUntilElementIsVisible(rotateLeft);
};
this.checkRotateRightButtonIsDisplayed = function () {
Util.waitUntilElementIsVisible(rotateRight);
};
this.checkScaled = function (zoom)
{
expect(percentage.getText()).toEqual(zoom);
};
this.checkScaleImgButtonIsDisplayed = function () {
Util.waitUntilElementIsVisible(scaleImg);
};
this.checkRotation = function (text)
{
rotation = imgContainer.getAttribute('style');
expect(rotation).toEqual(text);
};
this.checkCustomBtnDisplayed = function ()
{
Util.waitUntilElementIsVisible(customBtn);
};
this.clickScaleImgButton = function ()
{
Util.waitUntilElementIsClickable(scaleImg);
scaleImg.click();
};
this.clickScalePdfButton = function ()
{
Util.waitUntilElementIsClickable(scalePageButton);
scalePageButton.click();
};
this.clickDownloadButton = function () {
Util.waitUntilElementIsVisible(downloadButton);
downloadButton.click();
};
this.clickCloseButton = function () {
Util.waitUntilElementIsVisible(closeButton);
closeButton.click();
};
this.clickPreviousPageButton = function () {
Util.waitUntilElementIsVisible(previousPageButton);
previousPageButton.click();
};
this.clickNextPageButton = function () {
Util.waitUntilElementIsVisible(nextPageButton);
nextPageButton.click();
};
this.clickZoomInButton = function () {
Util.waitUntilElementIsVisible(zoomInButton);
zoomInButton.click();
};
this.clickZoomOutButton = function () {
Util.waitUntilElementIsVisible(zoomOutButton);
zoomOutButton.click();
};
this.clickScalePageButton = function () {
Util.waitUntilElementIsVisible(scalePageButton);
scalePageButton.click();
};
this.clickFullScreenButton = function ()
{
Util.waitUntilElementIsClickable(fullScreenButton);
fullScreenButton.click();
};
this.clickRotateLeftButton = function ()
{
Util.waitUntilElementIsClickable(rotateLeft);
rotateLeft.click();
};
this.clickRotateRightButton = function ()
{
Util.waitUntilElementIsClickable(rotateRight);
rotateRight.click();
};
};
module.exports = ViewerToolbarPage;