diff --git a/e2e/pages/adf/viewerPage.js b/e2e/pages/adf/viewerPage.js index 0f6a4206dd..31ccae04de 100644 --- a/e2e/pages/adf/viewerPage.js +++ b/e2e/pages/adf/viewerPage.js @@ -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; diff --git a/e2e/resources/adf/allFileTypes/a_file_supported.docx b/e2e/resources/adf/allFileTypes/a_file_supported.docx new file mode 100644 index 0000000000..4aa4a73e6e Binary files /dev/null and b/e2e/resources/adf/allFileTypes/a_file_supported.docx differ diff --git a/e2e/util/resources.js b/e2e/util/resources.js index 85d44f5e7c..a34318dca5 100644 --- a/e2e/util/resources.js +++ b/e2e/util/resources.js @@ -129,6 +129,14 @@ exports.Files = { file_location: "/resources/adf/allFileTypes/a_excel_file.xlsx", file_name: "a_excel_file.xlsx" }, + DOCX_SUPPORTED: { + file_location: "/resources/adf/allFileTypes/a_file_supported.docx", + file_name: "a_file_supported.docx", + first_page_text: "A Journey into Test Frameworks", + second_page_text: "After looking into Spock’s GitHub", + last_page_text: "and provide feedback. The main advantages being the readability of the te", + last_page_number: "8" + }, DOCX: { file_location: "/resources/adf/allFileTypes/a_file_unsupported.docx", file_name: "a_file_unsupported.docx" @@ -197,7 +205,7 @@ exports.Files = { INI:{ file_location: "/resources/adf/allFileTypes/desktop.ini", file_name: "desktop.ini" - }, + } }, PROFILE_IMAGES: { @@ -208,7 +216,7 @@ exports.Files = { BPM: { file_location: "/resources/adf/activiti_profile_pic.png", file_name: "activiti_profile_pic.png" - }, + } } }; diff --git a/e2e/viewer_content_services_component.e2e.ts b/e2e/viewer_content_services_component.e2e.ts index df6d3174db..f65f1db829 100644 --- a/e2e/viewer_content_services_component.e2e.ts +++ b/e2e/viewer_content_services_component.e2e.ts @@ -15,7 +15,6 @@ * limitations under the License. */ -import Util = require('./util/util'); import TestConfig = require('./test.config'); import LoginPage = require('./pages/adf/loginPage'); @@ -24,7 +23,6 @@ import ViewerPage = require('./pages/adf/viewerPage'); import resources = require('./util/resources'); -import path = require('path'); import FileModel = require('./models/ACS/fileModel'); import AcsUserModel = require('./models/ACS/acsUserModel'); @@ -37,17 +35,14 @@ describe('Content Services Viewer', () => { let viewerPage = new ViewerPage(); let contentServicesPage = new ContentServicesPage(); let loginPage = new LoginPage(); - - let defaultHeight; - let defaultWidth; - let zoomedInHeight; - let zoomedInWidth; - let scaledHeight; - let scaledWidth; - let zoomedOutHeight; - let zoomedOutWidth; + let zoom; let pdfFile = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name }); + let docxFile = new FileModel({ + 'location': resources.Files.ADF_DOCUMENTS.DOCX_SUPPORTED.file_location, + 'name': resources.Files.ADF_DOCUMENTS.DOCX_SUPPORTED.file_name, + 'firstPageText': resources.Files.ADF_DOCUMENTS.DOCX_SUPPORTED.first_page_text + }); let jpgFile = new FileModel({ 'location': resources.Files.ADF_DOCUMENTS.JPG.file_location, 'name': resources.Files.ADF_DOCUMENTS.JPG.file_name @@ -66,13 +61,6 @@ describe('Content Services Viewer', () => { 'firstPageText': resources.Files.ADF_DOCUMENTS.PPT.first_page_text }); - let downloadDir = path.join(__dirname, '/downloads'); - - let downloadedPdfFile = path.join(downloadDir, pdfFile.name); - let downloadedJpgFile = path.join(downloadDir, jpgFile.name); - let downloadedMp4File = path.join(downloadDir, mp4File.name); - let downloadedPagesFile = path.join(downloadDir, pagesFile.name); - beforeAll(async (done) => { let uploadActions = new UploadActions(); @@ -90,6 +78,9 @@ describe('Content Services Viewer', () => { let pdfFileUploaded = await uploadActions.uploadFile(this.alfrescoJsApi, pdfFile.location, pdfFile.name, '-my-'); Object.assign(pdfFile, pdfFileUploaded.entry); + let docxFileUploaded = await uploadActions.uploadFile(this.alfrescoJsApi, docxFile.location, docxFile.name, '-my-'); + Object.assign(docxFile, docxFileUploaded.entry); + let jpgFileUploaded = await uploadActions.uploadFile(this.alfrescoJsApi, jpgFile.location, jpgFile.name, '-my-'); Object.assign(jpgFile, jpgFileUploaded.entry); @@ -109,116 +100,127 @@ describe('Content Services Viewer', () => { done(); }); - // afterAll((done) => { - // NodesAPI.deleteContent(acsUser, pdfFile.getId(), () => { - // done(); - // }); - // - // NodesAPI.deleteContent(acsUser, jpgFile.getId(), () => { - // done(); - // }); - // - // NodesAPI.deleteContent(acsUser, mp4File.getId(), () => { - // done(); - // }); - // - // NodesAPI.deleteContent(acsUser, pagesFile.getId(), () => { - // done(); - // }); - // - // NodesAPI.deleteContent(acsUser, pptFile.getId(), () => { - // done(); - // }); - // }); + /*afterAll((done) => { + NodesAPI.deleteContent(acsUser, pdfFile.getId(), () => { + done(); + }); - it('1. Open viewer for a .pdf file', () => { + NodesAPI.deleteContent(acsUser, jpgFile.getId(), () => { + done(); + }); + + NodesAPI.deleteContent(acsUser, mp4File.getId(), () => { + done(); + }); + + NodesAPI.deleteContent(acsUser, pagesFile.getId(), () => { + done(); + }); + + NodesAPI.deleteContent(acsUser, pptFile.getId(), () => { + done(); + }); + });*/ + + it('[C260038] Should display first page, toolbar and pagination when opening a .pdf file', () => { contentServicesPage.checkAcsContainer(); + viewerPage.viewFile(pdfFile.name); + viewerPage.checkFileContent('1', pdfFile.firstPageText); viewerPage.checkCloseButtonIsDisplayed(); - viewerPage.checkFileThumbnailIsDisplayed(); viewerPage.checkFileNameIsDisplayed(pdfFile.name); + viewerPage.checkFileThumbnailIsDisplayed(); viewerPage.checkDownloadButtonIsDisplayed(); + viewerPage.checkFullScreenButtonIsDisplayed(); viewerPage.checkInfoButtonIsDisplayed(); viewerPage.checkPreviousPageButtonIsDisplayed(); viewerPage.checkNextPageButtonIsDisplayed(); viewerPage.checkPageSelectorInputIsDisplayed('1'); + viewerPage.checkPercentageIsDisplayed(); viewerPage.checkZoomInButtonIsDisplayed(); viewerPage.checkZoomOutButtonIsDisplayed(); viewerPage.checkScalePageButtonIsDisplayed(); }); - it('2. Use viewer pagination', () => { + it('[C260040] Should be able to change pages and zoom when .pdf file is open', () => { viewerPage.clickNextPageButton(); viewerPage.checkFileContent('2', pdfFile.secondPageText); viewerPage.checkPageSelectorInputIsDisplayed('2'); + viewerPage.clickPreviousPageButton(); viewerPage.checkFileContent('1', pdfFile.firstPageText); viewerPage.checkPageSelectorInputIsDisplayed('1'); - viewerPage.enterPage(pdfFile.lastPageNumber); - viewerPage.checkFileContent(pdfFile.lastPageNumber, pdfFile.lastPageText); - viewerPage.checkPageSelectorInputIsDisplayed(pdfFile.lastPageNumber); - viewerPage.canvasHeight().then(function (value) { - defaultHeight = parseInt(value, 10); - }); - viewerPage.canvasWidth().then(function (value) { - defaultWidth = parseInt(value, 10); - }); + viewerPage.clearPageNumber(); + viewerPage.checkPageSelectorInputIsDisplayed(''); + + zoom = viewerPage.getZoom(); viewerPage.clickZoomInButton(); - viewerPage.canvasHeight().then(function (value) { - zoomedInHeight = parseInt(value, 10); - expect(zoomedInHeight).toBeGreaterThan(defaultHeight); - }); - viewerPage.canvasWidth().then(function (value) { - zoomedInWidth = parseInt(value, 10); - expect(zoomedInWidth).toBeGreaterThan(defaultWidth); - }); - viewerPage.clickScalePageButton(); - viewerPage.canvasHeight().then(function (value) { - scaledHeight = parseInt(value, 10); - expect(scaledHeight).toEqual(defaultHeight); - }); - viewerPage.canvasWidth().then(function (value) { - scaledWidth = parseInt(value, 10); - expect(scaledWidth).toEqual(defaultWidth); - }); - viewerPage.clickZoomOutButton(); - viewerPage.canvasHeight().then(function (value) { - zoomedOutHeight = parseInt(value, 10); - expect(zoomedOutHeight).toBeLessThan(defaultHeight); - }); - viewerPage.canvasWidth().then(function (value) { - zoomedOutWidth = parseInt(value, 10); - expect(zoomedOutWidth).toBeLessThan(defaultWidth); - }); - }); + viewerPage.checkZoomedIn(zoom); + + zoom = viewerPage.getZoom(); + viewerPage.clickZoomOutButton(); + viewerPage.checkZoomedOut(zoom); - it('3. Use viewer toolbar', () => { - viewerPage.clickDownloadButton(); - viewerPage.clickInfoButton(); - viewerPage.checkInfoSideBarIsDisplayed(); - viewerPage.clickInfoButton(); - viewerPage.checkInfoSideBarIsNotDisplayed(); - expect(Util.fileExists(downloadedPdfFile, 10)).toBe(true); viewerPage.clickCloseButton(); }); - it('4. Open viewer for a .jpg file', () => { + it('[C260042] Should be able to download, open full-screen and Info container from the Viewer', () => { viewerPage.viewFile(jpgFile.name); - viewerPage.clickInfoButton(); - viewerPage.checkInfoSideBarIsDisplayed(); - viewerPage.clickInfoButton(); - viewerPage.checkInfoSideBarIsNotDisplayed(); + viewerPage.checkImgContainerIsDisplayed(); + + viewerPage.checkFullScreenButtonIsDisplayed(); + viewerPage.clickFullScreenButton(); + + viewerPage.exitFullScreen(); + viewerPage.checkDownloadButtonIsDisplayed(); viewerPage.clickDownloadButton(); - viewerPage.checkFileThumbnailIsDisplayed(); - viewerPage.checkFileNameIsDisplayed(jpgFile.name); - expect(Util.fileExists(downloadedJpgFile, 10)).toBe(true); + viewerPage.clickCloseButton(); }); - it('5. Open viewer for a .ppt file converted to .pdf', () => { + it('[C260052] Should display image, toolbar and pagination when opening a .jpg file', () => { + viewerPage.viewFile(jpgFile.name); + viewerPage.checkImgContainerIsDisplayed(); + + viewerPage.checkCloseButtonIsDisplayed(); + viewerPage.checkFileNameIsDisplayed(jpgFile.name); + viewerPage.checkFileThumbnailIsDisplayed(); + viewerPage.checkDownloadButtonIsDisplayed(); + viewerPage.checkFullScreenButtonIsDisplayed(); + viewerPage.checkInfoButtonIsDisplayed(); + viewerPage.checkZoomInButtonIsDisplayed(); + viewerPage.checkZoomOutButtonIsDisplayed(); + viewerPage.checkPercentageIsDisplayed(); + viewerPage.checkRotateLeftButtonIsDisplayed(); + viewerPage.checkRotateRightButtonIsDisplayed(); + viewerPage.checkScaleImgButtonIsDisplayed(); + }); + + it('[C260483] Should be able to zoom and rotate image when .jpg file is open', () => { + zoom = viewerPage.getZoom(); + viewerPage.clickZoomInButton(); + viewerPage.checkZoomedIn(zoom); + + zoom = viewerPage.getZoom(); + viewerPage.clickZoomOutButton(); + viewerPage.checkZoomedOut(zoom); + + viewerPage.clickRotateLeftButton(); + viewerPage.checkRotation('transform: scale(1, 1) rotate(-90deg) translate(0px, 0px);'); + + viewerPage.clickScaleImgButton(); + viewerPage.checkRotation('transform: scale(1, 1) rotate(0deg) translate(0px, 0px);'); + + viewerPage.clickRotateRightButton(); + viewerPage.checkRotation('transform: scale(1, 1) rotate(90deg) translate(0px, 0px);'); + + viewerPage.clickCloseButton(); + }); + + it('[C279922] Open viewer for a .ppt file', () => { viewerPage.viewFile(pptFile.name); viewerPage.checkFileContent('1', pptFile.firstPageText); viewerPage.checkCloseButtonIsDisplayed(); @@ -235,32 +237,53 @@ describe('Content Services Viewer', () => { viewerPage.clickCloseButton(); }); - it('6. Open viewer for an unsupported file', () => { - viewerPage.viewFile(pagesFile.name); - viewerPage.clickInfoButton(); - viewerPage.checkInfoSideBarIsDisplayed(); - viewerPage.clickInfoButton(); - viewerPage.checkInfoSideBarIsNotDisplayed(); + it('[C260053] Should display first page, toolbar and pagination when opening a .docx file', () => { + contentServicesPage.checkAcsContainer(); + + viewerPage.viewFile(docxFile.name); + + viewerPage.checkFileContent('1', docxFile.firstPageText); + viewerPage.checkCloseButtonIsDisplayed(); viewerPage.checkFileThumbnailIsDisplayed(); + viewerPage.checkFileNameIsDisplayed(docxFile.name); viewerPage.checkDownloadButtonIsDisplayed(); - viewerPage.clickDownloadButton(); - expect(Util.fileExists(downloadedPagesFile, 10)).toBe(true); - viewerPage.checkFileNameIsDisplayed(pagesFile.name); + viewerPage.checkInfoButtonIsDisplayed(); + viewerPage.checkPreviousPageButtonIsDisplayed(); + viewerPage.checkNextPageButtonIsDisplayed(); + viewerPage.checkPageSelectorInputIsDisplayed('1'); + viewerPage.checkZoomInButtonIsDisplayed(); + viewerPage.checkZoomOutButtonIsDisplayed(); + viewerPage.checkScalePageButtonIsDisplayed(); viewerPage.clickCloseButton(); }); - it('7. Open viewer for a .mp4 file', () => { + it('[C260054] Should display "Preview couldn\'t be loaded" and viewer toolbar when opening an unsupported file', () => { + viewerPage.viewFile(pagesFile.name); + + viewerPage.checkCloseButtonIsDisplayed(); + viewerPage.checkFileNameIsDisplayed(pagesFile.name); + viewerPage.checkFileThumbnailIsDisplayed(); + viewerPage.checkDownloadButtonIsDisplayed(); + viewerPage.checkInfoButtonIsDisplayed(); + + viewerPage.checkZoomInButtonIsNotDisplayed(); + + viewerPage.clickCloseButton(); + }); + + it('[C260056] Should display video and viewer toolbar when opening a media file', () => { viewerPage.viewFile(mp4File.name); + viewerPage.checkMediaPlayerContainerIsDisplayed(); - viewerPage.clickDownloadButton(); - expect(Util.fileExists(downloadedMp4File, 10)).toBe(true); + viewerPage.checkCloseButtonIsDisplayed(); viewerPage.checkFileThumbnailIsDisplayed(); viewerPage.checkFileNameIsDisplayed(mp4File.name); - viewerPage.clickInfoButton(); - viewerPage.checkInfoSideBarIsDisplayed(); - viewerPage.clickInfoButton(); - viewerPage.checkInfoSideBarIsNotDisplayed(); viewerPage.checkDownloadButtonIsDisplayed(); + viewerPage.checkInfoButtonIsDisplayed(); + viewerPage.checkFullScreenButtonIsNotDisplayed(); + + viewerPage.checkZoomInButtonIsNotDisplayed(); + viewerPage.clickCloseButton(); }); }); diff --git a/git b/git new file mode 100644 index 0000000000..e69de29bb2 diff --git a/lib/core/viewer/components/imgViewer.component.html b/lib/core/viewer/components/imgViewer.component.html index 8a819b1561..d67291f40a 100644 --- a/lib/core/viewer/components/imgViewer.component.html +++ b/lib/core/viewer/components/imgViewer.component.html @@ -1,4 +1,4 @@ -
+
@@ -22,7 +22,7 @@ zoom_out -
+
{{ currentScaleText }}
diff --git a/lib/core/viewer/components/pdfViewer.component.html b/lib/core/viewer/components/pdfViewer.component.html index f4a0692a15..eab161b6b0 100644 --- a/lib/core/viewer/components/pdfViewer.component.html +++ b/lib/core/viewer/components/pdfViewer.component.html @@ -66,13 +66,14 @@ {{ 'ADF_VIEWER.PAGE_LABEL.SHOWING' | translate }} {{ 'ADF_VIEWER.PAGE_LABEL.OF' | translate }} {{ totalPages }}
-
+
{{ currentScaleText }}
diff --git a/lib/core/viewer/components/viewer.component.html b/lib/core/viewer/components/viewer.component.html index 5dce925adf..e1e42e29a1 100644 --- a/lib/core/viewer/components/viewer.component.html +++ b/lib/core/viewer/components/viewer.component.html @@ -11,7 +11,7 @@ - + {{ displayName }} @@ -61,7 +61,7 @@ *ngIf="allowDownload" mat-icon-button title="{{ 'ADF_VIEWER.ACTIONS.DOWNLOAD' | translate }}" - data-automation-id="toolbar-download" + data-automation-id="adf-toolbar-download" (click)="downloadContent()"> file_download @@ -70,7 +70,7 @@ *ngIf="allowPrint" mat-icon-button title="{{ 'ADF_VIEWER.ACTIONS.PRINT' | translate }}" - data-automation-id="toolbar-print" + data-automation-id="adf-toolbar-print" (click)="printContent()"> print @@ -79,7 +79,7 @@ *ngIf="allowShare" mat-icon-button title="{{ 'ADF_VIEWER.ACTIONS.SHARE' | translate }}" - data-automation-id="toolbar-share" + data-automation-id="adf-toolbar-share" (click)="shareContent()"> share @@ -88,7 +88,7 @@ *ngIf="viewerType !== 'media' && allowFullScreen" mat-icon-button title="{{ 'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate }}" - data-automation-id="toolbar-fullscreen" + data-automation-id="adf-toolbar-fullscreen" (click)="enterFullScreen()"> fullscreen @@ -98,7 +98,7 @@ mat-icon-button [matMenuTriggerFor]="mnuMoreActions" title="{{ 'ADF_VIEWER.ACTIONS.MORE_ACTIONS' | translate }}" - data-automation-id="toolbar-more-actions"> + data-automation-id="adf-toolbar-more-actions"> more_vert @@ -112,7 +112,7 @@