[ADF-3333] Test for Viewer - Part 3 (#3927)

* [ADF-3333] Test for Viewer - Part 3

* Fixing failing test

* remove async not necessary

* fix lint
This commit is contained in:
Marouan Bentaleb
2018-11-28 00:22:42 +00:00
committed by Eugenio Romano
parent 94905d1065
commit cc7b9230ee
11 changed files with 338 additions and 125 deletions
+74 -6
View File
@@ -21,6 +21,8 @@ import { LoginPage } from '../../pages/adf/loginPage';
import { ViewerPage } from '../../pages/adf/viewerPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import ContentListPage = require('../../pages/adf/dialog/contentList');
import { ShareDialog } from '../../pages/adf/dialog/shareDialog';
import resources = require('../../util/resources');
import Util = require('../../util/util');
@@ -32,6 +34,7 @@ import AcsUserModel = require('../../models/ACS/acsUserModel');
import AlfrescoApi = require('alfresco-js-api-node');
import { UploadActions } from '../../actions/ACS/upload.actions';
import { browser } from 'protractor';
describe('Viewer', () => {
@@ -43,6 +46,8 @@ describe('Viewer', () => {
let site;
let acsUser = new AcsUserModel();
let pngFileUploaded;
const contentList = new ContentListPage();
const shareDialog = new ShareDialog();
let pngFileInfo = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.PNG.file_name,
@@ -111,6 +116,19 @@ describe('Viewer', () => {
done();
});
it('[C272813] Should be redirected to site when opening and closing a file in a site', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
navigationBarPage.goToSite(site);
contentServicesPage.checkAcsContainer();
viewerPage.viewFile(pngFileUploaded.entry.name);
viewerPage.checkImgViewerIsDisplayed();
viewerPage.clickCloseButton();
});
describe('Archive Folder Uploaded', () => {
let uploadedArchives;
let archiveFolderUploaded;
@@ -355,14 +373,64 @@ describe('Viewer', () => {
});
it('[C272813] Should be redirected to site when opening and closing a file in a site', () => {
navigationBarPage.goToSite(site);
viewerPage.checkDatatableHeaderIsDisplayed();
describe('Display files via API', () => {
viewerPage.viewFile(pngFileUploaded.entry.name);
let wordFileInfo = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.DOCX_SUPPORTED.file_name,
'location': resources.Files.ADF_DOCUMENTS.DOCX_SUPPORTED.file_location
});
viewerPage.checkImgViewerIsDisplayed();
let pngFileShared, wordFileUploaded;
viewerPage.clickCloseButton();
beforeAll(async (done) => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
wordFileUploaded = await uploadActions.uploadFile(this.alfrescoJsApi, wordFileInfo.location, wordFileInfo.name, '-my-');
pngFileShared = await this.alfrescoJsApi.core.sharedlinksApi.addSharedLink({'nodeId': pngFileUploaded.entry.id});
done();
});
afterAll(async (done) => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, wordFileUploaded.entry.id);
done();
});
beforeEach(() => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
});
it('[C260105] Should be able to open an image file shared via API', () => {
browser.get(TestConfig.adf.url + '/preview/s/' + pngFileShared.entry.id);
viewerPage.checkImgContainerIsDisplayed();
browser.get(TestConfig.adf.url);
navigationBarPage.clickLogoutButton();
browser.get(TestConfig.adf.url + '/preview/s/' + pngFileShared.entry.id);
viewerPage.checkImgContainerIsDisplayed();
});
it('[C260106] Should be able to open a Word file shared via API', () => {
contentServicesPage.navigateToDocumentList();
contentList.clickRowToSelect(wordFileInfo.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
shareDialog.clickShareLinkButton();
browser.controlFlow().execute(async () => {
let sharedLink = await shareDialog.getShareLink();
await browser.get(sharedLink);
viewerPage.checkFileIsLoaded();
viewerPage.checkFileNameIsDisplayed(wordFileInfo.name);
await browser.get(TestConfig.adf.url);
navigationBarPage.clickLogoutButton();
await browser.get(sharedLink);
viewerPage.checkFileIsLoaded();
viewerPage.checkFileNameIsDisplayed(wordFileInfo.name);
});
});
});
});
@@ -0,0 +1,98 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import TestConfig = require('../../test.config');
import { LoginPage } from '../../pages/adf/loginPage';
import { ViewerPage } from '../../pages/adf/viewerPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import resources = require('../../util/resources');
import FileModel = require('../../models/ACS/fileModel');
import AcsUserModel = require('../../models/ACS/acsUserModel');
import AlfrescoApi = require('alfresco-js-api-node');
import { UploadActions } from '../../actions/ACS/upload.actions';
describe('Viewer', () => {
let viewerPage = new ViewerPage();
let loginPage = new LoginPage();
let contentServicesPage = new ContentServicesPage();
let uploadActions = new UploadActions();
let acsUser = new AcsUserModel();
let txtFileUploaded;
let txtFileInfo = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.TXT.file_name,
'location': resources.Files.ADF_DOCUMENTS.TXT.file_location
});
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: TestConfig.adf.url
});
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);
txtFileUploaded = await uploadActions.uploadFile(this.alfrescoJsApi, txtFileInfo.location, txtFileInfo.name, '-my-');
loginPage.loginToContentServicesUsingUserModel(acsUser);
done();
});
afterAll(async (done) => {
await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, txtFileUploaded.entry.id);
done();
});
beforeEach(() => {
contentServicesPage.goToDocumentList();
contentServicesPage.doubleClickRow(txtFileUploaded.entry.name);
});
afterEach(() => {
viewerPage.clickCloseButton();
});
it('[C260096] Should the Viewer able to accept a customToolbar', () => {
viewerPage.clickLeftSidebarButton();
viewerPage.checkLeftSideBarIsDisplayed();
viewerPage.checkToolbarIsDisplayed();
viewerPage.enableCustomToolbar();
viewerPage.checkCustomToolbarIsDisplayed();
viewerPage.disableCustomToolbar();
});
it('[C260097] Should the viewer able to show a custom info-drawer when the sidebarTemplate is set', () => {
viewerPage.clickInfoButton();
viewerPage.checkInfoSideBarIsDisplayed();
viewerPage.clickOnTab('Comments');
viewerPage.checkTabIsActive('Comments');
viewerPage.clickOnTab('Properties');
viewerPage.checkTabIsActive('Properties');
viewerPage.clickOnTab('Versions');
viewerPage.checkTabIsActive('Versions');
});
});
+32 -2
View File
@@ -15,13 +15,13 @@
* limitations under the License.
*/
import { browser } from 'protractor';
import TestConfig = require('../../test.config');
import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ViewerPage } from '../../pages/adf/viewerPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import DataTablePage = require('../../pages/adf/dataTablePage');
import resources = require('../../util/resources');
@@ -37,12 +37,19 @@ describe('Viewer - properties', () => {
let viewerPage = new ViewerPage();
let contentServicesPage = new ContentServicesPage();
let loginPage = new LoginPage();
let navigationBarPage = new NavigationBarPage();
let dataTable = new DataTablePage();
let pngFile = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.PNG.file_name,
'location': resources.Files.ADF_DOCUMENTS.PNG.file_location
});
let fileForOverlay = new FileModel({
'name': 'fileForOverlay.png',
'location': resources.Files.ADF_DOCUMENTS.PNG.file_location
});
beforeAll(async (done) => {
let uploadActions = new UploadActions();
@@ -60,6 +67,9 @@ describe('Viewer - properties', () => {
let pngFileUploaded = await uploadActions.uploadFile(this.alfrescoJsApi, pngFile.location, pngFile.name, '-my-');
Object.assign(pngFile, pngFileUploaded.entry);
pngFileUploaded = await uploadActions.uploadFile(this.alfrescoJsApi, fileForOverlay.location, fileForOverlay.name, '-my-');
Object.assign(fileForOverlay, pngFileUploaded.entry);
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
@@ -181,4 +191,24 @@ describe('Viewer - properties', () => {
viewerPage.checkLeftSideBarButtonIsNotDisplayed();
viewerPage.checkLeftSideBarIsNotDisplayed();
});
it('[C260100] Should be possible to disable Overlay viewer', () => {
viewerPage.clickCloseButton();
navigationBarPage.clickOverlayViewerButton();
dataTable.doubleClickRow(fileForOverlay.name);
viewerPage.checkOverlayViewerIsDisplayed();
viewerPage.clickCloseButton();
dataTable.doubleClickRow(pngFile.name);
viewerPage.checkOverlayViewerIsDisplayed();
viewerPage.clickCloseButton();
viewerPage.disableOverlay();
dataTable.doubleClickRow(fileForOverlay.name);
viewerPage.checkImgContainerIsDisplayed();
viewerPage.checkInlineViewerIsDisplayed();
dataTable.doubleClickRow(pngFile.name);
viewerPage.checkImgContainerIsDisplayed();
viewerPage.checkInlineViewerIsDisplayed();
});
});