mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-4191] fix viewer test and move error and pagination page (#4569)
* split viewer test * move pagination in testing share pkg move error in testing share pkg * fix import
This commit is contained in:
@@ -16,17 +16,15 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
import { LoginPage } from '@alfresco/adf-testing';
|
|
||||||
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 { 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 { StringUtil } from '@alfresco/adf-testing';
|
import { LoginPage, ErrorPage, StringUtil } from '@alfresco/adf-testing';
|
||||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||||
import { UploadActions } from '../../actions/ACS/upload.actions';
|
import { UploadActions } from '../../actions/ACS/upload.actions';
|
||||||
import { ErrorPage } from '../../pages/adf/errorPage';
|
|
||||||
import { FileModel } from '../../models/ACS/fileModel';
|
import { FileModel } from '../../models/ACS/fileModel';
|
||||||
import moment from 'moment-es6';
|
import moment from 'moment-es6';
|
||||||
|
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
import { LoginPage } from '@alfresco/adf-testing';
|
import { LoginPage } from '@alfresco/adf-testing';
|
||||||
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
||||||
import { PaginationPage } from '../../pages/adf/paginationPage';
|
import { PaginationPage } from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||||
|
|
||||||
import { AcsUserModel } from '../../models/ACS/acsUserModel';
|
import { AcsUserModel } from '../../models/ACS/acsUserModel';
|
||||||
|
@@ -18,9 +18,8 @@
|
|||||||
import CONSTANTS = require('../../util/constants');
|
import CONSTANTS = require('../../util/constants');
|
||||||
import { StringUtil } from '@alfresco/adf-testing';
|
import { StringUtil } from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||||
import { LoginPage } from '@alfresco/adf-testing';
|
import { LoginPage, ErrorPage } from '@alfresco/adf-testing';
|
||||||
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
||||||
import { ErrorPage } from '../../pages/adf/errorPage';
|
|
||||||
import { ShareDialog } from '../../pages/adf/dialog/shareDialog';
|
import { ShareDialog } from '../../pages/adf/dialog/shareDialog';
|
||||||
import { AcsUserModel } from '../../models/ACS/acsUserModel';
|
import { AcsUserModel } from '../../models/ACS/acsUserModel';
|
||||||
import { FileModel } from '../../models/ACS/fileModel';
|
import { FileModel } from '../../models/ACS/fileModel';
|
||||||
|
@@ -18,7 +18,7 @@
|
|||||||
import { LoginPage } from '@alfresco/adf-testing';
|
import { LoginPage } from '@alfresco/adf-testing';
|
||||||
import { TrashcanPage } from '../pages/adf/trashcanPage';
|
import { TrashcanPage } from '../pages/adf/trashcanPage';
|
||||||
|
|
||||||
import { PaginationPage } from '../pages/adf/paginationPage';
|
import { PaginationPage } from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
|
|
||||||
import { AcsUserModel } from '../models/ACS/acsUserModel';
|
import { AcsUserModel } from '../models/ACS/acsUserModel';
|
||||||
|
@@ -15,11 +15,10 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { LoginPage } from '@alfresco/adf-testing';
|
import { LoginPage, ErrorPage } from '@alfresco/adf-testing';
|
||||||
import { AcsUserModel } from '../models/ACS/acsUserModel';
|
import { AcsUserModel } from '../models/ACS/acsUserModel';
|
||||||
import TestConfig = require('../test.config');
|
import TestConfig = require('../test.config');
|
||||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||||
import { ErrorPage } from '../pages/adf/errorPage';
|
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
|
|
||||||
describe('Error Component', () => {
|
describe('Error Component', () => {
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
|
|
||||||
import { LoginPage, SettingsPage } from '@alfresco/adf-testing';
|
import { LoginPage, SettingsPage, ErrorPage } from '@alfresco/adf-testing';
|
||||||
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
||||||
import { ProcessServicesPage } from '../../pages/adf/process-services/processServicesPage';
|
import { ProcessServicesPage } from '../../pages/adf/process-services/processServicesPage';
|
||||||
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||||
@@ -30,7 +30,6 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel';
|
|||||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||||
|
|
||||||
import { Util } from '../../util/util';
|
import { Util } from '../../util/util';
|
||||||
import { ErrorPage } from '../../pages/adf/errorPage';
|
|
||||||
|
|
||||||
describe('Login component', () => {
|
describe('Login component', () => {
|
||||||
|
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
import { LoginPage } from '@alfresco/adf-testing';
|
import { LoginPage } from '@alfresco/adf-testing';
|
||||||
import { ContentServicesPage } from '../pages/adf/contentServicesPage';
|
import { ContentServicesPage } from '../pages/adf/contentServicesPage';
|
||||||
import { PaginationPage } from '../pages/adf/paginationPage';
|
import { PaginationPage } from '@alfresco/adf-testing';
|
||||||
import { ViewerPage } from '../pages/adf/viewerPage';
|
import { ViewerPage } from '../pages/adf/viewerPage';
|
||||||
|
|
||||||
import { AcsUserModel } from '../models/ACS/acsUserModel';
|
import { AcsUserModel } from '../models/ACS/acsUserModel';
|
||||||
|
@@ -21,8 +21,6 @@ import { LoginPage } from '@alfresco/adf-testing';
|
|||||||
import { ViewerPage } from '../../pages/adf/viewerPage';
|
import { ViewerPage } from '../../pages/adf/viewerPage';
|
||||||
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||||
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
||||||
import { ShareDialog } from '../../pages/adf/dialog/shareDialog';
|
|
||||||
import { AboutPage } from '../../pages/adf/demo-shell/aboutPage';
|
|
||||||
|
|
||||||
import CONSTANTS = require('../../util/constants');
|
import CONSTANTS = require('../../util/constants');
|
||||||
import resources = require('../../util/resources');
|
import resources = require('../../util/resources');
|
||||||
@@ -34,9 +32,8 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel';
|
|||||||
|
|
||||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||||
import { UploadActions } from '../../actions/ACS/upload.actions';
|
import { UploadActions } from '../../actions/ACS/upload.actions';
|
||||||
import { browser } from 'protractor';
|
|
||||||
|
|
||||||
xdescribe('Viewer', () => {
|
describe('Viewer', () => {
|
||||||
|
|
||||||
const viewerPage = new ViewerPage();
|
const viewerPage = new ViewerPage();
|
||||||
const navigationBarPage = new NavigationBarPage();
|
const navigationBarPage = new NavigationBarPage();
|
||||||
@@ -46,9 +43,6 @@ xdescribe('Viewer', () => {
|
|||||||
let site;
|
let site;
|
||||||
const acsUser = new AcsUserModel();
|
const acsUser = new AcsUserModel();
|
||||||
let pngFileUploaded;
|
let pngFileUploaded;
|
||||||
const contentList = contentServicesPage.getDocumentList();
|
|
||||||
const shareDialog = new ShareDialog();
|
|
||||||
const about = new AboutPage();
|
|
||||||
|
|
||||||
const pngFileInfo = new FileModel({
|
const pngFileInfo = new FileModel({
|
||||||
'name': resources.Files.ADF_DOCUMENTS.PNG.file_name,
|
'name': resources.Files.ADF_DOCUMENTS.PNG.file_name,
|
||||||
@@ -392,106 +386,4 @@ xdescribe('Viewer', () => {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Display files via API', () => {
|
|
||||||
|
|
||||||
const wordFileInfo = new FileModel({
|
|
||||||
'name': resources.Files.ADF_DOCUMENTS.DOCX_SUPPORTED.file_name,
|
|
||||||
'location': resources.Files.ADF_DOCUMENTS.DOCX_SUPPORTED.file_location
|
|
||||||
});
|
|
||||||
|
|
||||||
let pngFileShared, wordFileUploaded;
|
|
||||||
|
|
||||||
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', () => {
|
|
||||||
navigationBarPage.clickContentServicesButton();
|
|
||||||
contentServicesPage.waitForTableBody();
|
|
||||||
|
|
||||||
contentList.selectRow(wordFileInfo.name);
|
|
||||||
contentServicesPage.clickShareButton();
|
|
||||||
shareDialog.checkDialogIsDisplayed();
|
|
||||||
shareDialog.clickShareLinkButton();
|
|
||||||
browser.controlFlow().execute(async () => {
|
|
||||||
const 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);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('Viewer - Code editor extension', () => {
|
|
||||||
|
|
||||||
const jsFileInfo = new FileModel({
|
|
||||||
'name': resources.Files.ADF_DOCUMENTS.JS.file_name,
|
|
||||||
'location': resources.Files.ADF_DOCUMENTS.JS.file_location
|
|
||||||
});
|
|
||||||
|
|
||||||
let jsFileUploaded;
|
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
|
||||||
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
|
|
||||||
|
|
||||||
jsFileUploaded = await uploadActions.uploadFile(this.alfrescoJsApi, jsFileInfo.location, jsFileInfo.name, '-my-');
|
|
||||||
|
|
||||||
loginPage.loginToContentServicesUsingUserModel(acsUser);
|
|
||||||
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
|
|
||||||
afterAll(async (done) => {
|
|
||||||
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
|
|
||||||
await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, jsFileUploaded.entry.id);
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('[C297698] Should be able to add an extension for code editor viewer', () => {
|
|
||||||
navigationBarPage.checkAboutButtonIsDisplayed();
|
|
||||||
navigationBarPage.clickAboutButton();
|
|
||||||
|
|
||||||
about.checkMonacoPluginIsDisplayed();
|
|
||||||
|
|
||||||
navigationBarPage.clickContentServicesButton();
|
|
||||||
|
|
||||||
contentServicesPage.waitForTableBody();
|
|
||||||
contentServicesPage.checkContentIsDisplayed(jsFileInfo.name);
|
|
||||||
contentServicesPage.doubleClickRow(jsFileInfo.name);
|
|
||||||
|
|
||||||
viewerPage.checkCodeViewerIsDisplayed();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
105
e2e/core/viewer/viewer-extension.e2e.ts
Normal file
105
e2e/core/viewer/viewer-extension.e2e.ts
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2019 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 '@alfresco/adf-testing';
|
||||||
|
import { ViewerPage } from '../../pages/adf/viewerPage';
|
||||||
|
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||||
|
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
||||||
|
import { MonacoExtensionPage } from '../../pages/adf/demo-shell/monacoExtensionPage';
|
||||||
|
|
||||||
|
import CONSTANTS = require('../../util/constants');
|
||||||
|
import resources = require('../../util/resources');
|
||||||
|
import { StringUtil } from '@alfresco/adf-testing';
|
||||||
|
|
||||||
|
import { FileModel } from '../../models/ACS/fileModel';
|
||||||
|
import { AcsUserModel } from '../../models/ACS/acsUserModel';
|
||||||
|
|
||||||
|
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||||
|
import { UploadActions } from '../../actions/ACS/upload.actions';
|
||||||
|
|
||||||
|
describe('Viewer', () => {
|
||||||
|
|
||||||
|
const viewerPage = new ViewerPage();
|
||||||
|
const navigationBarPage = new NavigationBarPage();
|
||||||
|
const loginPage = new LoginPage();
|
||||||
|
const contentServicesPage = new ContentServicesPage();
|
||||||
|
const uploadActions = new UploadActions();
|
||||||
|
let site;
|
||||||
|
const acsUser = new AcsUserModel();
|
||||||
|
const monacoExtensionPage = new MonacoExtensionPage();
|
||||||
|
|
||||||
|
let jsFileUploaded;
|
||||||
|
const jsFileInfo = new FileModel({
|
||||||
|
'name': resources.Files.ADF_DOCUMENTS.JS.file_name,
|
||||||
|
'location': resources.Files.ADF_DOCUMENTS.JS.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);
|
||||||
|
|
||||||
|
site = await this.alfrescoJsApi.core.sitesApi.createSite({
|
||||||
|
title: StringUtil.generateRandomString(8),
|
||||||
|
visibility: 'PUBLIC'
|
||||||
|
});
|
||||||
|
|
||||||
|
await this.alfrescoJsApi.core.sitesApi.addSiteMember(site.entry.id, {
|
||||||
|
id: acsUser.id,
|
||||||
|
role: CONSTANTS.CS_USER_ROLES.MANAGER
|
||||||
|
});
|
||||||
|
|
||||||
|
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
|
||||||
|
|
||||||
|
jsFileUploaded = await uploadActions.uploadFile(this.alfrescoJsApi, jsFileInfo.location, jsFileInfo.name, '-my-');
|
||||||
|
|
||||||
|
loginPage.loginToContentServicesUsingUserModel(acsUser);
|
||||||
|
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterAll(async (done) => {
|
||||||
|
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
|
||||||
|
await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, jsFileUploaded.entry.id);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('Viewer extension', () => {
|
||||||
|
|
||||||
|
it('[C297698] Should be able to add an extension for code editor viewer', () => {
|
||||||
|
navigationBarPage.checkAboutButtonIsDisplayed();
|
||||||
|
navigationBarPage.clickAboutButton();
|
||||||
|
|
||||||
|
monacoExtensionPage.checkMonacoPluginIsDisplayed();
|
||||||
|
|
||||||
|
navigationBarPage.clickContentServicesButton();
|
||||||
|
|
||||||
|
contentServicesPage.waitForTableBody();
|
||||||
|
contentServicesPage.checkContentIsDisplayed(jsFileInfo.name);
|
||||||
|
contentServicesPage.doubleClickRow(jsFileInfo.name);
|
||||||
|
|
||||||
|
viewerPage.checkCodeViewerIsDisplayed();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
136
e2e/core/viewer/viewer-share-content.ts
Normal file
136
e2e/core/viewer/viewer-share-content.ts
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2019 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 '@alfresco/adf-testing';
|
||||||
|
import { ViewerPage } from '../../pages/adf/viewerPage';
|
||||||
|
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||||
|
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
||||||
|
import { ShareDialog } from '../../pages/adf/dialog/shareDialog';
|
||||||
|
|
||||||
|
import CONSTANTS = require('../../util/constants');
|
||||||
|
import resources = require('../../util/resources');
|
||||||
|
import { StringUtil } from '@alfresco/adf-testing';
|
||||||
|
|
||||||
|
import { FileModel } from '../../models/ACS/fileModel';
|
||||||
|
import { AcsUserModel } from '../../models/ACS/acsUserModel';
|
||||||
|
|
||||||
|
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||||
|
import { UploadActions } from '../../actions/ACS/upload.actions';
|
||||||
|
import { browser } from 'protractor';
|
||||||
|
|
||||||
|
describe('Viewer', () => {
|
||||||
|
|
||||||
|
const viewerPage = new ViewerPage();
|
||||||
|
const navigationBarPage = new NavigationBarPage();
|
||||||
|
const loginPage = new LoginPage();
|
||||||
|
const contentServicesPage = new ContentServicesPage();
|
||||||
|
const uploadActions = new UploadActions();
|
||||||
|
let site;
|
||||||
|
const acsUser = new AcsUserModel();
|
||||||
|
let pngFileUploaded;
|
||||||
|
const contentList = contentServicesPage.getDocumentList();
|
||||||
|
const shareDialog = new ShareDialog();
|
||||||
|
|
||||||
|
const pngFileInfo = new FileModel({
|
||||||
|
'name': resources.Files.ADF_DOCUMENTS.PNG.file_name,
|
||||||
|
'location': resources.Files.ADF_DOCUMENTS.PNG.file_location
|
||||||
|
});
|
||||||
|
|
||||||
|
const wordFileInfo = new FileModel({
|
||||||
|
'name': resources.Files.ADF_DOCUMENTS.DOCX_SUPPORTED.file_name,
|
||||||
|
'location': resources.Files.ADF_DOCUMENTS.DOCX_SUPPORTED.file_location
|
||||||
|
});
|
||||||
|
|
||||||
|
let pngFileShared, wordFileUploaded;
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
site = await this.alfrescoJsApi.core.sitesApi.createSite({
|
||||||
|
title: StringUtil.generateRandomString(8),
|
||||||
|
visibility: 'PUBLIC'
|
||||||
|
});
|
||||||
|
|
||||||
|
await this.alfrescoJsApi.core.sitesApi.addSiteMember(site.entry.id, {
|
||||||
|
id: acsUser.id,
|
||||||
|
role: CONSTANTS.CS_USER_ROLES.MANAGER
|
||||||
|
});
|
||||||
|
|
||||||
|
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
|
||||||
|
|
||||||
|
pngFileUploaded = await uploadActions.uploadFile(this.alfrescoJsApi, pngFileInfo.location, pngFileInfo.name, site.entry.guid);
|
||||||
|
|
||||||
|
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', () => {
|
||||||
|
navigationBarPage.clickContentServicesButton();
|
||||||
|
contentServicesPage.waitForTableBody();
|
||||||
|
|
||||||
|
contentList.selectRow(wordFileInfo.name);
|
||||||
|
contentServicesPage.clickShareButton();
|
||||||
|
shareDialog.checkDialogIsDisplayed();
|
||||||
|
shareDialog.clickShareLinkButton();
|
||||||
|
browser.controlFlow().execute(async () => {
|
||||||
|
const 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);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
@@ -18,7 +18,7 @@
|
|||||||
import { by, element } from 'protractor';
|
import { by, element } from 'protractor';
|
||||||
import { BrowserVisibility } from '@alfresco/adf-testing';
|
import { BrowserVisibility } from '@alfresco/adf-testing';
|
||||||
|
|
||||||
export class AboutPage {
|
export class MonacoExtensionPage {
|
||||||
|
|
||||||
monacoPlugin = element(by.cssContainingText('mat-row > mat-cell', 'monaco plugin'));
|
monacoPlugin = element(by.cssContainingText('mat-row > mat-cell', 'monaco plugin'));
|
||||||
|
|
@@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { TasksListPage } from '../../process-services/tasksListPage';
|
import { TasksListPage } from '../../process-services/tasksListPage';
|
||||||
import { PaginationPage } from '../../paginationPage';
|
import { PaginationPage } from '@alfresco/adf-testing';
|
||||||
import { element, by } from 'protractor';
|
import { element, by } from 'protractor';
|
||||||
import { BrowserVisibility } from '@alfresco/adf-testing';
|
import { BrowserVisibility } from '@alfresco/adf-testing';
|
||||||
|
|
||||||
|
@@ -62,9 +62,7 @@ export class ViewerPage {
|
|||||||
toolbarSwitch = element(by.id('adf-switch-toolbar'));
|
toolbarSwitch = element(by.id('adf-switch-toolbar'));
|
||||||
toolbar = element(by.id('adf-viewer-toolbar'));
|
toolbar = element(by.id('adf-viewer-toolbar'));
|
||||||
lastButton = element.all(by.css('#adf-viewer-toolbar mat-toolbar > button[data-automation-id*="adf-toolbar-"]')).last();
|
lastButton = element.all(by.css('#adf-viewer-toolbar mat-toolbar > button[data-automation-id*="adf-toolbar-"]')).last();
|
||||||
datatableHeader = element(by.css('div.adf-datatable-header'));
|
|
||||||
goBackSwitch = element(by.id('adf-switch-goback'));
|
goBackSwitch = element(by.id('adf-switch-goback'));
|
||||||
tabLabel = element(by.css('div[class="mat-tab-label-content"]'));
|
|
||||||
|
|
||||||
openWithSwitch = element(by.id('adf-switch-openwith'));
|
openWithSwitch = element(by.id('adf-switch-openwith'));
|
||||||
openWith = element(by.id('adf-viewer-openwith'));
|
openWith = element(by.id('adf-viewer-openwith'));
|
||||||
|
@@ -18,7 +18,7 @@
|
|||||||
import { LoginPage } from '@alfresco/adf-testing';
|
import { LoginPage } from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { TaskListDemoPage } from '../pages/adf/demo-shell/process-services/taskListDemoPage';
|
import { TaskListDemoPage } from '../pages/adf/demo-shell/process-services/taskListDemoPage';
|
||||||
import { PaginationPage } from '../pages/adf/paginationPage';
|
import { PaginationPage } from '@alfresco/adf-testing';
|
||||||
import moment = require('moment');
|
import moment = require('moment');
|
||||||
|
|
||||||
import { Tenant } from '../models/APS/tenant';
|
import { Tenant } from '../models/APS/tenant';
|
||||||
|
@@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { LoginPage } from '@alfresco/adf-testing';
|
import { LoginPage } from '@alfresco/adf-testing';
|
||||||
import { PaginationPage } from '../pages/adf/paginationPage';
|
import { PaginationPage } from '@alfresco/adf-testing';
|
||||||
import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage';
|
import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage';
|
||||||
import { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage';
|
import { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
import { LoginPage } from '@alfresco/adf-testing';
|
import { LoginPage } from '@alfresco/adf-testing';
|
||||||
import { TasksPage } from '../pages/adf/process-services/tasksPage';
|
import { TasksPage } from '../pages/adf/process-services/tasksPage';
|
||||||
import { PaginationPage } from '../pages/adf/paginationPage';
|
import { PaginationPage } from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
|
|
||||||
import CONSTANTS = require('../util/constants');
|
import CONSTANTS = require('../util/constants');
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
import { LoginPage } from '@alfresco/adf-testing';
|
import { LoginPage } from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { PaginationPage } from '../pages/adf/paginationPage';
|
import { PaginationPage } from '@alfresco/adf-testing';
|
||||||
import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage';
|
import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage';
|
||||||
import { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage';
|
import { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage';
|
||||||
|
|
||||||
|
@@ -18,7 +18,7 @@
|
|||||||
import { LoginPage } from '@alfresco/adf-testing';
|
import { LoginPage } from '@alfresco/adf-testing';
|
||||||
import { TasksPage } from '../pages/adf/process-services/tasksPage';
|
import { TasksPage } from '../pages/adf/process-services/tasksPage';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { PaginationPage } from '../pages/adf/paginationPage';
|
import { PaginationPage } from '@alfresco/adf-testing';
|
||||||
|
|
||||||
import CONSTANTS = require('../util/constants');
|
import CONSTANTS = require('../util/constants');
|
||||||
|
|
||||||
|
@@ -18,7 +18,7 @@
|
|||||||
import { LoginPage } from '@alfresco/adf-testing';
|
import { LoginPage } from '@alfresco/adf-testing';
|
||||||
import { TasksPage } from '../pages/adf/process-services/tasksPage';
|
import { TasksPage } from '../pages/adf/process-services/tasksPage';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { PaginationPage } from '../pages/adf/paginationPage';
|
import { PaginationPage } from '@alfresco/adf-testing';
|
||||||
|
|
||||||
import CONSTANTS = require('../util/constants');
|
import CONSTANTS = require('../util/constants');
|
||||||
|
|
||||||
|
Binary file not shown.
@@ -18,7 +18,7 @@
|
|||||||
import { LoginPage } from '@alfresco/adf-testing';
|
import { LoginPage } from '@alfresco/adf-testing';
|
||||||
import { SearchDialog } from '../pages/adf/dialog/searchDialog';
|
import { SearchDialog } from '../pages/adf/dialog/searchDialog';
|
||||||
import { SearchFiltersPage } from '../pages/adf/searchFiltersPage';
|
import { SearchFiltersPage } from '../pages/adf/searchFiltersPage';
|
||||||
import { PaginationPage } from '../pages/adf/paginationPage';
|
import { PaginationPage } from '@alfresco/adf-testing';
|
||||||
import { DocumentListPage } from '../pages/adf/content-services/documentListPage';
|
import { DocumentListPage } from '../pages/adf/content-services/documentListPage';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { ConfigEditorPage } from '../pages/adf/configEditorPage';
|
import { ConfigEditorPage } from '../pages/adf/configEditorPage';
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { BrowserVisibility } from '@alfresco/adf-testing';
|
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||||
import { element, by } from 'protractor';
|
import { element, by } from 'protractor';
|
||||||
|
|
||||||
export class ErrorPage {
|
export class ErrorPage {
|
@@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { browser, by, element, protractor } from 'protractor';
|
import { browser, by, element, protractor } from 'protractor';
|
||||||
import { BrowserVisibility } from '@alfresco/adf-testing';
|
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||||
|
|
||||||
export class PaginationPage {
|
export class PaginationPage {
|
||||||
|
|
@@ -22,3 +22,6 @@ export * from './settings.page';
|
|||||||
export * from './form-controller.page';
|
export * from './form-controller.page';
|
||||||
export * from './login-sso.page';
|
export * from './login-sso.page';
|
||||||
export * from './data-table-component.page';
|
export * from './data-table-component.page';
|
||||||
|
export * from './pagination.page';
|
||||||
|
export * from './error.page';
|
||||||
|
export * from './login.page';
|
||||||
|
@@ -17,13 +17,13 @@ async function main() {
|
|||||||
|
|
||||||
await this.alfrescoJsApi.login(program.username, program.password);
|
await this.alfrescoJsApi.login(program.username, program.password);
|
||||||
|
|
||||||
// await cleanRoot(this.alfrescoJsApi);
|
await cleanRoot(this.alfrescoJsApi);
|
||||||
await deleteSite(this.alfrescoJsApi);
|
await deleteSite(this.alfrescoJsApi);
|
||||||
await emptyTrashCan(this.alfrescoJsApi);
|
await emptyTrashCan(this.alfrescoJsApi);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function cleanRoot(alfrescoJsApi) {
|
async function cleanRoot(alfrescoJsApi) {
|
||||||
console.log('start');
|
console.log('====== Clean Root ======');
|
||||||
|
|
||||||
let rootNodes = await alfrescoJsApi.core.nodesApi.getNodeChildren('-root-');
|
let rootNodes = await alfrescoJsApi.core.nodesApi.getNodeChildren('-root-');
|
||||||
|
|
||||||
@@ -45,6 +45,8 @@ async function cleanRoot(alfrescoJsApi) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function emptyTrashCan(alfrescoJsApi) {
|
async function emptyTrashCan(alfrescoJsApi) {
|
||||||
|
console.log('====== Clean Trash ======');
|
||||||
|
|
||||||
let deletedNodes = await alfrescoJsApi.core.nodesApi.getDeletedNodes();
|
let deletedNodes = await alfrescoJsApi.core.nodesApi.getDeletedNodes();
|
||||||
|
|
||||||
for (let i = 0; i < deletedNodes.list.entries.length; i++) {
|
for (let i = 0; i < deletedNodes.list.entries.length; i++) {
|
||||||
@@ -57,7 +59,6 @@ async function emptyTrashCan(alfrescoJsApi) {
|
|||||||
await alfrescoJsApi.core.nodesApi.purgeDeletedNode(deletedNodes.list.entries[i].entry.id);
|
await alfrescoJsApi.core.nodesApi.purgeDeletedNode(deletedNodes.list.entries[i].entry.id);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('error' + JSON.stringify(error));
|
console.log('error' + JSON.stringify(error));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,6 +66,8 @@ async function emptyTrashCan(alfrescoJsApi) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function deleteSite(alfrescoJsApi) {
|
async function deleteSite(alfrescoJsApi) {
|
||||||
|
console.log('====== Clean Sites ======');
|
||||||
|
|
||||||
let listSites = await this.alfrescoJsApi.core.sitesApi.getSites();
|
let listSites = await this.alfrescoJsApi.core.sitesApi.getSites();
|
||||||
|
|
||||||
console.log(listSites.list.pagination.totalItems);
|
console.log(listSites.list.pagination.totalItems);
|
||||||
|
Reference in New Issue
Block a user