From 06f57a605bb94433cca5b1a73a11e7878e37acb5 Mon Sep 17 00:00:00 2001 From: Alexandra Abrudan <55090252+AleAb25@users.noreply.github.com> Date: Tue, 29 Sep 2020 16:53:46 +0100 Subject: [PATCH] [ADF-4481] e2e test for uploading an unsupported file (#6141) * [ADF-4481] e2e test for uploading an unsupported file * re-order the tests * updated e2e steps --- .../viewer-content-services-component.e2e.ts | 602 ++++++++++-------- 1 file changed, 330 insertions(+), 272 deletions(-) diff --git a/e2e/core/viewer/viewer-content-services-component.e2e.ts b/e2e/core/viewer/viewer-content-services-component.e2e.ts index 74e9f7db69..c514be2934 100644 --- a/e2e/core/viewer/viewer-content-services-component.e2e.ts +++ b/e2e/core/viewer/viewer-content-services-component.e2e.ts @@ -28,6 +28,8 @@ import { import { ContentServicesPage } from '../../core/pages/content-services.page'; import { FileModel } from '../../models/ACS/file.model'; import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { VersionManagePage } from '../pages/version-manager.page'; +import { MetadataViewPage } from '../pages/metadata-view.page'; describe('Content Services Viewer', () => { const acsUser = new UserModel(); @@ -35,6 +37,8 @@ describe('Content Services Viewer', () => { const contentServicesPage = new ContentServicesPage(); const loginPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); + const versionManagePage = new VersionManagePage(); + const metadataViewPage = new MetadataViewPage(); let zoom; @@ -69,6 +73,10 @@ describe('Content Services Viewer', () => { 'location': browser.params.resources.Files.ADF_DOCUMENTS.UNSUPPORTED.file_path, 'name': browser.params.resources.Files.ADF_DOCUMENTS.UNSUPPORTED.file_name }); + const unsupportedFileByLocation = new FileModel({ + 'location': browser.params.resources.Files.ADF_DOCUMENTS.UNSUPPORTED.file_location, + 'name': browser.params.resources.Files.ADF_DOCUMENTS.UNSUPPORTED.file_name + }); const pptFile = new FileModel({ 'location': browser.params.resources.Files.ADF_DOCUMENTS.PPT.file_path, 'name': browser.params.resources.Files.ADF_DOCUMENTS.PPT.file_name, @@ -123,291 +131,341 @@ describe('Content Services Viewer', () => { await navigationBarPage.clickLogoutButton(); }); - it('[C260038] Should display first page, toolbar and pagination when opening a .pdf file', async () => { - await viewerPage.viewFile(pdfFile.name); - await viewerPage.checkZoomInButtonIsDisplayed(); + describe('Usual type files', () => { + it('[C260038] Should display first page, toolbar and pagination when opening a .pdf file', async () => { + await viewerPage.viewFile(pdfFile.name); + await viewerPage.checkZoomInButtonIsDisplayed(); - await viewerPage.checkFileContent('1', pdfFile.firstPageText); - await viewerPage.checkCloseButtonIsDisplayed(); - await viewerPage.checkFileNameIsDisplayed(pdfFile.name); - await viewerPage.checkFileThumbnailIsDisplayed(); - await viewerPage.checkDownloadButtonIsDisplayed(); - await viewerPage.checkFullScreenButtonIsDisplayed(); - await viewerPage.checkInfoButtonIsDisplayed(); - await viewerPage.checkPreviousPageButtonIsDisplayed(); - await viewerPage.checkNextPageButtonIsDisplayed(); - await viewerPage.checkPageSelectorInputIsDisplayed('1'); - await viewerPage.checkPercentageIsDisplayed(); - await viewerPage.checkZoomInButtonIsDisplayed(); - await viewerPage.checkZoomOutButtonIsDisplayed(); - await viewerPage.checkScalePageButtonIsDisplayed(); + await viewerPage.checkFileContent('1', pdfFile.firstPageText); + await viewerPage.checkCloseButtonIsDisplayed(); + await viewerPage.checkFileNameIsDisplayed(pdfFile.name); + await viewerPage.checkFileThumbnailIsDisplayed(); + await viewerPage.checkDownloadButtonIsDisplayed(); + await viewerPage.checkFullScreenButtonIsDisplayed(); + await viewerPage.checkInfoButtonIsDisplayed(); + await viewerPage.checkPreviousPageButtonIsDisplayed(); + await viewerPage.checkNextPageButtonIsDisplayed(); + await viewerPage.checkPageSelectorInputIsDisplayed('1'); + await viewerPage.checkPercentageIsDisplayed(); + await viewerPage.checkZoomInButtonIsDisplayed(); + await viewerPage.checkZoomOutButtonIsDisplayed(); + await viewerPage.checkScalePageButtonIsDisplayed(); + + await viewerPage.clickCloseButton(); + }); + + it('[C260040] Should be able to change pages and zoom when .pdf file is open', async () => { + await viewerPage.viewFile(pdfFile.name); + await viewerPage.checkZoomInButtonIsDisplayed(); + + await viewerPage.checkFileContent('1', pdfFile.firstPageText); + await viewerPage.clickNextPageButton(); + await viewerPage.checkFileContent('2', pdfFile.secondPageText); + await viewerPage.checkPageSelectorInputIsDisplayed('2'); + + await viewerPage.clickPreviousPageButton(); + await viewerPage.checkFileContent('1', pdfFile.firstPageText); + await viewerPage.checkPageSelectorInputIsDisplayed('1'); + + await viewerPage.clearPageNumber(); + await viewerPage.checkPageSelectorInputIsDisplayed(''); + + const initialWidth = await viewerPage.getCanvasWidth(); + const initialHeight = await viewerPage.getCanvasHeight(); + + await viewerPage.clickZoomInButton(); + await expect(+(await viewerPage.getCanvasWidth())).toBeGreaterThan(+initialWidth); + await expect(+(await viewerPage.getCanvasHeight())).toBeGreaterThan(+initialHeight); + + await viewerPage.clickActualSize(); + await expect(+(await viewerPage.getCanvasWidth())).toEqual(+initialWidth); + await expect(+(await viewerPage.getCanvasHeight())).toEqual(+initialHeight); + + await viewerPage.clickZoomOutButton(); + await expect(+(await viewerPage.getCanvasWidth())).toBeLessThan(+initialWidth); + await expect(+(await viewerPage.getCanvasHeight())).toBeLessThan(+initialHeight); + + await viewerPage.clickCloseButton(); + }); + + it('[C260042] Should be able to download, open full-screen and Info container from the Viewer', async () => { + await viewerPage.viewFile(jpgFile.name); + await viewerPage.checkZoomInButtonIsDisplayed(); + + await viewerPage.checkImgContainerIsDisplayed(); + + await viewerPage.checkFullScreenButtonIsDisplayed(); + await viewerPage.clickFullScreenButton(); + + await viewerPage.exitFullScreen(); + + await viewerPage.checkDownloadButtonIsDisplayed(); + await viewerPage.clickDownloadButton(); + + await viewerPage.clickCloseButton(); + }); + + it('[C260052] Should display image, toolbar and pagination when opening a .jpg file', async () => { + await viewerPage.viewFile(jpgFile.name); + await viewerPage.checkZoomInButtonIsDisplayed(); + + await viewerPage.checkImgContainerIsDisplayed(); + + await viewerPage.checkCloseButtonIsDisplayed(); + await viewerPage.checkFileNameIsDisplayed(jpgFile.name); + await viewerPage.checkFileThumbnailIsDisplayed(); + await viewerPage.checkDownloadButtonIsDisplayed(); + await viewerPage.checkFullScreenButtonIsDisplayed(); + await viewerPage.checkInfoButtonIsDisplayed(); + await viewerPage.checkZoomInButtonIsDisplayed(); + await viewerPage.checkZoomOutButtonIsDisplayed(); + await viewerPage.checkPercentageIsDisplayed(); + await viewerPage.checkRotateLeftButtonIsDisplayed(); + await viewerPage.checkRotateRightButtonIsDisplayed(); + await viewerPage.checkScaleImgButtonIsDisplayed(); + + await viewerPage.clickCloseButton(); + }); + + it('[C260483] Should be able to zoom and rotate image when .jpg file is open', async () => { + await viewerPage.viewFile(jpgFile.name); + await viewerPage.checkZoomInButtonIsDisplayed(); + + await viewerPage.checkPercentageIsDisplayed(); + + zoom = await viewerPage.getZoom(); + await viewerPage.clickZoomInButton(); + await viewerPage.checkZoomedIn(zoom); + + zoom = await viewerPage.getZoom(); + await viewerPage.clickZoomOutButton(); + await viewerPage.checkZoomedOut(zoom); + + await viewerPage.clickRotateLeftButton(); + await viewerPage.checkRotation('transform: scale(1, 1) rotate(-90deg) translate(0px, 0px);'); + + await viewerPage.clickScaleImgButton(); + await viewerPage.checkRotation('transform: scale(1, 1) rotate(0deg) translate(0px, 0px);'); + + await viewerPage.clickRotateRightButton(); + await viewerPage.checkRotation('transform: scale(1, 1) rotate(90deg) translate(0px, 0px);'); + + await viewerPage.clickCloseButton(); + }); + + it('[C279922] Should display first page, toolbar and pagination when opening a .ppt file', async () => { + await viewerPage.viewFile(pptFile.name); + await viewerPage.checkZoomInButtonIsDisplayed(); + + await viewerPage.checkFileContent('1', pptFile.firstPageText); + await viewerPage.checkCloseButtonIsDisplayed(); + await viewerPage.checkFileThumbnailIsDisplayed(); + await viewerPage.checkFileNameIsDisplayed(pptFile.name); + await viewerPage.checkDownloadButtonIsDisplayed(); + await viewerPage.checkInfoButtonIsDisplayed(); + await viewerPage.checkPreviousPageButtonIsDisplayed(); + await viewerPage.checkNextPageButtonIsDisplayed(); + await viewerPage.checkPageSelectorInputIsDisplayed('1'); + await viewerPage.checkZoomInButtonIsDisplayed(); + await viewerPage.checkZoomOutButtonIsDisplayed(); + await viewerPage.checkScalePageButtonIsDisplayed(); + + await viewerPage.clickCloseButton(); + }); + + it('[C291903] Should display the buttons in order in the adf viewer toolbar', async () => { + await viewerPage.viewFile(pdfFile.name); + await viewerPage.checkLeftSideBarIsNotDisplayed(); + await viewerPage.clickLeftSidebarButton(); + await viewerPage.checkLeftSideBarIsDisplayed(); + await viewerPage.enableMoreActionsMenu(); + await viewerPage.checkToolbarIsDisplayed(); + await expect(await viewerPage.getLastButtonTitle()).toEqual(await viewerPage.getMoreActionsMenuTitle()); + await viewerPage.clickCloseButton(); + }); + + it('[C260053] Should display first page, toolbar and pagination when opening a .docx file', async () => { + await viewerPage.viewFile(docxFile.name); + await viewerPage.checkZoomInButtonIsDisplayed(); + + await viewerPage.checkFileContent('1', docxFile.firstPageText); + await viewerPage.checkCloseButtonIsDisplayed(); + await viewerPage.checkFileThumbnailIsDisplayed(); + await viewerPage.checkFileNameIsDisplayed(docxFile.name); + await viewerPage.checkDownloadButtonIsDisplayed(); + await viewerPage.checkInfoButtonIsDisplayed(); + await viewerPage.checkPreviousPageButtonIsDisplayed(); + await viewerPage.checkNextPageButtonIsDisplayed(); + await viewerPage.checkPageSelectorInputIsDisplayed('1'); + await viewerPage.checkZoomInButtonIsDisplayed(); + await viewerPage.checkZoomOutButtonIsDisplayed(); + await viewerPage.checkScalePageButtonIsDisplayed(); + + await viewerPage.clickCloseButton(); + }); + + it('[C260054] Should display Preview could not be loaded and viewer toolbar when opening an unsupported file', async () => { + await viewerPage.viewFile(unsupportedFile.name); + + await viewerPage.checkCloseButtonIsDisplayed(); + await viewerPage.checkFileNameIsDisplayed(unsupportedFile.name); + await viewerPage.checkFileThumbnailIsDisplayed(); + await viewerPage.checkDownloadButtonIsDisplayed(); + await viewerPage.checkInfoButtonIsDisplayed(); + + await viewerPage.checkZoomInButtonIsNotDisplayed(); + await viewerPage.checkUnknownFormatIsDisplayed(); + await expect(await viewerPage.getUnknownFormatMessage()).toBe('Couldn\'t load preview. Unknown format.'); + + await viewerPage.clickCloseButton(); + }); + + it('[C260056] Should display video and viewer toolbar when opening a media file', async () => { + await viewerPage.viewFile(mp4File.name); + + await viewerPage.checkMediaPlayerContainerIsDisplayed(); + await viewerPage.checkCloseButtonIsDisplayed(); + await viewerPage.checkFileThumbnailIsDisplayed(); + await viewerPage.checkFileNameIsDisplayed(mp4File.name); + await viewerPage.checkDownloadButtonIsDisplayed(); + await viewerPage.checkInfoButtonIsDisplayed(); + await viewerPage.checkFullScreenButtonIsNotDisplayed(); + + await viewerPage.checkZoomInButtonIsNotDisplayed(); + + await viewerPage.clickCloseButton(); + }); + + it('[C261123] Should be able to preview all pages and navigate to a page when using thumbnails', async () => { + await viewerPage.viewFile(pdfFile.name); + + await viewerPage.checkZoomInButtonIsDisplayed(); + await viewerPage.checkFileContent('1', pdfFile.firstPageText); + await viewerPage.checkThumbnailsBtnIsDisplayed(); + await viewerPage.clickThumbnailsBtn(); + + await viewerPage.checkThumbnailsContentIsDisplayed(); + await viewerPage.checkThumbnailsCloseIsDisplayed(); + await viewerPage.checkAllThumbnailsDisplayed(pdfFile.lastPageNumber); + + await viewerPage.clickSecondThumbnail(); + await viewerPage.checkFileContent('2', pdfFile.secondPageText); + await viewerPage.checkCurrentThumbnailIsSelected(); + + await viewerPage.checkPreviousPageButtonIsDisplayed(); + await viewerPage.clickPreviousPageButton(); + await viewerPage.checkFileContent('1', pdfFile.firstPageText); + await viewerPage.checkCurrentThumbnailIsSelected(); + + await viewerPage.clickThumbnailsBtn(); + await viewerPage.checkThumbnailsContentIsNotDisplayed(); + await viewerPage.clickThumbnailsBtn(); + await viewerPage.checkThumbnailsCloseIsDisplayed(); + await viewerPage.clickThumbnailsClose(); + + await viewerPage.clickCloseButton(); + }); + + it('[C268105] Should display current thumbnail when getting to the page following the last visible thumbnail', async () => { + await viewerPage.viewFile(pdfFile.name); + await viewerPage.checkZoomInButtonIsDisplayed(); + + await viewerPage.checkFileContent('1', pdfFile.firstPageText); + await viewerPage.checkThumbnailsBtnIsDisplayed(); + await viewerPage.clickThumbnailsBtn(); + await viewerPage.clickLastThumbnailDisplayed(); + await viewerPage.checkCurrentThumbnailIsSelected(); + + await viewerPage.checkNextPageButtonIsDisplayed(); + await viewerPage.clickNextPageButton(); + await viewerPage.checkCurrentThumbnailIsSelected(); + + await viewerPage.clickCloseButton(); + }); + + it('[C269109] Should not be able to open thumbnail panel before the pdf is loaded', async () => { + const fileView = element.all(by.css(`#document-list-container div[data-automation-id="${pdfFile.name}"]`)).first(); + await BrowserActions.click(fileView); + await browser.actions().sendKeys(protractor.Key.ENTER).perform(); + + await viewerPage.checkThumbnailsBtnIsDisabled(); + + await viewerPage.checkCloseButtonIsDisplayed(); + await viewerPage.clickCloseButton(); + }); + + it('[C268901] Should need a password when opening a protected file', async () => { + await viewerPage.viewFile(protectedFile.name); + + await viewerPage.checkZoomInButtonIsDisplayed(); + await viewerPage.checkPasswordDialogIsDisplayed(); + await viewerPage.checkPasswordSubmitDisabledIsDisplayed(); + + await viewerPage.enterPassword('random password'); + await viewerPage.clickPasswordSubmit(); + await viewerPage.checkPasswordErrorIsDisplayed(); + await viewerPage.checkPasswordInputIsDisplayed(); + + await viewerPage.enterPassword(protectedFile.password); + await viewerPage.clickPasswordSubmit(); + await viewerPage.checkFileContent('1', protectedFile.firstPageText); + + await viewerPage.clickCloseButton(); + }); + + it('[C307985] Should close the viewer when password dialog is cancelled', async () => { + await viewerPage.viewFile(protectedFile.name); + await viewerPage.checkPasswordDialogIsDisplayed(); + await viewerPage.clickClosePasswordDialog(); + await contentServicesPage.checkContentIsDisplayed(protectedFile.name); + }); - await viewerPage.clickCloseButton(); }); - it('[C260040] Should be able to change pages and zoom when .pdf file is open', async () => { - await viewerPage.viewFile(pdfFile.name); - await viewerPage.checkZoomInButtonIsDisplayed(); + describe('Viewer - version update with unsupported file', () => { + it('[C587084] Should display the preview for an unsupported file', async () => { + await changeFileNameInViewer(unsupportedFile.name, 'generic-unsupported-file-1st.3DS'); + await uploadNewVersion(jpgFile.name, unsupportedFileByLocation.location); + await previewUnsupportedFile(unsupportedFileByLocation.name); - await viewerPage.checkFileContent('1', pdfFile.firstPageText); - await viewerPage.clickNextPageButton(); - await viewerPage.checkFileContent('2', pdfFile.secondPageText); - await viewerPage.checkPageSelectorInputIsDisplayed('2'); + await changeFileNameInViewer(unsupportedFileByLocation.name, 'generic-unsupported-file-2nd.3DS'); + await uploadNewVersion(pdfFile.name, unsupportedFileByLocation.location); + await previewUnsupportedFile(unsupportedFileByLocation.name); - await viewerPage.clickPreviousPageButton(); - await viewerPage.checkFileContent('1', pdfFile.firstPageText); - await viewerPage.checkPageSelectorInputIsDisplayed('1'); - - await viewerPage.clearPageNumber(); - await viewerPage.checkPageSelectorInputIsDisplayed(''); - - const initialWidth = await viewerPage.getCanvasWidth(); - const initialHeight = await viewerPage.getCanvasHeight(); - - await viewerPage.clickZoomInButton(); - await expect(+(await viewerPage.getCanvasWidth())).toBeGreaterThan(+initialWidth); - await expect(+(await viewerPage.getCanvasHeight())).toBeGreaterThan(+initialHeight); - - await viewerPage.clickActualSize(); - await expect(+(await viewerPage.getCanvasWidth())).toEqual(+initialWidth); - await expect(+(await viewerPage.getCanvasHeight())).toEqual(+initialHeight); - - await viewerPage.clickZoomOutButton(); - await expect(+(await viewerPage.getCanvasWidth())).toBeLessThan(+initialWidth); - await expect(+(await viewerPage.getCanvasHeight())).toBeLessThan(+initialHeight); - - await viewerPage.clickCloseButton(); + await changeFileNameInViewer(unsupportedFileByLocation.name, 'generic-unsupported-file-3rd.3DS'); + await uploadNewVersion(mp4File.name, unsupportedFileByLocation.location); + await previewUnsupportedFile(unsupportedFileByLocation.name); + }); }); - it('[C260042] Should be able to download, open full-screen and Info container from the Viewer', async () => { - await viewerPage.viewFile(jpgFile.name); - await viewerPage.checkZoomInButtonIsDisplayed(); - - await viewerPage.checkImgContainerIsDisplayed(); - - await viewerPage.checkFullScreenButtonIsDisplayed(); - await viewerPage.clickFullScreenButton(); - - await viewerPage.exitFullScreen(); - - await viewerPage.checkDownloadButtonIsDisplayed(); - await viewerPage.clickDownloadButton(); - + async function uploadNewVersion(originalFileName: string, newVersionLocation: string): Promise { + await viewerPage.viewFile(originalFileName); await viewerPage.clickCloseButton(); - }); + await contentServicesPage.versionManagerContent(originalFileName); + await versionManagePage.checkUploadNewVersionsButtonIsDisplayed(); + await BrowserActions.click(versionManagePage.showNewVersionButton); + await versionManagePage.uploadNewVersionFile(newVersionLocation); + await versionManagePage.closeActionsMenu(); + await versionManagePage.closeVersionDialog(); + await browser.refresh(); + } - it('[C260052] Should display image, toolbar and pagination when opening a .jpg file', async () => { - await viewerPage.viewFile(jpgFile.name); - await viewerPage.checkZoomInButtonIsDisplayed(); - - await viewerPage.checkImgContainerIsDisplayed(); - - await viewerPage.checkCloseButtonIsDisplayed(); - await viewerPage.checkFileNameIsDisplayed(jpgFile.name); - await viewerPage.checkFileThumbnailIsDisplayed(); - await viewerPage.checkDownloadButtonIsDisplayed(); - await viewerPage.checkFullScreenButtonIsDisplayed(); - await viewerPage.checkInfoButtonIsDisplayed(); - await viewerPage.checkZoomInButtonIsDisplayed(); - await viewerPage.checkZoomOutButtonIsDisplayed(); - await viewerPage.checkPercentageIsDisplayed(); - await viewerPage.checkRotateLeftButtonIsDisplayed(); - await viewerPage.checkRotateRightButtonIsDisplayed(); - await viewerPage.checkScaleImgButtonIsDisplayed(); - - await viewerPage.clickCloseButton(); - }); - - it('[C260483] Should be able to zoom and rotate image when .jpg file is open', async () => { - await viewerPage.viewFile(jpgFile.name); - await viewerPage.checkZoomInButtonIsDisplayed(); - - await viewerPage.checkPercentageIsDisplayed(); - - zoom = await viewerPage.getZoom(); - await viewerPage.clickZoomInButton(); - await viewerPage.checkZoomedIn(zoom); - - zoom = await viewerPage.getZoom(); - await viewerPage.clickZoomOutButton(); - await viewerPage.checkZoomedOut(zoom); - - await viewerPage.clickRotateLeftButton(); - await viewerPage.checkRotation('transform: scale(1, 1) rotate(-90deg) translate(0px, 0px);'); - - await viewerPage.clickScaleImgButton(); - await viewerPage.checkRotation('transform: scale(1, 1) rotate(0deg) translate(0px, 0px);'); - - await viewerPage.clickRotateRightButton(); - await viewerPage.checkRotation('transform: scale(1, 1) rotate(90deg) translate(0px, 0px);'); - - await viewerPage.clickCloseButton(); - }); - - it('[C279922] Should display first page, toolbar and pagination when opening a .ppt file', async () => { - await viewerPage.viewFile(pptFile.name); - await viewerPage.checkZoomInButtonIsDisplayed(); - - await viewerPage.checkFileContent('1', pptFile.firstPageText); - await viewerPage.checkCloseButtonIsDisplayed(); - await viewerPage.checkFileThumbnailIsDisplayed(); - await viewerPage.checkFileNameIsDisplayed(pptFile.name); - await viewerPage.checkDownloadButtonIsDisplayed(); - await viewerPage.checkInfoButtonIsDisplayed(); - await viewerPage.checkPreviousPageButtonIsDisplayed(); - await viewerPage.checkNextPageButtonIsDisplayed(); - await viewerPage.checkPageSelectorInputIsDisplayed('1'); - await viewerPage.checkZoomInButtonIsDisplayed(); - await viewerPage.checkZoomOutButtonIsDisplayed(); - await viewerPage.checkScalePageButtonIsDisplayed(); - - await viewerPage.clickCloseButton(); - }); - - it('[C291903] Should display the buttons in order in the adf viewer toolbar', async () => { - await viewerPage.viewFile(pdfFile.name); - await viewerPage.checkLeftSideBarIsNotDisplayed(); - await viewerPage.clickLeftSidebarButton(); - await viewerPage.checkLeftSideBarIsDisplayed(); - await viewerPage.enableMoreActionsMenu(); - await viewerPage.checkToolbarIsDisplayed(); - await expect(await viewerPage.getLastButtonTitle()).toEqual(await viewerPage.getMoreActionsMenuTitle()); - await viewerPage.clickCloseButton(); - }); - - it('[C260053] Should display first page, toolbar and pagination when opening a .docx file', async () => { - await viewerPage.viewFile(docxFile.name); - await viewerPage.checkZoomInButtonIsDisplayed(); - - await viewerPage.checkFileContent('1', docxFile.firstPageText); - await viewerPage.checkCloseButtonIsDisplayed(); - await viewerPage.checkFileThumbnailIsDisplayed(); - await viewerPage.checkFileNameIsDisplayed(docxFile.name); - await viewerPage.checkDownloadButtonIsDisplayed(); - await viewerPage.checkInfoButtonIsDisplayed(); - await viewerPage.checkPreviousPageButtonIsDisplayed(); - await viewerPage.checkNextPageButtonIsDisplayed(); - await viewerPage.checkPageSelectorInputIsDisplayed('1'); - await viewerPage.checkZoomInButtonIsDisplayed(); - await viewerPage.checkZoomOutButtonIsDisplayed(); - await viewerPage.checkScalePageButtonIsDisplayed(); - - await viewerPage.clickCloseButton(); - }); - - it('[C260054] Should display Preview could not be loaded and viewer toolbar when opening an unsupported file', async () => { - await viewerPage.viewFile(unsupportedFile.name); - - await viewerPage.checkCloseButtonIsDisplayed(); - await viewerPage.checkFileNameIsDisplayed(unsupportedFile.name); - await viewerPage.checkFileThumbnailIsDisplayed(); - await viewerPage.checkDownloadButtonIsDisplayed(); - await viewerPage.checkInfoButtonIsDisplayed(); - - await viewerPage.checkZoomInButtonIsNotDisplayed(); + async function previewUnsupportedFile(unsupportedFileName: string): Promise { + await viewerPage.viewFile(unsupportedFileName); await viewerPage.checkUnknownFormatIsDisplayed(); await expect(await viewerPage.getUnknownFormatMessage()).toBe('Couldn\'t load preview. Unknown format.'); - await viewerPage.clickCloseButton(); - }); - - it('[C260056] Should display video and viewer toolbar when opening a media file', async () => { - await viewerPage.viewFile(mp4File.name); - - await viewerPage.checkMediaPlayerContainerIsDisplayed(); - await viewerPage.checkCloseButtonIsDisplayed(); - await viewerPage.checkFileThumbnailIsDisplayed(); - await viewerPage.checkFileNameIsDisplayed(mp4File.name); - await viewerPage.checkDownloadButtonIsDisplayed(); - await viewerPage.checkInfoButtonIsDisplayed(); - await viewerPage.checkFullScreenButtonIsNotDisplayed(); - - await viewerPage.checkZoomInButtonIsNotDisplayed(); + } + async function changeFileNameInViewer(fileName: string, newName: string): Promise { + await viewerPage.viewFile(fileName); + await viewerPage.clickInfoButton(); + await viewerPage.checkInfoSideBarIsDisplayed(); + await viewerPage.clickOnTab('Properties'); + await viewerPage.checkTabIsActive('Properties'); + await metadataViewPage.editIconClick(); + await metadataViewPage.enterPropertyText('name', newName); + await metadataViewPage.clickSaveMetadata(); await viewerPage.clickCloseButton(); - }); - - it('[C261123] Should be able to preview all pages and navigate to a page when using thumbnails', async () => { - await viewerPage.viewFile(pdfFile.name); - - await viewerPage.checkZoomInButtonIsDisplayed(); - await viewerPage.checkFileContent('1', pdfFile.firstPageText); - await viewerPage.checkThumbnailsBtnIsDisplayed(); - await viewerPage.clickThumbnailsBtn(); - - await viewerPage.checkThumbnailsContentIsDisplayed(); - await viewerPage.checkThumbnailsCloseIsDisplayed(); - await viewerPage.checkAllThumbnailsDisplayed(pdfFile.lastPageNumber); - - await viewerPage.clickSecondThumbnail(); - await viewerPage.checkFileContent('2', pdfFile.secondPageText); - await viewerPage.checkCurrentThumbnailIsSelected(); - - await viewerPage.checkPreviousPageButtonIsDisplayed(); - await viewerPage.clickPreviousPageButton(); - await viewerPage.checkFileContent('1', pdfFile.firstPageText); - await viewerPage.checkCurrentThumbnailIsSelected(); - - await viewerPage.clickThumbnailsBtn(); - await viewerPage.checkThumbnailsContentIsNotDisplayed(); - await viewerPage.clickThumbnailsBtn(); - await viewerPage.checkThumbnailsCloseIsDisplayed(); - await viewerPage.clickThumbnailsClose(); - - await viewerPage.clickCloseButton(); - }); - - it('[C268105] Should display current thumbnail when getting to the page following the last visible thumbnail', async () => { - await viewerPage.viewFile(pdfFile.name); - await viewerPage.checkZoomInButtonIsDisplayed(); - - await viewerPage.checkFileContent('1', pdfFile.firstPageText); - await viewerPage.checkThumbnailsBtnIsDisplayed(); - await viewerPage.clickThumbnailsBtn(); - await viewerPage.clickLastThumbnailDisplayed(); - await viewerPage.checkCurrentThumbnailIsSelected(); - - await viewerPage.checkNextPageButtonIsDisplayed(); - await viewerPage.clickNextPageButton(); - await viewerPage.checkCurrentThumbnailIsSelected(); - - await viewerPage.clickCloseButton(); - }); - - it('[C269109] Should not be able to open thumbnail panel before the pdf is loaded', async () => { - const fileView = element.all(by.css(`#document-list-container div[data-automation-id="${pdfFile.name}"]`)).first(); - await BrowserActions.click(fileView); - await browser.actions().sendKeys(protractor.Key.ENTER).perform(); - - await viewerPage.checkThumbnailsBtnIsDisabled(); - - await viewerPage.checkCloseButtonIsDisplayed(); - await viewerPage.clickCloseButton(); - }); - - it('[C268901] Should need a password when opening a protected file', async () => { - await viewerPage.viewFile(protectedFile.name); - - await viewerPage.checkZoomInButtonIsDisplayed(); - await viewerPage.checkPasswordDialogIsDisplayed(); - await viewerPage.checkPasswordSubmitDisabledIsDisplayed(); - - await viewerPage.enterPassword('random password'); - await viewerPage.clickPasswordSubmit(); - await viewerPage.checkPasswordErrorIsDisplayed(); - await viewerPage.checkPasswordInputIsDisplayed(); - - await viewerPage.enterPassword(protectedFile.password); - await viewerPage.clickPasswordSubmit(); - await viewerPage.checkFileContent('1', protectedFile.firstPageText); - - await viewerPage.clickCloseButton(); - }); - - it('[C307985] Should close the viewer when password dialog is cancelled', async () => { - await viewerPage.viewFile(protectedFile.name); - await viewerPage.checkPasswordDialogIsDisplayed(); - await viewerPage.clickClosePasswordDialog(); - await contentServicesPage.checkContentIsDisplayed(protectedFile.name); - }); + } });