[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:
Eugenio Romano
2019-04-09 12:26:10 +01:00
committed by GitHub
parent 98f18abee0
commit ce0775c525
25 changed files with 269 additions and 137 deletions
@@ -16,17 +16,15 @@
*/
import { browser } from 'protractor';
import { LoginPage } from '@alfresco/adf-testing';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { ViewerPage } from '../../pages/adf/viewerPage';
import TestConfig = require('../../test.config');
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 { UploadActions } from '../../actions/ACS/upload.actions';
import { ErrorPage } from '../../pages/adf/errorPage';
import { FileModel } from '../../models/ACS/fileModel';
import moment from 'moment-es6';
@@ -17,7 +17,7 @@
import { LoginPage } from '@alfresco/adf-testing';
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 { AcsUserModel } from '../../models/ACS/acsUserModel';
@@ -18,9 +18,8 @@
import CONSTANTS = require('../../util/constants');
import { StringUtil } from '@alfresco/adf-testing';
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 { ErrorPage } from '../../pages/adf/errorPage';
import { ShareDialog } from '../../pages/adf/dialog/shareDialog';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { FileModel } from '../../models/ACS/fileModel';
@@ -18,7 +18,7 @@
import { LoginPage } from '@alfresco/adf-testing';
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 { AcsUserModel } from '../models/ACS/acsUserModel';
+1 -2
View File
@@ -15,11 +15,10 @@
* limitations under the License.
*/
import { LoginPage } from '@alfresco/adf-testing';
import { LoginPage, ErrorPage } from '@alfresco/adf-testing';
import { AcsUserModel } from '../models/ACS/acsUserModel';
import TestConfig = require('../test.config');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { ErrorPage } from '../pages/adf/errorPage';
import { browser } from 'protractor';
describe('Error Component', () => {
+1 -2
View File
@@ -17,7 +17,7 @@
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 { ProcessServicesPage } from '../../pages/adf/process-services/processServicesPage';
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 { Util } from '../../util/util';
import { ErrorPage } from '../../pages/adf/errorPage';
describe('Login component', () => {
@@ -17,7 +17,7 @@
import { LoginPage } from '@alfresco/adf-testing';
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 { AcsUserModel } from '../models/ACS/acsUserModel';
+1 -109
View File
@@ -21,8 +21,6 @@ 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 { AboutPage } from '../../pages/adf/demo-shell/aboutPage';
import CONSTANTS = require('../../util/constants');
import resources = require('../../util/resources');
@@ -34,9 +32,8 @@ 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';
xdescribe('Viewer', () => {
describe('Viewer', () => {
const viewerPage = new ViewerPage();
const navigationBarPage = new NavigationBarPage();
@@ -46,9 +43,6 @@ xdescribe('Viewer', () => {
let site;
const acsUser = new AcsUserModel();
let pngFileUploaded;
const contentList = contentServicesPage.getDocumentList();
const shareDialog = new ShareDialog();
const about = new AboutPage();
const pngFileInfo = new FileModel({
'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
View 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
View 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 { BrowserVisibility } from '@alfresco/adf-testing';
export class AboutPage {
export class MonacoExtensionPage {
monacoPlugin = element(by.cssContainingText('mat-row > mat-cell', 'monaco plugin'));
@@ -16,7 +16,7 @@
*/
import { TasksListPage } from '../../process-services/tasksListPage';
import { PaginationPage } from '../../paginationPage';
import { PaginationPage } from '@alfresco/adf-testing';
import { element, by } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
-57
View File
@@ -1,57 +0,0 @@
/*!
* @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 { BrowserVisibility } from '@alfresco/adf-testing';
import { element, by } from 'protractor';
export class ErrorPage {
errorPageCode = element(by.css('adf-error-content .adf-error-content-code'));
errorPageTitle = element(by.css('adf-error-content .adf-error-content-title'));
errorPageDescription = element(by.css('adf-error-content .adf-error-content-description'));
backButton = element(by.id('adf-return-button'));
secondButton = element(by.id('adf-secondary-button'));
clickBackButton() {
BrowserVisibility.waitUntilElementIsVisible(this.backButton);
this.backButton.click();
}
clickSecondButton() {
BrowserVisibility.waitUntilElementIsVisible(this.secondButton);
this.secondButton.click();
}
checkErrorCode() {
BrowserVisibility.waitUntilElementIsVisible(this.errorPageCode);
}
getErrorCode() {
BrowserVisibility.waitUntilElementIsVisible(this.errorPageCode);
return this.errorPageCode.getText();
}
getErrorTitle() {
BrowserVisibility.waitUntilElementIsVisible(this.errorPageTitle);
return this.errorPageTitle.getText();
}
getErrorDescription() {
BrowserVisibility.waitUntilElementIsVisible(this.errorPageDescription);
return this.errorPageDescription.getText();
}
}
-153
View File
@@ -1,153 +0,0 @@
/*!
* @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 { browser, by, element, protractor } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class PaginationPage {
itemsPerPageDropdown = element(by.css('div[class*="adf-pagination__perpage-block"] button'));
pageSelectorDropDown = element(by.css('div[class*="adf-pagination__page-selector"]'));
pageSelectorArrow = element(by.css('button[data-automation-id="page-selector"]'));
itemsPerPage = element(by.css('span[class="adf-pagination__max-items"]'));
currentPage = element(by.css('span[class="adf-pagination__current-page"]'));
totalPages = element(by.css('span[class="adf-pagination__total-pages"]'));
paginationRange = element(by.css('span[class="adf-pagination__range"]'));
nextPageButton = element(by.css('button[class*="adf-pagination__next-button"]'));
nextButtonDisabled = element(by.css('button[class*="adf-pagination__next-button"][disabled]'));
previousButtonDisabled = element(by.css('button[class*="adf-pagination__previous-button"][disabled]'));
pageDropDown = element(by.css('div[class*="adf-pagination__actualinfo-block"] button'));
pageDropDownOptions = by.css('div[class*="mat-menu-content"] button');
paginationSection = element(by.css('adf-pagination'));
paginationSectionEmpty = element(by.css('adf-pagination[class*="adf-pagination__empty"]'));
totalFiles = element(by.css('span[class="adf-pagination__range"]'));
selectItemsPerPage(numberOfItem: string) {
BrowserVisibility.waitUntilElementIsVisible(this.itemsPerPageDropdown);
BrowserVisibility.waitUntilElementIsClickable(this.itemsPerPageDropdown);
browser.actions().mouseMove(this.itemsPerPageDropdown).perform();
BrowserVisibility.waitUntilElementIsVisible(this.itemsPerPageDropdown);
BrowserVisibility.waitUntilElementIsClickable(this.itemsPerPageDropdown);
this.itemsPerPageDropdown.click();
BrowserVisibility.waitUntilElementIsVisible(this.pageSelectorDropDown);
const itemsPerPage = element.all(by.cssContainingText('.mat-menu-item', numberOfItem)).first();
BrowserVisibility.waitUntilElementIsClickable(itemsPerPage);
BrowserVisibility.waitUntilElementIsVisible(itemsPerPage);
itemsPerPage.click();
return this;
}
checkPageSelectorIsNotDisplayed() {
BrowserVisibility.waitUntilElementIsNotOnPage(this.pageSelectorArrow);
}
checkPageSelectorIsDisplayed() {
BrowserVisibility.waitUntilElementIsVisible(this.pageSelectorArrow);
}
checkPaginationIsNotDisplayed() {
BrowserVisibility.waitUntilElementIsOnPage(this.paginationSectionEmpty);
return this;
}
getCurrentItemsPerPage() {
BrowserVisibility.waitUntilElementIsVisible(this.itemsPerPage);
return this.itemsPerPage.getText();
}
getCurrentPage() {
BrowserVisibility.waitUntilElementIsVisible(this.paginationSection);
BrowserVisibility.waitUntilElementIsVisible(this.currentPage);
return this.currentPage.getText();
}
getTotalPages() {
BrowserVisibility.waitUntilElementIsVisible(this.totalPages);
return this.totalPages.getText();
}
getPaginationRange() {
BrowserVisibility.waitUntilElementIsVisible(this.paginationRange);
return this.paginationRange.getText();
}
clickOnNextPage() {
BrowserVisibility.waitUntilElementIsVisible(this.nextPageButton);
BrowserVisibility.waitUntilElementIsClickable(this.nextPageButton);
browser.actions().mouseMove(this.nextPageButton).perform();
BrowserVisibility.waitUntilElementIsVisible(this.nextPageButton);
BrowserVisibility.waitUntilElementIsClickable(this.nextPageButton);
return this.nextPageButton.click();
}
clickOnPageDropdown() {
BrowserVisibility.waitUntilElementIsVisible(this.pageDropDown);
BrowserVisibility.waitUntilElementIsClickable(this.pageDropDown);
return this.pageDropDown.click();
}
clickOnPageDropdownOption(numberOfItemPerPage: string) {
BrowserVisibility.waitUntilElementIsVisible(element.all(this.pageDropDownOptions).first());
const option = element(by.cssContainingText('div[class*="mat-menu-content"] button', numberOfItemPerPage));
BrowserVisibility.waitUntilElementIsVisible(option);
option.click();
return this;
}
getPageDropdownOptions() {
const deferred = protractor.promise.defer();
BrowserVisibility.waitUntilElementIsVisible(element.all(this.pageDropDownOptions).first());
const initialList = [];
element.all(this.pageDropDownOptions).each(function (currentOption) {
currentOption.getText().then(function (text) {
if (text !== '') {
initialList.push(text);
}
});
}).then(function () {
deferred.fulfill(initialList);
});
return deferred.promise;
}
checkNextPageButtonIsDisabled() {
BrowserVisibility.waitUntilElementIsVisible(this.nextButtonDisabled);
}
checkPreviousPageButtonIsDisabled() {
BrowserVisibility.waitUntilElementIsVisible(this.previousButtonDisabled);
}
checkNextPageButtonIsEnabled() {
BrowserVisibility.waitUntilElementIsNotOnPage(this.nextButtonDisabled);
}
checkPreviousPageButtonIsEnabled() {
BrowserVisibility.waitUntilElementIsNotOnPage(this.previousButtonDisabled);
}
getTotalNumberOfFiles() {
BrowserVisibility.waitUntilElementIsVisible(this.totalFiles);
const numberOfFiles = this.totalFiles.getText().then(function (totalNumber) {
const totalNumberOfFiles = totalNumber.split('of ')[1];
return totalNumberOfFiles;
});
return numberOfFiles;
}
}
-2
View File
@@ -62,9 +62,7 @@ export class ViewerPage {
toolbarSwitch = element(by.id('adf-switch-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();
datatableHeader = element(by.css('div.adf-datatable-header'));
goBackSwitch = element(by.id('adf-switch-goback'));
tabLabel = element(by.css('div[class="mat-tab-label-content"]'));
openWithSwitch = element(by.id('adf-switch-openwith'));
openWith = element(by.id('adf-viewer-openwith'));
@@ -18,7 +18,7 @@
import { LoginPage } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
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 { Tenant } from '../models/APS/tenant';
@@ -16,7 +16,7 @@
*/
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 { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
@@ -17,7 +17,7 @@
import { LoginPage } from '@alfresco/adf-testing';
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 CONSTANTS = require('../util/constants');
@@ -17,7 +17,7 @@
import { LoginPage } from '@alfresco/adf-testing';
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 { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage';
@@ -18,7 +18,7 @@
import { LoginPage } from '@alfresco/adf-testing';
import { TasksPage } from '../pages/adf/process-services/tasksPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { PaginationPage } from '../pages/adf/paginationPage';
import { PaginationPage } from '@alfresco/adf-testing';
import CONSTANTS = require('../util/constants');
@@ -18,7 +18,7 @@
import { LoginPage } from '@alfresco/adf-testing';
import { TasksPage } from '../pages/adf/process-services/tasksPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { PaginationPage } from '../pages/adf/paginationPage';
import { PaginationPage } from '@alfresco/adf-testing';
import CONSTANTS = require('../util/constants');
+1 -1
View File
@@ -18,7 +18,7 @@
import { LoginPage } from '@alfresco/adf-testing';
import { SearchDialog } from '../pages/adf/dialog/searchDialog';
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 { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ConfigEditorPage } from '../pages/adf/configEditorPage';