[ADF-3962] sso download directive automated (#4452)

* sso download directive automated

* temp changes

* temp changes

* moving of services under lib testing and ADF-3962 automated

* removed the browser sleep

* cspell and linting fixes.

* codacy improvements

* export public-api update

* remove circular dep

* remove circular dep

* fixes

* fix user info test

* fix datatable

* random commit

* move other string

* fix lint

* fix lint

* fix prolem type

* fix failing test

* fix tag test

* fix problems after rebase

* fix lint

* remove space

* remove visibility method duplicated
This commit is contained in:
gmandakini
2019-03-27 09:36:58 +00:00
committed by Eugenio Romano
parent 89f612bbb0
commit 4376d357ac
191 changed files with 2664 additions and 2299 deletions

View File

@@ -124,7 +124,8 @@
"hardend",
"filedata",
"uncheck",
"subfolders"
"subfolders",
"ECMBPM"
],
"dictionaries": [
"html",

View File

@@ -27,7 +27,7 @@ import { FileModel } from '../../models/ACS/fileModel';
import TestConfig = require('../../test.config');
import resources = require('../../util/resources');
import CONSTANTS = require('../../util/constants');
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions';
@@ -183,7 +183,7 @@ describe('Comment Component', () => {
await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
site = await this.alfrescoJsApi.core.sitesApi.createSite({
title: Util.generateRandomString(8),
title: StringUtil.generateRandomString(8),
visibility: 'PUBLIC'
});

View File

@@ -24,7 +24,7 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel';
import TestConfig = require('../../test.config');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { browser, Key } from 'protractor';
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
describe('Create library directive', function () {
@@ -56,14 +56,14 @@ describe('Create library directive', function () {
loginPage.loginToContentServicesUsingUserModel(acsUser);
createSite = await this.alfrescoJsApi.core.sitesApi.createSite({
'title': Util.generateRandomString(20).toLowerCase(),
'title': StringUtil.generateRandomString(20).toLowerCase(),
'visibility': 'PUBLIC'
});
done();
});
beforeEach( (done) => {
beforeEach((done) => {
contentServicesPage.goToDocumentList();
contentServicesPage.openCreateLibraryDialog();
done();
@@ -98,8 +98,8 @@ describe('Create library directive', function () {
});
it('[C290160] Should create a public library', () => {
const libraryName = Util.generateRandomString();
const libraryDescription = Util.generateRandomString();
const libraryName = StringUtil.generateRandomString();
const libraryDescription = StringUtil.generateRandomString();
createLibraryDialog.typeLibraryName(libraryName);
createLibraryDialog.typeLibraryDescription(libraryDescription);
createLibraryDialog.selectPublic();
@@ -119,8 +119,8 @@ describe('Create library directive', function () {
});
it('[C290173] Should create a private library', () => {
const libraryName = Util.generateRandomString();
const libraryDescription = Util.generateRandomString();
const libraryName = StringUtil.generateRandomString();
const libraryDescription = StringUtil.generateRandomString();
createLibraryDialog.typeLibraryName(libraryName);
createLibraryDialog.typeLibraryDescription(libraryDescription);
createLibraryDialog.selectPrivate();
@@ -140,9 +140,9 @@ describe('Create library directive', function () {
});
it('[C290174, C290175] Should create a moderated library with a given Library ID', () => {
const libraryName = Util.generateRandomString();
const libraryId = Util.generateRandomString();
const libraryDescription = Util.generateRandomString();
const libraryName = StringUtil.generateRandomString();
const libraryId = StringUtil.generateRandomString();
const libraryDescription = StringUtil.generateRandomString();
createLibraryDialog.typeLibraryName(libraryName);
createLibraryDialog.typeLibraryId(libraryId);
createLibraryDialog.typeLibraryDescription(libraryDescription);
@@ -163,7 +163,7 @@ describe('Create library directive', function () {
});
it('[C290163] Should disable Create button when a mandatory field is not filled in', () => {
const inputValue = Util.generateRandomString();
const inputValue = StringUtil.generateRandomString();
createLibraryDialog.typeLibraryName(inputValue);
createLibraryDialog.clearLibraryId();
@@ -214,7 +214,7 @@ describe('Create library directive', function () {
it('[C291793] Should display error for Name field filled in with spaces only', () => {
const name = ' ';
const libraryId = Util.generateRandomString();
const libraryId = StringUtil.generateRandomString();
createLibraryDialog.typeLibraryName(name);
createLibraryDialog.typeLibraryId(libraryId);
@@ -225,7 +225,7 @@ describe('Create library directive', function () {
it('[C290177] Should not accept a duplicate Library Id', () => {
const name = 'My Library';
const libraryId = Util.generateRandomString();
const libraryId = StringUtil.generateRandomString();
createLibraryDialog.typeLibraryName(name);
createLibraryDialog.typeLibraryId(libraryId);
@@ -242,7 +242,7 @@ describe('Create library directive', function () {
it('[C290178] Should accept the same library name but different Library Ids', () => {
const name = createSite.entry.title;
const libraryId = Util.generateRandomString();
const libraryId = StringUtil.generateRandomString();
createLibraryDialog.typeLibraryName(name.toUpperCase());
createLibraryDialog.typeLibraryId(libraryId);
@@ -257,9 +257,9 @@ describe('Create library directive', function () {
});
it('[C290179] Should not accept more than the expected characters for input fields', () => {
const name = Util.generateRandomString(257);
const libraryId = Util.generateRandomString(73);
const libraryDescription = Util.generateRandomString(513);
const name = StringUtil.generateRandomString(257);
const libraryId = StringUtil.generateRandomString(73);
const libraryDescription = StringUtil.generateRandomString(513);
createLibraryDialog.typeLibraryName(name);
createLibraryDialog.typeLibraryId(libraryId);

View File

@@ -24,7 +24,7 @@ import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions';
import { FileModel } from '../../models/ACS/fileModel';
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
describe('Document List Component - Actions', () => {
@@ -59,7 +59,7 @@ describe('Document List Component - Actions', () => {
beforeEach(async (done) => {
acsUser = new AcsUserModel();
folderName = `TATSUMAKY_${Util.generateRandomString(5)}_SENPOUKYAKU`;
folderName = `TATSUMAKY_${StringUtil.generateRandomString(5)}_SENPOUKYAKU`;
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);
@@ -147,8 +147,8 @@ describe('Document List Component - Actions', () => {
beforeEach(async (done) => {
acsUser = new AcsUserModel();
folderName = `TATSUMAKY_${Util.generateRandomString(5)}_SENPOUKYAKU`;
secondFolderName = `TATSUMAKY_${Util.generateRandomString(5)}_SENPOUKYAKU`;
folderName = `TATSUMAKY_${StringUtil.generateRandomString(5)}_SENPOUKYAKU`;
secondFolderName = `TATSUMAKY_${StringUtil.generateRandomString(5)}_SENPOUKYAKU`;
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);

View File

@@ -23,7 +23,7 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { ViewerPage } from '../../pages/adf/viewerPage';
import TestConfig = require('../../test.config');
import resources = require('../../util/resources');
import { Util } from '../../util/util';
import { 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';
@@ -74,8 +74,8 @@ describe('Document List Component', () => {
beforeAll(async (done) => {
acsUser = new AcsUserModel();
const siteName = `PRIVATE_TEST_SITE_${Util.generateRandomString(5)}`;
const folderName = `MEESEEKS_${Util.generateRandomString(5)}`;
const siteName = `PRIVATE_TEST_SITE_${StringUtil.generateRandomString(5)}`;
const folderName = `MEESEEKS_${StringUtil.generateRandomString(5)}`;
const privateSiteBody = { visibility: 'PRIVATE', title: siteName };
await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
@@ -149,7 +149,7 @@ describe('Document List Component', () => {
acsUser = new AcsUserModel();
/* cspell:disable-next-line */
folderName = `MEESEEKS_${Util.generateRandomString(5)}_LOOK_AT_ME`;
folderName = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`;
await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
@@ -331,7 +331,7 @@ describe('Document List Component', () => {
});
acsUser = new AcsUserModel();
/* cspell:disable-next-line */
const folderName = `MEESEEKS_${Util.generateRandomString(5)}_LOOK_AT_ME`;
const folderName = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`;
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);
@@ -362,8 +362,8 @@ describe('Document List Component', () => {
it('[C279970] Should display Islocked field for folders', async (done) => {
acsUser = new AcsUserModel();
const folderNameA = `MEESEEKS_${Util.generateRandomString(5)}_LOOK_AT_ME`;
const folderNameB = `MEESEEKS_${Util.generateRandomString(5)}_LOOK_AT_ME`;
const folderNameA = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`;
const folderNameB = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`;
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);
@@ -455,7 +455,7 @@ describe('Document List Component', () => {
'name': resources.Files.ADF_DOCUMENTS.DOCX.file_name,
'location': resources.Files.ADF_DOCUMENTS.DOCX.file_location
});
const folderName = `MEESEEKS_${Util.generateRandomString(5)}_LOOK_AT_ME`;
const folderName = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`;
let filePdfNode, fileTestNode, fileDocxNode, folderNode;
beforeAll(async (done) => {
@@ -562,7 +562,7 @@ describe('Document List Component', () => {
'name': resources.Files.ADF_DOCUMENTS.DOCX.file_name,
'location': resources.Files.ADF_DOCUMENTS.DOCX.file_location
});
const folderName = `MEESEEKS_${Util.generateRandomString(5)}_LOOK_AT_ME`;
const folderName = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`;
let filePdfNode, fileTestNode, fileDocxNode, folderNode, filePDFSubNode;
beforeAll(async (done) => {

View File

@@ -25,7 +25,7 @@ import { AcsUserModel } from '../models/ACS/acsUserModel';
import { FileModel } from '../models/ACS/fileModel';
import CONSTANTS = require('../util/constants');
import { Util } from '../util/util';
import { StringUtil } from '@alfresco/adf-testing';
import TestConfig = require('../test.config');
import resources = require('../util/resources');
@@ -70,7 +70,7 @@ describe('Lock File', () => {
await this.alfrescoJsApi.login(adminUser.id, adminUser.password);
site = await this.alfrescoJsApi.core.sitesApi.createSite({
title: Util.generateRandomString(),
title: StringUtil.generateRandomString(),
visibility: 'PRIVATE'
});

View File

@@ -16,117 +16,71 @@
*/
import { PermissionsPage } from '../../pages/adf/permissionsPage';
import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
import TestConfig = require('../../test.config');
import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { FileModel } from '../../models/ACS/fileModel';
import { UploadActions } from '../../actions/ACS/upload.actions';
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
import { browser, protractor } from 'protractor';
import { FolderModel } from '../../models/ACS/folderModel';
import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
import { ViewerPage } from '../../pages/adf/viewerPage';
import { NotificationPage } from '../../pages/adf/notificationPage';
import { MetadataViewPage } from '../../pages/adf/metadataViewPage';
import { UploadDialog } from '../../pages/adf/dialog/uploadDialog';
describe('Permissions Component', function () {
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const permissionsPage = new PermissionsPage();
const uploadActions = new UploadActions();
const contentList = contentServicesPage.getDocumentList();
const searchDialog = new SearchDialog();
const viewerPage = new ViewerPage();
const metadataViewPage = new MetadataViewPage();
const notificationPage = new NotificationPage();
const uploadDialog = new UploadDialog();
let fileOwnerUser, filePermissionUser, file;
const fileModel = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.TXT_0B.file_name,
'location': resources.Files.ADF_DOCUMENTS.TXT_0B.file_location
});
const testFileModel = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.TEST.file_name,
'location': resources.Files.ADF_DOCUMENTS.TEST.file_location
});
const pngFileModel = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.PNG.file_name,
'location': resources.Files.ADF_DOCUMENTS.PNG.file_location
});
const groupBody = {
id: Util.generateRandomString(),
displayName: Util.generateRandomString()
id: StringUtil.generateRandomString(),
displayName: StringUtil.generateRandomString()
};
const alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: TestConfig.adf.url
});
const roleConsumerFolderModel = new FolderModel({'name': 'roleConsumer' + Util.generateRandomString()});
const roleCoordinatorFolderModel = new FolderModel({'name': 'roleCoordinator' + Util.generateRandomString()});
const roleCollaboratorFolderModel = new FolderModel({'name': 'roleCollaborator' + Util.generateRandomString()});
const roleContributorFolderModel = new FolderModel({'name': 'roleContributor' + Util.generateRandomString()});
const roleEditorFolderModel = new FolderModel({'name': 'roleEditor' + Util.generateRandomString()});
const roleConsumerFolderModel = new FolderModel({ 'name': 'roleConsumer' + StringUtil.generateRandomString() });
const roleCoordinatorFolderModel = new FolderModel({ 'name': 'roleCoordinator' + StringUtil.generateRandomString() });
const roleCollaboratorFolderModel = new FolderModel({ 'name': 'roleCollaborator' + StringUtil.generateRandomString() });
const roleContributorFolderModel = new FolderModel({ 'name': 'roleContributor' + StringUtil.generateRandomString() });
const roleEditorFolderModel = new FolderModel({ 'name': 'roleEditor' + StringUtil.generateRandomString() });
let roleConsumerFolder, roleCoordinatorFolder, roleContributorFolder, roleCollaboratorFolder, roleEditorFolder;
let folders;
fileOwnerUser = new AcsUserModel();
filePermissionUser = new AcsUserModel();

View File

@@ -33,7 +33,7 @@ import { FileModel } from '../../models/ACS/fileModel';
import { UploadActions } from '../../actions/ACS/upload.actions';
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
import { browser, protractor } from 'protractor';
@@ -143,11 +143,11 @@ describe('Permissions Component', function () {
await alfrescoJsApi.login(folderOwnerUser.id, folderOwnerUser.password);
const publicSiteName = `PUBLIC_TEST_SITE_${Util.generateRandomString(5)}`;
const publicSiteName = `PUBLIC_TEST_SITE_${StringUtil.generateRandomString(5)}`;
const privateSiteName = `PRIVATE_TEST_SITE_${Util.generateRandomString(5)}`;
const privateSiteName = `PRIVATE_TEST_SITE_${StringUtil.generateRandomString(5)}`;
folderName = `MEESEEKS_${Util.generateRandomString(5)}`;
folderName = `MEESEEKS_${StringUtil.generateRandomString(5)}`;
const publicSiteBody = {visibility: 'PUBLIC', title: publicSiteName};

View File

@@ -16,7 +16,7 @@
*/
import CONSTANTS = require('../../util/constants');
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
@@ -38,7 +38,7 @@ describe('Unshare file', () => {
const navBar = new NavigationBarPage();
const errorPage = new ErrorPage();
const shareDialog = new ShareDialog();
const siteName = `PRIVATE-TEST-SITE-${Util.generateRandomString(5)}`;
const siteName = `PRIVATE-TEST-SITE-${StringUtil.generateRandomString(5)}`;
const acsUser = new AcsUserModel();
const uploadActions = new UploadActions();
@@ -63,10 +63,10 @@ describe('Unshare file', () => {
};
nodeBody = {
name: Util.generateRandomString(5),
name: StringUtil.generateRandomString(5),
nodeType: 'cm:content',
properties: {
'cm:title': Util.generateRandomString(5)
'cm:title': StringUtil.generateRandomString(5)
}
};

View File

@@ -0,0 +1,166 @@
/*!
* @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 { SettingsPage } from '../../pages/adf/settingsPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import TestConfig = require('../../test.config');
import { browser } from 'protractor';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { ApiService, LoginSSOPage } from '@alfresco/adf-testing';
import { UploadActions } from '../../actions/ACS/upload.actions';
import { FileModel } from '../../models/ACS/fileModel';
import { ViewerPage } from '../../pages/adf/viewerPage';
import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import * as path from 'path';
import { Util } from '../../util/util';
import { IdentityService } from '@alfresco/adf-testing';
import { StringUtil, UserModel } from '@alfresco/adf-testing';
describe('SSO in ADF using ACS and AIS, Download Directive, Viewer, DocumentList, implicitFlow true', () => {
const settingsPage = new SettingsPage();
const navigationBarPage = new NavigationBarPage();
const contentServicesPage = new ContentServicesPage();
const contentListPage = contentServicesPage.getDocumentList();
const loginSsoPage = new LoginSSOPage();
const viewerPage = new ViewerPage();
let silentLogin;
let implicitFlow;
const uploadActions = new UploadActions();
const firstPdfFileModel = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.PDF_B.file_name,
'location': resources.Files.ADF_DOCUMENTS.PDF_B.file_location
});
const pngFileModel = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.PNG.file_name,
'location': resources.Files.ADF_DOCUMENTS.PNG.file_location
});
let pdfUploadedFile, pngUploadedFile, folder;
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: TestConfig.adf.url
});
const downloadedPngFile = path.join(__dirname, 'downloads', pngFileModel.name);
const downloadedMultipleFiles = path.join(__dirname, 'downloads', 'archive.zip');
const folderName = StringUtil.generateRandomString(5);
const acsUser = new UserModel();
let identityService: IdentityService;
describe('SSO in ADF using ACS and AIS, implicit flow set', () => {
beforeAll(async (done) => {
await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService('alfresco', TestConfig.adf.url, TestConfig.adf.hostSso, 'ECM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
identityService = new IdentityService(apiService);
await identityService.createIdentityUserAndSyncECMBPM(acsUser);
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
folder = await uploadActions.createFolder(this.alfrescoJsApi, folderName, '-my-');
pdfUploadedFile = await uploadActions.uploadFile(this.alfrescoJsApi, firstPdfFileModel.location, firstPdfFileModel.name, folder.entry.id);
pngUploadedFile = await uploadActions.uploadFile(this.alfrescoJsApi, pngFileModel.location, pngFileModel.name, folder.entry.id);
silentLogin = false;
implicitFlow = true;
settingsPage.setProviderEcmSso(TestConfig.adf.url, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin, implicitFlow, 'alfresco');
loginSsoPage.clickOnSSOButton();
loginSsoPage.loginSSOIdentityService(acsUser.id, acsUser.password);
navigationBarPage.clickContentServicesButton();
contentServicesPage.checkAcsContainer();
contentListPage.doubleClickRow(folderName);
contentListPage.waitForTableBody();
done();
});
afterAll(async (done) => {
try {
await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, folder.entry.id);
await identityService.deleteIdentityUser(acsUser.id);
} catch (error) {
}
await this.alfrescoJsApi.logout();
browser.executeScript('window.sessionStorage.clear();');
browser.executeScript('window.localStorage.clear();');
done();
});
afterEach(async (done) => {
browser.refresh();
contentListPage.waitForTableBody();
done();
});
it('[C291936] Should be able to download a file', async (done) => {
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickDownloadButton();
expect(Util.fileExists(downloadedPngFile, 30)).toBe(true);
done();
});
it('[C291938] Should be able to open a document', async (done) => {
contentServicesPage.doubleClickRow(firstPdfFileModel.name);
viewerPage.checkFileIsLoaded();
viewerPage.checkFileNameIsDisplayed(firstPdfFileModel.name);
viewerPage.clickCloseButton();
contentListPage.waitForTableBody();
done();
});
it('[C291942] Should be able to open an image', async (done) => {
viewerPage.viewFile(pngFileModel.name);
viewerPage.checkImgViewerIsDisplayed();
viewerPage.checkFileNameIsDisplayed(pngFileModel.name);
viewerPage.clickCloseButton();
contentListPage.waitForTableBody();
done();
});
it('[C291941] Should be able to download multiple files', async (done) => {
contentServicesPage.clickMultiSelectToggle();
contentServicesPage.checkAcsContainer();
contentListPage.dataTablePage().checkAllRows();
contentListPage.dataTablePage().checkRowIsChecked('Display name', pngFileModel.name);
contentListPage.dataTablePage().checkRowIsChecked('Display name', firstPdfFileModel.name);
contentServicesPage.clickDownloadButton();
expect(Util.fileExists(downloadedMultipleFiles, 30)).toBe(true);
done();
});
it('[C291940] Should be able to view thumbnails when enabled', async (done) => {
contentServicesPage.enableThumbnails();
contentServicesPage.checkAcsContainer();
contentListPage.waitForTableBody();
const filePdfIconUrl = await contentServicesPage.getRowIconImageUrl(firstPdfFileModel.name);
expect(filePdfIconUrl).toContain(`/versions/1/nodes/${pdfUploadedFile.entry.id}/renditions`);
const filePngIconUrl = await contentServicesPage.getRowIconImageUrl(pngFileModel.name);
expect(filePngIconUrl).toContain(`/versions/1/nodes/${pngUploadedFile.entry.id}/renditions`);
done();
});
});
});

View File

@@ -28,7 +28,7 @@ import resources = require('../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../actions/ACS/upload.actions';
import { Util } from '../util/util';
import { StringUtil } from '@alfresco/adf-testing';
import { browser } from 'protractor';
describe('Tag component', () => {
@@ -40,14 +40,14 @@ describe('Tag component', () => {
const acsUser = new AcsUserModel();
const uploadActions = new UploadActions();
const pdfFileModel = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name });
const deleteFile = new FileModel({ 'name': Util.generateRandomString() });
const sameTag = Util.generateRandomStringToLowerCase();
const deleteFile = new FileModel({ 'name': StringUtil.generateRandomString() });
const sameTag = StringUtil.generateRandomString().toLowerCase();
const tagList = [
Util.generateRandomStringToLowerCase(),
Util.generateRandomStringToLowerCase(),
Util.generateRandomStringToLowerCase(),
Util.generateRandomStringToLowerCase()];
StringUtil.generateRandomString().toLowerCase(),
StringUtil.generateRandomString().toLowerCase(),
StringUtil.generateRandomString().toLowerCase(),
StringUtil.generateRandomString().toLowerCase()];
const tags = [
{ tag: 'test-tag-01' }, { tag: 'test-tag-02' }, { tag: 'test-tag-03' }, { tag: 'test-tag-04' }, { tag: 'test-tag-05' },
@@ -57,9 +57,9 @@ describe('Tag component', () => {
{ tag: 'test-tag-21' }, { tag: 'test-tag-22' }, { tag: 'test-tag-23' }, { tag: 'test-tag-24' }, { tag: 'test-tag-25' },
{ tag: 'test-tag-26' }, { tag: 'test-tag-27' }, { tag: 'test-tag-28' }, { tag: 'test-tag-29' }, { tag: 'test-tag-30' }];
const uppercaseTag = Util.generateRandomStringToUpperCase();
const digitsTag = Util.generateRandomStringDigits();
const nonLatinTag = Util.generateRandomStringNonLatin();
const uppercaseTag = StringUtil.generateRandomString().toUpperCase();
const digitsTag = StringUtil.generateRandomStringDigits();
const nonLatinTag = StringUtil.generateRandomStringNonLatin();
let pdfUploadedFile, nodeId;
beforeAll(async (done) => {
@@ -160,7 +160,7 @@ describe('Tag component', () => {
});
it('[C260375] Should be possible to delete a tag', () => {
const deleteTag = Util.generateRandomStringToUpperCase();
const deleteTag = StringUtil.generateRandomString().toUpperCase();
tagPage.insertNodeId(deleteFile.id);

View File

@@ -28,7 +28,7 @@ import { FolderModel } from '../../models/ACS/folderModel';
import TestConfig = require('../../test.config');
import resources = require('../../util/resources');
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
@@ -365,7 +365,7 @@ describe('Upload component', () => {
});
it('[C291921] Should display tooltip for uploading files on a not found location', async () => {
const folderName = Util.generateRandomString(8);
const folderName = StringUtil.generateRandomString(8);
const folderUploadedModel = await browser.controlFlow().execute(async () => {
return await uploadActions.createFolder(this.alfrescoJsApi, folderName, '-my-');

View File

@@ -17,7 +17,7 @@
import { browser } from 'protractor';
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
@@ -88,12 +88,12 @@ describe('Upload - User permission', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
this.consumerSite = await this.alfrescoJsApi.core.sitesApi.createSite({
title: Util.generateRandomString(),
title: StringUtil.generateRandomString(),
visibility: 'PUBLIC'
});
this.managerSite = await this.alfrescoJsApi.core.sitesApi.createSite({
title: Util.generateRandomString(),
title: StringUtil.generateRandomString(),
visibility: 'PUBLIC'
});

View File

@@ -32,6 +32,7 @@ import { UploadActions } from '../../actions/ACS/upload.actions';
import { Util } from '../../util/util';
import path = require('path');
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { BrowserVisibility } from '@alfresco/adf-testing';
describe('Version component actions', () => {
@@ -86,14 +87,14 @@ describe('Version component actions', () => {
versionManagePage.clickActionButton('1.0');
expect(element(by.css(`[id="adf-version-list-action-delete-1.0"]`)).isEnabled()).toBe(false);
versionManagePage.closeActionButton();
Util.waitUntilElementIsNotOnPage(element(by.css(`[id="adf-version-list-action-delete-1.0"]`)));
BrowserVisibility.waitUntilElementIsNotOnPage(element(by.css(`[id="adf-version-list-action-delete-1.0"]`)));
});
it('[C280004] Should not be possible restore the version if there is only one version', () => {
versionManagePage.clickActionButton('1.0');
expect(element(by.css(`[id="adf-version-list-action-restore-1.0"]`)).isEnabled()).toBe(false);
versionManagePage.closeActionButton();
Util.waitUntilElementIsNotOnPage(element(by.css(`[id="adf-version-list-action-restore-1.0"]`)));
BrowserVisibility.waitUntilElementIsNotOnPage(element(by.css(`[id="adf-version-list-action-restore-1.0"]`)));
});
it('[C280005] Should be showed all the default action when you have more then one version', () => {

View File

@@ -34,7 +34,7 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions';
import { NodeActions } from '../../actions/ACS/node.actions';
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
import CONSTANTS = require('../../util/constants');
describe('Version component permissions', () => {
@@ -89,7 +89,7 @@ describe('Version component permissions', () => {
await this.alfrescoJsApi.core.peopleApi.addPerson(fileCreatorUser);
site = await this.alfrescoJsApi.core.sitesApi.createSite({
title: Util.generateRandomString(),
title: StringUtil.generateRandomString(),
visibility: 'PUBLIC'
});

View File

@@ -29,8 +29,8 @@ import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions';
import { Util } from '../../util/util';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { BrowserVisibility } from '@alfresco/adf-testing';
describe('Version Properties', () => {
@@ -86,7 +86,7 @@ describe('Version Properties', () => {
versionManagePage.clickActionButton('1.0');
Util.waitUntilElementIsNotVisible(element(by.css(`[id="adf-version-list-action-download-1.0"]`)));
BrowserVisibility.waitUntilElementIsNotVisible(element(by.css(`[id="adf-version-list-action-download-1.0"]`)));
versionManagePage.closeActionButton();
});
@@ -96,7 +96,7 @@ describe('Version Properties', () => {
versionManagePage.clickActionButton('1.0');
Util.waitUntilElementIsVisible(element(by.css(`[id="adf-version-list-action-download-1.0"]`)));
BrowserVisibility.waitUntilElementIsVisible(element(by.css(`[id="adf-version-list-action-download-1.0"]`)));
versionManagePage.closeActionButton();
});
@@ -113,28 +113,28 @@ describe('Version Properties', () => {
versionManagePage.disableComments();
Util.waitUntilElementIsNotVisible(element(by.css(`[id="adf-version-list-item-comment-1.1"]`)));
BrowserVisibility.waitUntilElementIsNotVisible(element(by.css(`[id="adf-version-list-item-comment-1.1"]`)));
});
it('[C277277] Should show/hide actions menu when readOnly is true/false', () => {
versionManagePage.disableReadOnly();
Util.waitUntilElementIsVisible(element(by.css(`[id="adf-version-list-action-menu-button-1.0"]`)));
BrowserVisibility.waitUntilElementIsVisible(element(by.css(`[id="adf-version-list-action-menu-button-1.0"]`)));
versionManagePage.enableReadOnly();
Util.waitUntilElementIsNotVisible(element(by.css(`[id="adf-version-list-action-menu-button-1.0"]`)));
BrowserVisibility.waitUntilElementIsNotVisible(element(by.css(`[id="adf-version-list-action-menu-button-1.0"]`)));
});
it('[C279994] Should show/hide upload new version button when readOnly is true/false', () => {
versionManagePage.disableReadOnly();
Util.waitUntilElementIsVisible(versionManagePage.showNewVersionButton);
BrowserVisibility.waitUntilElementIsVisible(versionManagePage.showNewVersionButton);
versionManagePage.enableReadOnly();
Util.waitUntilElementIsNotVisible(versionManagePage.showNewVersionButton);
Util.waitUntilElementIsNotVisible(versionManagePage.uploadNewVersionButton);
BrowserVisibility.waitUntilElementIsNotVisible(versionManagePage.showNewVersionButton);
BrowserVisibility.waitUntilElementIsNotVisible(versionManagePage.uploadNewVersionButton);
});
});

View File

@@ -29,8 +29,8 @@ import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions';
import { Util } from '../../util/util';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { BrowserVisibility } from '@alfresco/adf-testing';
describe('Version component', () => {
@@ -109,25 +109,25 @@ describe('Version component', () => {
browser.driver.sleep(300);
Util.waitUntilElementIsVisible(versionManagePage.cancelButton);
Util.waitUntilElementIsVisible(versionManagePage.majorRadio);
Util.waitUntilElementIsVisible(versionManagePage.minorRadio);
Util.waitUntilElementIsVisible(versionManagePage.cancelButton);
Util.waitUntilElementIsVisible(versionManagePage.commentText);
Util.waitUntilElementIsVisible(versionManagePage.uploadNewVersionButton);
BrowserVisibility.waitUntilElementIsVisible(versionManagePage.cancelButton);
BrowserVisibility.waitUntilElementIsVisible(versionManagePage.majorRadio);
BrowserVisibility.waitUntilElementIsVisible(versionManagePage.minorRadio);
BrowserVisibility.waitUntilElementIsVisible(versionManagePage.cancelButton);
BrowserVisibility.waitUntilElementIsVisible(versionManagePage.commentText);
BrowserVisibility.waitUntilElementIsVisible(versionManagePage.uploadNewVersionButton);
versionManagePage.cancelButton.click();
browser.driver.sleep(300);
Util.waitUntilElementIsNotVisible(versionManagePage.cancelButton);
Util.waitUntilElementIsNotVisible(versionManagePage.majorRadio);
Util.waitUntilElementIsNotVisible(versionManagePage.minorRadio);
Util.waitUntilElementIsNotVisible(versionManagePage.cancelButton);
Util.waitUntilElementIsNotVisible(versionManagePage.commentText);
Util.waitUntilElementIsNotVisible(versionManagePage.uploadNewVersionButton);
BrowserVisibility.waitUntilElementIsNotVisible(versionManagePage.cancelButton);
BrowserVisibility.waitUntilElementIsNotVisible(versionManagePage.majorRadio);
BrowserVisibility.waitUntilElementIsNotVisible(versionManagePage.minorRadio);
BrowserVisibility.waitUntilElementIsNotVisible(versionManagePage.cancelButton);
BrowserVisibility.waitUntilElementIsNotVisible(versionManagePage.commentText);
BrowserVisibility.waitUntilElementIsNotVisible(versionManagePage.uploadNewVersionButton);
Util.waitUntilElementIsVisible(versionManagePage.showNewVersionButton);
BrowserVisibility.waitUntilElementIsVisible(versionManagePage.showNewVersionButton);
});
it('[C260244] Should show the version history when select a file with multiple version', () => {

View File

@@ -23,7 +23,7 @@ import { MetadataViewPage } from '../../pages/adf/metadataViewPage';
import TestConfig = require('../../test.config');
import { CardViewComponentPage } from '../../pages/adf/cardViewComponentPage';
import { Util } from '../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
describe('CardView Component', () => {
const loginPage = new LoginPage();
@@ -47,7 +47,7 @@ describe('CardView Component', () => {
it('[C279938] Should the label be present', () => {
const label = element(by.css('div[data-automation-id="card-key-value-pairs-label-key-value-pairs"]'));
Util.waitUntilElementIsPresent(label);
BrowserVisibility.waitUntilElementIsPresent(label);
});
it('[C279898] Should be possible edit key-value pair properties', () => {
@@ -69,7 +69,7 @@ describe('CardView Component', () => {
it('[C279939] Should the label be present', () => {
const label = element(by.css('div[data-automation-id="card-select-label-select"]'));
Util.waitUntilElementIsPresent(label);
BrowserVisibility.waitUntilElementIsPresent(label);
});
it('[C279899] Should be possible edit selectBox item', () => {
@@ -86,7 +86,7 @@ describe('CardView Component', () => {
it('[C279937] Should the label be present', () => {
const label = element(by.css('div[data-automation-id="card-textitem-label-name"]'));
Util.waitUntilElementIsPresent(label);
BrowserVisibility.waitUntilElementIsPresent(label);
});
it('[C279943] Should be present a default value', () => {
@@ -117,7 +117,7 @@ describe('CardView Component', () => {
it('[C279940] Should the label be present', () => {
const label = element(by.css('div[data-automation-id="card-textitem-label-int"]'));
Util.waitUntilElementIsPresent(label);
BrowserVisibility.waitUntilElementIsPresent(label);
});
it('[C279945] Should be present a default value', () => {
@@ -191,7 +191,7 @@ describe('CardView Component', () => {
it('[C279941] Should the label be present', () => {
const label = element(by.css('div[data-automation-id="card-textitem-label-float"]'));
Util.waitUntilElementIsPresent(label);
BrowserVisibility.waitUntilElementIsPresent(label);
});
it('[C279952] Should be present a default value', () => {
@@ -241,7 +241,7 @@ describe('CardView Component', () => {
it('[C279942] Should the label be present', () => {
const label = element(by.css('div[data-automation-id="card-boolean-label-boolean"]'));
Util.waitUntilElementIsPresent(label);
BrowserVisibility.waitUntilElementIsPresent(label);
});
it('[C279957] Should be possible edit the checkbox value when click on it', () => {
@@ -260,11 +260,11 @@ describe('CardView Component', () => {
it('[C279961] Should the label be present', () => {
const labelDate = element(by.css('div[data-automation-id="card-dateitem-label-date"]'));
Util.waitUntilElementIsPresent(labelDate);
BrowserVisibility.waitUntilElementIsPresent(labelDate);
const labelDatetime = element(by.css('div[data-automation-id="card-dateitem-label-datetime"]'));
Util.waitUntilElementIsPresent(labelDatetime);
BrowserVisibility.waitUntilElementIsPresent(labelDatetime);
});
it('[C279962] Should be present a default value', () => {
@@ -283,10 +283,10 @@ describe('CardView Component', () => {
const editIconKey = element(by.css('mat-icon[data-automation-id="card-key-value-pairs-button-key-value-pairs"]'));
const editIconData = element(by.css('mat-datetimepicker-toggle'));
Util.waitUntilElementIsNotVisible(editIconText);
Util.waitUntilElementIsNotVisible(editIconInt);
Util.waitUntilElementIsNotVisible(editIconFloat);
Util.waitUntilElementIsNotVisible(editIconKey);
Util.waitUntilElementIsNotVisible(editIconData);
BrowserVisibility.waitUntilElementIsNotVisible(editIconText);
BrowserVisibility.waitUntilElementIsNotVisible(editIconInt);
BrowserVisibility.waitUntilElementIsNotVisible(editIconFloat);
BrowserVisibility.waitUntilElementIsNotVisible(editIconKey);
BrowserVisibility.waitUntilElementIsNotVisible(editIconData);
});
});

View File

@@ -29,7 +29,7 @@ import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions';
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
import CONSTANTS = require('../../util/constants');
describe('permissions', () => {
@@ -78,7 +78,7 @@ describe('permissions', () => {
await this.alfrescoJsApi.core.peopleApi.addPerson(contributorUser);
site = await this.alfrescoJsApi.core.sitesApi.createSite({
title: Util.generateRandomString(),
title: StringUtil.generateRandomString(),
visibility: 'PUBLIC'
});

View File

@@ -20,7 +20,7 @@ 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 '../../node_modules/protractor';
import { browser } from 'protractor';
describe('Error Component', () => {

View File

@@ -259,7 +259,7 @@ describe('Login component', () => {
settingsPage.setProviderEcmBpm();
loginPage.enableLogoSwitch();
loginPage.enterLogo('https://rawgit.com/Alfresco/alfresco-ng2-components/master/assets/angular2.png');
loginPage.checkLoginImgURL('https://rawgit.com/Alfresco/alfresco-ng2-components/master/assets/angular2.png');
loginPage.checkLoginImgURL();
});
it('[C291854] Should be possible login in valid credentials', () => {

View File

@@ -29,7 +29,7 @@ import { SettingsPage } from '../../pages/adf/settingsPage';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
import { UploadActions } from '../../actions/ACS/upload.actions';
import { LogoutPage } from '../../pages/adf/demo-shell/logoutPage';
@@ -64,7 +64,7 @@ describe('Login component - Redirect', () => {
await this.alfrescoJsApi.login(user.id, user.password);
uploadedFolder = await uploadActions.createFolder(this.alfrescoJsApi, 'protecteFolder' + Util.generateRandomString(), '-my-');
uploadedFolder = await uploadActions.createFolder(this.alfrescoJsApi, 'protecteFolder' + StringUtil.generateRandomString(), '-my-');
done();
});

View File

@@ -18,10 +18,9 @@
import { LoginSSOPage } from '@alfresco/adf-testing';
import { SettingsPage } from '../pages/adf/settingsPage';
import TestConfig = require('../test.config');
import { browser } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { UserInfoPage } from '@alfresco/adf-testing';
import { Identity } from '../actions/APS-cloud/identity';
import { IdentityService, ApiService } from '@alfresco/adf-testing';
describe('User Info - SSO', () => {
@@ -29,21 +28,25 @@ describe('User Info - SSO', () => {
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const userInfoPage = new UserInfoPage();
const identityService: Identity = new Identity();
let silentLogin, identityUser;
let identityService: IdentityService;
beforeAll(async () => {
await identityService.init(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword, 'alfresco');
const apiService = new ApiService('alfresco', TestConfig.adf.url, TestConfig.adf.hostSso, 'ECM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
identityService = new IdentityService(apiService);
identityUser = await identityService.createIdentityUser();
silentLogin = false;
settingsPage.setProviderEcmSso(TestConfig.adf.url, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin, true, 'alfresco');
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(identityUser.username, identityUser.password);
loginSSOPage.loginSSOIdentityService(identityUser.email, identityUser.password);
});
afterAll(async () => {
await identityService.deleteIdentityUser(identityUser.id);
await identityService.deleteIdentityUser(identityUser.idIdentityService);
});
it('[C290066] Should display UserInfo when login using SSO', () => {

View File

@@ -81,7 +81,7 @@ describe('User Info component', () => {
expect(userInfoPage.getContentHeaderTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getContentTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getContentEmail()).toEqual(contentUserModel.email);
expect(userInfoPage.getContentJobTitle()).toEqual(contentUserModel.jobTitle);
expect(userInfoPage.getContentJobTitle()).toEqual('N/A');
userInfoPage.checkInitialImage();
userInfoPage.APSProfileImageNotDisplayed();
@@ -91,7 +91,7 @@ describe('User Info component', () => {
expect(userInfoPage.getContentHeaderTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getContentTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getContentEmail()).toEqual(contentUserModel.email);
expect(userInfoPage.getContentJobTitle()).toEqual(contentUserModel.jobTitle);
expect(userInfoPage.getContentJobTitle()).toEqual('N/A');
userInfoPage.checkInitialImage();
userInfoPage.APSProfileImageNotDisplayed();
@@ -99,9 +99,9 @@ describe('User Info component', () => {
userInfoPage.clickOnProcessServicesTab();
userInfoPage.checkProcessServicesTabIsSelected();
expect(userInfoPage.getProcessHeaderTitle()).toEqual(processUserModel.firstName + ' ' + processUserModel.lastName);
expect(userInfoPage.getProcessTitle()).toEqual(processUserModel.firstName + ' ' + processUserModel.lastName);
expect(userInfoPage.getProcessEmail()).toEqual(processUserModel.email);
expect(userInfoPage.getProcessHeaderTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getProcessTitle()).toEqual(contentUserModel.firstName + ' ' + processUserModel.lastName);
expect(userInfoPage.getProcessEmail()).toEqual(contentUserModel.email);
userInfoPage.checkInitialImage();
userInfoPage.APSProfileImageNotDisplayed();
@@ -120,7 +120,7 @@ describe('User Info component', () => {
expect(userInfoPage.getContentHeaderTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getContentTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getContentEmail()).toEqual(contentUserModel.email);
expect(userInfoPage.getContentJobTitle()).toEqual(contentUserModel.jobTitle);
expect(userInfoPage.getContentJobTitle()).toEqual('N/A');
userInfoPage.checkInitialImage();
userInfoPage.APSProfileImageNotDisplayed();
@@ -150,7 +150,7 @@ describe('User Info component', () => {
it('[C260117] Should display UserInfo with profile image uploaded in ACS', async(done) => {
browser.controlFlow().execute(async() => {
await PeopleAPI.updateAvatarViaAPI(contentUserModel, acsAvatarFileModel, '-me-');
await PeopleAPI.getAvatarViaAPI(4, contentUserModel, '-me-', function (result) {});
await PeopleAPI.getAvatarViaAPI(4, contentUserModel, '-me-', function () {});
});
loginPage.goToLoginPage();

View File

@@ -26,7 +26,7 @@ import { AboutPage } from '../../pages/adf/demo-shell/aboutPage';
import CONSTANTS = require('../../util/constants');
import resources = require('../../util/resources');
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
import { FileModel } from '../../models/ACS/fileModel';
import { FolderModel } from '../../models/ACS/folderModel';
@@ -106,7 +106,7 @@ xdescribe('Viewer', () => {
await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser);
site = await this.alfrescoJsApi.core.sitesApi.createSite({
title: Util.generateRandomString(8),
title: StringUtil.generateRandomString(8),
visibility: 'PUBLIC'
});

View File

@@ -15,16 +15,15 @@
* limitations under the License.
*/
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
export class AcsUserModel {
firstName = Util.generateRandomString();
lastName = Util.generateRandomString();
password = Util.generateRandomString();
email = Util.generateRandomString();
id = Util.generateRandomString();
jobTitle = 'N/A';
firstName = StringUtil.generateRandomString();
lastName = StringUtil.generateRandomString();
password = StringUtil.generateRandomString();
email = StringUtil.generateRandomString();
id = StringUtil.generateRandomString();
constructor(details?: any) {
Object.assign(this, details);

View File

@@ -15,11 +15,11 @@
* limitations under the License.
*/
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
export class CreatedByModel {
displayName = Util.generateRandomString();
id = Util.generateRandomString();
displayName = StringUtil.generateRandomString();
id = StringUtil.generateRandomString();
constructor(details?: any) {
Object.assign(this, details);

View File

@@ -19,12 +19,12 @@ import resources = require('../../util/resources');
import ContentModel = require('./contentModel');
import ContentPropertiesModel = require('./contentProperties');
import { CreatedByModel } from './createdByModel';
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
export class FileModel {
id = Util.generateRandomString();
name = Util.generateRandomString();
id = StringUtil.generateRandomString();
name = StringUtil.generateRandomString();
shortName = this.name;
location = resources.Files.ADF_DOCUMENTS.PDF.file_location;
tooltip = this.name;

View File

@@ -15,12 +15,12 @@
* limitations under the License.
*/
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
export class FolderModel {
id = Util.generateRandomString();
name = Util.generateRandomString();
id = StringUtil.generateRandomString();
name = StringUtil.generateRandomString();
shortName = this.name;
tooltip = this.name;
location = '';

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
/**
* Create Json Object for standalone task
@@ -25,7 +25,7 @@ import { Util } from '../../util/util';
*/
export class StandaloneTask {
name = Util.generateRandomString();
name = StringUtil.generateRandomString();
constructor(details?: any) {
Object.assign(this, details);

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
/**
* Create tenant JSON Object
@@ -29,7 +29,7 @@ export class Tenant {
configuration = 'DefaultConfig';
domain = 'DefaultDomain';
maxUsers = 10;
name = Util.generateRandomString();
name = StringUtil.generateRandomString();
constructor(details?: any) {
Object.assign(this, details);

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Util } from '../../util/util';
import { StringUtil } from '@alfresco/adf-testing';
/**
* Create tenant JSON Object
@@ -25,10 +25,10 @@ import { Util } from '../../util/util';
*/
export class User {
email = Util.generateRandomEmail();
firstName = Util.generateRandomString();
lastName = Util.generateRandomString();
password = Util.generatePasswordString();
email = StringUtil.generateRandomEmail('@activiti.test.com');
firstName = StringUtil.generateRandomString();
lastName = StringUtil.generateRandomString();
password = StringUtil.generatePasswordString();
type = 'enterprise';
tenantId = '1';
company = null;

View File

@@ -16,7 +16,7 @@
*/
import { by, element } from 'protractor';
import { Util } from '../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class CardViewComponentPage {
@@ -38,45 +38,45 @@ export class CardViewComponentPage {
editableSwitch = element(by.id('adf-toggle-editable'));
clickOnAddButton() {
Util.waitUntilElementIsVisible(this.addButton);
BrowserVisibility.waitUntilElementIsVisible(this.addButton);
this.addButton.click();
return this;
}
clickOnResetButton() {
Util.waitUntilElementIsVisible(this.resetButton);
BrowserVisibility.waitUntilElementIsVisible(this.resetButton);
this.resetButton.click();
return this;
}
clickOnTextField() {
const toggleText = element(by.css(`div[data-automation-id='card-textitem-edit-toggle-name']`));
Util.waitUntilElementIsVisible(toggleText);
BrowserVisibility.waitUntilElementIsVisible(toggleText);
toggleText.click();
Util.waitUntilElementIsVisible(this.textField);
BrowserVisibility.waitUntilElementIsVisible(this.textField);
return this;
}
clickOnTextClearIcon() {
const clearIcon = element(by.css(`mat-icon[data-automation-id="card-textitem-reset-name"]`));
Util.waitUntilElementIsVisible(clearIcon);
BrowserVisibility.waitUntilElementIsVisible(clearIcon);
return clearIcon.click();
}
clickOnTextSaveIcon() {
const saveIcon = element(by.css(`mat-icon[data-automation-id="card-textitem-update-name"]`));
Util.waitUntilElementIsVisible(saveIcon);
BrowserVisibility.waitUntilElementIsVisible(saveIcon);
return saveIcon.click();
}
getTextFieldText() {
const textField = element(by.css(`span[data-automation-id="card-textitem-value-name"]`));
Util.waitUntilElementIsVisible(textField);
BrowserVisibility.waitUntilElementIsVisible(textField);
return textField.getText();
}
enterTextField(text) {
Util.waitUntilElementIsVisible(this.textField);
BrowserVisibility.waitUntilElementIsVisible(this.textField);
this.textField.sendKeys('');
this.textField.clear();
this.textField.sendKeys(text);
@@ -85,26 +85,26 @@ export class CardViewComponentPage {
clickOnIntField() {
const toggleText = element(by.css('div[data-automation-id="card-textitem-edit-toggle-int"]'));
Util.waitUntilElementIsVisible(toggleText);
BrowserVisibility.waitUntilElementIsVisible(toggleText);
toggleText.click();
Util.waitUntilElementIsVisible(this.intField);
BrowserVisibility.waitUntilElementIsVisible(this.intField);
return this;
}
clickOnIntClearIcon() {
const clearIcon = element(by.css('mat-icon[data-automation-id="card-textitem-reset-int"]'));
Util.waitUntilElementIsVisible(clearIcon);
BrowserVisibility.waitUntilElementIsVisible(clearIcon);
return clearIcon.click();
}
clickOnIntSaveIcon() {
const saveIcon = element(by.css('mat-icon[data-automation-id="card-textitem-update-int"]'));
Util.waitUntilElementIsVisible(saveIcon);
BrowserVisibility.waitUntilElementIsVisible(saveIcon);
return saveIcon.click();
}
enterIntField(text) {
Util.waitUntilElementIsVisible(this.intField);
BrowserVisibility.waitUntilElementIsVisible(this.intField);
this.intField.sendKeys('');
this.intField.clear();
this.intField.sendKeys(text);
@@ -113,38 +113,38 @@ export class CardViewComponentPage {
getIntFieldText() {
const textField = element(by.css('span[data-automation-id="card-textitem-value-int"]'));
Util.waitUntilElementIsVisible(textField);
BrowserVisibility.waitUntilElementIsVisible(textField);
return textField.getText();
}
getErrorInt() {
const errorElement = element(by.css('mat-error[data-automation-id="card-textitem-error-int"]'));
Util.waitUntilElementIsVisible(errorElement);
BrowserVisibility.waitUntilElementIsVisible(errorElement);
return errorElement.getText();
}
clickOnFloatField() {
const toggleText = element(by.css('div[data-automation-id="card-textitem-edit-toggle-float"]'));
Util.waitUntilElementIsVisible(toggleText);
BrowserVisibility.waitUntilElementIsVisible(toggleText);
toggleText.click();
Util.waitUntilElementIsVisible(this.floatField);
BrowserVisibility.waitUntilElementIsVisible(this.floatField);
return this;
}
clickOnFloatClearIcon() {
const clearIcon = element(by.css(`mat-icon[data-automation-id="card-textitem-reset-float"]`));
Util.waitUntilElementIsVisible(clearIcon);
BrowserVisibility.waitUntilElementIsVisible(clearIcon);
return clearIcon.click();
}
clickOnFloatSaveIcon() {
const saveIcon = element(by.css(`mat-icon[data-automation-id="card-textitem-update-float"]`));
Util.waitUntilElementIsVisible(saveIcon);
BrowserVisibility.waitUntilElementIsVisible(saveIcon);
return saveIcon.click();
}
enterFloatField(text) {
Util.waitUntilElementIsVisible(this.floatField);
BrowserVisibility.waitUntilElementIsVisible(this.floatField);
this.floatField.sendKeys('');
this.floatField.clear();
this.floatField.sendKeys(text);
@@ -153,30 +153,30 @@ export class CardViewComponentPage {
getFloatFieldText() {
const textField = element(by.css('span[data-automation-id="card-textitem-value-float"]'));
Util.waitUntilElementIsVisible(textField);
BrowserVisibility.waitUntilElementIsVisible(textField);
return textField.getText();
}
getErrorFloat() {
const errorElement = element(by.css('mat-error[data-automation-id="card-textitem-error-float"]'));
Util.waitUntilElementIsVisible(errorElement);
BrowserVisibility.waitUntilElementIsVisible(errorElement);
return errorElement.getText();
}
setName(name) {
Util.waitUntilElementIsVisible(this.nameInputField);
BrowserVisibility.waitUntilElementIsVisible(this.nameInputField);
this.nameInputField.sendKeys(name);
return this;
}
setValue(value) {
Util.waitUntilElementIsVisible(this.valueInputField);
BrowserVisibility.waitUntilElementIsVisible(this.valueInputField);
this.valueInputField.sendKeys(value);
return this;
}
waitForOutput() {
Util.waitUntilElementIsVisible(this.consoleLog);
BrowserVisibility.waitUntilElementIsVisible(this.consoleLog);
return this;
}
@@ -185,13 +185,13 @@ export class CardViewComponentPage {
}
deletePairsValues() {
Util.waitUntilElementIsVisible(this.deleteButton);
BrowserVisibility.waitUntilElementIsVisible(this.deleteButton);
this.deleteButton.click();
return this;
}
checkNameAndValueVisibility(index) {
Util.waitUntilElementIsNotOnPage(this.getKeyValueRow(index));
BrowserVisibility.waitUntilElementIsNotOnPage(this.getKeyValueRow(index));
return this;
}
@@ -206,7 +206,7 @@ export class CardViewComponentPage {
clickSelectBox() {
this.select.click();
Util.waitUntilElementIsVisible(this.listContent);
BrowserVisibility.waitUntilElementIsVisible(this.listContent);
}
checkboxClick() {
@@ -215,7 +215,7 @@ export class CardViewComponentPage {
selectValueFromComboBox(index) {
const value = this.getMatSelectValue(index).click();
Util.waitUntilElementIsVisible(value);
BrowserVisibility.waitUntilElementIsVisible(value);
return this;
}
@@ -224,7 +224,7 @@ export class CardViewComponentPage {
}
disableEdit() {
Util.waitUntilElementIsVisible(this.editableSwitch);
BrowserVisibility.waitUntilElementIsVisible(this.editableSwitch);
this.editableSwitch.getAttribute('class').then((check) => {
if (check.indexOf('mat-checked') > -1) {

View File

@@ -17,8 +17,8 @@
import { element, by } from 'protractor';
import { Util } from '../../util/util';
import { TabsPage } from '@alfresco/adf-testing';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class CommentsPage {
@@ -32,36 +32,36 @@ export class CommentsPage {
addCommentButton = element(by.css("[data-automation-id='comments-input-add']"));
getTotalNumberOfComments() {
Util.waitUntilElementIsVisible(this.numberOfComments);
BrowserVisibility.waitUntilElementIsVisible(this.numberOfComments);
return this.numberOfComments.getText();
}
checkUserIconIsDisplayed(position) {
Util.waitUntilElementIsVisible(this.commentUserIcon);
BrowserVisibility.waitUntilElementIsVisible(this.commentUserIcon);
return this.commentUserIcon.get(position);
}
getUserName(position) {
Util.waitUntilElementIsVisible(this.commentUserName);
BrowserVisibility.waitUntilElementIsVisible(this.commentUserName);
return this.commentUserName.get(position).getText();
}
getMessage(position) {
Util.waitUntilElementIsVisible(this.commentMessage);
BrowserVisibility.waitUntilElementIsVisible(this.commentMessage);
return this.commentMessage.get(position).getText();
}
getTime(position) {
Util.waitUntilElementIsVisible(this.commentTime);
BrowserVisibility.waitUntilElementIsVisible(this.commentTime);
return this.commentTime.get(position).getText();
}
checkCommentInputIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.commentInput);
BrowserVisibility.waitUntilElementIsNotVisible(this.commentInput);
}
addComment(comment) {
Util.waitUntilElementIsVisible(this.commentInput);
BrowserVisibility.waitUntilElementIsVisible(this.commentInput);
this.commentInput.sendKeys(comment);
return this.addCommentButton.click();
}
@@ -71,6 +71,6 @@ export class CommentsPage {
}
checkCommentInputIsDisplayed() {
Util.waitUntilElementIsVisible(this.commentInput);
BrowserVisibility.waitUntilElementIsVisible(this.commentInput);
}
}

View File

@@ -16,20 +16,20 @@
*/
import { element, by, browser } from 'protractor';
import { Util } from '../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class ConfigEditorPage {
enterConfiguration(text) {
const textField = element(by.css('#adf-code-configuration-editor div.overflow-guard > textarea'));
Util.waitUntilElementIsVisible(textField);
BrowserVisibility.waitUntilElementIsVisible(textField);
textField.sendKeys(text);
return this;
}
enterBigConfigurationText(text) {
const textField = element(by.css('#adf-code-configuration-editor div.overflow-guard > textarea'));
Util.waitUntilElementIsVisible(textField);
BrowserVisibility.waitUntilElementIsVisible(textField);
browser.executeScript('this.monaco.editor.getModels()[0].setValue(`' + text + '`)');
return this;
@@ -37,64 +37,64 @@ export class ConfigEditorPage {
clickSaveButton() {
const saveButton = element(by.id('adf-configuration-save'));
Util.waitUntilElementIsVisible(saveButton);
Util.waitUntilElementIsClickable(saveButton);
BrowserVisibility.waitUntilElementIsVisible(saveButton);
BrowserVisibility.waitUntilElementIsClickable(saveButton);
return saveButton.click();
}
clickClearButton() {
const clearButton = element(by.id('adf-configuration-clear'));
Util.waitUntilElementIsVisible(clearButton);
Util.waitUntilElementIsClickable(clearButton);
BrowserVisibility.waitUntilElementIsVisible(clearButton);
BrowserVisibility.waitUntilElementIsClickable(clearButton);
return clearButton.click();
}
clickFileConfiguration() {
const button = element(by.id('adf-file-conf'));
Util.waitUntilElementIsVisible(button);
Util.waitUntilElementIsClickable(button);
BrowserVisibility.waitUntilElementIsVisible(button);
BrowserVisibility.waitUntilElementIsClickable(button);
return button.click();
}
clickSearchConfiguration() {
const button = element(by.id('adf-search-conf'));
Util.waitUntilElementIsVisible(button);
Util.waitUntilElementIsClickable(button);
BrowserVisibility.waitUntilElementIsVisible(button);
BrowserVisibility.waitUntilElementIsClickable(button);
return button.click();
}
clickProcessListCloudConfiguration() {
const button = element(by.id('adf-process-list-cloud-conf'));
Util.waitUntilElementIsVisible(button);
Util.waitUntilElementIsClickable(button);
BrowserVisibility.waitUntilElementIsVisible(button);
BrowserVisibility.waitUntilElementIsClickable(button);
return button.click();
}
clickEditProcessCloudConfiguration() {
const button = element(by.id('adf-edit-process-filter-conf'));
Util.waitUntilElementIsVisible(button);
Util.waitUntilElementIsClickable(button);
BrowserVisibility.waitUntilElementIsVisible(button);
BrowserVisibility.waitUntilElementIsClickable(button);
return button.click();
}
clickEditTaskConfiguration() {
const button = element(by.id('adf-edit-task-filter-conf'));
Util.waitUntilElementIsVisible(button);
Util.waitUntilElementIsClickable(button);
BrowserVisibility.waitUntilElementIsVisible(button);
BrowserVisibility.waitUntilElementIsClickable(button);
return button.click();
}
clickTaskListCloudConfiguration() {
const button = element(by.id('adf-task-list-cloud-conf'));
Util.waitUntilElementIsVisible(button);
Util.waitUntilElementIsClickable(button);
BrowserVisibility.waitUntilElementIsVisible(button);
BrowserVisibility.waitUntilElementIsClickable(button);
return button.click();
}
clickInfinitePaginationConfiguration() {
const button = element(by.id('adf-infinite-pagination-conf'));
Util.waitUntilElementIsVisible(button);
Util.waitUntilElementIsClickable(button);
BrowserVisibility.waitUntilElementIsVisible(button);
BrowserVisibility.waitUntilElementIsClickable(button);
return button.click();
}
}

View File

@@ -17,7 +17,7 @@
import { by, element, ElementFinder, browser } from 'protractor';
import { DataTableComponentPage } from '../dataTableComponentPage';
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class DocumentListPage {
@@ -34,21 +34,21 @@ export class DocumentListPage {
}
checkLockedIcon(content) {
const row = this.dataTable.getRowParentElement('Display name', content);
const row = this.dataTable.getRow('Display name', content);
const lockIcon = row.element(by.cssContainingText('div[title="Lock"] mat-icon', 'lock'));
Util.waitUntilElementIsVisible(lockIcon);
BrowserVisibility.waitUntilElementIsVisible(lockIcon);
return this;
}
checkUnlockedIcon(content) {
const row = this.dataTable.getRowParentElement('Display name', content);
const row = this.dataTable.getRow('Display name', content);
const lockIcon = row.element(by.cssContainingText('div[title="Lock"] mat-icon', 'lock_open'));
Util.waitUntilElementIsVisible(lockIcon);
BrowserVisibility.waitUntilElementIsVisible(lockIcon);
return this;
}
waitForTableBody() {
return Util.waitUntilElementIsVisible(this.tableBody);
return BrowserVisibility.waitUntilElementIsVisible(this.tableBody);
}
getTooltip(nodeName) {
@@ -64,15 +64,15 @@ export class DocumentListPage {
}
clickOnActionMenu(content) {
const row = this.dataTable.getRowParentElement('Display name', content);
const row = this.dataTable.getRow('Display name', content);
row.element(this.optionButton).click();
Util.waitUntilElementIsVisible(this.actionMenu);
BrowserVisibility.waitUntilElementIsVisible(this.actionMenu);
browser.sleep(500);
return this;
}
checkActionMenuIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.actionMenu);
BrowserVisibility.waitUntilElementIsNotVisible(this.actionMenu);
return this;
}

View File

@@ -15,9 +15,9 @@
* limitations under the License.
*/
import { Util } from '../../../../../util/util';
import { by, browser, protractor } from 'protractor';
import { DatePickerPage } from '../../../material/datePickerPage';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class DateRangeFilterPage {
@@ -54,25 +54,25 @@ export class DateRangeFilterPage {
}
openFromDatePicker() {
Util.waitUntilElementIsClickable(this.filter.element(this.fromDateToggle));
BrowserVisibility.waitUntilElementIsClickable(this.filter.element(this.fromDateToggle));
this.filter.element(this.fromDateToggle).click();
return new DatePickerPage().checkDatePickerIsDisplayed();
}
openToDatePicker() {
Util.waitUntilElementIsClickable(this.filter.element(this.toDateToggle));
BrowserVisibility.waitUntilElementIsClickable(this.filter.element(this.toDateToggle));
this.filter.element(this.toDateToggle).click();
return new DatePickerPage().checkDatePickerIsDisplayed();
}
clickFromField() {
Util.waitUntilElementIsClickable(this.filter.element(this.fromField));
BrowserVisibility.waitUntilElementIsClickable(this.filter.element(this.fromField));
this.filter.element(this.fromField).click();
return this;
}
checkFromErrorMessageIsDisplayed(msg) {
Util.waitUntilElementIsVisible(this.filter.element(this.fromErrorMessage));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.fromErrorMessage));
browser.controlFlow().execute(async () => {
await expect(this.filter.element(this.fromErrorMessage).getText()).toEqual(msg);
});
@@ -80,17 +80,17 @@ export class DateRangeFilterPage {
}
checkFromErrorMessageIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.filter.element(this.fromErrorMessage));
BrowserVisibility.waitUntilElementIsNotVisible(this.filter.element(this.fromErrorMessage));
return this;
}
checkFromFieldIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.fromField));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.fromField));
return this;
}
checkFromDateToggleIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.fromDateToggle));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.fromDateToggle));
return this;
}
@@ -107,13 +107,13 @@ export class DateRangeFilterPage {
}
clickToField() {
Util.waitUntilElementIsClickable(this.filter.element(this.toField));
BrowserVisibility.waitUntilElementIsClickable(this.filter.element(this.toField));
this.filter.element(this.toField).click();
return this;
}
checkToErrorMessageIsDisplayed(msg) {
Util.waitUntilElementIsVisible(this.filter.element(this.toErrorMessage));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.toErrorMessage));
browser.controlFlow().execute(async () => {
await expect(this.filter.element(this.toErrorMessage).getText()).toEqual(msg);
});
@@ -121,23 +121,23 @@ export class DateRangeFilterPage {
}
checkToFieldIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.toField));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.toField));
return this;
}
checkToDateToggleIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.toDateToggle));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.toDateToggle));
return this;
}
clickApplyButton() {
Util.waitUntilElementIsClickable(this.filter.element(this.applyButton));
BrowserVisibility.waitUntilElementIsClickable(this.filter.element(this.applyButton));
this.filter.element(this.applyButton).click();
return this;
}
checkApplyButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.applyButton));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.applyButton));
return this;
}
@@ -156,7 +156,7 @@ export class DateRangeFilterPage {
}
checkClearButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.clearButton));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.clearButton));
return this;
}
}

View File

@@ -14,8 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Util } from '../../../../../util/util';
import { by, protractor } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class NumberRangeFilterPage {
@@ -33,7 +33,7 @@ export class NumberRangeFilterPage {
this.filter = filter;
}
clearFromField() {
Util.waitUntilElementIsClickable(this.filter.element(this.fromInput));
BrowserVisibility.waitUntilElementIsClickable(this.filter.element(this.fromInput));
this.filter.element(this.fromInput).getAttribute('value').then((value) => {
for (let i = value.length; i >= 0; i--) {
this.filter.element(this.fromInput).sendKeys(protractor.Key.BACK_SPACE);
@@ -52,27 +52,27 @@ export class NumberRangeFilterPage {
return this;
}
getFromErrorRequired() {
Util.waitUntilElementIsVisible(this.filter.element(this.fromErrorRequired));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.fromErrorRequired));
return this.filter.element(this.fromErrorRequired).getText();
}
checkFromErrorRequiredIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.fromErrorRequired));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.fromErrorRequired));
return this;
}
getFromErrorInvalid() {
Util.waitUntilElementIsVisible(this.filter.element(this.fromErrorInvalid));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.fromErrorInvalid));
return this.filter.element(this.fromErrorInvalid).getText();
}
checkFromErrorInvalidIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.fromErrorInvalid));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.fromErrorInvalid));
return this;
}
checkFromFieldIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.fromInput));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.fromInput));
return this;
}
clearToField() {
Util.waitUntilElementIsClickable(this.filter.element(this.toInput));
BrowserVisibility.waitUntilElementIsClickable(this.filter.element(this.toInput));
this.filter.element(this.toInput).getAttribute('value').then((value) => {
for (let i = value.length; i >= 0; i--) {
this.filter.element(this.toInput).sendKeys(protractor.Key.BACK_SPACE);
@@ -91,51 +91,51 @@ export class NumberRangeFilterPage {
return this;
}
getToErrorRequired() {
Util.waitUntilElementIsVisible(this.filter.element(this.toErrorRequired));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.toErrorRequired));
return this.filter.element(this.toErrorRequired).getText();
}
checkToErrorRequiredIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.toErrorRequired));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.toErrorRequired));
return this;
}
getToErrorInvalid() {
Util.waitUntilElementIsVisible(this.filter.element(this.toErrorInvalid));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.toErrorInvalid));
return this.filter.element(this.toErrorInvalid).getText();
}
checkToErrorInvalidIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.toErrorInvalid));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.toErrorInvalid));
return this;
}
checkToFieldIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.toInput));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.toInput));
return this;
}
clickApplyButton() {
Util.waitUntilElementIsClickable(this.filter.element(this.applyButton));
BrowserVisibility.waitUntilElementIsClickable(this.filter.element(this.applyButton));
this.filter.element(this.applyButton).click();
return this;
}
checkApplyButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.applyButton));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.applyButton));
return this;
}
checkApplyButtonIsEnabled() {
return this.filter.element(this.applyButton).isEnabled();
}
clickClearButton() {
Util.waitUntilElementIsClickable(this.filter.element(this.clearButton));
BrowserVisibility.waitUntilElementIsClickable(this.filter.element(this.clearButton));
this.filter.element(this.clearButton).click();
return this;
}
checkClearButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.clearButton));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.clearButton));
return this;
}
checkNoErrorMessageIsDisplayed() {
Util.waitUntilElementIsNotVisible(this.filter.element(this.fromErrorInvalid));
Util.waitUntilElementIsNotVisible(this.filter.element(this.fromErrorRequired));
Util.waitUntilElementIsNotVisible(this.filter.element(this.toErrorInvalid));
Util.waitUntilElementIsNotVisible(this.filter.element(this.toErrorRequired));
BrowserVisibility.waitUntilElementIsNotVisible(this.filter.element(this.fromErrorInvalid));
BrowserVisibility.waitUntilElementIsNotVisible(this.filter.element(this.fromErrorRequired));
BrowserVisibility.waitUntilElementIsNotVisible(this.filter.element(this.toErrorInvalid));
BrowserVisibility.waitUntilElementIsNotVisible(this.filter.element(this.toErrorRequired));
return this;
}
}

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../../../../util/util';
import { element, by, ElementFinder } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class SearchCheckListPage {
@@ -31,26 +31,26 @@ export class SearchCheckListPage {
}
clickCheckListOption(option) {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
const result = this.filter.all(by.css(`mat-checkbox[data-automation-id*='-${option}'] .mat-checkbox-inner-container`)).first();
Util.waitUntilElementIsVisible(result);
Util.waitUntilElementIsClickable(result);
BrowserVisibility.waitUntilElementIsVisible(result);
BrowserVisibility.waitUntilElementIsClickable(result);
result.click();
}
checkChipIsDisplayed(option) {
Util.waitUntilElementIsVisible(element(by.cssContainingText('mat-chip', option)).element(by.css('mat-icon')));
BrowserVisibility.waitUntilElementIsVisible(element(by.cssContainingText('mat-chip', option)).element(by.css('mat-icon')));
return this;
}
checkChipIsNotDisplayed(option) {
Util.waitUntilElementIsNotOnPage(element(by.cssContainingText('mat-chip', option)).element(by.css('mat-icon')));
BrowserVisibility.waitUntilElementIsNotOnPage(element(by.cssContainingText('mat-chip', option)).element(by.css('mat-icon')));
return this;
}
removeFilterOption(option) {
const cancelChipButton = element(by.cssContainingText('mat-chip', option)).element(by.css('mat-icon'));
Util.waitUntilElementIsClickable(cancelChipButton);
BrowserVisibility.waitUntilElementIsClickable(cancelChipButton);
cancelChipButton.click();
return this;
}
@@ -63,14 +63,14 @@ export class SearchCheckListPage {
}
checkSearchFilterInputIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.all(this.inputBy).first());
BrowserVisibility.waitUntilElementIsVisible(this.filter.all(this.inputBy).first());
return this;
}
searchInFilter(option) {
Util.waitUntilElementIsClickable(this.filter);
BrowserVisibility.waitUntilElementIsClickable(this.filter);
const inputElement = this.filter.all(this.inputBy).first();
Util.waitUntilElementIsClickable(inputElement);
BrowserVisibility.waitUntilElementIsClickable(inputElement);
inputElement.clear();
this.filter.all(this.inputBy).first().sendKeys(option);
@@ -78,22 +78,22 @@ export class SearchCheckListPage {
}
checkShowLessButtonIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.filter.element(this.showLessBy));
BrowserVisibility.waitUntilElementIsNotVisible(this.filter.element(this.showLessBy));
return this;
}
checkShowLessButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.showLessBy));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.showLessBy));
return this;
}
checkShowMoreButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.showMoreBy));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.showMoreBy));
return this;
}
checkShowMoreButtonIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.filter.element(this.showMoreBy));
BrowserVisibility.waitUntilElementIsNotVisible(this.filter.element(this.showMoreBy));
return this;
}
@@ -104,7 +104,7 @@ export class SearchCheckListPage {
this.clickShowMoreButtonUntilIsNotDisplayed();
}
}, (err) => {
}, () => {
});
return this;
}
@@ -116,14 +116,14 @@ export class SearchCheckListPage {
this.clickShowLessButtonUntilIsNotDisplayed();
}
}, (err) => {
}, () => {
});
return this;
}
getBucketNumberOfFilterType(option) {
const fileTypeFilter = this.filter.all(by.css('mat-checkbox[data-automation-id*=".' + option + '"] span')).first();
Util.waitUntilElementIsVisible(fileTypeFilter);
BrowserVisibility.waitUntilElementIsVisible(fileTypeFilter);
const bucketNumber = fileTypeFilter.getText().then((valueOfBucket) => {
const numberOfBucket = valueOfBucket.split('(')[1];
const totalNumberOfBucket = numberOfBucket.split(')')[0];
@@ -134,49 +134,49 @@ export class SearchCheckListPage {
}
checkCheckListOptionIsDisplayed(option) {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
const result = this.filter.element(by.css(`mat-checkbox[data-automation-id*='-${option}']`));
return Util.waitUntilElementIsVisible(result);
return BrowserVisibility.waitUntilElementIsVisible(result);
}
checkCheckListOptionIsNotSelected(option) {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
const result = this.filter.element(by.css(`mat-checkbox[data-automation-id*='-${option}'][class*='checked']`));
return Util.waitUntilElementIsNotVisible(result);
return BrowserVisibility.waitUntilElementIsNotVisible(result);
}
checkCheckListOptionIsSelected(option) {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
const result = this.filter.element(by.css(`mat-checkbox[data-automation-id*='-${option}'][class*='checked']`));
return Util.waitUntilElementIsVisible(result);
return BrowserVisibility.waitUntilElementIsVisible(result);
}
checkClearAllButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
const result = this.filter.element(this.clearAllButton);
return Util.waitUntilElementIsVisible(result);
return BrowserVisibility.waitUntilElementIsVisible(result);
}
clickClearAllButton() {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
const result = this.filter.element(this.clearAllButton);
Util.waitUntilElementIsVisible(result);
BrowserVisibility.waitUntilElementIsVisible(result);
return result.click();
}
getCheckListOptionsNumberOnPage() {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
const checkListOptions = this.filter.all(by.css('div[class="checklist"] mat-checkbox'));
return checkListOptions.count();
}
clickShowMoreButton() {
Util.waitUntilElementIsVisible(this.filter.element(this.showMoreBy));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.showMoreBy));
return this.filter.element(this.showMoreBy).click();
}
clickShowLessButton() {
Util.waitUntilElementIsVisible(this.filter.element(this.showLessBy));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.showLessBy));
return this.filter.element(this.showLessBy).click();
}

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../../../../util/util';
import { element, by, browser } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class SearchRadioPage {
@@ -30,12 +30,12 @@ export class SearchRadioPage {
checkFilterRadioButtonIsDisplayed(filterName) {
const filterType = element(by.css('mat-radio-button[data-automation-id="search-radio-' + filterName + '"]'));
return Util.waitUntilElementIsVisible(filterType);
return BrowserVisibility.waitUntilElementIsVisible(filterType);
}
checkFilterRadioButtonIsChecked(filterName) {
const selectedFilterType = element(by.css('mat-radio-button[data-automation-id="search-radio-' + filterName + '"][class*="checked"]'));
return Util.waitUntilElementIsVisible(selectedFilterType);
return BrowserVisibility.waitUntilElementIsVisible(selectedFilterType);
}
clickFilterRadioButton(filterName) {
@@ -48,28 +48,28 @@ export class SearchRadioPage {
}
checkShowMoreButtonIsDisplayed() {
return Util.waitUntilElementIsVisible(this.showMoreButton);
return BrowserVisibility.waitUntilElementIsVisible(this.showMoreButton);
}
checkShowLessButtonIsDisplayed() {
return Util.waitUntilElementIsVisible(this.showLessButton);
return BrowserVisibility.waitUntilElementIsVisible(this.showLessButton);
}
checkShowMoreButtonIsNotDisplayed() {
return Util.waitUntilElementIsNotVisible(this.showMoreButton);
return BrowserVisibility.waitUntilElementIsNotVisible(this.showMoreButton);
}
checkShowLessButtonIsNotDisplayed() {
return Util.waitUntilElementIsNotVisible(this.showLessButton);
return BrowserVisibility.waitUntilElementIsNotVisible(this.showLessButton);
}
clickShowMoreButton() {
Util.waitUntilElementIsVisible(this.showMoreButton);
BrowserVisibility.waitUntilElementIsVisible(this.showMoreButton);
return this.showMoreButton.click();
}
clickShowLessButton() {
Util.waitUntilElementIsVisible(this.showLessButton);
BrowserVisibility.waitUntilElementIsVisible(this.showLessButton);
return this.showLessButton.click();
}

View File

@@ -16,7 +16,7 @@
*/
import { browser, by } from 'protractor';
import { Util } from '../../../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class SearchSliderPage {
@@ -51,17 +51,17 @@ export class SearchSliderPage {
}
checkSliderIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.slider));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.slider));
return this;
}
checkSliderWithThumbLabelIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.filter.element(this.sliderWithThumbLabel));
BrowserVisibility.waitUntilElementIsNotVisible(this.filter.element(this.sliderWithThumbLabel));
return this;
}
clickClearButton() {
Util.waitUntilElementIsClickable(this.filter.element(this.clearButton));
BrowserVisibility.waitUntilElementIsClickable(this.filter.element(this.clearButton));
this.filter.element(this.clearButton).click();
return this;
}
@@ -71,7 +71,7 @@ export class SearchSliderPage {
}
checkClearButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter.element(this.clearButton));
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.clearButton));
return this;
}
}

View File

@@ -16,7 +16,7 @@
*/
import { browser, by, element, protractor } from 'protractor';
import { Util } from '../../../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class SearchSortingPickerPage {
@@ -25,18 +25,18 @@ export class SearchSortingPickerPage {
optionsDropdown = element(by.css('div[class*="mat-select-panel"]'));
sortBy(sortOrder, sortType) {
Util.waitUntilElementIsClickable(this.sortingSelector);
BrowserVisibility.waitUntilElementIsClickable(this.sortingSelector);
this.sortingSelector.click();
const selectedSortingOption = element(by.cssContainingText('span[class="mat-option-text"]', sortType));
Util.waitUntilElementIsClickable(selectedSortingOption);
BrowserVisibility.waitUntilElementIsClickable(selectedSortingOption);
selectedSortingOption.click();
this.sortByOrder(sortOrder);
}
sortByOrder(sortOrder) {
Util.waitUntilElementIsVisible(this.orderArrow);
BrowserVisibility.waitUntilElementIsVisible(this.orderArrow);
this.orderArrow.getText().then((result) => {
if (sortOrder === true) {
if (result !== 'arrow_upward') {
@@ -52,42 +52,42 @@ export class SearchSortingPickerPage {
clickSortingOption(option) {
const selectedSortingOption = element(by.cssContainingText('span[class="mat-option-text"]', option));
Util.waitUntilElementIsClickable(selectedSortingOption);
BrowserVisibility.waitUntilElementIsClickable(selectedSortingOption);
selectedSortingOption.click();
return this;
}
clickSortingSelector() {
Util.waitUntilElementIsClickable(this.sortingSelector);
BrowserVisibility.waitUntilElementIsClickable(this.sortingSelector);
this.sortingSelector.click();
return this;
}
checkOptionIsDisplayed(option) {
const optionSelector = this.optionsDropdown.element(by.cssContainingText('span[class="mat-option-text"]', option));
Util.waitUntilElementIsVisible(optionSelector);
BrowserVisibility.waitUntilElementIsVisible(optionSelector);
return this;
}
checkOptionIsNotDisplayed(option) {
const optionSelector = this.optionsDropdown.element(by.cssContainingText('span[class="mat-option-text"]', option));
Util.waitUntilElementIsNotVisible(optionSelector);
BrowserVisibility.waitUntilElementIsNotVisible(optionSelector);
return this;
}
checkOptionsDropdownIsDisplayed() {
Util.waitUntilElementIsVisible(this.optionsDropdown);
BrowserVisibility.waitUntilElementIsVisible(this.optionsDropdown);
return this;
}
checkSortingSelectorIsDisplayed() {
Util.waitUntilElementIsVisible(this.sortingSelector);
BrowserVisibility.waitUntilElementIsVisible(this.sortingSelector);
return this;
}
checkOrderArrowIsDownward() {
const deferred = protractor.promise.defer();
Util.waitUntilElementIsVisible(this.orderArrow);
BrowserVisibility.waitUntilElementIsVisible(this.orderArrow);
this.orderArrow.getText().then((result) => {
deferred.fulfill(result !== 'arrow_upward');
});
@@ -95,7 +95,7 @@ export class SearchSortingPickerPage {
}
checkOrderArrowIsDisplayed() {
Util.waitUntilElementIsVisible(this.orderArrow);
BrowserVisibility.waitUntilElementIsVisible(this.orderArrow);
return this;
}

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../../../../util/util';
import { protractor, by } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class SearchTextPage {
@@ -28,12 +28,12 @@ export class SearchTextPage {
}
getNamePlaceholder() {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
return this.filter.element(this.inputBy).getAttribute('placeholder');
}
searchByName(name) {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
this.filter.element(this.inputBy).clear();
this.filter.element(this.inputBy).sendKeys(name).sendKeys(protractor.Key.ENTER);
}

View File

@@ -15,7 +15,6 @@
* limitations under the License.
*/
import { Util } from '../../../../util/util';
import { by, ElementFinder } from 'protractor';
import { SearchTextPage } from './components/search-text';
import { SearchCheckListPage } from './components/search-checkList';
@@ -23,6 +22,7 @@ import { SearchRadioPage } from './components/search-radio';
import { DateRangeFilterPage } from './components/dateRangeFilterPage';
import { NumberRangeFilterPage } from './components/numberRangeFilterPage';
import { SearchSliderPage } from './components/search-slider.page';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class SearchCategoriesPage {
@@ -51,19 +51,19 @@ export class SearchCategoriesPage {
}
checkFilterIsDisplayed(filter: ElementFinder) {
Util.waitUntilElementIsVisible(filter);
BrowserVisibility.waitUntilElementIsVisible(filter);
return this;
}
clickFilter(filter: ElementFinder) {
Util.waitUntilElementIsVisible(filter);
BrowserVisibility.waitUntilElementIsVisible(filter);
filter.element(by.css('mat-expansion-panel-header')).click();
return this;
}
clickFilterHeader(filter: ElementFinder) {
const fileSizeFilterHeader = filter.element(by.css('mat-expansion-panel-header'));
Util.waitUntilElementIsClickable(fileSizeFilterHeader);
BrowserVisibility.waitUntilElementIsClickable(fileSizeFilterHeader);
fileSizeFilterHeader.click();
return this;
}

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { element, by, protractor } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class TreeViewPage {
@@ -26,42 +26,42 @@ export class TreeViewPage {
nodesOnPage = element.all(by.css('mat-tree-node'));
checkTreeViewTitleIsDisplayed() {
return Util.waitUntilElementIsVisible(this.treeViewTitle);
return BrowserVisibility.waitUntilElementIsVisible(this.treeViewTitle);
}
getNodeId() {
Util.waitUntilElementIsVisible(this.nodeIdInput);
BrowserVisibility.waitUntilElementIsVisible(this.nodeIdInput);
return this.nodeIdInput.getAttribute('value');
}
clickNode(nodeName) {
const node = element(by.css('mat-tree-node[id="' + nodeName + '-tree-child-node"] button'));
Util.waitUntilElementIsClickable(node);
BrowserVisibility.waitUntilElementIsClickable(node);
return node.click();
}
checkNodeIsDisplayedAsClosed(nodeName) {
const node = element(by.css('mat-tree-node[id="' + nodeName + '-tree-child-node"][aria-expanded="false"]'));
return Util.waitUntilElementIsVisible(node);
return BrowserVisibility.waitUntilElementIsVisible(node);
}
checkNodeIsDisplayedAsOpen(nodeName) {
const node = element(by.css('mat-tree-node[id="' + nodeName + '-tree-child-node"][aria-expanded="true"]'));
return Util.waitUntilElementIsVisible(node);
return BrowserVisibility.waitUntilElementIsVisible(node);
}
checkClickedNodeName(nodeName) {
const clickedNode = element(by.cssContainingText('span', ' CLICKED NODE: ' + nodeName + ''));
return Util.waitUntilElementIsVisible(clickedNode);
return BrowserVisibility.waitUntilElementIsVisible(clickedNode);
}
checkNodeIsNotDisplayed(nodeName) {
const node = element(by.id('' + nodeName + '-tree-child-node'));
return Util.waitUntilElementIsNotVisible(node);
return BrowserVisibility.waitUntilElementIsNotVisible(node);
}
clearNodeIdInput() {
Util.waitUntilElementIsVisible(this.nodeIdInput);
BrowserVisibility.waitUntilElementIsVisible(this.nodeIdInput);
this.nodeIdInput.getAttribute('value').then((value) => {
for (let i = value.length; i >= 0; i--) {
this.nodeIdInput.sendKeys(protractor.Key.BACK_SPACE);
@@ -70,11 +70,11 @@ export class TreeViewPage {
}
checkNoNodeIdMessageIsDisplayed() {
return Util.waitUntilElementIsVisible(this.noNodeMessage);
return BrowserVisibility.waitUntilElementIsVisible(this.noNodeMessage);
}
addNodeId(nodeId) {
Util.waitUntilElementIsVisible(this.nodeIdInput);
BrowserVisibility.waitUntilElementIsVisible(this.nodeIdInput);
this.nodeIdInput.click();
this.nodeIdInput.clear();
this.nodeIdInput.sendKeys(nodeId + ' ');
@@ -83,7 +83,7 @@ export class TreeViewPage {
checkErrorMessageIsDisplayed() {
const clickedNode = element(by.cssContainingText('span', 'An Error Occurred '));
return Util.waitUntilElementIsVisible(clickedNode);
return BrowserVisibility.waitUntilElementIsVisible(clickedNode);
}
getTotalNodes() {

View File

@@ -16,22 +16,20 @@
*/
import TestConfig = require('../../test.config');
import { Util } from '../../util/util';
import { DocumentListPage } from './content-services/documentListPage';
import { CreateFolderDialog } from './dialog/createFolderDialog';
import { CreateLibraryDialog } from './dialog/createLibraryDialog';
import { NodeActions } from '../../actions/ACS/node.actions';
import { DropActions } from '../../actions/drop.actions';
import { by, element, protractor, $$, browser } from 'protractor';
import path = require('path');
import { DateUtil } from '../../util/dateUtil';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class ContentServicesPage {
contentList = new DocumentListPage(element.all(by.css('adf-upload-drag-area adf-document-list')).first());
createFolderDialog = new CreateFolderDialog();
nodeActions = new NodeActions();
createLibraryDialog = new CreateLibraryDialog();
dragAndDropAction = new DropActions();
uploadBorder = element(by.id('document-list-container'));
@@ -75,6 +73,8 @@ export class ContentServicesPage {
lockContentElement = element(by.css('button[data-automation-id="DOCUMENT_LIST.ACTIONS.LOCK"]'));
downloadContent = element(by.css('button[data-automation-id*="DOWNLOAD"]'));
siteListDropdown = element(by.css(`mat-select[data-automation-id='site-my-files-option']`));
downloadButton = element(by.css('button[title="Download"]'));
multiSelectToggle = element(by.cssContainingText('span.mat-slide-toggle-content', ' Multiselect (with checkboxes) '));
pressContextMenuActionNamed(actionName) {
const actionButton = this.checkContextActionIsVisible(actionName);
@@ -83,8 +83,8 @@ export class ContentServicesPage {
checkContextActionIsVisible(actionName) {
const actionButton = element(by.css(`button[data-automation-id="context-${actionName}"`));
Util.waitUntilElementIsVisible(actionButton);
Util.waitUntilElementIsClickable(actionButton);
BrowserVisibility.waitUntilElementIsVisible(actionButton);
BrowserVisibility.waitUntilElementIsClickable(actionButton);
return actionButton;
}
@@ -104,7 +104,7 @@ export class ContentServicesPage {
this.contentList.clickOnActionMenu(content);
this.waitForContentOptions();
const disabledDelete = element(by.css(`button[data-automation-id*='DELETE'][disabled='true']`));
Util.waitUntilElementIsVisible(disabledDelete);
BrowserVisibility.waitUntilElementIsVisible(disabledDelete);
}
deleteContent(content) {
@@ -136,29 +136,29 @@ export class ContentServicesPage {
}
waitForContentOptions() {
Util.waitUntilElementIsVisible(this.copyContentElement);
Util.waitUntilElementIsVisible(this.moveContentElement);
Util.waitUntilElementIsVisible(this.deleteContentElement);
Util.waitUntilElementIsVisible(this.downloadContent);
BrowserVisibility.waitUntilElementIsVisible(this.copyContentElement);
BrowserVisibility.waitUntilElementIsVisible(this.moveContentElement);
BrowserVisibility.waitUntilElementIsVisible(this.deleteContentElement);
BrowserVisibility.waitUntilElementIsVisible(this.downloadContent);
}
clickFileHyperlink(fileName) {
const hyperlink = this.contentList.dataTablePage().getFileHyperlink(fileName);
Util.waitUntilElementIsClickable(hyperlink);
BrowserVisibility.waitUntilElementIsClickable(hyperlink);
hyperlink.click();
return this;
}
checkFileHyperlinkIsEnabled(fileName) {
const hyperlink = this.contentList.dataTablePage().getFileHyperlink(fileName);
Util.waitUntilElementIsVisible(hyperlink);
BrowserVisibility.waitUntilElementIsVisible(hyperlink);
return this;
}
clickHyperlinkNavigationToggle() {
const hyperlinkToggle = element(by.cssContainingText('.mat-slide-toggle-content', 'Hyperlink navigation'));
Util.waitUntilElementIsVisible(hyperlinkToggle);
BrowserVisibility.waitUntilElementIsVisible(hyperlinkToggle);
hyperlinkToggle.click();
return this;
}
@@ -244,7 +244,7 @@ export class ContentServicesPage {
}
checkRecentFileToBeShowed() {
Util.waitUntilElementIsVisible(this.recentFiles);
BrowserVisibility.waitUntilElementIsVisible(this.recentFiles);
}
expandRecentFiles() {
@@ -262,20 +262,20 @@ export class ContentServicesPage {
}
checkRecentFileToBeClosed() {
Util.waitUntilElementIsVisible(this.recentFilesClosed);
BrowserVisibility.waitUntilElementIsVisible(this.recentFilesClosed);
}
checkRecentFileToBeOpened() {
Util.waitUntilElementIsVisible(this.recentFilesExpanded);
BrowserVisibility.waitUntilElementIsVisible(this.recentFilesExpanded);
}
async getRecentFileIcon() {
await Util.waitUntilElementIsVisible(this.recentFileIcon);
await BrowserVisibility.waitUntilElementIsVisible(this.recentFileIcon);
return this.recentFileIcon.getText();
}
checkAcsContainer() {
Util.waitUntilElementIsVisible(this.uploadBorder);
BrowserVisibility.waitUntilElementIsVisible(this.uploadBorder);
return this;
}
@@ -290,8 +290,8 @@ export class ContentServicesPage {
}
clickOnContentServices() {
Util.waitUntilElementIsVisible(this.contentServices);
Util.waitUntilElementIsClickable(this.contentServices);
BrowserVisibility.waitUntilElementIsVisible(this.contentServices);
BrowserVisibility.waitUntilElementIsClickable(this.contentServices);
this.contentServices.click();
}
@@ -301,7 +301,7 @@ export class ContentServicesPage {
currentFolderName() {
const deferred = protractor.promise.defer();
Util.waitUntilElementIsVisible(this.currentFolder);
BrowserVisibility.waitUntilElementIsVisible(this.currentFolder);
this.currentFolder.getText().then(function (result) {
deferred.fulfill(result);
});
@@ -373,13 +373,13 @@ export class ContentServicesPage {
}
clickOnCreateNewFolder() {
Util.waitUntilElementIsVisible(this.createFolderButton);
BrowserVisibility.waitUntilElementIsVisible(this.createFolderButton);
this.createFolderButton.click();
return this;
}
openCreateLibraryDialog() {
Util.waitUntilElementIsVisible(this.createLibraryButton);
BrowserVisibility.waitUntilElementIsVisible(this.createLibraryButton);
this.createLibraryButton.click();
this.createLibraryDialog.waitForDialogToOpen();
return this.createLibraryDialog;
@@ -411,54 +411,54 @@ export class ContentServicesPage {
}
getActiveBreadcrumb() {
Util.waitUntilElementIsVisible(this.activeBreadcrumb);
BrowserVisibility.waitUntilElementIsVisible(this.activeBreadcrumb);
return this.activeBreadcrumb.getAttribute('title');
}
uploadFile(fileLocation) {
this.checkUploadButton();
Util.waitUntilElementIsVisible(this.uploadFileButton);
BrowserVisibility.waitUntilElementIsVisible(this.uploadFileButton);
this.uploadFileButton.sendKeys(path.resolve(path.join(TestConfig.main.rootPath, fileLocation)));
this.checkUploadButton();
return this;
}
uploadMultipleFile(files) {
Util.waitUntilElementIsVisible(this.uploadMultipleFileButton);
BrowserVisibility.waitUntilElementIsVisible(this.uploadMultipleFileButton);
let allFiles = path.resolve(path.join(TestConfig.main.rootPath, files[0]));
for (let i = 1; i < files.length; i++) {
allFiles = allFiles + '\n' + path.resolve(path.join(TestConfig.main.rootPath, files[i]));
}
this.uploadMultipleFileButton.sendKeys(allFiles);
Util.waitUntilElementIsVisible(this.uploadMultipleFileButton);
BrowserVisibility.waitUntilElementIsVisible(this.uploadMultipleFileButton);
return this;
}
uploadFolder(folder) {
Util.waitUntilElementIsVisible(this.uploadFolderButton);
BrowserVisibility.waitUntilElementIsVisible(this.uploadFolderButton);
this.uploadFolderButton.sendKeys(path.resolve(path.join(TestConfig.main.rootPath, folder)));
Util.waitUntilElementIsVisible(this.uploadFolderButton);
BrowserVisibility.waitUntilElementIsVisible(this.uploadFolderButton);
return this;
}
getSingleFileButtonTooltip() {
Util.waitUntilElementIsVisible(this.uploadFileButton);
BrowserVisibility.waitUntilElementIsVisible(this.uploadFileButton);
return this.uploadFileButton.getAttribute('title');
}
getMultipleFileButtonTooltip() {
Util.waitUntilElementIsVisible(this.uploadMultipleFileButton);
BrowserVisibility.waitUntilElementIsVisible(this.uploadMultipleFileButton);
return this.uploadMultipleFileButton.getAttribute('title');
}
getFolderButtonTooltip() {
Util.waitUntilElementIsVisible(this.uploadFolderButton);
BrowserVisibility.waitUntilElementIsVisible(this.uploadFolderButton);
return this.uploadFolderButton.getAttribute('title');
}
checkUploadButton() {
Util.waitUntilElementIsVisible(this.uploadFileButton);
Util.waitUntilElementIsClickable(this.uploadFileButton);
BrowserVisibility.waitUntilElementIsVisible(this.uploadFileButton);
BrowserVisibility.waitUntilElementIsClickable(this.uploadFileButton);
return this;
}
@@ -467,7 +467,7 @@ export class ContentServicesPage {
}
getErrorMessage() {
Util.waitUntilElementIsVisible(this.errorSnackBar);
BrowserVisibility.waitUntilElementIsVisible(this.errorSnackBar);
const deferred = protractor.promise.defer();
this.errorSnackBar.getText().then(function (text) {
deferred.fulfill(text);
@@ -477,60 +477,60 @@ export class ContentServicesPage {
enableInfiniteScrolling() {
const infiniteScrollButton = element(by.cssContainingText('.mat-slide-toggle-content', 'Enable Infinite Scrolling'));
Util.waitUntilElementIsVisible(infiniteScrollButton);
BrowserVisibility.waitUntilElementIsVisible(infiniteScrollButton);
infiniteScrollButton.click();
return this;
}
enableCustomPermissionMessage() {
const customPermissionMessage = element(by.cssContainingText('.mat-slide-toggle-content', 'Enable custom permission message'));
Util.waitUntilElementIsVisible(customPermissionMessage);
BrowserVisibility.waitUntilElementIsVisible(customPermissionMessage);
customPermissionMessage.click();
return this;
}
enableMediumTimeFormat() {
const mediumTimeFormat = element(by.css('#enableMediumTimeFormat'));
Util.waitUntilElementIsVisible(mediumTimeFormat);
BrowserVisibility.waitUntilElementIsVisible(mediumTimeFormat);
mediumTimeFormat.click();
return this;
}
enableThumbnails() {
const thumbnailSlide = element(by.id('adf-thumbnails-upload-switch'));
Util.waitUntilElementIsVisible(thumbnailSlide);
BrowserVisibility.waitUntilElementIsVisible(thumbnailSlide);
thumbnailSlide.click();
return this;
}
checkPaginationIsNotDisplayed() {
Util.waitUntilElementIsVisible(this.emptyPagination);
BrowserVisibility.waitUntilElementIsVisible(this.emptyPagination);
}
getDocumentListRowNumber() {
const documentList = element(by.css('adf-upload-drag-area adf-document-list'));
Util.waitUntilElementIsVisible(documentList);
BrowserVisibility.waitUntilElementIsVisible(documentList);
return $$('adf-upload-drag-area adf-document-list .adf-datatable-row').count();
}
checkColumnNameHeader() {
Util.waitUntilElementIsVisible(this.nameHeader);
BrowserVisibility.waitUntilElementIsVisible(this.nameHeader);
}
checkColumnSizeHeader() {
Util.waitUntilElementIsVisible(this.sizeHeader);
BrowserVisibility.waitUntilElementIsVisible(this.sizeHeader);
}
checkColumnCreatedByHeader() {
Util.waitUntilElementIsVisible(this.createdByHeader);
BrowserVisibility.waitUntilElementIsVisible(this.createdByHeader);
}
checkColumnCreatedHeader() {
Util.waitUntilElementIsVisible(this.createdHeader);
BrowserVisibility.waitUntilElementIsVisible(this.createdHeader);
}
checkDragAndDropDIsDisplayed() {
Util.waitUntilElementIsVisible(this.dragAndDrop);
BrowserVisibility.waitUntilElementIsVisible(this.dragAndDrop);
}
dragAndDropFile(file) {
@@ -545,7 +545,7 @@ export class ContentServicesPage {
checkLockIsDisplayedForElement(name) {
const lockButton = element(by.css(`div.adf-datatable-cell[data-automation-id="${name}"] button`));
Util.waitUntilElementIsVisible(lockButton);
BrowserVisibility.waitUntilElementIsVisible(lockButton);
}
getColumnValueForRow(file, columnName) {
@@ -554,31 +554,31 @@ export class ContentServicesPage {
async getStyleValueForRowText(rowName, styleName) {
const row = element(by.css(`div.adf-datatable-cell[data-automation-id="${rowName}"] span.adf-datatable-cell-value[title="${rowName}"]`));
Util.waitUntilElementIsVisible(row);
BrowserVisibility.waitUntilElementIsVisible(row);
return row.getCssValue(styleName);
}
checkSpinnerIsShowed() {
Util.waitUntilElementIsPresent(this.documentListSpinner);
BrowserVisibility.waitUntilElementIsPresent(this.documentListSpinner);
}
checkEmptyFolderTextToBe(text) {
Util.waitUntilElementIsVisible(this.emptyFolder);
BrowserVisibility.waitUntilElementIsVisible(this.emptyFolder);
expect(this.emptyFolder.getText()).toContain(text);
}
checkEmptyFolderImageUrlToContain(url) {
Util.waitUntilElementIsVisible(this.emptyFolderImage);
BrowserVisibility.waitUntilElementIsVisible(this.emptyFolderImage);
expect(this.emptyFolderImage.getAttribute('src')).toContain(url);
}
checkEmptyRecentFileIsDisplayed() {
Util.waitUntilElementIsVisible(this.emptyRecent);
BrowserVisibility.waitUntilElementIsVisible(this.emptyRecent);
}
checkIconForRowIsDisplayed(fileName) {
const iconRow = element(by.css(`.adf-document-list-container div.adf-datatable-cell[data-automation-id="${fileName}"] img`));
Util.waitUntilElementIsVisible(iconRow);
BrowserVisibility.waitUntilElementIsVisible(iconRow);
return iconRow;
}
@@ -588,7 +588,7 @@ export class ContentServicesPage {
}
checkGridViewButtonIsVisible() {
Util.waitUntilElementIsVisible(this.gridViewButton);
BrowserVisibility.waitUntilElementIsVisible(this.gridViewButton);
}
clickGridViewButton() {
@@ -597,7 +597,7 @@ export class ContentServicesPage {
}
checkCardViewContainerIsDisplayed() {
Util.waitUntilElementIsVisible(this.cardViewContainer);
BrowserVisibility.waitUntilElementIsVisible(this.cardViewContainer);
}
getCardElementShowedInPage() {
@@ -613,7 +613,7 @@ export class ContentServicesPage {
checkDocumentCardPropertyIsShowed(elementName, propertyName) {
const elementProperty = element(by.css(`.adf-document-list-container div.adf-datatable-cell[data-automation-id="${elementName}"][title="${propertyName}"]`));
Util.waitUntilElementIsVisible(elementProperty);
BrowserVisibility.waitUntilElementIsVisible(elementProperty);
}
getAttributeValueForElement(elementName, propertyName) {
@@ -623,20 +623,20 @@ export class ContentServicesPage {
checkMenuIsShowedForElementIndex(elementIndex) {
const elementMenu = element(by.css(`button[data-automation-id="action_menu_${elementIndex}"]`));
Util.waitUntilElementIsVisible(elementMenu);
BrowserVisibility.waitUntilElementIsVisible(elementMenu);
}
navigateToCardFolder(folderName) {
const folderCard = element(by.css(`.adf-document-list-container div.adf-image-table-cell.adf-datatable-cell[data-automation-id="${folderName}"]`));
folderCard.click();
const folderSelected = element(by.css(`.adf-datatable-row.adf-is-selected div[data-automation-id="${folderName}"].adf-datatable-cell--image`));
Util.waitUntilElementIsVisible(folderSelected);
BrowserVisibility.waitUntilElementIsVisible(folderSelected);
browser.actions().sendKeys(protractor.Key.ENTER).perform();
}
getGridViewSortingDropdown() {
const sortingDropdown = element(by.css('mat-select[data-automation-id="grid-view-sorting"]'));
Util.waitUntilElementIsVisible(sortingDropdown);
BrowserVisibility.waitUntilElementIsVisible(sortingDropdown);
return sortingDropdown;
}
@@ -644,37 +644,48 @@ export class ContentServicesPage {
const dropdownSorting = this.getGridViewSortingDropdown();
dropdownSorting.click();
const optionToClick = element(by.css(`mat-option[data-automation-id="grid-view-sorting-${sortingChosen}"]`));
Util.waitUntilElementIsPresent(optionToClick);
BrowserVisibility.waitUntilElementIsPresent(optionToClick);
optionToClick.click();
}
checkRowIsDisplayed(rowName) {
const row = this.contentList.dataTablePage().getRow('Display name', rowName);
Util.waitUntilElementIsVisible(row);
const row = this.contentList.dataTablePage().getRowElement('Display name', rowName);
BrowserVisibility.waitUntilElementIsVisible(row);
}
typeIntoNodeSelectorSearchField(text) {
Util.waitUntilElementIsVisible(this.searchInputElement);
BrowserVisibility.waitUntilElementIsVisible(this.searchInputElement);
this.searchInputElement.sendKeys(text);
}
clickContentNodeSelectorResult(name) {
const resultElement = element.all(by.css(`div[data-automation-id="content-node-selector-content-list"] div[data-automation-id="${name}"`)).first();
Util.waitUntilElementIsVisible(resultElement);
BrowserVisibility.waitUntilElementIsVisible(resultElement);
resultElement.click();
}
clickCopyButton() {
Util.waitUntilElementIsClickable(this.copyButton);
BrowserVisibility.waitUntilElementIsClickable(this.copyButton);
this.copyButton.click();
}
clickShareButton() {
Util.waitUntilElementIsClickable(this.shareNodeButton);
BrowserVisibility.waitUntilElementIsClickable(this.shareNodeButton);
this.shareNodeButton.click();
}
checkSelectedSiteIsDisplayed(siteName) {
Util.waitUntilElementIsVisible(this.siteListDropdown.element(by.cssContainingText('.mat-select-value-text span', siteName)));
BrowserVisibility.waitUntilElementIsVisible(this.siteListDropdown.element(by.cssContainingText('.mat-select-value-text span', siteName)));
}
clickDownloadButton() {
BrowserVisibility.waitUntilElementIsClickable(this.downloadButton);
this.downloadButton.click();
}
clickMultiSelectToggle() {
BrowserVisibility.waitUntilElementIsClickable(this.multiSelectToggle);
this.multiSelectToggle.click();
}
}

View File

@@ -17,7 +17,7 @@
import { element, by, protractor } from 'protractor';
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class HeaderPage {
@@ -34,24 +34,24 @@ export class HeaderPage {
sideBarPositionLeft = element(by.css('mat-sidenav.mat-drawer.mat-sidenav'));
checkShowMenuCheckBoxIsDisplayed() {
return Util.waitUntilElementIsVisible(this.checkBox);
return BrowserVisibility.waitUntilElementIsVisible(this.checkBox);
}
checkChooseHeaderColourIsDisplayed() {
return Util.waitUntilElementIsVisible(this.headerColor);
return BrowserVisibility.waitUntilElementIsVisible(this.headerColor);
}
checkChangeTitleIsDisplayed() {
return Util.waitUntilElementIsVisible(this.titleInput);
return BrowserVisibility.waitUntilElementIsVisible(this.titleInput);
}
checkChangeUrlPathIsDisplayed() {
return Util.waitUntilElementIsVisible(this.iconInput);
return BrowserVisibility.waitUntilElementIsVisible(this.iconInput);
}
clickShowMenuButton() {
const checkBox = element.all(by.css('mat-checkbox'));
Util.waitUntilElementIsVisible(checkBox);
BrowserVisibility.waitUntilElementIsVisible(checkBox);
return checkBox.get(0).click();
}
@@ -62,11 +62,11 @@ export class HeaderPage {
checkAppTitle(name) {
const title = element(by.cssContainingText('.adf-app-title', name));
return Util.waitUntilElementIsVisible(title);
return BrowserVisibility.waitUntilElementIsVisible(title);
}
addTitle(title) {
Util.waitUntilElementIsVisible(this.titleInput);
BrowserVisibility.waitUntilElementIsVisible(this.titleInput);
this.titleInput.click();
this.titleInput.sendKeys(title);
this.titleInput.sendKeys(protractor.Key.ENTER);
@@ -74,66 +74,66 @@ export class HeaderPage {
checkIconIsDisplayed(url) {
const icon = element(by.css('img[src="' + url + '"]'));
Util.waitUntilElementIsVisible(icon);
BrowserVisibility.waitUntilElementIsVisible(icon);
}
addIcon(url) {
Util.waitUntilElementIsVisible(this.iconInput);
BrowserVisibility.waitUntilElementIsVisible(this.iconInput);
this.iconInput.click();
this.iconInput.sendKeys(url);
this.iconInput.sendKeys(protractor.Key.ENTER);
}
checkHexColorInputIsDisplayed() {
return Util.waitUntilElementIsVisible(this.hexColorInput);
return BrowserVisibility.waitUntilElementIsVisible(this.hexColorInput);
}
checkLogoHyperlinkInputIsDisplayed() {
return Util.waitUntilElementIsVisible(this.logoHyperlinkInput);
return BrowserVisibility.waitUntilElementIsVisible(this.logoHyperlinkInput);
}
checkLogoTooltipInputIsDisplayed() {
return Util.waitUntilElementIsVisible(this.logoTooltipInput);
return BrowserVisibility.waitUntilElementIsVisible(this.logoTooltipInput);
}
addHexCodeColor(hexCode) {
Util.waitUntilElementIsVisible(this.hexColorInput);
BrowserVisibility.waitUntilElementIsVisible(this.hexColorInput);
this.hexColorInput.click();
this.hexColorInput.sendKeys(hexCode);
return this.hexColorInput.sendKeys(protractor.Key.ENTER);
}
addLogoHyperlink(hyperlink) {
Util.waitUntilElementIsVisible(this.logoHyperlinkInput);
Util.waitUntilElementIsClickable(this.logoHyperlinkInput);
BrowserVisibility.waitUntilElementIsVisible(this.logoHyperlinkInput);
BrowserVisibility.waitUntilElementIsClickable(this.logoHyperlinkInput);
this.logoHyperlinkInput.click();
this.logoHyperlinkInput.sendKeys(hyperlink);
return this.logoHyperlinkInput.sendKeys(protractor.Key.ENTER);
}
addLogoTooltip(tooltip) {
Util.waitUntilElementIsVisible(this.logoTooltipInput);
BrowserVisibility.waitUntilElementIsVisible(this.logoTooltipInput);
this.logoTooltipInput.click();
this.logoTooltipInput.sendKeys(tooltip);
return this.logoTooltipInput.sendKeys(protractor.Key.ENTER);
}
sideBarPositionStart() {
Util.waitUntilElementIsVisible(this.positionStart);
BrowserVisibility.waitUntilElementIsVisible(this.positionStart);
return this.positionStart.click();
}
sideBarPositionEnd() {
Util.waitUntilElementIsVisible(this.positionEnd);
BrowserVisibility.waitUntilElementIsVisible(this.positionEnd);
return this.positionEnd.click();
}
checkSidebarPositionStart() {
return Util.waitUntilElementIsVisible(this.sideBarPositionLeft);
return BrowserVisibility.waitUntilElementIsVisible(this.sideBarPositionLeft);
}
checkSidebarPositionEnd() {
return Util.waitUntilElementIsVisible(this.sideBarPositionRight);
return BrowserVisibility.waitUntilElementIsVisible(this.sideBarPositionRight);
}
}

View File

@@ -18,7 +18,7 @@
import { element, by } from 'protractor';
import { ElementFinder } from 'protractor/built/element';
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class InfinitePaginationPage {
@@ -31,18 +31,18 @@ export class InfinitePaginationPage {
}
clickLoadMoreButton() {
Util.waitUntilElementIsVisible(this.loadMoreButton);
Util.waitUntilElementIsClickable(this.loadMoreButton);
BrowserVisibility.waitUntilElementIsVisible(this.loadMoreButton);
BrowserVisibility.waitUntilElementIsClickable(this.loadMoreButton);
this.loadMoreButton.click();
return this;
}
checkLoadMoreButtonIsDisplayed() {
return Util.waitUntilElementIsVisible(this.loadMoreButton);
return BrowserVisibility.waitUntilElementIsVisible(this.loadMoreButton);
}
checkLoadMoreButtonIsNotDisplayed() {
return Util.waitUntilElementIsNotOnPage(this.loadMoreButton);
return BrowserVisibility.waitUntilElementIsNotOnPage(this.loadMoreButton);
}
}

View File

@@ -16,8 +16,8 @@
*/
import { browser, by, element, protractor } from 'protractor';
import { Util } from '../../util/util';
import { ElementFinder, ElementArrayFinder } from 'protractor/built/element';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class DataTableComponentPage {
@@ -45,40 +45,41 @@ export class DataTableComponentPage {
}
checkAllRowsButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.selectAll);
BrowserVisibility.waitUntilElementIsVisible(this.selectAll);
return this;
}
checkAllRows() {
Util.waitUntilElementIsClickable(this.selectAll).then(() => {
BrowserVisibility.waitUntilElementIsVisible(this.selectAll);
BrowserVisibility.waitUntilElementIsClickable(this.selectAll).then(() => {
this.selectAll.click();
Util.waitUntilElementIsVisible(this.selectAll.element(by.css('input[aria-checked="true"]')));
BrowserVisibility.waitUntilElementIsVisible(this.selectAll.element(by.css('input[aria-checked="true"]')));
});
return this;
}
clickCheckbox(columnName, columnValue) {
const checkbox = this.getRowCheckbox(columnName, columnValue);
Util.waitUntilElementIsClickable(checkbox);
BrowserVisibility.waitUntilElementIsClickable(checkbox);
checkbox.click();
}
checkRowIsNotChecked(columnName, columnValue) {
Util.waitUntilElementIsNotOnPage(this.getRowCheckbox(columnName, columnValue).element(by.css('input[aria-checked="true"]')));
BrowserVisibility.waitUntilElementIsNotOnPage(this.getRowCheckbox(columnName, columnValue).element(by.css('input[aria-checked="true"]')));
}
checkRowIsChecked(columnName, columnValue) {
const rowCheckbox = this.getRowCheckbox(columnName, columnValue);
Util.waitUntilElementIsVisible(rowCheckbox.element(by.css('input[aria-checked="true"]')));
BrowserVisibility.waitUntilElementIsVisible(rowCheckbox.element(by.css('input[aria-checked="true"]')));
}
getRowCheckbox(columnName, columnValue) {
return this.getRowParentElement(columnName, columnValue)
return this.getRow(columnName, columnValue)
.element(by.css('mat-checkbox'));
}
checkNoRowIsSelected() {
Util.waitUntilElementIsNotOnPage(this.selectedRowNumber);
BrowserVisibility.waitUntilElementIsNotOnPage(this.selectedRowNumber);
}
getNumberOfSelectedRows() {
@@ -92,28 +93,29 @@ export class DataTableComponentPage {
selectRow(columnName, columnValue) {
const row = this.getRow(columnName, columnValue);
Util.waitUntilElementIsClickable(row);
BrowserVisibility.waitUntilElementIsVisible(row);
BrowserVisibility.waitUntilElementIsClickable(row);
row.click();
return this;
}
checkRowIsSelected(columnName, columnValue) {
const selectedRow = this.getRow(columnName, columnValue).element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
Util.waitUntilElementIsVisible(selectedRow);
const selectedRow = this.getRowElement(columnName, columnValue).element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
BrowserVisibility.waitUntilElementIsVisible(selectedRow);
return this;
}
checkRowIsNotSelected(columnName, columnValue) {
const selectedRow = this.getRow(columnName, columnValue).element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
Util.waitUntilElementIsNotOnPage(selectedRow);
const selectedRow = this.getRowElement(columnName, columnValue).element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
BrowserVisibility.waitUntilElementIsNotOnPage(selectedRow);
return this;
}
getColumnValueForRow(identifyingColumn, identifyingValue, columnName) {
const row = this.getRow(identifyingColumn, identifyingValue).element(by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row')]`));
Util.waitUntilElementIsVisible(row);
const row = this.getRow(identifyingColumn, identifyingValue);
BrowserVisibility.waitUntilElementIsVisible(row);
const rowColumn = row.element(by.css(`div[title="${columnName}"] span`));
Util.waitUntilElementIsVisible(rowColumn);
BrowserVisibility.waitUntilElementIsVisible(rowColumn);
return rowColumn.getText();
}
@@ -127,7 +129,7 @@ export class DataTableComponentPage {
checkListIsSorted(sortOrder, locator) {
const deferred = protractor.promise.defer();
const column = element.all(by.css(`div[title='${locator}'] span`));
Util.waitUntilElementIsVisible(column.first());
BrowserVisibility.waitUntilElementIsVisible(column.first());
const initialList = [];
column.each(function (currentElement) {
currentElement.getText().then(function (text) {
@@ -147,11 +149,11 @@ export class DataTableComponentPage {
rightClickOnRow(columnName, columnValue) {
const row = this.getRow(columnName, columnValue);
browser.actions().click(row, protractor.Button.RIGHT).perform();
Util.waitUntilElementIsVisible(element(by.id('adf-context-menu-content')));
BrowserVisibility.waitUntilElementIsVisible(element(by.id('adf-context-menu-content')));
}
getTooltip(columnName, columnValue) {
return this.getRow(columnName, columnValue).getAttribute('title');
return this.getRowElement(columnName, columnValue).getAttribute('title');
}
getFileHyperlink(filename) {
@@ -164,21 +166,21 @@ export class DataTableComponentPage {
async getAllRowsColumnValues(column) {
const columnLocator = by.css("adf-datatable div[class*='adf-datatable-body'] div[class*='adf-datatable-row'] div[title='" + column + "'] span");
Util.waitUntilElementIsVisible(element.all(columnLocator).first());
BrowserVisibility.waitUntilElementIsVisible(element.all(columnLocator).first());
const initialList: any = await element.all(columnLocator).getText();
return initialList.filter((el) => el);
}
async getRowsWithSameColumnValues(columnName, columnValue) {
const columnLocator = by.css(`div[title='${columnName}'] div[data-automation-id="text_${columnValue}"] span`);
Util.waitUntilElementIsVisible(this.rootElement.all(columnLocator).first());
BrowserVisibility.waitUntilElementIsVisible(this.rootElement.all(columnLocator).first());
return this.rootElement.all(columnLocator).getText();
}
doubleClickRow(columnName, columnValue) {
const row = this.getRow(columnName, columnValue);
Util.waitUntilElementIsVisible(row);
Util.waitUntilElementIsClickable(row);
BrowserVisibility.waitUntilElementIsVisible(row);
BrowserVisibility.waitUntilElementIsClickable(row);
row.click();
this.checkRowIsSelected(columnName, columnValue);
browser.actions().sendKeys(protractor.Key.ENTER).perform();
@@ -186,7 +188,7 @@ export class DataTableComponentPage {
}
waitForTableBody() {
Util.waitUntilElementIsVisible(this.tableBody);
BrowserVisibility.waitUntilElementIsVisible(this.tableBody);
}
getFirstElementDetail(detail) {
@@ -200,7 +202,7 @@ export class DataTableComponentPage {
sortByColumn(sortOrder, column) {
const locator = by.css(`div[data-automation-id="auto_id_${column}"]`);
Util.waitUntilElementIsVisible(element(locator));
BrowserVisibility.waitUntilElementIsVisible(element(locator));
return element(locator).getAttribute('class').then(function (result) {
if (sortOrder === true) {
if (!result.includes('sorted-asc')) {
@@ -223,49 +225,49 @@ export class DataTableComponentPage {
checkContentIsDisplayed(columnName, columnValue) {
const row = this.getRow(columnName, columnValue);
Util.waitUntilElementIsVisible(row);
BrowserVisibility.waitUntilElementIsVisible(row);
return this;
}
checkContentIsNotDisplayed(columnName, columnValue) {
const row = this.getRow(columnName, columnValue);
Util.waitUntilElementIsNotOnPage(row);
const row = this.getRowElement(columnName, columnValue);
BrowserVisibility.waitUntilElementIsNotOnPage(row);
return this;
}
contentInPosition(position) {
Util.waitUntilElementIsVisible(this.contents);
BrowserVisibility.waitUntilElementIsVisible(this.contents);
return this.contents.get(position - 1).getText();
}
getRowParentElement(columnName, columnValue) {
getRow(columnName, columnValue) {
const row = this.rootElement.all(by.css(`div[title="${columnName}"] div[data-automation-id="text_${columnValue}"]`)).first()
.element(by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row')]`));
Util.waitUntilElementIsVisible(row);
BrowserVisibility.waitUntilElementIsVisible(row);
return row;
}
getRow(columnName, columnValue) {
getRowElement(columnName, columnValue) {
return this.rootElement.all(by.css(`div[title="${columnName}"] div[data-automation-id="text_${columnValue}"] span`)).first();
}
checkSpinnerIsDisplayed() {
Util.waitUntilElementIsPresent(this.spinner);
BrowserVisibility.waitUntilElementIsPresent(this.spinner);
return this;
}
checkSpinnerIsNotDisplayed() {
Util.waitUntilElementIsNotOnPage(this.spinner);
BrowserVisibility.waitUntilElementIsNotOnPage(this.spinner);
return this;
}
tableIsLoaded() {
Util.waitUntilElementIsVisible(this.rootElement);
BrowserVisibility.waitUntilElementIsVisible(this.rootElement);
return this;
}
checkColumnIsDisplayed(column) {
Util.waitUntilElementIsVisible(element(by.css(`div[data-automation-id="auto_id_entry.${column}"]`)));
BrowserVisibility.waitUntilElementIsVisible(element(by.css(`div[data-automation-id="auto_id_entry.${column}"]`)));
return this;
}
@@ -278,6 +280,6 @@ export class DataTableComponentPage {
}
getCellByRowAndColumn(rowColumn, rowContent, columnName) {
return this.getRowParentElement(rowColumn, rowContent).element(by.css(`div[title='${columnName}']`));
return this.getRow(rowColumn, rowContent).element(by.css(`div[title='${columnName}']`));
}
}

View File

@@ -16,13 +16,13 @@
*/
import { by, element } from 'protractor';
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class AboutPage {
monacoPlugin = element(by.cssContainingText('mat-row > mat-cell', 'monaco plugin'));
checkMonacoPluginIsDisplayed() {
return Util.waitUntilElementIsVisible(this.monacoPlugin);
return BrowserVisibility.waitUntilElementIsVisible(this.monacoPlugin);
}
}

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
import { element, by } from 'protractor';
import { DataTableComponentPage } from '../dataTableComponentPage';
import { NavigationBarPage } from '../navigationBarPage';
@@ -49,7 +49,7 @@ export class CustomSources {
}
waitForToolbarToBeVisible() {
Util.waitUntilElementIsVisible(this.toolbar);
BrowserVisibility.waitUntilElementIsVisible(this.toolbar);
return this;
}
@@ -72,7 +72,7 @@ export class CustomSources {
getStatusCell(rowName) {
const cell = this.dataTable.getCellByRowAndColumn('Name', rowName, column.status);
Util.waitUntilElementIsVisible(cell);
BrowserVisibility.waitUntilElementIsVisible(cell);
return cell.getText();
}

View File

@@ -17,7 +17,7 @@
import { browser, by, element, protractor } from 'protractor';
import { DataTableComponentPage } from '../dataTableComponentPage';
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class DataTablePage {
@@ -41,54 +41,54 @@ export class DataTablePage {
}
addRow() {
Util.waitUntilElementIsVisible(this.addRowElement);
BrowserVisibility.waitUntilElementIsVisible(this.addRowElement);
this.addRowElement.click();
}
replaceRows(id) {
const rowID = this.dataTable.getRow('Id', id);
Util.waitUntilElementIsVisible(rowID);
const rowID = this.dataTable.getRowElement('Id', id);
BrowserVisibility.waitUntilElementIsVisible(rowID);
this.replaceRowsElement.click();
Util.waitUntilElementIsNotVisible(rowID);
BrowserVisibility.waitUntilElementIsNotVisible(rowID);
}
replaceColumns() {
Util.waitUntilElementIsVisible(this.replaceColumnsElement);
BrowserVisibility.waitUntilElementIsVisible(this.replaceColumnsElement);
this.replaceColumnsElement.click();
Util.waitUntilElementIsNotOnPage(this.createdOnColumn);
BrowserVisibility.waitUntilElementIsNotOnPage(this.createdOnColumn);
}
clickMultiSelect() {
Util.waitUntilElementIsVisible(this.multiSelect);
BrowserVisibility.waitUntilElementIsVisible(this.multiSelect);
this.multiSelect.click();
}
clickReset() {
Util.waitUntilElementIsVisible(this.reset);
BrowserVisibility.waitUntilElementIsVisible(this.reset);
this.reset.click();
}
checkRowIsNotSelected(rowNumber) {
const isRowSelected = this.dataTable.getRow('Id', rowNumber)
const isRowSelected = this.dataTable.getRowElement('Id', rowNumber)
.element(by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row custom-row-style ng-star-inserted is-selected')]`));
Util.waitUntilElementIsNotOnPage(isRowSelected);
BrowserVisibility.waitUntilElementIsNotOnPage(isRowSelected);
}
checkNoRowIsSelected() {
Util.waitUntilElementIsNotOnPage(this.selectedRowNumber);
BrowserVisibility.waitUntilElementIsNotOnPage(this.selectedRowNumber);
}
checkAllRows() {
Util.waitUntilElementIsVisible(this.selectAll);
BrowserVisibility.waitUntilElementIsVisible(this.selectAll);
this.selectAll.click();
}
checkRowIsChecked(rowNumber) {
Util.waitUntilElementIsVisible(this.getRowCheckbox(rowNumber));
BrowserVisibility.waitUntilElementIsVisible(this.getRowCheckbox(rowNumber));
}
checkRowIsNotChecked(rowNumber) {
Util.waitUntilElementIsNotOnPage(this.getRowCheckbox(rowNumber));
BrowserVisibility.waitUntilElementIsNotOnPage(this.getRowCheckbox(rowNumber));
}
getNumberOfSelectedRows() {
@@ -96,32 +96,32 @@ export class DataTablePage {
}
clickCheckbox(rowNumber) {
const checkbox = this.dataTable.getRow('Id', rowNumber).element(by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row')]//mat-checkbox/label`));
Util.waitUntilElementIsVisible(checkbox);
const checkbox = this.dataTable.getRowElement('Id', rowNumber).element(by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row')]//mat-checkbox/label`));
BrowserVisibility.waitUntilElementIsVisible(checkbox);
checkbox.click();
}
selectRow(rowNumber) {
const locator = this.dataTable.getRow('Id', rowNumber);
Util.waitUntilElementIsVisible(locator);
Util.waitUntilElementIsClickable(locator);
const locator = this.dataTable.getRowElement('Id', rowNumber);
BrowserVisibility.waitUntilElementIsVisible(locator);
BrowserVisibility.waitUntilElementIsClickable(locator);
locator.click();
return this;
}
selectRowWithKeyboard(rowNumber) {
const row = this.dataTable.getRow('Id', rowNumber);
const row = this.dataTable.getRowElement('Id', rowNumber);
browser.actions().sendKeys(protractor.Key.COMMAND).click(row).perform();
}
selectSelectionMode(selectionMode) {
const selectMode = element(by.cssContainingText(`span[class='mat-option-text']`, selectionMode));
this.selectionButton.click();
Util.waitUntilElementIsVisible(this.selectionDropDown);
BrowserVisibility.waitUntilElementIsVisible(this.selectionDropDown);
selectMode.click();
}
getRowCheckbox(rowNumber) {
return this.dataTable.getRow('Id', rowNumber).element(by.xpath(`ancestor::div/div/mat-checkbox[contains(@class, 'mat-checkbox-checked')]`));
return this.dataTable.getRowElement('Id', rowNumber).element(by.xpath(`ancestor::div/div/mat-checkbox[contains(@class, 'mat-checkbox-checked')]`));
}
}

View File

@@ -16,13 +16,13 @@
*/
import { by, element } from 'protractor';
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class LogoutPage {
logoutSection = element(by.css('div[data-automation-id="adf-logout-section"]'));
checkLogoutSectionIsDisplayed() {
return Util.waitUntilElementIsVisible(this.logoutSection);
return BrowserVisibility.waitUntilElementIsVisible(this.logoutSection);
}
}

View File

@@ -16,7 +16,7 @@
*/
import { by, element, protractor } from 'protractor';
import { Util } from '../../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class PeopleGroupCloudComponentPage {
@@ -34,39 +34,39 @@ export class PeopleGroupCloudComponentPage {
groupCloudComponentTitle = element(by.cssContainingText('mat-card-title', 'Groups Cloud Component'));
checkPeopleCloudComponentTitleIsDisplayed() {
Util.waitUntilElementIsVisible(this.peopleCloudComponentTitle);
BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudComponentTitle);
return this;
}
checkGroupsCloudComponentTitleIsDisplayed() {
Util.waitUntilElementIsVisible(this.groupCloudComponentTitle);
BrowserVisibility.waitUntilElementIsVisible(this.groupCloudComponentTitle);
return this;
}
clickPeopleCloudMultipleSelection() {
Util.waitUntilElementIsVisible(this.peopleCloudMultipleSelection);
BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudMultipleSelection);
this.peopleCloudMultipleSelection.click();
}
clickPeopleCloudFilterRole() {
Util.waitUntilElementIsVisible(this.peopleCloudFilterRole);
BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudFilterRole);
this.peopleCloudFilterRole.click();
}
clickGroupCloudFilterRole() {
Util.waitUntilElementIsVisible(this.groupCloudFilterRole);
BrowserVisibility.waitUntilElementIsVisible(this.groupCloudFilterRole);
this.groupCloudFilterRole.click();
}
enterPeopleRoles(roles) {
Util.waitUntilElementIsVisible(this.peopleRoleInput);
BrowserVisibility.waitUntilElementIsVisible(this.peopleRoleInput);
this.peopleRoleInput.clear();
this.peopleRoleInput.sendKeys(roles);
return this;
}
clearField(locator) {
Util.waitUntilElementIsVisible(locator);
BrowserVisibility.waitUntilElementIsVisible(locator);
locator.getAttribute('value').then((result) => {
for (let i = result.length; i >= 0; i--) {
locator.sendKeys(protractor.Key.BACK_SPACE);
@@ -75,12 +75,12 @@ export class PeopleGroupCloudComponentPage {
}
clickGroupCloudMultipleSelection() {
Util.waitUntilElementIsVisible(this.groupCloudMultipleSelection);
BrowserVisibility.waitUntilElementIsVisible(this.groupCloudMultipleSelection);
this.groupCloudMultipleSelection.click();
}
enterGroupRoles(roles) {
Util.waitUntilElementIsVisible(this.groupRoleInput);
BrowserVisibility.waitUntilElementIsVisible(this.groupRoleInput);
this.groupRoleInput.clear();
this.groupRoleInput.sendKeys(roles);
return this;

View File

@@ -15,12 +15,11 @@
* limitations under the License.
*/
import { Util } from '../../../../util/util';
import { ProcessFiltersCloudComponent } from '../../process-cloud/processFiltersCloudComponent';
import { ProcessListCloudComponent } from '../../process-cloud/processListCloudComponent';
import { EditProcessFilterCloudComponent } from '../../process-cloud/editProcessFilterCloudComponent';
import { element, by } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class ProcessCloudDemoPage {
@@ -69,12 +68,12 @@ export class ProcessCloudDemoPage {
}
getActiveFilterName() {
Util.waitUntilElementIsVisible(this.activeFilter);
BrowserVisibility.waitUntilElementIsVisible(this.activeFilter);
return this.activeFilter.getText();
}
clickOnProcessFilters() {
Util.waitUntilElementIsVisible(this.processFilters);
BrowserVisibility.waitUntilElementIsVisible(this.processFilters);
return this.processFilters.click();
}
@@ -87,17 +86,17 @@ export class ProcessCloudDemoPage {
}
createButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.createButton);
BrowserVisibility.waitUntilElementIsVisible(this.createButton);
return this;
}
newProcessButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.newProcessButton);
BrowserVisibility.waitUntilElementIsVisible(this.newProcessButton);
return this;
}
clickOnCreateButton() {
Util.waitUntilElementIsClickable(this.createButton);
BrowserVisibility.waitUntilElementIsClickable(this.createButton);
this.createButton.click();
return this;
}

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Util } from '../../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
import { DataTableComponentPage } from '../../dataTableComponentPage';
import { element, by, protractor } from 'protractor';
@@ -36,25 +36,25 @@ export class ProcessListDemoPage {
}
selectSorting(sort) {
Util.waitUntilElementIsVisible(this.stateSelector);
BrowserVisibility.waitUntilElementIsVisible(this.stateSelector);
this.sortSelector.click();
const sortLocator = element(by.cssContainingText('mat-option span', sort));
Util.waitUntilElementIsVisible(sortLocator);
BrowserVisibility.waitUntilElementIsVisible(sortLocator);
sortLocator.click();
return this;
}
selectStateFilter(state) {
Util.waitUntilElementIsVisible(this.stateSelector);
BrowserVisibility.waitUntilElementIsVisible(this.stateSelector);
this.stateSelector.click();
const stateLocator = element(by.cssContainingText('mat-option span', state));
Util.waitUntilElementIsVisible(stateLocator);
BrowserVisibility.waitUntilElementIsVisible(stateLocator);
stateLocator.click();
return this;
}
addAppId(appId) {
Util.waitUntilElementIsVisible(this.appIdInput);
BrowserVisibility.waitUntilElementIsVisible(this.appIdInput);
this.appIdInput.click();
this.appIdInput.sendKeys(protractor.Key.ENTER);
this.appIdInput.clear();
@@ -62,17 +62,17 @@ export class ProcessListDemoPage {
}
clickResetButton() {
Util.waitUntilElementIsVisible(this.resetButton);
BrowserVisibility.waitUntilElementIsVisible(this.resetButton);
return this.resetButton.click();
}
checkErrorMessageIsDisplayed(error) {
const errorMessage = element(by.cssContainingText('mat-error', error));
Util.waitUntilElementIsVisible(errorMessage);
BrowserVisibility.waitUntilElementIsVisible(errorMessage);
}
checkNoProcessFoundIsDisplayed() {
return Util.waitUntilElementIsVisible(this.emptyProcessContent);
return BrowserVisibility.waitUntilElementIsVisible(this.emptyProcessContent);
}
checkProcessIsNotDisplayed(processName) {
@@ -84,34 +84,34 @@ export class ProcessListDemoPage {
}
checkAppIdFieldIsDisplayed() {
Util.waitUntilElementIsVisible(this.appIdInput);
BrowserVisibility.waitUntilElementIsVisible(this.appIdInput);
return this;
}
checkProcessInstanceIdFieldIsDisplayed() {
Util.waitUntilElementIsVisible(this.processInstanceInput);
BrowserVisibility.waitUntilElementIsVisible(this.processInstanceInput);
return this;
}
checkStateFieldIsDisplayed() {
Util.waitUntilElementIsVisible(this.stateSelector);
BrowserVisibility.waitUntilElementIsVisible(this.stateSelector);
return this;
}
checkSortFieldIsDisplayed() {
Util.waitUntilElementIsVisible(this.sortSelector);
BrowserVisibility.waitUntilElementIsVisible(this.sortSelector);
return this;
}
addProcessDefinitionId(procDefinitionId) {
Util.waitUntilElementIsVisible(this.processDefinitionInput);
BrowserVisibility.waitUntilElementIsVisible(this.processDefinitionInput);
this.processDefinitionInput.click();
this.processDefinitionInput.clear();
return this.processDefinitionInput.sendKeys(procDefinitionId);
}
addProcessInstanceId(procInstanceId) {
Util.waitUntilElementIsVisible(this.processInstanceInput);
BrowserVisibility.waitUntilElementIsVisible(this.processInstanceInput);
this.processInstanceInput.click();
this.processInstanceInput.clear();
return this.processInstanceInput.sendKeys(procInstanceId);

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Util } from '../../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
import { element, by } from 'protractor';
import { TaskFiltersPage } from '../../process-services/taskFiltersPage';
@@ -53,7 +53,7 @@ export class TaskFiltersDemoPage {
}
checkActiveFilterActive () {
Util.waitUntilElementIsVisible(this.activeFilter);
BrowserVisibility.waitUntilElementIsVisible(this.activeFilter);
return this.activeFilter.getText();
}

View File

@@ -15,10 +15,10 @@
* limitations under the License.
*/
import { Util } from '../../../../util/util';
import { TasksListPage } from '../../process-services/tasksListPage';
import { PaginationPage } from '../../paginationPage';
import { element, by } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class TaskListDemoPage {
@@ -49,130 +49,130 @@ export class TaskListDemoPage {
}
typeAppId(input) {
Util.waitUntilElementIsVisible(this.appId);
BrowserVisibility.waitUntilElementIsVisible(this.appId);
this.clearText(this.appId);
this.appId.sendKeys(input);
return this;
}
clickAppId() {
Util.waitUntilElementIsVisible(this.appId);
BrowserVisibility.waitUntilElementIsVisible(this.appId);
this.appId.click();
return this;
}
getAppId() {
Util.waitUntilElementIsVisible(this.appId);
BrowserVisibility.waitUntilElementIsVisible(this.appId);
return this.appId.getAttribute('value');
}
typeTaskId(input) {
Util.waitUntilElementIsVisible(this.taskId);
BrowserVisibility.waitUntilElementIsVisible(this.taskId);
this.clearText(this.taskId);
this.taskId.sendKeys(input);
return this;
}
getTaskId() {
Util.waitUntilElementIsVisible(this.taskId);
BrowserVisibility.waitUntilElementIsVisible(this.taskId);
return this.taskId.getAttribute('value');
}
typeTaskName(input) {
Util.waitUntilElementIsVisible(this.taskName);
BrowserVisibility.waitUntilElementIsVisible(this.taskName);
this.clearText(this.taskName);
this.taskName.sendKeys(input);
return this;
}
getTaskName() {
Util.waitUntilElementIsVisible(this.taskName);
BrowserVisibility.waitUntilElementIsVisible(this.taskName);
return this.taskName.getAttribute('value');
}
typeItemsPerPage(input) {
Util.waitUntilElementIsVisible(this.itemsPerPage);
BrowserVisibility.waitUntilElementIsVisible(this.itemsPerPage);
this.clearText(this.itemsPerPage);
this.itemsPerPage.sendKeys(input);
return this;
}
getItemsPerPage() {
Util.waitUntilElementIsVisible(this.itemsPerPage);
BrowserVisibility.waitUntilElementIsVisible(this.itemsPerPage);
return this.itemsPerPage.getAttribute('value');
}
typeProcessDefinitionId(input) {
Util.waitUntilElementIsVisible(this.processDefinitionId);
BrowserVisibility.waitUntilElementIsVisible(this.processDefinitionId);
this.clearText(this.processDefinitionId);
this.processDefinitionId.sendKeys(input);
return this;
}
getProcessDefinitionId() {
Util.waitUntilElementIsVisible(this.processInstanceId);
BrowserVisibility.waitUntilElementIsVisible(this.processInstanceId);
return this.processInstanceId.getAttribute('value');
}
typeProcessInstanceId(input) {
Util.waitUntilElementIsVisible(this.processInstanceId);
BrowserVisibility.waitUntilElementIsVisible(this.processInstanceId);
this.clearText(this.processInstanceId);
this.processInstanceId.sendKeys(input);
return this;
}
getProcessInstanceId() {
Util.waitUntilElementIsVisible(this.processInstanceId);
BrowserVisibility.waitUntilElementIsVisible(this.processInstanceId);
return this.processInstanceId.getAttribute('value');
}
getItemsPerPageFieldErrorMessage() {
Util.waitUntilElementIsVisible(this.itemsPerPageForm);
BrowserVisibility.waitUntilElementIsVisible(this.itemsPerPageForm);
const errorMessage = this.itemsPerPageForm.element(by.css('mat-error'));
Util.waitUntilElementIsVisible(errorMessage);
BrowserVisibility.waitUntilElementIsVisible(errorMessage);
return errorMessage.getText();
}
typePage(input) {
Util.waitUntilElementIsVisible(this.page);
BrowserVisibility.waitUntilElementIsVisible(this.page);
this.clearText(this.page);
this.page.sendKeys(input);
return this;
}
getPage() {
Util.waitUntilElementIsVisible(this.page);
BrowserVisibility.waitUntilElementIsVisible(this.page);
return this.page.getAttribute('value');
}
getPageFieldErrorMessage() {
Util.waitUntilElementIsVisible(this.pageForm);
BrowserVisibility.waitUntilElementIsVisible(this.pageForm);
const errorMessage = this.pageForm.element(by.css('mat-error'));
Util.waitUntilElementIsVisible(errorMessage);
BrowserVisibility.waitUntilElementIsVisible(errorMessage);
return errorMessage.getText();
}
typeDueAfter(input) {
Util.waitUntilElementIsVisible(this.dueAfter);
BrowserVisibility.waitUntilElementIsVisible(this.dueAfter);
this.clearText(this.dueAfter);
this.dueAfter.sendKeys(input);
return this;
}
typeDueBefore(input) {
Util.waitUntilElementIsVisible(this.dueBefore);
BrowserVisibility.waitUntilElementIsVisible(this.dueBefore);
this.clearText(this.dueBefore);
this.dueBefore.sendKeys(input);
return this;
}
clearText(input) {
Util.waitUntilElementIsVisible(input);
BrowserVisibility.waitUntilElementIsVisible(input);
return input.clear();
}
clickResetButton() {
Util.waitUntilElementIsVisible(this.resetButton);
BrowserVisibility.waitUntilElementIsVisible(this.resetButton);
this.resetButton.click();
}
@@ -180,32 +180,32 @@ export class TaskListDemoPage {
this.clickOnSortDropDownArrow();
const sortElement = element.all(by.cssContainingText('mat-option span', sort)).first();
Util.waitUntilElementIsClickable(sortElement);
Util.waitUntilElementIsVisible(sortElement);
BrowserVisibility.waitUntilElementIsClickable(sortElement);
BrowserVisibility.waitUntilElementIsVisible(sortElement);
sortElement.click();
return this;
}
clickOnSortDropDownArrow() {
Util.waitUntilElementIsVisible(this.sortDropDownArrow);
BrowserVisibility.waitUntilElementIsVisible(this.sortDropDownArrow);
this.sortDropDownArrow.click();
Util.waitUntilElementIsVisible(this.sortSelector);
BrowserVisibility.waitUntilElementIsVisible(this.sortSelector);
}
selectState(state) {
this.clickOnStateDropDownArrow();
const stateElement = element.all(by.cssContainingText('mat-option span', state)).first();
Util.waitUntilElementIsClickable(stateElement);
Util.waitUntilElementIsVisible(stateElement);
BrowserVisibility.waitUntilElementIsClickable(stateElement);
BrowserVisibility.waitUntilElementIsVisible(stateElement);
stateElement.click();
return this;
}
clickOnStateDropDownArrow() {
Util.waitUntilElementIsVisible(this.stateDropDownArrow);
BrowserVisibility.waitUntilElementIsVisible(this.stateDropDownArrow);
this.stateDropDownArrow.click();
Util.waitUntilElementIsVisible(this.stateSelector);
BrowserVisibility.waitUntilElementIsVisible(this.stateSelector);
}
getAllProcessDefinitionIds() {

View File

@@ -15,14 +15,13 @@
* limitations under the License.
*/
import { Util } from '../../../../util/util';
import { TaskFiltersCloudComponent } from '../../process-cloud/taskFiltersCloudComponent';
import { TaskListCloudComponent } from '../../process-cloud/taskListCloudComponent';
import { EditTaskFilterCloudComponent } from '../../process-cloud/editTaskFilterCloudComponent';
import { FormControllersPage } from '../../material/formControllersPage';
import { element, by, browser } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class TasksCloudDemoPage {
@@ -81,7 +80,7 @@ export class TasksCloudDemoPage {
}
getActiveFilterName() {
Util.waitUntilElementIsVisible(this.activeFilter);
BrowserVisibility.waitUntilElementIsVisible(this.activeFilter);
return this.activeFilter.getText();
}
@@ -94,7 +93,7 @@ export class TasksCloudDemoPage {
}
clickOnTaskFilters() {
Util.waitUntilElementIsVisible(this.taskFilters);
BrowserVisibility.waitUntilElementIsVisible(this.taskFilters);
return this.taskFilters.click();
}
@@ -107,17 +106,17 @@ export class TasksCloudDemoPage {
}
createButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.createButton);
BrowserVisibility.waitUntilElementIsVisible(this.createButton);
return this;
}
newTaskButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.newTaskButton);
BrowserVisibility.waitUntilElementIsVisible(this.newTaskButton);
return this;
}
clickOnCreateButton() {
Util.waitUntilElementIsClickable(this.createButton);
BrowserVisibility.waitUntilElementIsClickable(this.createButton);
this.createButton.click();
return this;
}
@@ -129,9 +128,9 @@ export class TasksCloudDemoPage {
clickSettingsButton() {
this.settingsButton.click();
browser.driver.sleep(400);
Util.waitUntilElementIsVisible(this.multiSelectionToggle);
Util.waitUntilElementIsVisible(this.modeDropDownArrow);
Util.waitUntilElementIsClickable(this.modeDropDownArrow);
BrowserVisibility.waitUntilElementIsVisible(this.multiSelectionToggle);
BrowserVisibility.waitUntilElementIsVisible(this.modeDropDownArrow);
BrowserVisibility.waitUntilElementIsClickable(this.modeDropDownArrow);
return this;
}
@@ -145,16 +144,16 @@ export class TasksCloudDemoPage {
this.clickOnSelectionModeDropDownArrow();
const modeElement = element.all(by.cssContainingText('mat-option span', mode)).first();
Util.waitUntilElementIsClickable(modeElement);
Util.waitUntilElementIsVisible(modeElement);
BrowserVisibility.waitUntilElementIsClickable(modeElement);
BrowserVisibility.waitUntilElementIsVisible(modeElement);
modeElement.click();
return this;
}
clickOnSelectionModeDropDownArrow() {
Util.waitUntilElementIsVisible(this.modeDropDownArrow);
Util.waitUntilElementIsClickable(this.modeDropDownArrow);
BrowserVisibility.waitUntilElementIsVisible(this.modeDropDownArrow);
BrowserVisibility.waitUntilElementIsClickable(this.modeDropDownArrow);
this.modeDropDownArrow.click();
Util.waitUntilElementIsVisible(this.modeSelector);
BrowserVisibility.waitUntilElementIsVisible(this.modeSelector);
}
}

View File

@@ -16,7 +16,7 @@
*/
import { browser, by, element } from 'protractor';
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class CreateFolderDialog {
folderNameField = element(by.id('adf-folder-name-input'));
@@ -25,13 +25,13 @@ export class CreateFolderDialog {
cancelButton = element(by.id('adf-folder-cancel-button'));
clickOnCreateButton() {
Util.waitUntilElementIsVisible(this.createButton);
BrowserVisibility.waitUntilElementIsVisible(this.createButton);
this.createButton.click();
return this;
}
checkCreateBtnIsDisabled() {
Util.waitUntilElementIsVisible(this.createButton);
BrowserVisibility.waitUntilElementIsVisible(this.createButton);
expect(this.createButton.getAttribute('disabled')).toEqual('true');
return this;
}
@@ -42,13 +42,13 @@ export class CreateFolderDialog {
}
clickOnCancelButton() {
Util.waitUntilElementIsVisible(this.cancelButton);
BrowserVisibility.waitUntilElementIsVisible(this.cancelButton);
this.cancelButton.click();
return this;
}
addFolderName(folderName) {
Util.waitUntilElementIsVisible(this.folderNameField);
BrowserVisibility.waitUntilElementIsVisible(this.folderNameField);
this.folderNameField.clear();
this.folderNameField.sendKeys(folderName);
browser.driver.sleep(500);
@@ -56,7 +56,7 @@ export class CreateFolderDialog {
}
addFolderDescription(folderDescription) {
Util.waitUntilElementIsVisible(this.folderDescriptionField);
BrowserVisibility.waitUntilElementIsVisible(this.folderDescriptionField);
this.folderDescriptionField.clear();
this.folderDescriptionField.sendKeys(folderDescription);
return this;

View File

@@ -16,7 +16,7 @@
*/
import { by, element, browser, protractor } from 'protractor';
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class CreateLibraryDialog {
libraryDialog = element(by.css('[role="dialog"]'));
@@ -35,17 +35,17 @@ export class CreateLibraryDialog {
getSelectedRadio() {
const radio = element(by.css('.mat-radio-button[class*="checked"]'));
Util.waitUntilElementIsVisible(radio);
BrowserVisibility.waitUntilElementIsVisible(radio);
return radio.getText();
}
waitForDialogToOpen() {
Util.waitUntilElementIsPresent(this.libraryDialog);
BrowserVisibility.waitUntilElementIsPresent(this.libraryDialog);
return this;
}
waitForDialogToClose() {
Util.waitUntilElementIsNotOnPage(this.libraryDialog);
BrowserVisibility.waitUntilElementIsNotOnPage(this.libraryDialog);
return this;
}
@@ -66,21 +66,21 @@ export class CreateLibraryDialog {
}
getErrorMessage() {
Util.waitUntilElementIsVisible(this.errorMessage);
BrowserVisibility.waitUntilElementIsVisible(this.errorMessage);
return this.errorMessage.getText();
}
getErrorMessages(position) {
Util.waitUntilElementIsVisible(this.errorMessages);
BrowserVisibility.waitUntilElementIsVisible(this.errorMessages);
return this.errorMessages.get(position).getText();
}
waitForLibraryNameHint() {
Util.waitUntilElementIsVisible(this.libraryNameHint);
BrowserVisibility.waitUntilElementIsVisible(this.libraryNameHint);
return this;
}
getLibraryNameHint() {
Util.waitUntilElementIsVisible(this.libraryNameHint);
BrowserVisibility.waitUntilElementIsVisible(this.libraryNameHint);
return this.libraryNameHint.getText();
}
@@ -117,7 +117,7 @@ export class CreateLibraryDialog {
}
clickCreate() {
Util.waitUntilElementIsClickable(this.createButton);
BrowserVisibility.waitUntilElementIsClickable(this.createButton);
this.createButton.click();
}

View File

@@ -16,7 +16,7 @@
*/
import { by, element, protractor } from 'protractor';
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class EditProcessFilterDialog {
@@ -28,32 +28,32 @@ export class EditProcessFilterDialog {
clickOnSaveButton() {
const saveButton = this.componentElement.element(this.saveButtonLocator);
Util.waitUntilElementIsVisible(saveButton);
BrowserVisibility.waitUntilElementIsVisible(saveButton);
saveButton.click();
Util.waitUntilElementIsNotVisible(this.componentElement);
BrowserVisibility.waitUntilElementIsNotVisible(this.componentElement);
return this;
}
checkSaveButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.componentElement.element(this.saveButtonLocator));
BrowserVisibility.waitUntilElementIsVisible(this.componentElement.element(this.saveButtonLocator));
return this.componentElement.element(this.saveButtonLocator).isEnabled();
}
clickOnCancelButton() {
const cancelButton = this.componentElement.element(this.cancelButtonLocator);
Util.waitUntilElementIsVisible(cancelButton);
BrowserVisibility.waitUntilElementIsVisible(cancelButton);
cancelButton.click();
Util.waitUntilElementIsNotVisible(this.componentElement);
BrowserVisibility.waitUntilElementIsNotVisible(this.componentElement);
return this;
}
checkCancelButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.componentElement.element(this.cancelButtonLocator));
BrowserVisibility.waitUntilElementIsVisible(this.componentElement.element(this.cancelButtonLocator));
return this.componentElement.element(this.cancelButtonLocator).isEnabled();
}
getFilterName() {
Util.waitUntilElementIsVisible(this.filterNameInput);
BrowserVisibility.waitUntilElementIsVisible(this.filterNameInput);
return this.filterNameInput.getAttribute('value');
}
@@ -64,7 +64,7 @@ export class EditProcessFilterDialog {
}
clearFilterName() {
Util.waitUntilElementIsVisible(this.filterNameInput);
BrowserVisibility.waitUntilElementIsVisible(this.filterNameInput);
this.filterNameInput.click();
this.filterNameInput.getAttribute('value').then((value) => {
for (let i = value.length; i >= 0; i--) {
@@ -75,7 +75,7 @@ export class EditProcessFilterDialog {
}
getTitle() {
Util.waitUntilElementIsVisible(this.title);
BrowserVisibility.waitUntilElementIsVisible(this.title);
return this.title.getText();
}

View File

@@ -16,7 +16,7 @@
*/
import { by, element, protractor } from 'protractor';
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class EditTaskFilterDialog {
@@ -28,32 +28,32 @@ export class EditTaskFilterDialog {
clickOnSaveButton() {
const saveButton = this.componentElement.element(this.saveButtonLocator);
Util.waitUntilElementIsVisible(saveButton);
BrowserVisibility.waitUntilElementIsVisible(saveButton);
saveButton.click();
Util.waitUntilElementIsNotVisible(this.componentElement);
BrowserVisibility.waitUntilElementIsNotVisible(this.componentElement);
return this;
}
checkSaveButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.componentElement.element(this.saveButtonLocator));
BrowserVisibility.waitUntilElementIsVisible(this.componentElement.element(this.saveButtonLocator));
return this.componentElement.element(this.saveButtonLocator).isEnabled();
}
clickOnCancelButton() {
const cancelButton = this.componentElement.element(this.cancelButtonLocator);
Util.waitUntilElementIsVisible(cancelButton);
BrowserVisibility.waitUntilElementIsVisible(cancelButton);
cancelButton.click();
Util.waitUntilElementIsNotVisible(this.componentElement);
BrowserVisibility.waitUntilElementIsNotVisible(this.componentElement);
return this;
}
checkCancelButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.componentElement.element(this.cancelButtonLocator));
BrowserVisibility.waitUntilElementIsVisible(this.componentElement.element(this.cancelButtonLocator));
return this.componentElement.element(this.cancelButtonLocator).isEnabled();
}
getFilterName() {
Util.waitUntilElementIsVisible(this.filterNameInput);
BrowserVisibility.waitUntilElementIsVisible(this.filterNameInput);
return this.filterNameInput.getAttribute('value');
}
@@ -64,7 +64,7 @@ export class EditTaskFilterDialog {
}
clearFilterName() {
Util.waitUntilElementIsVisible(this.filterNameInput);
BrowserVisibility.waitUntilElementIsVisible(this.filterNameInput);
this.filterNameInput.click();
this.filterNameInput.getAttribute('value').then((value) => {
for (let i = value.length; i >= 0; i--) {
@@ -75,7 +75,7 @@ export class EditTaskFilterDialog {
}
getTitle() {
Util.waitUntilElementIsVisible(this.title);
BrowserVisibility.waitUntilElementIsVisible(this.title);
return this.title.getText();
}

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { browser, by, element, protractor } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class SearchDialog {
@@ -35,47 +35,47 @@ export class SearchDialog {
}
clickOnSearchIcon() {
Util.waitUntilElementIsVisible(this.searchIcon);
BrowserVisibility.waitUntilElementIsVisible(this.searchIcon);
this.searchIcon.click();
return this;
}
checkSearchIconIsVisible() {
Util.waitUntilElementIsVisible(this.searchIcon);
BrowserVisibility.waitUntilElementIsVisible(this.searchIcon);
return this;
}
checkSearchBarIsVisible() {
Util.waitUntilElementIsVisible(this.searchBar);
BrowserVisibility.waitUntilElementIsVisible(this.searchBar);
return this;
}
checkSearchBarIsNotVisible() {
Util.waitUntilElementIsVisible(this.searchBar);
Util.waitUntilElementIsNotVisible(this.searchBarExpanded);
BrowserVisibility.waitUntilElementIsVisible(this.searchBar);
BrowserVisibility.waitUntilElementIsNotVisible(this.searchBarExpanded);
return this;
}
checkNoResultMessageIsDisplayed() {
browser.driver.sleep(500);
Util.waitUntilElementIsVisible(this.noResultMessage);
BrowserVisibility.waitUntilElementIsVisible(this.noResultMessage);
return this;
}
checkNoResultMessageIsNotDisplayed() {
Util.waitUntilElementIsNotOnPage(this.noResultMessage);
BrowserVisibility.waitUntilElementIsNotOnPage(this.noResultMessage);
return this;
}
enterText(text) {
Util.waitUntilElementIsVisible(this.searchBar);
BrowserVisibility.waitUntilElementIsVisible(this.searchBar);
browser.executeScript(`document.querySelector("adf-search-control input").click();`);
this.searchBar.sendKeys(text);
return this;
}
enterTextAndPressEnter(text) {
Util.waitUntilElementIsVisible(this.searchBar);
BrowserVisibility.waitUntilElementIsVisible(this.searchBar);
browser.executeScript(`document.querySelector("adf-search-control input").click();`);
this.searchBar.sendKeys(text);
this.searchBar.sendKeys(protractor.Key.ENTER);
@@ -83,8 +83,8 @@ export class SearchDialog {
}
resultTableContainsRow(name) {
Util.waitUntilElementIsVisible(this.searchDialog);
Util.waitUntilElementIsVisible(this.getRowByRowName(name));
BrowserVisibility.waitUntilElementIsVisible(this.searchDialog);
BrowserVisibility.waitUntilElementIsVisible(this.getRowByRowName(name));
return this;
}
@@ -111,7 +111,7 @@ export class SearchDialog {
}
clearText() {
Util.waitUntilElementIsVisible(this.searchBar);
BrowserVisibility.waitUntilElementIsVisible(this.searchBar);
return this.searchBar.clear();
}
}

View File

@@ -16,8 +16,8 @@
*/
import { element, by } from 'protractor';
import { Util } from '../../../util/util';
import { FormControllersPage } from '../material/formControllersPage';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class ShareDialog {
@@ -43,7 +43,7 @@ export class ShareDialog {
confirmationRemoveButton = element(by.id('adf-confirm-accept'));
checkDialogIsDisplayed() {
return Util.waitUntilElementIsVisible(this.dialogTitle);
return BrowserVisibility.waitUntilElementIsVisible(this.dialogTitle);
}
clickUnShareFile() {
@@ -51,92 +51,92 @@ export class ShareDialog {
}
clickConfirmationDialogCancelButton() {
Util.waitUntilElementIsVisible(this.confirmationCancelButton);
BrowserVisibility.waitUntilElementIsVisible(this.confirmationCancelButton);
this.confirmationCancelButton.click();
}
clickConfirmationDialogRemoveButton() {
Util.waitUntilElementIsVisible(this.confirmationRemoveButton);
BrowserVisibility.waitUntilElementIsVisible(this.confirmationRemoveButton);
this.confirmationRemoveButton.click();
}
checkShareLinkIsDisplayed() {
return Util.waitUntilElementIsVisible(this.shareLink);
return BrowserVisibility.waitUntilElementIsVisible(this.shareLink);
}
getShareLink() {
Util.waitUntilElementIsVisible(this.shareLink);
BrowserVisibility.waitUntilElementIsVisible(this.shareLink);
return this.shareLink.getAttribute('value');
}
clickCloseButton() {
Util.waitUntilElementIsVisible(this.closeButton);
BrowserVisibility.waitUntilElementIsVisible(this.closeButton);
return this.closeButton.click();
}
clickShareLinkButton() {
Util.waitUntilElementIsVisible(this.copySharedLinkButton);
BrowserVisibility.waitUntilElementIsVisible(this.copySharedLinkButton);
return this.copySharedLinkButton.click();
}
shareToggleButtonIsChecked() {
Util.waitUntilElementIsPresent(this.shareToggleChecked);
BrowserVisibility.waitUntilElementIsPresent(this.shareToggleChecked);
}
shareToggleButtonIsDisabled() {
Util.waitUntilElementIsPresent(this.shareToggleDisabled);
BrowserVisibility.waitUntilElementIsPresent(this.shareToggleDisabled);
}
shareToggleButtonIsUnchecked() {
Util.waitUntilElementIsVisible(this.shareToggleUnchecked);
BrowserVisibility.waitUntilElementIsVisible(this.shareToggleUnchecked);
}
checkNotificationWithMessage(message) {
Util.waitUntilElementIsVisible(
BrowserVisibility.waitUntilElementIsVisible(
element(by.cssContainingText('simple-snack-bar', message))
);
}
waitForNotificationToClose() {
Util.waitUntilElementIsStale(element(by.css('simple-snack-bar')));
BrowserVisibility.waitUntilElementIsStale(element(by.css('simple-snack-bar')));
}
dialogIsClosed() {
Util.waitUntilElementIsStale(this.shareDialog);
BrowserVisibility.waitUntilElementIsStale(this.shareDialog);
}
clickDateTimePickerButton() {
Util.waitUntilElementIsVisible(this.timeDatePickerButton);
BrowserVisibility.waitUntilElementIsVisible(this.timeDatePickerButton);
this.timeDatePickerButton.click();
}
calendarTodayDayIsDisabled() {
const today: any = this.dayPicker.element(by.css('.mat-datetimepicker-calendar-body-today')).getText();
Util.waitUntilElementIsPresent(element(by.cssContainingText('.mat-datetimepicker-calendar-body-disabled', today)));
BrowserVisibility.waitUntilElementIsPresent(element(by.cssContainingText('.mat-datetimepicker-calendar-body-disabled', today)));
}
setDefaultDay() {
const selector = '.mat-datetimepicker-calendar-body-cell:not(.mat-datetimepicker-calendar-body-disabled)';
Util.waitUntilElementIsVisible(this.dayPicker);
BrowserVisibility.waitUntilElementIsVisible(this.dayPicker);
const tomorrow = new Date(new Date().getTime() + 48 * 60 * 60 * 1000).getDate().toString();
this.dayPicker.element(by.cssContainingText(selector, tomorrow)).click();
}
setDefaultHour() {
const selector = '.mat-datetimepicker-clock-cell:not(.mat-datetimepicker-clock-cell-disabled)';
Util.waitUntilElementIsVisible(this.clockPicker);
Util.waitUntilElementIsVisible(this.hoursPicker);
BrowserVisibility.waitUntilElementIsVisible(this.clockPicker);
BrowserVisibility.waitUntilElementIsVisible(this.hoursPicker);
this.hoursPicker.all(by.css(selector)).first().click();
}
setDefaultMinutes() {
const selector = '.mat-datetimepicker-clock-cell:not(.mat-datetimepicker-clock-cell-disabled)';
Util.waitUntilElementIsVisible(this.minutePicker);
BrowserVisibility.waitUntilElementIsVisible(this.minutePicker);
this.minutePicker.all(by.css(selector)).first().click();
}
dateTimePickerDialogIsClosed() {
Util.waitUntilElementIsStale(element(by.css('mat-datetimepicker-content')));
BrowserVisibility.waitUntilElementIsStale(element(by.css('mat-datetimepicker-content')));
}
getExpirationDate() {
@@ -144,14 +144,14 @@ export class ShareDialog {
}
expirationDateInputHasValue(value) {
Util.waitUntilElementHasValue(this.expirationDateInput, value);
BrowserVisibility.waitUntilElementHasValue(this.expirationDateInput, value);
}
confirmationDialogIsDisplayed() {
return Util.waitUntilElementIsVisible(this.confirmationDialog);
return BrowserVisibility.waitUntilElementIsVisible(this.confirmationDialog);
}
confirmationDialogIsNotDisplayed() {
return Util.waitUntilElementIsNotVisible(this.confirmationDialog);
return BrowserVisibility.waitUntilElementIsNotVisible(this.confirmationDialog);
}
}

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { element, by, protractor, browser } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class UploadDialog {
@@ -45,28 +45,28 @@ export class UploadDialog {
}
checkCloseButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.closeButton);
BrowserVisibility.waitUntilElementIsVisible(this.closeButton);
return this;
}
dialogIsDisplayed() {
Util.waitUntilElementIsVisible(this.dialog);
BrowserVisibility.waitUntilElementIsVisible(this.dialog);
return this;
}
dialogIsMinimized() {
Util.waitUntilElementIsVisible(this.minimizedDialog);
BrowserVisibility.waitUntilElementIsVisible(this.minimizedDialog);
return this;
}
dialogIsNotDisplayed() {
Util.waitUntilElementIsNotOnPage(this.dialog);
BrowserVisibility.waitUntilElementIsNotOnPage(this.dialog);
return this;
}
getRowsName(content) {
const row = element.all(by.css(`div[class*='uploading-row'] span[title="${content}"]`)).first();
Util.waitUntilElementIsVisible(row);
BrowserVisibility.waitUntilElementIsVisible(row);
return row;
}
@@ -75,12 +75,12 @@ export class UploadDialog {
}
fileIsUploaded(content) {
Util.waitUntilElementIsVisible(this.getRowByRowName(content).element(this.uploadedStatusIcon));
BrowserVisibility.waitUntilElementIsVisible(this.getRowByRowName(content).element(this.uploadedStatusIcon));
return this;
}
fileIsError(content) {
Util.waitUntilElementIsVisible(this.getRowByRowName(content).element(this.errorStatusIcon));
BrowserVisibility.waitUntilElementIsVisible(this.getRowByRowName(content).element(this.errorStatusIcon));
return this;
}
@@ -92,29 +92,29 @@ export class UploadDialog {
}
fileIsNotDisplayedInDialog(content) {
Util.waitUntilElementIsNotVisible(element(by.css(`div[class*='uploading-row'] span[title="${content}"]`)));
BrowserVisibility.waitUntilElementIsNotVisible(element(by.css(`div[class*='uploading-row'] span[title="${content}"]`)));
return this;
}
cancelUploads() {
Util.waitUntilElementIsVisible(this.cancelUploadsElement);
BrowserVisibility.waitUntilElementIsVisible(this.cancelUploadsElement);
this.cancelUploadsElement.click();
return this;
}
fileIsCancelled(content) {
Util.waitUntilElementIsVisible(this.getRowByRowName(content).element(this.cancelledStatusIcon));
BrowserVisibility.waitUntilElementIsVisible(this.getRowByRowName(content).element(this.cancelledStatusIcon));
return this;
}
removeUploadedFile(content) {
Util.waitUntilElementIsVisible(this.getRowByRowName(content).element(this.uploadedStatusIcon));
BrowserVisibility.waitUntilElementIsVisible(this.getRowByRowName(content).element(this.uploadedStatusIcon));
this.getRowByRowName(content).element(this.uploadedStatusIcon).click();
return this;
}
getTitleText() {
Util.waitUntilElementIsVisible(this.title);
BrowserVisibility.waitUntilElementIsVisible(this.title);
const deferred = protractor.promise.defer();
this.title.getText().then((text) => {
deferred.fulfill(text);
@@ -123,7 +123,7 @@ export class UploadDialog {
}
getConfirmationDialogTitleText() {
Util.waitUntilElementIsVisible(this.canUploadConfirmationTitle);
BrowserVisibility.waitUntilElementIsVisible(this.canUploadConfirmationTitle);
const deferred = protractor.promise.defer();
this.canUploadConfirmationTitle.getText().then((text) => {
deferred.fulfill(text);
@@ -132,7 +132,7 @@ export class UploadDialog {
}
getConfirmationDialogDescriptionText() {
Util.waitUntilElementIsVisible(this.canUploadConfirmationDescription);
BrowserVisibility.waitUntilElementIsVisible(this.canUploadConfirmationDescription);
const deferred = protractor.promise.defer();
this.canUploadConfirmationDescription.getText().then((text) => {
deferred.fulfill(text);
@@ -141,13 +141,13 @@ export class UploadDialog {
}
clickOnConfirmationDialogYesButton() {
Util.waitUntilElementIsVisible(this.confirmationDialogYesButton);
BrowserVisibility.waitUntilElementIsVisible(this.confirmationDialogYesButton);
this.confirmationDialogYesButton.click();
return this;
}
clickOnConfirmationDialogNoButton() {
Util.waitUntilElementIsVisible(this.confirmationDialogNoButton);
BrowserVisibility.waitUntilElementIsVisible(this.confirmationDialogNoButton);
this.confirmationDialogNoButton.click();
return this;
}
@@ -173,24 +173,24 @@ export class UploadDialog {
}
minimizeUploadDialog() {
Util.waitUntilElementIsVisible(this.minimizeButton);
BrowserVisibility.waitUntilElementIsVisible(this.minimizeButton);
this.minimizeButton.click();
return this;
}
maximizeUploadDialog() {
Util.waitUntilElementIsVisible(this.maximizeButton);
BrowserVisibility.waitUntilElementIsVisible(this.maximizeButton);
this.maximizeButton.click();
return this;
}
displayTooltip() {
Util.waitUntilElementIsVisible(element(this.errorStatusIcon));
BrowserVisibility.waitUntilElementIsVisible(element(this.errorStatusIcon));
browser.actions().mouseMove(element(this.errorStatusIcon)).perform();
}
getTooltip() {
Util.waitUntilElementIsVisible(this.errorTooltip);
BrowserVisibility.waitUntilElementIsVisible(this.errorTooltip);
return this.errorTooltip.getText();
}

View File

@@ -17,8 +17,8 @@
import { FormControllersPage } from '../material/formControllersPage';
import { Util } from '../../../util/util';
import { by, element, protractor } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class UploadToggles {
@@ -49,25 +49,25 @@ export class UploadToggles {
checkFolderUploadToggleIsEnabled() {
const enabledToggle = element(by.css('mat-slide-toggle[id="adf-folder-upload-switch"][class*="mat-checked"]'));
Util.waitUntilElementIsVisible(enabledToggle);
BrowserVisibility.waitUntilElementIsVisible(enabledToggle);
return this;
}
checkMultipleFileUploadToggleIsEnabled() {
const enabledToggle = element(by.css('mat-slide-toggle[id="adf-multiple-upload-switch"][class*="mat-checked"]'));
Util.waitUntilElementIsVisible(enabledToggle);
BrowserVisibility.waitUntilElementIsVisible(enabledToggle);
return this;
}
checkMaxSizeToggleIsEnabled() {
const enabledToggle = element(by.css('mat-slide-toggle[id="adf-max-size-filter-upload-switch"][class*="mat-checked"]'));
Util.waitUntilElementIsVisible(enabledToggle);
BrowserVisibility.waitUntilElementIsVisible(enabledToggle);
return this;
}
checkVersioningToggleIsEnabled() {
const enabledToggle = element(by.css('mat-slide-toggle[id="adf-version-upload-switch"][class*="mat-checked"]'));
Util.waitUntilElementIsVisible(enabledToggle);
BrowserVisibility.waitUntilElementIsVisible(enabledToggle);
return this;
}
@@ -111,7 +111,7 @@ export class UploadToggles {
}
addExtension(extension) {
Util.waitUntilElementIsVisible(this.extensionAcceptedField);
BrowserVisibility.waitUntilElementIsVisible(this.extensionAcceptedField);
this.extensionAcceptedField.sendKeys(',' + extension);
}
@@ -121,9 +121,9 @@ export class UploadToggles {
}
clearText() {
Util.waitUntilElementIsVisible(this.maxSizeField);
BrowserVisibility.waitUntilElementIsVisible(this.maxSizeField);
const deferred = protractor.promise.defer();
this.maxSizeField.clear().then((value) => {
this.maxSizeField.clear().then(() => {
this.maxSizeField.sendKeys(protractor.Key.ESCAPE);
});
return deferred.promise;

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Util } from '../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
import { element, by } from 'protractor';
export class ErrorPage {
@@ -27,31 +27,31 @@ export class ErrorPage {
secondButton = element(by.id('adf-secondary-button'));
clickBackButton() {
Util.waitUntilElementIsVisible(this.backButton);
BrowserVisibility.waitUntilElementIsVisible(this.backButton);
this.backButton.click();
}
clickSecondButton() {
Util.waitUntilElementIsVisible(this.secondButton);
BrowserVisibility.waitUntilElementIsVisible(this.secondButton);
this.secondButton.click();
}
checkErrorCode() {
Util.waitUntilElementIsVisible(this.errorPageCode);
BrowserVisibility.waitUntilElementIsVisible(this.errorPageCode);
}
getErrorCode() {
Util.waitUntilElementIsVisible(this.errorPageCode);
BrowserVisibility.waitUntilElementIsVisible(this.errorPageCode);
return this.errorPageCode.getText();
}
getErrorTitle() {
Util.waitUntilElementIsVisible(this.errorPageTitle);
BrowserVisibility.waitUntilElementIsVisible(this.errorPageTitle);
return this.errorPageTitle.getText();
}
getErrorDescription() {
Util.waitUntilElementIsVisible(this.errorPageDescription);
BrowserVisibility.waitUntilElementIsVisible(this.errorPageDescription);
return this.errorPageDescription.getText();
}
}

View File

@@ -16,7 +16,7 @@
*/
import { browser, by, element, protractor } from 'protractor';
import { Util } from '../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class FilePreviewPage {
@@ -25,19 +25,19 @@ export class FilePreviewPage {
closeButton = element(by.css('button[data-automation-id="adf-toolbar-back"]'));
waitForElements() {
Util.waitUntilElementIsVisible(element(by.css(`i[id='viewer-close-button']`)));
BrowserVisibility.waitUntilElementIsVisible(element(by.css(`i[id='viewer-close-button']`)));
}
viewFile(fileName) {
Util.waitUntilElementIsVisible(element(by.cssContainingText(`div[data-automation-id="${fileName}"]`, fileName)));
BrowserVisibility.waitUntilElementIsVisible(element(by.cssContainingText(`div[data-automation-id="${fileName}"]`, fileName)));
browser.actions().doubleClick(element(by.cssContainingText(`div[data-automation-id="${fileName}"]`, fileName))).perform();
this.waitForElements();
}
getPDFTitleFromSearch() {
const deferred = protractor.promise.defer();
Util.waitUntilElementIsVisible(this.pdfTitleFromSearch);
Util.waitUntilElementIsVisible(this.textLayer);
BrowserVisibility.waitUntilElementIsVisible(this.pdfTitleFromSearch);
BrowserVisibility.waitUntilElementIsVisible(this.textLayer);
this.pdfTitleFromSearch.getText().then((result) => {
deferred.fulfill(result);
});
@@ -45,36 +45,36 @@ export class FilePreviewPage {
}
checkCloseButton() {
Util.waitUntilElementIsVisible(element(by.css(`i[id='viewer-close-button']`)));
BrowserVisibility.waitUntilElementIsVisible(element(by.css(`i[id='viewer-close-button']`)));
}
checkOriginalSizeButton() {
Util.waitUntilElementIsVisible(element(by.cssContainingText(`div[id='viewer-scale-page-button'] > i `, `zoom_out_map`)));
BrowserVisibility.waitUntilElementIsVisible(element(by.cssContainingText(`div[id='viewer-scale-page-button'] > i `, `zoom_out_map`)));
}
checkZoomInButton() {
Util.waitUntilElementIsVisible(element(by.css(`div[id='viewer-zoom-in-button']`)));
BrowserVisibility.waitUntilElementIsVisible(element(by.css(`div[id='viewer-zoom-in-button']`)));
}
checkZoomOutButton() {
Util.waitUntilElementIsVisible(element(by.css(`div[id='viewer-zoom-out-button']`)));
BrowserVisibility.waitUntilElementIsVisible(element(by.css(`div[id='viewer-zoom-out-button']`)));
}
checkPreviousPageButton() {
Util.waitUntilElementIsVisible(element(by.css(`div[id='viewer-previous-page-button']`)));
BrowserVisibility.waitUntilElementIsVisible(element(by.css(`div[id='viewer-previous-page-button']`)));
}
checkNextPageButton() {
Util.waitUntilElementIsVisible(element(by.css(`div[id='viewer-next-page-button']`)));
BrowserVisibility.waitUntilElementIsVisible(element(by.css(`div[id='viewer-next-page-button']`)));
}
checkDownloadButton() {
Util.waitUntilElementIsVisible(element(by.css(`button[id='viewer-download-button']`)));
BrowserVisibility.waitUntilElementIsVisible(element(by.css(`button[id='viewer-download-button']`)));
}
checkCurrentPageNumber(pageNumber) {
Util.waitUntilElementIsVisible(element(by.css(`input[id='viewer-pagenumber-input'][ng-reflect-value="${pageNumber}"]`)));
BrowserVisibility.waitUntilElementIsVisible(element(by.css(`input[id='viewer-pagenumber-input'][ng-reflect-value="${pageNumber}"]`)));
}
checkText(pageNumber, text) {
@@ -83,35 +83,35 @@ export class FilePreviewPage {
const textLayerLoaded = element(by.css(`div[id="pageContainer${pageNumber}"] div[class='textLayer'] > div`));
const specificText = element(by.cssContainingText(`div[id="pageContainer${pageNumber}"] div[class='textLayer'] > div`, text));
Util.waitUntilElementIsVisible(allPages);
Util.waitUntilElementIsVisible(pageLoaded);
Util.waitUntilElementIsVisible(textLayerLoaded);
Util.waitUntilElementIsVisible(specificText);
BrowserVisibility.waitUntilElementIsVisible(allPages);
BrowserVisibility.waitUntilElementIsVisible(pageLoaded);
BrowserVisibility.waitUntilElementIsVisible(textLayerLoaded);
BrowserVisibility.waitUntilElementIsVisible(specificText);
}
goToNextPage() {
const nextPageIcon = element(by.css(`div[id='viewer-next-page-button']`));
Util.waitUntilElementIsVisible(nextPageIcon);
BrowserVisibility.waitUntilElementIsVisible(nextPageIcon);
nextPageIcon.click();
}
goToPreviousPage() {
const previousPageIcon = element(by.css(`div[id='viewer-previous-page-button']`));
Util.waitUntilElementIsVisible(previousPageIcon);
BrowserVisibility.waitUntilElementIsVisible(previousPageIcon);
previousPageIcon.click();
}
goToPage(page) {
const pageInput = element(by.css(`input[id='viewer-pagenumber-input']`));
Util.waitUntilElementIsVisible(pageInput);
BrowserVisibility.waitUntilElementIsVisible(pageInput);
pageInput.clear();
pageInput.sendKeys(page);
pageInput.sendKeys(protractor.Key.ENTER);
}
closePreviewWithButton() {
Util.waitUntilElementIsVisible(this.closeButton);
BrowserVisibility.waitUntilElementIsVisible(this.closeButton);
this.closeButton.click();
}
@@ -119,35 +119,35 @@ export class FilePreviewPage {
const filePreview = element.all(by.css(`div[class='canvasWrapper'] > canvas`)).first();
browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
Util.waitUntilElementIsVisible(element(by.cssContainingText(`div[data-automation-id="text_${fileName}"]`, fileName)));
Util.waitUntilElementIsNotOnPage(filePreview);
BrowserVisibility.waitUntilElementIsVisible(element(by.cssContainingText(`div[data-automation-id="text_${fileName}"]`, fileName)));
BrowserVisibility.waitUntilElementIsNotOnPage(filePreview);
}
clickDownload(fileName) {
const downloadButton = element(by.css(`button[id='viewer-download-button']`));
Util.waitUntilElementIsVisible(downloadButton);
BrowserVisibility.waitUntilElementIsVisible(downloadButton);
downloadButton.click();
}
clickZoomIn() {
const zoomInButton = element(by.css(`div[id='viewer-zoom-in-button']`));
Util.waitUntilElementIsVisible(zoomInButton);
BrowserVisibility.waitUntilElementIsVisible(zoomInButton);
zoomInButton.click();
}
clickZoomOut() {
const zoomOutButton = element(by.css(`div[id='viewer-zoom-out-button']`));
Util.waitUntilElementIsVisible(zoomOutButton);
BrowserVisibility.waitUntilElementIsVisible(zoomOutButton);
zoomOutButton.click();
}
clickActualSize() {
const actualSizeButton = element(by.css(`div[id='viewer-scale-page-button']`));
Util.waitUntilElementIsVisible(actualSizeButton);
BrowserVisibility.waitUntilElementIsVisible(actualSizeButton);
actualSizeButton.click();
}
@@ -167,8 +167,8 @@ export class FilePreviewPage {
const canvasLayer = element.all(by.css(`div[class='canvasWrapper'] > canvas`)).first();
const textLayer = element(by.css(`div[id*='pageContainer'] div[class='textLayer'] > div`));
Util.waitUntilElementIsVisible(canvasLayer);
Util.waitUntilElementIsVisible(textLayer);
BrowserVisibility.waitUntilElementIsVisible(canvasLayer);
BrowserVisibility.waitUntilElementIsVisible(textLayer);
let actualWidth,
zoomedInWidth,
@@ -210,8 +210,8 @@ export class FilePreviewPage {
const canvasLayer = element.all(by.css(`div[class='canvasWrapper'] > canvas`)).first();
const textLayer = element(by.css(`div[id*='pageContainer'] div[class='textLayer'] > div`));
Util.waitUntilElementIsVisible(canvasLayer);
Util.waitUntilElementIsVisible(textLayer);
BrowserVisibility.waitUntilElementIsVisible(canvasLayer);
BrowserVisibility.waitUntilElementIsVisible(textLayer);
let actualWidth,
actualHeight,
@@ -262,8 +262,8 @@ export class FilePreviewPage {
const canvasLayer = element.all(by.css(`div[class='canvasWrapper'] > canvas`)).first();
const textLayer = element(by.css(`div[id*='pageContainer'] div[class='textLayer'] > div`));
Util.waitUntilElementIsVisible(canvasLayer);
Util.waitUntilElementIsVisible(textLayer);
BrowserVisibility.waitUntilElementIsVisible(canvasLayer);
BrowserVisibility.waitUntilElementIsVisible(textLayer);
let actualWidth;
let zoomedOutWidth;

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../util/util';
import { element, by } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class LockFilePage {
@@ -27,34 +27,34 @@ export class LockFilePage {
allowOwnerCheckbox = element(by.cssContainingText('mat-checkbox[class*="adf-lock-file-name"] span', ' Allow the owner to modify this file '));
checkLockFileCheckboxIsDisplayed() {
return Util.waitUntilElementIsVisible(this.lockFileCheckboxText);
return BrowserVisibility.waitUntilElementIsVisible(this.lockFileCheckboxText);
}
checkCancelButtonIsDisplayed() {
return Util.waitUntilElementIsVisible(this.cancelButton);
return BrowserVisibility.waitUntilElementIsVisible(this.cancelButton);
}
checkSaveButtonIsDisplayed() {
return Util.waitUntilElementIsVisible(this.saveButton);
return BrowserVisibility.waitUntilElementIsVisible(this.saveButton);
}
clickCancelButton() {
Util.waitUntilElementIsClickable(this.cancelButton);
BrowserVisibility.waitUntilElementIsClickable(this.cancelButton);
return this.cancelButton.click();
}
clickLockFileCheckbox() {
Util.waitUntilElementIsClickable(this.lockFileCheckbox);
BrowserVisibility.waitUntilElementIsClickable(this.lockFileCheckbox);
return this.lockFileCheckbox.click();
}
clickSaveButton() {
Util.waitUntilElementIsClickable(this.saveButton);
BrowserVisibility.waitUntilElementIsClickable(this.saveButton);
return this.saveButton.click();
}
clickAllowOwnerCheckbox() {
Util.waitUntilElementIsClickable(this.allowOwnerCheckbox);
BrowserVisibility.waitUntilElementIsClickable(this.allowOwnerCheckbox);
return this.allowOwnerCheckbox.click();
}
}

View File

@@ -17,10 +17,10 @@
import { FormControllersPage } from './material/formControllersPage';
import { Util } from '../../util/util';
import { SettingsPage } from './settingsPage';
import { browser, by, element, protractor } from 'protractor';
import TestConfig = require('../../test.config');
import { BrowserVisibility } from '@alfresco/adf-testing';
export class LoginPage {
@@ -53,26 +53,26 @@ export class LoginPage {
settingsIcon = element(by.cssContainingText('a[data-automation-id="settings"] mat-icon', 'settings'));
waitForElements() {
Util.waitUntilElementIsVisible(this.txtUsername);
Util.waitUntilElementIsVisible(this.txtPassword);
BrowserVisibility.waitUntilElementIsVisible(this.txtUsername);
BrowserVisibility.waitUntilElementIsVisible(this.txtPassword);
return this;
}
enterUsername(username) {
Util.waitUntilElementIsVisible(this.txtUsername);
BrowserVisibility.waitUntilElementIsVisible(this.txtUsername);
this.txtUsername.sendKeys('');
this.txtUsername.clear();
return this.txtUsername.sendKeys(username);
}
enterPassword(password) {
Util.waitUntilElementIsVisible(this.txtPassword);
BrowserVisibility.waitUntilElementIsVisible(this.txtPassword);
this.txtPassword.clear();
return this.txtPassword.sendKeys(password);
}
clearUsername() {
Util.waitUntilElementIsVisible(this.txtUsername);
BrowserVisibility.waitUntilElementIsVisible(this.txtUsername);
this.txtUsername.click();
this.txtUsername.getAttribute('value').then((value) => {
for (let i = value.length; i >= 0; i--) {
@@ -83,7 +83,7 @@ export class LoginPage {
}
clearPassword() {
Util.waitUntilElementIsVisible(this.txtPassword);
BrowserVisibility.waitUntilElementIsVisible(this.txtPassword);
this.txtPassword.getAttribute('value').then((value) => {
for (let i = value.length; i >= 0; i--) {
this.txtPassword.sendKeys(protractor.Key.BACK_SPACE);
@@ -92,53 +92,53 @@ export class LoginPage {
}
getUsernameTooltip() {
Util.waitUntilElementIsVisible(this.usernameTooltip);
BrowserVisibility.waitUntilElementIsVisible(this.usernameTooltip);
return this.usernameTooltip.getText();
}
getPasswordTooltip() {
Util.waitUntilElementIsVisible(this.passwordTooltip);
BrowserVisibility.waitUntilElementIsVisible(this.passwordTooltip);
return this.passwordTooltip.getText();
}
getLoginError() {
Util.waitUntilElementIsVisible(this.loginTooltip);
BrowserVisibility.waitUntilElementIsVisible(this.loginTooltip);
return this.loginTooltip.getText();
}
checkLoginImgURL(url) {
Util.waitUntilElementIsVisible(this.logoImg);
checkLoginImgURL() {
BrowserVisibility.waitUntilElementIsVisible(this.logoImg);
return this.logoImg.getAttribute('src');
}
checkUsernameInactive() {
Util.waitUntilElementIsVisible(this.usernameInactive);
BrowserVisibility.waitUntilElementIsVisible(this.usernameInactive);
}
checkPasswordInactive() {
Util.waitUntilElementIsVisible(this.passwordInactive);
BrowserVisibility.waitUntilElementIsVisible(this.passwordInactive);
}
checkUsernameHighlighted() {
this.adfLogo.click();
Util.waitUntilElementIsVisible(this.usernameHighlighted);
BrowserVisibility.waitUntilElementIsVisible(this.usernameHighlighted);
}
checkPasswordHighlighted() {
this.adfLogo.click();
Util.waitUntilElementIsVisible(this.passwordHighlighted);
BrowserVisibility.waitUntilElementIsVisible(this.passwordHighlighted);
}
checkUsernameTooltipIsNotVisible() {
Util.waitUntilElementIsNotVisible(this.usernameTooltip);
BrowserVisibility.waitUntilElementIsNotVisible(this.usernameTooltip);
}
checkPasswordTooltipIsNotVisible() {
Util.waitUntilElementIsNotVisible(this.passwordTooltip);
BrowserVisibility.waitUntilElementIsNotVisible(this.passwordTooltip);
}
getSignInButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.signInButton);
BrowserVisibility.waitUntilElementIsVisible(this.signInButton);
return this.signInButton.isEnabled();
}
@@ -168,22 +168,22 @@ export class LoginPage {
}
clickSignInButton() {
Util.waitUntilElementIsVisible(this.signInButton);
BrowserVisibility.waitUntilElementIsVisible(this.signInButton);
this.signInButton.click();
}
clickSettingsIcon() {
Util.waitUntilElementIsVisible(this.settingsIcon);
BrowserVisibility.waitUntilElementIsVisible(this.settingsIcon);
this.settingsIcon.click();
}
showPassword() {
Util.waitUntilElementIsVisible(this.showPasswordElement);
BrowserVisibility.waitUntilElementIsVisible(this.showPasswordElement);
this.showPasswordElement.click();
}
hidePassword() {
Util.waitUntilElementIsVisible(this.hidePasswordElement);
BrowserVisibility.waitUntilElementIsVisible(this.hidePasswordElement);
this.hidePasswordElement.click();
}
@@ -192,31 +192,31 @@ export class LoginPage {
}
checkPasswordIsHidden() {
Util.waitUntilElementIsVisible(this.txtPassword);
BrowserVisibility.waitUntilElementIsVisible(this.txtPassword);
}
checkRememberIsDisplayed() {
Util.waitUntilElementIsVisible(this.rememberMe);
BrowserVisibility.waitUntilElementIsVisible(this.rememberMe);
}
checkRememberIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.rememberMe);
BrowserVisibility.waitUntilElementIsNotVisible(this.rememberMe);
}
checkNeedHelpIsDisplayed() {
Util.waitUntilElementIsVisible(this.needHelp);
BrowserVisibility.waitUntilElementIsVisible(this.needHelp);
}
checkNeedHelpIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.needHelp);
BrowserVisibility.waitUntilElementIsNotVisible(this.needHelp);
}
checkRegisterDisplayed() {
Util.waitUntilElementIsVisible(this.register);
BrowserVisibility.waitUntilElementIsVisible(this.register);
}
checkRegisterIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.register);
BrowserVisibility.waitUntilElementIsNotVisible(this.register);
}
enableFooter() {
@@ -240,14 +240,14 @@ export class LoginPage {
}
enterSuccessRoute(route) {
Util.waitUntilElementIsVisible(this.successRouteTxt);
BrowserVisibility.waitUntilElementIsVisible(this.successRouteTxt);
this.successRouteTxt.sendKeys('');
this.successRouteTxt.clear();
return this.successRouteTxt.sendKeys(route);
}
enterLogo(logo) {
Util.waitUntilElementIsVisible(this.logoTxt);
BrowserVisibility.waitUntilElementIsVisible(this.logoTxt);
this.logoTxt.sendKeys('');
this.logoTxt.clear();
return this.logoTxt.sendKeys(logo);
@@ -258,6 +258,6 @@ export class LoginPage {
this.enterUsername(username);
this.enterPassword(password);
this.clickSignInButton();
return Util.waitUntilElementIsVisible(this.header);
return BrowserVisibility.waitUntilElementIsVisible(this.header);
}
}

View File

@@ -15,9 +15,9 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { element, by, browser, protractor } from 'protractor';
import { DateUtil } from '../../../util/dateUtil';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class DatePickerPage {
@@ -56,7 +56,7 @@ export class DatePickerPage {
selectTodayDate() {
this.checkDatePickerIsDisplayed();
const todayDate = element(by.css('.mat-calendar-body-today'));
Util.waitUntilElementIsClickable(todayDate);
BrowserVisibility.waitUntilElementIsClickable(todayDate);
todayDate.click();
return this;
}
@@ -69,12 +69,12 @@ export class DatePickerPage {
}
checkDatePickerIsDisplayed() {
Util.waitUntilElementIsVisible(this.datePicker);
BrowserVisibility.waitUntilElementIsVisible(this.datePicker);
return this;
}
checkDatePickerIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.datePicker);
BrowserVisibility.waitUntilElementIsNotVisible(this.datePicker);
return this;
}
}

View File

@@ -15,26 +15,26 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { by } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class FormControllersPage {
enableToggle(toggle) {
Util.waitUntilElementIsVisible(toggle);
BrowserVisibility.waitUntilElementIsVisible(toggle);
toggle.getAttribute('class').then((check) => {
if (check.indexOf('mat-checked') < 0) {
Util.waitUntilElementIsClickable(toggle.all(by.css('div')).first());
BrowserVisibility.waitUntilElementIsClickable(toggle.all(by.css('div')).first());
toggle.all(by.css('div')).first().click();
}
});
}
disableToggle(toggle) {
Util.waitUntilElementIsVisible(toggle);
BrowserVisibility.waitUntilElementIsVisible(toggle);
toggle.getAttribute('class').then((check) => {
if (check.indexOf('mat-checked') >= 0) {
Util.waitUntilElementIsClickable(toggle.all(by.css('div')).first());
BrowserVisibility.waitUntilElementIsClickable(toggle.all(by.css('div')).first());
toggle.all(by.css('div')).first().click();
}
});

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../util/util';
import { browser, by, element, promise } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class MetadataViewPage {
@@ -46,85 +46,85 @@ export class MetadataViewPage {
closeButton = element(by.cssContainingText('button.mat-button span', 'Close'));
getTitle(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.title);
BrowserVisibility.waitUntilElementIsVisible(this.title);
return this.title.getText();
}
getExpandedAspectName(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.expandedAspect);
BrowserVisibility.waitUntilElementIsVisible(this.expandedAspect);
return this.expandedAspect.element(this.aspectTitle).getText();
}
getName(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.name);
BrowserVisibility.waitUntilElementIsVisible(this.name);
return this.name.getText();
}
getCreator(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.creator);
BrowserVisibility.waitUntilElementIsVisible(this.creator);
return this.creator.getText();
}
getCreatedDate(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.createdDate);
BrowserVisibility.waitUntilElementIsVisible(this.createdDate);
return this.createdDate.getText();
}
getModifier(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.modifier);
BrowserVisibility.waitUntilElementIsVisible(this.modifier);
return this.modifier.getText();
}
getModifiedDate(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.modifiedDate);
BrowserVisibility.waitUntilElementIsVisible(this.modifiedDate);
return this.modifiedDate.getText();
}
getMimetypeName(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.mimetypeName);
BrowserVisibility.waitUntilElementIsVisible(this.mimetypeName);
return this.mimetypeName.getText();
}
getSize(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.size);
BrowserVisibility.waitUntilElementIsVisible(this.size);
return this.size.getText();
}
getDescription(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.description);
BrowserVisibility.waitUntilElementIsVisible(this.description);
return this.description.getText();
}
getAuthor(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.author);
BrowserVisibility.waitUntilElementIsVisible(this.author);
return this.author.getText();
}
getTitleProperty(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.titleProperty);
BrowserVisibility.waitUntilElementIsVisible(this.titleProperty);
return this.titleProperty.getText();
}
editIconIsDisplayed(): promise.Promise<boolean> {
return Util.waitUntilElementIsVisible(this.editIcon);
return BrowserVisibility.waitUntilElementIsVisible(this.editIcon);
}
editIconIsNotDisplayed(): promise.Promise<any> {
return Util.waitUntilElementIsNotVisible(this.editIcon);
return BrowserVisibility.waitUntilElementIsNotVisible(this.editIcon);
}
editIconClick(): promise.Promise<void> {
Util.waitUntilElementIsVisible(this.editIcon);
BrowserVisibility.waitUntilElementIsVisible(this.editIcon);
return this.editIcon.click();
}
informationButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.informationButton);
Util.waitUntilElementIsClickable(this.informationButton);
BrowserVisibility.waitUntilElementIsVisible(this.informationButton);
BrowserVisibility.waitUntilElementIsClickable(this.informationButton);
}
informationButtonIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.informationButton);
BrowserVisibility.waitUntilElementIsNotVisible(this.informationButton);
}
clickOnInformationButton(): MetadataViewPage {
@@ -135,24 +135,24 @@ export class MetadataViewPage {
}
getInformationButtonText(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.informationSpan);
BrowserVisibility.waitUntilElementIsVisible(this.informationSpan);
return this.informationSpan.getText();
}
getInformationIconText(): promise.Promise<string> {
Util.waitUntilElementIsVisible(this.informationIcon);
BrowserVisibility.waitUntilElementIsVisible(this.informationIcon);
return this.informationIcon.getText();
}
clickOnPropertiesTab(): MetadataViewPage {
const propertiesTab = element(by.cssContainingText(`.adf-info-drawer-layout-content div.mat-tab-labels div .mat-tab-label-content`, `Properties`));
Util.waitUntilElementIsVisible(propertiesTab);
BrowserVisibility.waitUntilElementIsVisible(propertiesTab);
propertiesTab.click();
return this;
}
clickRightChevron(): MetadataViewPage {
Util.waitUntilElementIsVisible(this.rightChevron);
BrowserVisibility.waitUntilElementIsVisible(this.rightChevron);
this.rightChevron.click();
return this;
}
@@ -167,29 +167,29 @@ export class MetadataViewPage {
editPropertyIconIsDisplayed(propertyName: string) {
const editPropertyIcon = element(by.css('mat-icon[data-automation-id="card-textitem-edit-icon-' + propertyName + '"]'));
Util.waitUntilElementIsVisible(editPropertyIcon);
BrowserVisibility.waitUntilElementIsVisible(editPropertyIcon);
}
updatePropertyIconIsDisplayed(propertyName: string) {
const updatePropertyIcon = element(by.css('mat-icon[data-automation-id="card-textitem-update-' + propertyName + '"]'));
Util.waitUntilElementIsVisible(updatePropertyIcon);
BrowserVisibility.waitUntilElementIsVisible(updatePropertyIcon);
}
clickUpdatePropertyIcon(propertyName: string): promise.Promise<void> {
const updatePropertyIcon = element(by.css('mat-icon[data-automation-id="card-textitem-update-' + propertyName + '"]'));
Util.waitUntilElementIsVisible(updatePropertyIcon);
BrowserVisibility.waitUntilElementIsVisible(updatePropertyIcon);
return updatePropertyIcon.click();
}
clickClearPropertyIcon(propertyName: string): promise.Promise<void> {
const clearPropertyIcon = element(by.css('mat-icon[data-automation-id="card-textitem-reset-' + propertyName + '"]'));
Util.waitUntilElementIsVisible(clearPropertyIcon);
BrowserVisibility.waitUntilElementIsVisible(clearPropertyIcon);
return clearPropertyIcon.click();
}
enterPropertyText(propertyName: string, text: string | number): MetadataViewPage {
const textField = element(by.css('input[data-automation-id="card-textitem-editinput-' + propertyName + '"]'));
Util.waitUntilElementIsVisible(textField);
BrowserVisibility.waitUntilElementIsVisible(textField);
textField.sendKeys('');
textField.clear();
textField.sendKeys(text);
@@ -198,7 +198,7 @@ export class MetadataViewPage {
enterPresetText(text: string): MetadataViewPage {
const presetField = element(by.css('input[data-automation-id="adf-text-custom-preset"]'));
Util.waitUntilElementIsVisible(presetField);
BrowserVisibility.waitUntilElementIsVisible(presetField);
presetField.sendKeys('');
presetField.clear();
presetField.sendKeys(text);
@@ -209,7 +209,7 @@ export class MetadataViewPage {
enterDescriptionText(text: string): MetadataViewPage {
const textField = element(by.css('textarea[data-automation-id="card-textitem-edittextarea-properties.cm:description"]'));
Util.waitUntilElementIsVisible(textField);
BrowserVisibility.waitUntilElementIsVisible(textField);
textField.sendKeys('');
textField.clear();
textField.sendKeys(text);
@@ -220,18 +220,18 @@ export class MetadataViewPage {
const propertyType = type || 'textitem';
const textField = element(by.css('span[data-automation-id="card-' + propertyType + '-value-' + propertyName + '"]'));
Util.waitUntilElementIsVisible(textField);
BrowserVisibility.waitUntilElementIsVisible(textField);
return textField.getText();
}
clearPropertyIconIsDisplayed(propertyName: string) {
const clearPropertyIcon = element(by.css('mat-icon[data-automation-id="card-textitem-reset-' + propertyName + '"]'));
Util.waitUntilElementIsVisible(clearPropertyIcon);
BrowserVisibility.waitUntilElementIsVisible(clearPropertyIcon);
}
clickEditPropertyIcons(propertyName: string) {
const editPropertyIcon = element(by.css('mat-icon[data-automation-id="card-textitem-edit-icon-' + propertyName + '"]'));
Util.waitUntilElementIsClickable(editPropertyIcon);
BrowserVisibility.waitUntilElementIsClickable(editPropertyIcon);
editPropertyIcon.click();
}
@@ -242,50 +242,50 @@ export class MetadataViewPage {
clickMetadataGroup(groupName: string) {
const group = element(by.css('mat-expansion-panel[data-automation-id="adf-metadata-group-' + groupName + '"]'));
Util.waitUntilElementIsVisible(group);
BrowserVisibility.waitUntilElementIsVisible(group);
group.click();
}
checkMetadataGroupIsPresent(groupName: string): promise.Promise<boolean> {
const group = element(by.css('mat-expansion-panel[data-automation-id="adf-metadata-group-' + groupName + '"]'));
return Util.waitUntilElementIsVisible(group);
return BrowserVisibility.waitUntilElementIsVisible(group);
}
checkMetadataGroupIsNotPresent(groupName: string): promise.Promise<any> {
const group = element(by.css('mat-expansion-panel[data-automation-id="adf-metadata-group-' + groupName + '"]'));
return Util.waitUntilElementIsNotVisible(group);
return BrowserVisibility.waitUntilElementIsNotVisible(group);
}
checkMetadataGroupIsExpand(groupName: string) {
const group = element(by.css('mat-expansion-panel[data-automation-id="adf-metadata-group-' + groupName + '"] > mat-expansion-panel-header'));
Util.waitUntilElementIsVisible(group);
BrowserVisibility.waitUntilElementIsVisible(group);
expect(group.getAttribute('class')).toContain('mat-expanded');
}
checkMetadataGroupIsNotExpand(groupName: string) {
const group = element(by.css('mat-expansion-panel[data-automation-id="adf-metadata-group-' + groupName + '"] > mat-expansion-panel-header'));
Util.waitUntilElementIsVisible(group);
BrowserVisibility.waitUntilElementIsVisible(group);
expect(group.getAttribute('class')).not.toContain('mat-expanded');
}
getMetadataGroupTitle(groupName: string): promise.Promise<string> {
const group = element(by.css('mat-expansion-panel[data-automation-id="adf-metadata-group-' + groupName + '"] > mat-expansion-panel-header > span > mat-panel-title'));
Util.waitUntilElementIsVisible(group);
BrowserVisibility.waitUntilElementIsVisible(group);
return group.getText();
}
checkPropertyIsVisible(propertyName: string, type: string) {
const property = element(by.css('div[data-automation-id="card-' + type + '-label-' + propertyName + '"]'));
Util.waitUntilElementIsVisible(property);
BrowserVisibility.waitUntilElementIsVisible(property);
}
checkPropertyIsNotVisible(propertyName: string, type: string) {
const property = element(by.css('div[data-automation-id="card-' + type + '-label-' + propertyName + '"]'));
Util.waitUntilElementIsNotVisible(property);
BrowserVisibility.waitUntilElementIsNotVisible(property);
}
clickCloseButton() {
Util.waitUntilElementIsVisible(this.closeButton);
BrowserVisibility.waitUntilElementIsVisible(this.closeButton);
this.closeButton.click();
}
}

View File

@@ -15,12 +15,12 @@
* limitations under the License.
*/
import { Util } from '../../util/util';
import { browser, by, element } from 'protractor';
import { ProcessServicesPage } from './process-services/processServicesPage';
import { AppListCloudPage } from '@alfresco/adf-testing';
import TestConfig = require('../../test.config');
import { PeopleGroupCloudComponentPage } from './demo-shell/process-services/peopleGroupCloudComponentPage';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class NavigationBarPage {
@@ -54,91 +54,91 @@ export class NavigationBarPage {
aboutButton = element(by.css('a[data-automation-id="About"]'));
navigateToDatatable() {
Util.waitUntilElementIsVisible(this.dataTableButton);
BrowserVisibility.waitUntilElementIsVisible(this.dataTableButton);
this.dataTableButton.click();
Util.waitUntilElementIsVisible(this.dataTableNestedButton);
BrowserVisibility.waitUntilElementIsVisible(this.dataTableNestedButton);
this.dataTableNestedButton.click();
}
clickContentServicesButton() {
Util.waitUntilElementIsVisible(this.contentServicesButton);
BrowserVisibility.waitUntilElementIsVisible(this.contentServicesButton);
this.contentServicesButton.click();
}
clickTaskListButton() {
Util.waitUntilElementIsVisible(this.taskListButton);
BrowserVisibility.waitUntilElementIsVisible(this.taskListButton);
this.taskListButton.click();
}
clickConfigEditorButton() {
Util.waitUntilElementIsVisible(this.configEditorButton);
BrowserVisibility.waitUntilElementIsVisible(this.configEditorButton);
this.configEditorButton.click();
}
navigateToProcessServicesPage() {
Util.waitUntilElementIsVisible(this.processServicesButton);
BrowserVisibility.waitUntilElementIsVisible(this.processServicesButton);
this.processServicesButton.click();
Util.waitUntilElementIsVisible(this.processServicesNestedButton);
BrowserVisibility.waitUntilElementIsVisible(this.processServicesNestedButton);
this.processServicesNestedButton.click();
return new ProcessServicesPage();
}
navigateToProcessServicesCloudPage() {
Util.waitUntilElementIsVisible(this.processServicesCloudButton);
BrowserVisibility.waitUntilElementIsVisible(this.processServicesCloudButton);
this.processServicesCloudButton.click();
Util.waitUntilElementIsVisible(this.processServicesCloudHomeButton);
BrowserVisibility.waitUntilElementIsVisible(this.processServicesCloudHomeButton);
this.processServicesCloudHomeButton.click();
return new AppListCloudPage();
}
navigateToPeopleGroupCloudPage() {
Util.waitUntilElementIsVisible(this.peopleGroupCloud);
BrowserVisibility.waitUntilElementIsVisible(this.peopleGroupCloud);
this.peopleGroupCloud.click();
return new PeopleGroupCloudComponentPage();
}
navigateToSettingsPage() {
Util.waitUntilElementIsVisible(this.settingsButton);
BrowserVisibility.waitUntilElementIsVisible(this.settingsButton);
this.settingsButton.click();
return new AppListCloudPage();
}
clickLoginButton() {
Util.waitUntilElementIsVisible(this.loginButton);
BrowserVisibility.waitUntilElementIsVisible(this.loginButton);
this.loginButton.click();
}
clickTrashcanButton() {
Util.waitUntilElementIsVisible(this.trashcanButton);
BrowserVisibility.waitUntilElementIsVisible(this.trashcanButton);
this.trashcanButton.click();
}
clickOverlayViewerButton() {
Util.waitUntilElementIsVisible(this.overlayViewerButton);
BrowserVisibility.waitUntilElementIsVisible(this.overlayViewerButton);
this.overlayViewerButton.click();
return this;
}
clickThemeButton() {
Util.waitUntilElementIsVisible(this.themeButton);
BrowserVisibility.waitUntilElementIsVisible(this.themeButton);
this.themeButton.click();
Util.waitUntilElementIsVisible(this.themeMenuContent);
BrowserVisibility.waitUntilElementIsVisible(this.themeMenuContent);
}
clickOnSpecificThemeButton(themeName) {
const themeElement = element(by.css(`button[data-automation-id="${themeName}"]`));
Util.waitUntilElementIsVisible(themeElement);
Util.waitUntilElementIsClickable(themeElement);
BrowserVisibility.waitUntilElementIsVisible(themeElement);
BrowserVisibility.waitUntilElementIsClickable(themeElement);
themeElement.click();
}
clickLogoutButton() {
Util.waitUntilElementIsVisible(this.logoutButton);
BrowserVisibility.waitUntilElementIsVisible(this.logoutButton);
this.logoutButton.click();
}
clickCardViewButton() {
Util.waitUntilElementIsVisible(this.cardViewButton);
BrowserVisibility.waitUntilElementIsVisible(this.cardViewButton);
this.cardViewButton.click();
}
@@ -148,65 +148,65 @@ export class NavigationBarPage {
chooseLanguage(language) {
const buttonLanguage = element(by.xpath(`//adf-language-menu//button[contains(text(), '${language}')]`));
Util.waitUntilElementIsVisible(buttonLanguage);
BrowserVisibility.waitUntilElementIsVisible(buttonLanguage);
buttonLanguage.click();
}
openLanguageMenu() {
Util.waitUntilElementIsVisible(this.languageMenuButton);
BrowserVisibility.waitUntilElementIsVisible(this.languageMenuButton);
this.languageMenuButton.click();
Util.waitUntilElementIsVisible(this.appTitle);
BrowserVisibility.waitUntilElementIsVisible(this.appTitle);
}
clickHeaderDataButton() {
Util.waitUntilElementIsVisible(this.headerDataButton);
Util.waitUntilElementIsClickable(this.headerDataButton);
BrowserVisibility.waitUntilElementIsVisible(this.headerDataButton);
BrowserVisibility.waitUntilElementIsClickable(this.headerDataButton);
return this.headerDataButton.click();
}
clickAboutButton() {
Util.waitUntilElementIsClickable(this.aboutButton);
BrowserVisibility.waitUntilElementIsClickable(this.aboutButton);
return this.aboutButton.click();
}
checkAboutButtonIsDisplayed() {
return Util.waitUntilElementIsVisible(this.aboutButton);
return BrowserVisibility.waitUntilElementIsVisible(this.aboutButton);
}
checkMenuButtonIsDisplayed() {
return Util.waitUntilElementIsVisible(this.menuButton);
return BrowserVisibility.waitUntilElementIsVisible(this.menuButton);
}
checkMenuButtonIsNotDisplayed() {
return Util.waitUntilElementIsNotVisible(this.menuButton);
return BrowserVisibility.waitUntilElementIsNotVisible(this.menuButton);
}
checkToolbarColor(color) {
const toolbarColor = element(by.css(`mat-toolbar[class*="mat-${color}"]`));
return Util.waitUntilElementIsVisible(toolbarColor);
return BrowserVisibility.waitUntilElementIsVisible(toolbarColor);
}
clickAppLogo(logoTitle) {
const appLogo = element(by.css('a[title="' + logoTitle + '"]'));
Util.waitUntilElementIsVisible(appLogo);
BrowserVisibility.waitUntilElementIsVisible(appLogo);
appLogo.click();
}
clickAppLogoText() {
Util.waitUntilElementIsVisible(this.appTitle);
BrowserVisibility.waitUntilElementIsVisible(this.appTitle);
this.appTitle.click();
}
clickFormButton() {
Util.waitUntilElementIsVisible(this.processServicesButton);
BrowserVisibility.waitUntilElementIsVisible(this.processServicesButton);
this.processServicesButton.click();
Util.waitUntilElementIsVisible(this.formButton);
BrowserVisibility.waitUntilElementIsVisible(this.formButton);
return this.formButton.click();
}
checkLogoTooltip(logoTooltipTitle) {
const logoTooltip = element(by.css('a[title="' + logoTooltipTitle + '"]'));
Util.waitUntilElementIsVisible(logoTooltip);
BrowserVisibility.waitUntilElementIsVisible(logoTooltip);
}
openViewer(nodeId) {
@@ -219,17 +219,17 @@ export class NavigationBarPage {
}
clickTreeViewButton() {
Util.waitUntilElementIsVisible(this.treeViewButton);
BrowserVisibility.waitUntilElementIsVisible(this.treeViewButton);
this.treeViewButton.click();
}
navigateToIconsPage() {
Util.waitUntilElementIsVisible(this.iconsButton);
BrowserVisibility.waitUntilElementIsVisible(this.iconsButton);
this.iconsButton.click();
}
navigateToCustomSources() {
Util.waitUntilElementIsVisible(this.customSourcesButton);
BrowserVisibility.waitUntilElementIsVisible(this.customSourcesButton);
this.customSourcesButton.click();
}
}

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../util/util';
import { element, by, protractor, browser, until } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class NotificationPage {
@@ -34,44 +34,44 @@ export class NotificationPage {
notificationConfig = element(by.css('p[data-automation-id="notification-custom-object"]'));
checkNotifyContains(message) {
Util.waitUntilElementIsVisible(element(by.cssContainingText('simple-snack-bar', message)));
BrowserVisibility.waitUntilElementIsVisible(element(by.cssContainingText('simple-snack-bar', message)));
return this;
}
goToNotificationsPage() {
Util.waitUntilElementIsVisible(this.notificationsPage);
BrowserVisibility.waitUntilElementIsVisible(this.notificationsPage);
this.notificationsPage.click();
}
getConfigObject() {
Util.waitUntilElementIsVisible(this.notificationConfig);
BrowserVisibility.waitUntilElementIsVisible(this.notificationConfig);
return this.notificationConfig.getText();
}
checkNotificationSnackBarIsDisplayed() {
Util.waitUntilElementIsVisible(this.notificationSnackBar);
BrowserVisibility.waitUntilElementIsVisible(this.notificationSnackBar);
return this;
}
checkNotificationSnackBarIsDisplayedWithMessage(message) {
const notificationSnackBarMessage = element(by.cssContainingText('simple-snack-bar', message));
Util.waitUntilElementIsVisible(notificationSnackBarMessage);
BrowserVisibility.waitUntilElementIsVisible(notificationSnackBarMessage);
return this;
}
checkNotificationSnackBarIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.notificationSnackBar);
BrowserVisibility.waitUntilElementIsNotVisible(this.notificationSnackBar);
return this;
}
enterMessageField(text) {
Util.waitUntilElementIsVisible(this.messageField);
BrowserVisibility.waitUntilElementIsVisible(this.messageField);
this.messageField.clear();
this.messageField.sendKeys(text);
}
enterDurationField(time) {
Util.waitUntilElementIsVisible(this.durationField);
BrowserVisibility.waitUntilElementIsVisible(this.durationField);
this.durationField.clear();
this.durationField.sendKeys(time);
}
@@ -79,38 +79,38 @@ export class NotificationPage {
selectHorizontalPosition(selectedItem) {
const selectItem = element(by.cssContainingText('span[class="mat-option-text"]', selectedItem));
this.horizontalPosition.click();
Util.waitUntilElementIsVisible(this.selectionDropDown);
BrowserVisibility.waitUntilElementIsVisible(this.selectionDropDown);
selectItem.click();
}
selectVerticalPosition(selectedItem) {
const selectItem = element(by.cssContainingText('span[class="mat-option-text"]', selectedItem));
this.verticalPosition.click();
Util.waitUntilElementIsVisible(this.selectionDropDown);
BrowserVisibility.waitUntilElementIsVisible(this.selectionDropDown);
selectItem.click();
}
selectDirection(selectedItem) {
const selectItem = element(by.cssContainingText('span[class="mat-option-text"]', selectedItem));
this.direction.click();
Util.waitUntilElementIsVisible(this.selectionDropDown);
BrowserVisibility.waitUntilElementIsVisible(this.selectionDropDown);
selectItem.click();
}
clickNotificationButton() {
// Util.waitUntilElementIsVisible(this.customNotificationButton);
// BrowserVisibility.waitUntilElementIsVisible(this.customNotificationButton);
// this.customNotificationButton.click();
const button = browser.wait(until.elementLocated(by.css('button[data-automation-id="notification-custom-config-button"]')));
button.click();
}
checkActionEvent() {
Util.waitUntilElementIsVisible(this.actionOutput);
BrowserVisibility.waitUntilElementIsVisible(this.actionOutput);
return this;
}
clickActionToggle() {
Util.waitUntilElementIsVisible(this.actionToggle);
BrowserVisibility.waitUntilElementIsVisible(this.actionToggle);
this.actionToggle.click();
}
@@ -119,7 +119,7 @@ export class NotificationPage {
}
clearMessage() {
Util.waitUntilElementIsVisible(this.messageField);
BrowserVisibility.waitUntilElementIsVisible(this.messageField);
this.messageField.clear();
this.messageField.sendKeys('a');
this.messageField.sendKeys(protractor.Key.BACK_SPACE);

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../util/util';
import { browser, by, element, protractor } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class PaginationPage {
@@ -37,81 +37,81 @@ export class PaginationPage {
totalFiles = element(by.css('span[class="adf-pagination__range"]'));
selectItemsPerPage(numberOfItem: string) {
Util.waitUntilElementIsVisible(this.itemsPerPageDropdown);
Util.waitUntilElementIsClickable(this.itemsPerPageDropdown);
BrowserVisibility.waitUntilElementIsVisible(this.itemsPerPageDropdown);
BrowserVisibility.waitUntilElementIsClickable(this.itemsPerPageDropdown);
browser.actions().mouseMove(this.itemsPerPageDropdown).perform();
Util.waitUntilElementIsVisible(this.itemsPerPageDropdown);
Util.waitUntilElementIsClickable(this.itemsPerPageDropdown);
BrowserVisibility.waitUntilElementIsVisible(this.itemsPerPageDropdown);
BrowserVisibility.waitUntilElementIsClickable(this.itemsPerPageDropdown);
this.itemsPerPageDropdown.click();
Util.waitUntilElementIsVisible(this.pageSelectorDropDown);
BrowserVisibility.waitUntilElementIsVisible(this.pageSelectorDropDown);
const itemsPerPage = element.all(by.cssContainingText('.mat-menu-item', numberOfItem)).first();
Util.waitUntilElementIsClickable(itemsPerPage);
Util.waitUntilElementIsVisible(itemsPerPage);
BrowserVisibility.waitUntilElementIsClickable(itemsPerPage);
BrowserVisibility.waitUntilElementIsVisible(itemsPerPage);
itemsPerPage.click();
return this;
}
checkPageSelectorIsNotDisplayed() {
Util.waitUntilElementIsNotOnPage(this.pageSelectorArrow);
BrowserVisibility.waitUntilElementIsNotOnPage(this.pageSelectorArrow);
}
checkPageSelectorIsDisplayed() {
Util.waitUntilElementIsVisible(this.pageSelectorArrow);
BrowserVisibility.waitUntilElementIsVisible(this.pageSelectorArrow);
}
checkPaginationIsNotDisplayed() {
Util.waitUntilElementIsOnPage(this.paginationSectionEmpty);
BrowserVisibility.waitUntilElementIsOnPage(this.paginationSectionEmpty);
return this;
}
getCurrentItemsPerPage() {
Util.waitUntilElementIsVisible(this.itemsPerPage);
BrowserVisibility.waitUntilElementIsVisible(this.itemsPerPage);
return this.itemsPerPage.getText();
}
getCurrentPage() {
Util.waitUntilElementIsVisible(this.paginationSection);
Util.waitUntilElementIsVisible(this.currentPage);
BrowserVisibility.waitUntilElementIsVisible(this.paginationSection);
BrowserVisibility.waitUntilElementIsVisible(this.currentPage);
return this.currentPage.getText();
}
getTotalPages() {
Util.waitUntilElementIsVisible(this.totalPages);
BrowserVisibility.waitUntilElementIsVisible(this.totalPages);
return this.totalPages.getText();
}
getPaginationRange() {
Util.waitUntilElementIsVisible(this.paginationRange);
BrowserVisibility.waitUntilElementIsVisible(this.paginationRange);
return this.paginationRange.getText();
}
clickOnNextPage() {
Util.waitUntilElementIsVisible(this.nextPageButton);
Util.waitUntilElementIsClickable(this.nextPageButton);
BrowserVisibility.waitUntilElementIsVisible(this.nextPageButton);
BrowserVisibility.waitUntilElementIsClickable(this.nextPageButton);
browser.actions().mouseMove(this.nextPageButton).perform();
Util.waitUntilElementIsVisible(this.nextPageButton);
Util.waitUntilElementIsClickable(this.nextPageButton);
BrowserVisibility.waitUntilElementIsVisible(this.nextPageButton);
BrowserVisibility.waitUntilElementIsClickable(this.nextPageButton);
return this.nextPageButton.click();
}
clickOnPageDropdown() {
Util.waitUntilElementIsVisible(this.pageDropDown);
Util.waitUntilElementIsClickable(this.pageDropDown);
BrowserVisibility.waitUntilElementIsVisible(this.pageDropDown);
BrowserVisibility.waitUntilElementIsClickable(this.pageDropDown);
return this.pageDropDown.click();
}
clickOnPageDropdownOption(numberOfItemPerPage: string) {
Util.waitUntilElementIsVisible(element.all(this.pageDropDownOptions).first());
BrowserVisibility.waitUntilElementIsVisible(element.all(this.pageDropDownOptions).first());
const option = element(by.cssContainingText('div[class*="mat-menu-content"] button', numberOfItemPerPage));
Util.waitUntilElementIsVisible(option);
BrowserVisibility.waitUntilElementIsVisible(option);
option.click();
return this;
}
getPageDropdownOptions() {
const deferred = protractor.promise.defer();
Util.waitUntilElementIsVisible(element.all(this.pageDropDownOptions).first());
BrowserVisibility.waitUntilElementIsVisible(element.all(this.pageDropDownOptions).first());
const initialList = [];
element.all(this.pageDropDownOptions).each(function (currentOption) {
currentOption.getText().then(function (text) {
@@ -126,23 +126,23 @@ export class PaginationPage {
}
checkNextPageButtonIsDisabled() {
Util.waitUntilElementIsVisible(this.nextButtonDisabled);
BrowserVisibility.waitUntilElementIsVisible(this.nextButtonDisabled);
}
checkPreviousPageButtonIsDisabled() {
Util.waitUntilElementIsVisible(this.previousButtonDisabled);
BrowserVisibility.waitUntilElementIsVisible(this.previousButtonDisabled);
}
checkNextPageButtonIsEnabled() {
Util.waitUntilElementIsNotOnPage(this.nextButtonDisabled);
BrowserVisibility.waitUntilElementIsNotOnPage(this.nextButtonDisabled);
}
checkPreviousPageButtonIsEnabled() {
Util.waitUntilElementIsNotOnPage(this.previousButtonDisabled);
BrowserVisibility.waitUntilElementIsNotOnPage(this.previousButtonDisabled);
}
getTotalNumberOfFiles() {
Util.waitUntilElementIsVisible(this.totalFiles);
BrowserVisibility.waitUntilElementIsVisible(this.totalFiles);
const numberOfFiles = this.totalFiles.getText().then(function (totalNumber) {
const totalNumberOfFiles = totalNumber.split('of ')[1];
return totalNumberOfFiles;

View File

@@ -17,8 +17,8 @@
import { element, by } from 'protractor';
import { Util } from '../../util/util';
import { DataTableComponentPage } from './dataTableComponentPage';
import { BrowserVisibility } from '@alfresco/adf-testing';
const column = {
role: 'Role'
@@ -42,75 +42,75 @@ export class PermissionsPage {
closeButton = element(by.id('add-permission-dialog-close-button'));
clickCloseButton() {
Util.waitUntilElementIsClickable(this.closeButton);
BrowserVisibility.waitUntilElementIsClickable(this.closeButton);
this.closeButton.click();
}
checkAddPermissionButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.addPermissionButton);
BrowserVisibility.waitUntilElementIsVisible(this.addPermissionButton);
}
clickAddPermissionButton() {
Util.waitUntilElementIsClickable(this.addPermissionButton);
BrowserVisibility.waitUntilElementIsClickable(this.addPermissionButton);
return this.addPermissionButton.click();
}
checkAddPermissionDialogIsDisplayed() {
Util.waitUntilElementIsVisible(this.addPermissionDialog);
BrowserVisibility.waitUntilElementIsVisible(this.addPermissionDialog);
}
checkSearchUserInputIsDisplayed() {
Util.waitUntilElementIsVisible(this.searchUserInput);
BrowserVisibility.waitUntilElementIsVisible(this.searchUserInput);
}
searchUserOrGroup(name) {
Util.waitUntilElementIsClickable(this.searchUserInput);
BrowserVisibility.waitUntilElementIsClickable(this.searchUserInput);
this.searchUserInput.clear();
return this.searchUserInput.sendKeys(name);
}
checkResultListIsDisplayed() {
Util.waitUntilElementIsVisible(this.searchResults);
BrowserVisibility.waitUntilElementIsVisible(this.searchResults);
}
clickUserOrGroup(name) {
const userOrGroupName = element(by.cssContainingText('mat-list-option .mat-list-text', name));
Util.waitUntilElementIsVisible(userOrGroupName);
BrowserVisibility.waitUntilElementIsVisible(userOrGroupName);
userOrGroupName.click();
Util.waitUntilElementIsVisible(this.addButton);
BrowserVisibility.waitUntilElementIsVisible(this.addButton);
return this.addButton.click();
}
checkUserOrGroupIsAdded(name) {
const userOrGroupName = element(by.css('div[data-automation-id="text_' + name + '"]'));
Util.waitUntilElementIsVisible(userOrGroupName);
BrowserVisibility.waitUntilElementIsVisible(userOrGroupName);
}
checkUserOrGroupIsDeleted(name) {
const userOrGroupName = element(by.css('div[data-automation-id="text_' + name + '"]'));
Util.waitUntilElementIsNotVisible(userOrGroupName);
BrowserVisibility.waitUntilElementIsNotVisible(userOrGroupName);
}
checkPermissionInheritedButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.permissionInheritedButton);
BrowserVisibility.waitUntilElementIsVisible(this.permissionInheritedButton);
}
clickPermissionInheritedButton() {
Util.waitUntilElementIsClickable(this.permissionInheritedButton);
BrowserVisibility.waitUntilElementIsClickable(this.permissionInheritedButton);
return this.permissionInheritedButton.click();
}
clickDeletePermissionButton() {
Util.waitUntilElementIsClickable(this.deletePermissionButton);
BrowserVisibility.waitUntilElementIsClickable(this.deletePermissionButton);
return this.deletePermissionButton.click();
}
checkNoPermissionsIsDisplayed() {
Util.waitUntilElementIsVisible(this.noPermissions);
BrowserVisibility.waitUntilElementIsVisible(this.noPermissions);
}
getPermissionInheritedButtonText() {
Util.waitUntilElementIsClickable(this.permissionInheritedButton);
BrowserVisibility.waitUntilElementIsClickable(this.permissionInheritedButton);
return this.permissionInheritedButtonText.getText();
}
@@ -120,39 +120,39 @@ export class PermissionsPage {
getRoleCellValue(rowName) {
const locator = new DataTableComponentPage().getCellByRowAndColumn('Authority ID', rowName, column.role);
Util.waitUntilElementIsVisible(locator);
BrowserVisibility.waitUntilElementIsVisible(locator);
return locator.getText();
}
clickRoleDropdown() {
Util.waitUntilElementIsVisible(this.roleDropdown);
BrowserVisibility.waitUntilElementIsVisible(this.roleDropdown);
return this.roleDropdown.click();
}
getRoleDropdownOptions() {
Util.waitUntilElementIsVisible(this.roleDropdownOptions);
BrowserVisibility.waitUntilElementIsVisible(this.roleDropdownOptions);
return this.roleDropdownOptions;
}
selectOption(name) {
const selectProcessDropdown = element(by.cssContainingText('.mat-option-text', name));
Util.waitUntilElementIsVisible(selectProcessDropdown);
Util.waitUntilElementIsClickable(selectProcessDropdown);
BrowserVisibility.waitUntilElementIsVisible(selectProcessDropdown);
BrowserVisibility.waitUntilElementIsClickable(selectProcessDropdown);
selectProcessDropdown.click();
return this;
}
getAssignPermissionErrorText() {
Util.waitUntilElementIsVisible(this.assignPermissionError);
BrowserVisibility.waitUntilElementIsVisible(this.assignPermissionError);
return this.assignPermissionError.getText();
}
checkPermissionContainerIsDisplayed() {
Util.waitUntilElementIsVisible(this.permissionDisplayContainer);
BrowserVisibility.waitUntilElementIsVisible(this.permissionDisplayContainer);
}
checkUserOrGroupIsDisplayed(name) {
const userOrGroupName = element(by.cssContainingText('mat-list-option .mat-list-text', name));
Util.waitUntilElementIsVisible(userOrGroupName);
BrowserVisibility.waitUntilElementIsVisible(userOrGroupName);
}
}

View File

@@ -14,9 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { by, element, protractor } from 'protractor';
import { EditProcessFilterDialog } from '../dialog/editProcessFilterDialog';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class EditProcessFilterCloudComponent {
@@ -33,16 +33,16 @@ export class EditProcessFilterCloudComponent {
}
clickCustomiseFilterHeader() {
Util.waitUntilElementIsVisible(this.customiseFilter);
BrowserVisibility.waitUntilElementIsVisible(this.customiseFilter);
this.customiseFilter.click();
return this;
}
checkCustomiseFilterHeaderIsExpanded() {
const expansionPanelExtended = element.all(by.css('mat-expansion-panel-header[class*="mat-expanded"]')).first();
Util.waitUntilElementIsVisible(expansionPanelExtended);
BrowserVisibility.waitUntilElementIsVisible(expansionPanelExtended);
const content = element(by.css('div[class*="mat-expansion-panel-content "][style*="visible"]'));
Util.waitUntilElementIsVisible(content);
BrowserVisibility.waitUntilElementIsVisible(content);
return this;
}
@@ -50,8 +50,8 @@ export class EditProcessFilterCloudComponent {
this.clickOnDropDownArrow('status');
const statusElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsClickable(statusElement);
Util.waitUntilElementIsVisible(statusElement);
BrowserVisibility.waitUntilElementIsClickable(statusElement);
BrowserVisibility.waitUntilElementIsVisible(statusElement);
statusElement.click();
return this;
}
@@ -64,15 +64,15 @@ export class EditProcessFilterCloudComponent {
this.clickOnDropDownArrow('sort');
const sortElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsClickable(sortElement);
Util.waitUntilElementIsVisible(sortElement);
BrowserVisibility.waitUntilElementIsClickable(sortElement);
BrowserVisibility.waitUntilElementIsVisible(sortElement);
sortElement.click();
return this;
}
getSortFilterDropDownValue() {
const sortLocator = element.all(by.css("mat-form-field[data-automation-id='sort'] span")).first();
Util.waitUntilElementIsVisible(sortLocator);
BrowserVisibility.waitUntilElementIsVisible(sortLocator);
return sortLocator.getText();
}
@@ -80,8 +80,8 @@ export class EditProcessFilterCloudComponent {
this.clickOnDropDownArrow('order');
const orderElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsClickable(orderElement);
Util.waitUntilElementIsVisible(orderElement);
BrowserVisibility.waitUntilElementIsClickable(orderElement);
BrowserVisibility.waitUntilElementIsVisible(orderElement);
orderElement.click();
return this;
}
@@ -92,18 +92,18 @@ export class EditProcessFilterCloudComponent {
clickOnDropDownArrow(option) {
const dropDownArrow = element.all(by.css("mat-form-field[data-automation-id='" + option + "'] div[class='mat-select-arrow-wrapper']")).first();
Util.waitUntilElementIsVisible(dropDownArrow);
Util.waitUntilElementIsClickable(dropDownArrow);
BrowserVisibility.waitUntilElementIsVisible(dropDownArrow);
BrowserVisibility.waitUntilElementIsClickable(dropDownArrow);
dropDownArrow.click();
Util.waitUntilElementIsVisible(this.selectedOption);
BrowserVisibility.waitUntilElementIsVisible(this.selectedOption);
}
setAppNameDropDown(option) {
this.clickOnDropDownArrow('appName');
const appNameElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsClickable(appNameElement);
Util.waitUntilElementIsVisible(appNameElement);
BrowserVisibility.waitUntilElementIsClickable(appNameElement);
BrowserVisibility.waitUntilElementIsVisible(appNameElement);
appNameElement.click();
return this;
}
@@ -134,13 +134,13 @@ export class EditProcessFilterCloudComponent {
getProperty(property) {
const locator = element.all(by.css('input[data-automation-id="adf-cloud-edit-process-property-' + property + '"]')).first();
Util.waitUntilElementIsVisible(locator);
BrowserVisibility.waitUntilElementIsVisible(locator);
return locator.getAttribute('value');
}
setProperty(property, option) {
const locator = element.all(by.css('input[data-automation-id="adf-cloud-edit-process-property-' + property + '"]')).first();
Util.waitUntilElementIsVisible(locator);
BrowserVisibility.waitUntilElementIsVisible(locator);
locator.clear();
locator.sendKeys(option);
locator.sendKeys(protractor.Key.ENTER);
@@ -148,55 +148,55 @@ export class EditProcessFilterCloudComponent {
}
checkSaveButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.saveButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveButton);
return this;
}
checkSaveAsButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.saveAsButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveAsButton);
return this;
}
checkDeleteButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.deleteButton);
BrowserVisibility.waitUntilElementIsVisible(this.deleteButton);
return this;
}
checkSaveButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.saveButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveButton);
return this.saveButton.isEnabled();
}
checkSaveAsButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.saveAsButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveAsButton);
return this.saveAsButton.isEnabled();
}
checkDeleteButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.deleteButton);
BrowserVisibility.waitUntilElementIsVisible(this.deleteButton);
return this.deleteButton.isEnabled();
}
clickSaveAsButton() {
const disabledButton = element(by.css(("button[data-automation-id='adf-filter-action-saveAs'][disabled]")));
Util.waitUntilElementIsClickable(this.saveAsButton);
Util.waitUntilElementIsVisible(this.saveAsButton);
Util.waitUntilElementIsNotVisible(disabledButton);
const disabledButton = element(by.css(("button[id='adf-save-as-id'][disabled]")));
BrowserVisibility.waitUntilElementIsClickable(this.saveAsButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveAsButton);
BrowserVisibility.waitUntilElementIsNotVisible(disabledButton);
this.saveAsButton.click();
return this.editProcessFilter;
}
clickDeleteButton() {
Util.waitUntilElementIsVisible(this.deleteButton);
BrowserVisibility.waitUntilElementIsVisible(this.deleteButton);
this.deleteButton.click();
return this;
}
clickSaveButton() {
const disabledButton = element(by.css(("button[data-automation-id='adf-filter-action-saveAs'][disabled]")));
Util.waitUntilElementIsClickable(this.saveButton);
Util.waitUntilElementIsVisible(this.saveButton);
Util.waitUntilElementIsNotVisible(disabledButton);
const disabledButton = element(by.css(("button[id='adf-save-as-id'][disabled]")));
BrowserVisibility.waitUntilElementIsClickable(this.saveButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveButton);
BrowserVisibility.waitUntilElementIsNotVisible(disabledButton);
this.saveButton.click();
return this;
}

View File

@@ -15,9 +15,9 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { by, element, protractor } from 'protractor';
import { EditTaskFilterDialog } from '../dialog/editTaskFilterDialog';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class EditTaskFilterCloudComponent {
@@ -43,7 +43,7 @@ export class EditTaskFilterCloudComponent {
}
clickCustomiseFilterHeader() {
Util.waitUntilElementIsVisible(this.customiseFilter);
BrowserVisibility.waitUntilElementIsVisible(this.customiseFilter);
this.customiseFilter.click();
return this;
}
@@ -52,8 +52,8 @@ export class EditTaskFilterCloudComponent {
this.clickOnDropDownArrow('status');
const statusElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsVisible(statusElement);
Util.waitUntilElementIsClickable(statusElement);
BrowserVisibility.waitUntilElementIsVisible(statusElement);
BrowserVisibility.waitUntilElementIsClickable(statusElement);
statusElement.click();
return this;
}
@@ -66,15 +66,15 @@ export class EditTaskFilterCloudComponent {
this.clickOnDropDownArrow('sort');
const sortElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsClickable(sortElement);
Util.waitUntilElementIsVisible(sortElement);
BrowserVisibility.waitUntilElementIsClickable(sortElement);
BrowserVisibility.waitUntilElementIsVisible(sortElement);
sortElement.click();
return this;
}
getSortFilterDropDownValue() {
const elementSort = element.all(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-sort'] span")).first();
Util.waitUntilElementIsVisible(elementSort);
BrowserVisibility.waitUntilElementIsVisible(elementSort);
return elementSort.getText();
}
@@ -82,8 +82,8 @@ export class EditTaskFilterCloudComponent {
this.clickOnDropDownArrow('order');
const orderElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsClickable(orderElement);
Util.waitUntilElementIsVisible(orderElement);
BrowserVisibility.waitUntilElementIsClickable(orderElement);
BrowserVisibility.waitUntilElementIsVisible(orderElement);
orderElement.click();
return this;
}
@@ -94,9 +94,9 @@ export class EditTaskFilterCloudComponent {
clickOnDropDownArrow(option) {
const dropDownArrow = element.all(by.css("mat-form-field[data-automation-id='" + option + "'] div[class*='arrow']")).first();
Util.waitUntilElementIsVisible(dropDownArrow);
BrowserVisibility.waitUntilElementIsVisible(dropDownArrow);
dropDownArrow.click();
Util.waitUntilElementIsVisible(this.selectedOption);
BrowserVisibility.waitUntilElementIsVisible(this.selectedOption);
}
setAssignee(option) {
@@ -150,52 +150,52 @@ export class EditTaskFilterCloudComponent {
}
checkSaveButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.saveButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveButton);
return this;
}
checkSaveAsButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.saveAsButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveAsButton);
return this;
}
checkDeleteButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.deleteButton);
BrowserVisibility.waitUntilElementIsVisible(this.deleteButton);
return this;
}
checkSaveButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.saveButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveButton);
return this.saveButton.isEnabled();
}
checkSaveAsButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.saveButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveButton);
return this.saveAsButton.isEnabled();
}
checkDeleteButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.saveButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveButton);
return this.deleteButton.isEnabled();
}
clickSaveAsButton() {
const disabledButton = element(by.css(("button[id='adf-save-as-id'][disabled]")));
Util.waitUntilElementIsClickable(this.saveAsButton);
Util.waitUntilElementIsVisible(this.saveAsButton);
Util.waitUntilElementIsNotVisible(disabledButton);
BrowserVisibility.waitUntilElementIsClickable(this.saveAsButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveAsButton);
BrowserVisibility.waitUntilElementIsNotVisible(disabledButton);
this.saveAsButton.click();
return this.editTaskFilter;
}
clickDeleteButton() {
Util.waitUntilElementIsVisible(this.deleteButton);
BrowserVisibility.waitUntilElementIsVisible(this.deleteButton);
this.deleteButton.click();
return this;
}
clickSaveButton() {
Util.waitUntilElementIsVisible(this.saveButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveButton);
this.saveButton.click();
return this;
}
@@ -206,7 +206,7 @@ export class EditTaskFilterCloudComponent {
}
clearField(locator) {
Util.waitUntilElementIsVisible(locator);
BrowserVisibility.waitUntilElementIsVisible(locator);
locator.getAttribute('value').then((result) => {
for (let i = result.length; i >= 0; i--) {
locator.sendKeys(protractor.Key.BACK_SPACE);
@@ -218,15 +218,15 @@ export class EditTaskFilterCloudComponent {
this.clickOnDropDownArrow('appName');
const appNameElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsClickable(appNameElement);
Util.waitUntilElementIsVisible(appNameElement);
BrowserVisibility.waitUntilElementIsClickable(appNameElement);
BrowserVisibility.waitUntilElementIsVisible(appNameElement);
appNameElement.click();
return this;
}
getAppNameDropDownValue() {
const locator = element.all(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-appName'] span")).first();
Util.waitUntilElementIsVisible(locator);
BrowserVisibility.waitUntilElementIsVisible(locator);
return locator.getText();
}
@@ -252,7 +252,7 @@ export class EditTaskFilterCloudComponent {
setProperty(property, option) {
const locator = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-' + property + '"]'));
Util.waitUntilElementIsVisible(locator);
BrowserVisibility.waitUntilElementIsVisible(locator);
locator.clear();
locator.sendKeys(option);
locator.sendKeys(protractor.Key.ENTER);

View File

@@ -16,14 +16,14 @@
*/
import { by, element, protractor } from 'protractor';
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class GroupCloudComponent {
groupCloudSearch = element(by.css('input[data-automation-id="adf-cloud-group-search-input"]'));
searchGroups(name) {
Util.waitUntilElementIsVisible(this.groupCloudSearch);
BrowserVisibility.waitUntilElementIsVisible(this.groupCloudSearch);
this.groupCloudSearch.clear().then(() => {
for (let i = 0; i < name.length; i++) {
this.groupCloudSearch.sendKeys(name[i]);
@@ -36,26 +36,26 @@ export class GroupCloudComponent {
selectGroupFromList(name) {
const groupRow = element.all(by.cssContainingText('mat-option span', name)).first();
Util.waitUntilElementIsVisible(groupRow);
BrowserVisibility.waitUntilElementIsVisible(groupRow);
groupRow.click();
Util.waitUntilElementIsNotVisible(groupRow);
BrowserVisibility.waitUntilElementIsNotVisible(groupRow);
return this;
}
checkGroupIsDisplayed(name) {
const groupRow = element.all(by.cssContainingText('mat-option span', name)).first();
Util.waitUntilElementIsVisible(groupRow);
BrowserVisibility.waitUntilElementIsVisible(groupRow);
return this;
}
checkGroupIsNotDisplayed(name) {
const groupRow = element.all(by.cssContainingText('mat-option span', name)).first();
Util.waitUntilElementIsNotVisible(groupRow);
BrowserVisibility.waitUntilElementIsNotVisible(groupRow);
return this;
}
checkSelectedGroup(group) {
Util.waitUntilElementIsVisible(element(by.cssContainingText('mat-chip[data-automation-id*="adf-cloud-group-chip-"]', group)));
BrowserVisibility.waitUntilElementIsVisible(element(by.cssContainingText('mat-chip[data-automation-id*="adf-cloud-group-chip-"]', group)));
return this;
}

View File

@@ -16,14 +16,14 @@
*/
import { by, element, protractor } from 'protractor';
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class PeopleCloudComponent {
peopleCloudSearch = element(by.css('input[data-automation-id="adf-people-cloud-search-input"]'));
searchAssigneeAndSelect(name) {
Util.waitUntilElementIsVisible(this.peopleCloudSearch);
BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudSearch);
this.peopleCloudSearch.clear();
this.peopleCloudSearch.sendKeys(name);
this.selectAssigneeFromList(name);
@@ -31,7 +31,7 @@ export class PeopleCloudComponent {
}
searchAssignee(name) {
Util.waitUntilElementIsVisible(this.peopleCloudSearch);
BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudSearch);
this.peopleCloudSearch.clear().then(() => {
for (let i = 0; i < name.length; i++) {
this.peopleCloudSearch.sendKeys(name[i]);
@@ -44,31 +44,31 @@ export class PeopleCloudComponent {
selectAssigneeFromList(name) {
const assigneeRow = element(by.cssContainingText('mat-option span.adf-people-label-name', name));
Util.waitUntilElementIsVisible(assigneeRow);
BrowserVisibility.waitUntilElementIsVisible(assigneeRow);
assigneeRow.click();
Util.waitUntilElementIsNotVisible(assigneeRow);
BrowserVisibility.waitUntilElementIsNotVisible(assigneeRow);
return this;
}
getAssignee() {
Util.waitUntilElementIsVisible(this.peopleCloudSearch);
BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudSearch);
return this.peopleCloudSearch.getAttribute('value');
}
checkUserIsDisplayed(name) {
const assigneeRow = element(by.cssContainingText('mat-option span.adf-people-label-name', name));
Util.waitUntilElementIsVisible(assigneeRow);
BrowserVisibility.waitUntilElementIsVisible(assigneeRow);
return this;
}
checkUserIsNotDisplayed(name) {
const assigneeRow = element(by.cssContainingText('mat-option span.adf-people-label-name', name));
Util.waitUntilElementIsNotVisible(assigneeRow);
BrowserVisibility.waitUntilElementIsNotVisible(assigneeRow);
return this;
}
checkSelectedPeople(person) {
Util.waitUntilElementIsVisible(element(by.cssContainingText('mat-chip-list mat-chip', person)));
BrowserVisibility.waitUntilElementIsVisible(element(by.cssContainingText('mat-chip-list mat-chip', person)));
return this;
}

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { by } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class ProcessFiltersCloudComponent {
@@ -28,30 +28,30 @@ export class ProcessFiltersCloudComponent {
}
checkProcessFilterIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
return this;
}
getProcessFilterIcon() {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
const icon = this.filter.element(this.filterIcon);
Util.waitUntilElementIsVisible(icon);
BrowserVisibility.waitUntilElementIsVisible(icon);
return icon.getText();
}
checkProcessFilterHasNoIcon() {
Util.waitUntilElementIsVisible(this.filter);
Util.waitUntilElementIsNotOnPage(this.filter.element(this.filterIcon));
BrowserVisibility.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsNotOnPage(this.filter.element(this.filterIcon));
}
clickProcessFilter() {
Util.waitUntilElementIsVisible(this.filter);
Util.waitUntilElementIsClickable(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsClickable(this.filter);
return this.filter.click();
}
checkProcessFilterNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.filter);
BrowserVisibility.waitUntilElementIsNotVisible(this.filter);
return this.filter;
}

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
import { DataTableComponentPage } from '../dataTableComponentPage';
import { element, by } from 'protractor';
@@ -55,12 +55,12 @@ export class ProcessListCloudComponent {
}
checkProcessListIsLoaded() {
Util.waitUntilElementIsVisible(this.processList);
BrowserVisibility.waitUntilElementIsVisible(this.processList);
return this;
}
getNoProcessFoundMessage() {
Util.waitUntilElementIsVisible(this.noProcessFound);
BrowserVisibility.waitUntilElementIsVisible(this.noProcessFound);
return this.noProcessFound.getText();
}

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { by } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class TaskFiltersCloudComponent {
@@ -28,29 +28,29 @@ export class TaskFiltersCloudComponent {
}
checkTaskFilterIsDisplayed() {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
return this;
}
getTaskFilterIcon() {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
const icon = this.filter.element(this.taskIcon);
Util.waitUntilElementIsVisible(icon);
BrowserVisibility.waitUntilElementIsVisible(icon);
return icon.getText();
}
checkTaskFilterHasNoIcon() {
Util.waitUntilElementIsVisible(this.filter);
Util.waitUntilElementIsNotOnPage(this.filter.element(this.taskIcon));
BrowserVisibility.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsNotOnPage(this.filter.element(this.taskIcon));
}
clickTaskFilter() {
Util.waitUntilElementIsVisible(this.filter);
BrowserVisibility.waitUntilElementIsVisible(this.filter);
return this.filter.click();
}
checkTaskFilterNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.filter);
BrowserVisibility.waitUntilElementIsNotVisible(this.filter);
return this.filter;
}

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
import { DataTableComponentPage } from '../dataTableComponentPage';
import { element, by } from 'protractor';
@@ -67,7 +67,7 @@ export class TaskListCloudComponent {
}
getRow(taskName) {
return this.dataTable.getRow('Name', taskName);
return this.dataTable.getRowElement('Name', taskName);
}
checkContentIsDisplayedByProcessInstanceId(taskName) {
@@ -87,12 +87,12 @@ export class TaskListCloudComponent {
}
checkTaskListIsLoaded() {
Util.waitUntilElementIsVisible(this.taskList);
BrowserVisibility.waitUntilElementIsVisible(this.taskList);
return this;
}
getNoTasksFoundMessage() {
Util.waitUntilElementIsVisible(this.noTasksFound);
BrowserVisibility.waitUntilElementIsVisible(this.noTasksFound);
return this.noTasksFound.getText();
}
@@ -106,7 +106,7 @@ export class TaskListCloudComponent {
getIdCellValue(rowName) {
const locator = new DataTableComponentPage().getCellByRowAndColumn('Name', rowName, column.id);
Util.waitUntilElementIsVisible(locator);
BrowserVisibility.waitUntilElementIsVisible(locator);
return locator.getText();
}

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { element, by, protractor } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class AnalyticsPage {
@@ -27,15 +27,15 @@ export class AnalyticsPage {
getReport(title) {
const reportTitle = element(by.css(`mat-icon[data-automation-id="${title}_filter"]`));
Util.waitUntilElementIsVisible(reportTitle);
BrowserVisibility.waitUntilElementIsVisible(reportTitle);
reportTitle.click();
}
changeReportTitle(title) {
Util.waitUntilElementIsVisible(this.toolbarTitleContainer);
Util.waitUntilElementIsClickable(this.toolbarTitleContainer);
BrowserVisibility.waitUntilElementIsVisible(this.toolbarTitleContainer);
BrowserVisibility.waitUntilElementIsClickable(this.toolbarTitleContainer);
this.toolbarTitleContainer.click();
Util.waitUntilElementIsVisible(this.toolbarTitleInput);
BrowserVisibility.waitUntilElementIsVisible(this.toolbarTitleInput);
this.toolbarTitleInput.click();
this.clearReportTitle();
this.toolbarTitleInput.sendKeys(title);
@@ -43,23 +43,23 @@ export class AnalyticsPage {
}
clearReportTitle() {
Util.waitUntilElementIsVisible(this.toolbarTitleInput);
BrowserVisibility.waitUntilElementIsVisible(this.toolbarTitleInput);
this.toolbarTitleInput.getAttribute('value').then((value) => {
let i;
for (i = value.length; i >= 0; i--) {
this.toolbarTitleInput.sendKeys(protractor.Key.BACK_SPACE);
}
});
Util.waitUntilElementIsVisible(this.toolbarTitleInput);
BrowserVisibility.waitUntilElementIsVisible(this.toolbarTitleInput);
}
getReportTitle() {
Util.waitUntilElementIsVisible(this.toolbarTitle);
BrowserVisibility.waitUntilElementIsVisible(this.toolbarTitle);
return this.toolbarTitle.getText();
}
checkNoReportMessage() {
Util.waitUntilElementIsVisible(this.reportMessage);
BrowserVisibility.waitUntilElementIsVisible(this.reportMessage);
}
}

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
import { element, by, browser } from 'protractor';
export class AppNavigationBarPage {
@@ -28,7 +28,7 @@ export class AppNavigationBarPage {
reportsButtonSelected = element.all(by.cssContainingText('div[class*="mat-tab-label"] .mat-tab-labels div[aria-selected="true"]', 'Reports')).first();
clickTasksButton() {
Util.waitUntilElementIsVisible(this.tasksButton);
BrowserVisibility.waitUntilElementIsVisible(this.tasksButton);
this.tasksButton.click();
return browser.sleep(400);
}
@@ -48,8 +48,8 @@ export class AppNavigationBarPage {
}
clickReportsButton() {
Util.waitUntilElementIsVisible(this.reportsButton);
BrowserVisibility.waitUntilElementIsVisible(this.reportsButton);
this.reportsButton.click();
return Util.waitUntilElementIsVisible(this.reportsButtonSelected);
return BrowserVisibility.waitUntilElementIsVisible(this.reportsButtonSelected);
}
}

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { element, by } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class AttachFormPage {
@@ -29,19 +29,19 @@ export class AttachFormPage {
attachFormDropdown = element(by.css("div[class='adf-attach-form-row']"));
checkNoFormMessageIsDisplayed() {
return Util.waitUntilElementIsVisible(this.noFormMessage);
return BrowserVisibility.waitUntilElementIsVisible(this.noFormMessage);
}
checkAttachFormButtonIsDisplayed() {
return Util.waitUntilElementIsVisible(this.attachFormButton);
return BrowserVisibility.waitUntilElementIsVisible(this.attachFormButton);
}
checkCompleteButtonIsDisplayed() {
return Util.waitUntilElementIsVisible(this.completeButton);
return BrowserVisibility.waitUntilElementIsVisible(this.completeButton);
}
clickAttachFormButton() {
Util.waitUntilElementIsVisible(this.attachFormButton);
BrowserVisibility.waitUntilElementIsVisible(this.attachFormButton);
return this.attachFormButton.click();
}
@@ -52,29 +52,29 @@ export class AttachFormPage {
}
checkFormDropdownIsDisplayed() {
return Util.waitUntilElementIsVisible(this.formDropdown);
return BrowserVisibility.waitUntilElementIsVisible(this.formDropdown);
}
checkCancelButtonIsDisplayed() {
return Util.waitUntilElementIsVisible(this.cancelButton);
return BrowserVisibility.waitUntilElementIsVisible(this.cancelButton);
}
clickAttachFormDropdown() {
Util.waitUntilElementIsClickable(this.attachFormDropdown);
BrowserVisibility.waitUntilElementIsClickable(this.attachFormDropdown);
return this.attachFormDropdown.click();
}
selectAttachFormOption(option) {
Util.waitUntilElementIsClickable(element(by.cssContainingText("mat-option[role='option']", option)));
BrowserVisibility.waitUntilElementIsClickable(element(by.cssContainingText("mat-option[role='option']", option)));
return element(by.cssContainingText("mat-option[role='option']", option)).click();
}
clickCancelButton() {
Util.waitUntilElementIsVisible(this.cancelButton);
BrowserVisibility.waitUntilElementIsVisible(this.cancelButton);
return this.cancelButton.click();
}
checkAttachFormButtonIsDisabled() {
return Util.waitUntilElementIsVisible(element(by.css('button[id="adf-no-form-attach-form-button"][disabled]')));
return BrowserVisibility.waitUntilElementIsVisible(element(by.css('button[id="adf-no-form-attach-form-button"][disabled]')));
}
}

View File

@@ -17,10 +17,10 @@
import { element, by, protractor, browser } from 'protractor';
import { Util } from '../../../util/util';
import TestConfig = require('../../../test.config');
import path = require('path');
import remote = require('selenium-webdriver/remote');
import { BrowserVisibility } from '@alfresco/adf-testing';
export class AttachmentListPage {
@@ -32,31 +32,31 @@ export class AttachmentListPage {
noContentContainer = element(by.css("div[class*='adf-no-content-container']"));
checkEmptyAttachmentList() {
Util.waitUntilElementIsVisible(this.noContentContainer);
BrowserVisibility.waitUntilElementIsVisible(this.noContentContainer);
}
clickAttachFileButton(fileLocation) {
browser.setFileDetector(new remote.FileDetector());
Util.waitUntilElementIsVisible(this.attachFileButton);
BrowserVisibility.waitUntilElementIsVisible(this.attachFileButton);
return this.attachFileButton.sendKeys(path.resolve(path.join(TestConfig.main.rootPath, fileLocation)));
}
checkFileIsAttached(name) {
const fileAttached = element.all(by.css('div[data-automation-id="' + name + '"]')).first();
Util.waitUntilElementIsVisible(fileAttached);
BrowserVisibility.waitUntilElementIsVisible(fileAttached);
}
checkAttachFileButtonIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.attachFileButton);
BrowserVisibility.waitUntilElementIsNotVisible(this.attachFileButton);
}
viewFile(name) {
Util.waitUntilElementIsVisible(element.all(by.css('div[data-automation-id="' + name + '"]')).first());
BrowserVisibility.waitUntilElementIsVisible(element.all(by.css('div[data-automation-id="' + name + '"]')).first());
element.all(by.css('div[data-automation-id="' + name + '"]')).first().click();
Util.waitUntilElementIsVisible(this.buttonMenu);
BrowserVisibility.waitUntilElementIsVisible(this.buttonMenu);
this.buttonMenu.click();
Util.waitUntilElementIsVisible(this.viewButton);
BrowserVisibility.waitUntilElementIsVisible(this.viewButton);
browser.driver.sleep(500);
this.viewButton.click();
browser.driver.sleep(500);
@@ -64,11 +64,11 @@ export class AttachmentListPage {
}
removeFile(name) {
Util.waitUntilElementIsVisible(element.all(by.css('div[data-automation-id="' + name + '"]')).first());
BrowserVisibility.waitUntilElementIsVisible(element.all(by.css('div[data-automation-id="' + name + '"]')).first());
element.all(by.css('div[data-automation-id="' + name + '"]')).first().click();
Util.waitUntilElementIsVisible(this.buttonMenu);
BrowserVisibility.waitUntilElementIsVisible(this.buttonMenu);
this.buttonMenu.click();
Util.waitUntilElementIsVisible(this.removeButton);
BrowserVisibility.waitUntilElementIsVisible(this.removeButton);
browser.driver.sleep(500);
this.removeButton.click();
browser.driver.sleep(500);
@@ -76,28 +76,28 @@ export class AttachmentListPage {
}
downloadFile(name) {
Util.waitUntilElementIsVisible(element.all(by.css('div[data-automation-id="' + name + '"]')).first());
BrowserVisibility.waitUntilElementIsVisible(element.all(by.css('div[data-automation-id="' + name + '"]')).first());
element.all(by.css('div[data-automation-id="' + name + '"]')).first().click();
Util.waitUntilElementIsVisible(this.buttonMenu);
BrowserVisibility.waitUntilElementIsVisible(this.buttonMenu);
this.buttonMenu.click();
Util.waitUntilElementIsVisible(this.downloadButton);
BrowserVisibility.waitUntilElementIsVisible(this.downloadButton);
browser.driver.sleep(500);
this.downloadButton.click();
return this;
}
doubleClickFile(name) {
Util.waitUntilElementIsVisible(element.all(by.css('div[data-automation-id="' + name + '"]')).first());
BrowserVisibility.waitUntilElementIsVisible(element.all(by.css('div[data-automation-id="' + name + '"]')).first());
const fileAttached = element.all(by.css('div[data-automation-id="' + name + '"]')).first();
Util.waitUntilElementIsVisible(fileAttached);
Util.waitUntilElementIsClickable(fileAttached);
BrowserVisibility.waitUntilElementIsVisible(fileAttached);
BrowserVisibility.waitUntilElementIsClickable(fileAttached);
fileAttached.click();
browser.actions().sendKeys(protractor.Key.ENTER).perform();
}
checkFileIsRemoved(name) {
const fileAttached = element.all(by.css('div[data-automation-id="' + name + '"]')).first();
Util.waitUntilElementIsNotVisible(fileAttached);
BrowserVisibility.waitUntilElementIsNotVisible(fileAttached);
return this;
}

View File

@@ -41,19 +41,9 @@ export class AppSettingsToggles {
return this;
}
disableTaskFiltersIcon() {
this.formControllersPage.disableToggle(this.showTaskFilterIconsToggle);
return this;
}
enableProcessFiltersIcon() {
this.formControllersPage.enableToggle(this.showProcessFilterIconsToggle);
return this;
}
disableProcessFiltersIcon() {
this.formControllersPage.disableToggle(this.showProcessFilterIconsToggle);
return this;
}
}

View File

@@ -16,7 +16,7 @@
*/
import { element, by } from 'protractor';
import { Util } from '../../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class ChecklistDialog {
@@ -26,41 +26,41 @@ export class ChecklistDialog {
dialogTitle = element(by.id('add-checklist-title'));
addName(name) {
Util.waitUntilElementIsClickable(this.nameField);
BrowserVisibility.waitUntilElementIsClickable(this.nameField);
this.nameField.clear();
this.nameField.sendKeys(name);
return this;
}
clickCreateChecklistButton() {
Util.waitUntilElementIsVisible(this.addChecklistButton);
BrowserVisibility.waitUntilElementIsVisible(this.addChecklistButton);
this.addChecklistButton.click();
}
clickCancelButton() {
Util.waitUntilElementIsVisible(this.closeButton);
BrowserVisibility.waitUntilElementIsVisible(this.closeButton);
this.closeButton.click();
}
getDialogTitle() {
Util.waitUntilElementIsVisible(this.dialogTitle);
BrowserVisibility.waitUntilElementIsVisible(this.dialogTitle);
return this.dialogTitle.getText();
}
getNameFieldPlaceholder() {
Util.waitUntilElementIsVisible(this.nameField);
BrowserVisibility.waitUntilElementIsVisible(this.nameField);
return this.nameField.getAttribute('placeholder');
}
checkCancelButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.closeButton);
Util.waitUntilElementIsClickable(this.closeButton);
BrowserVisibility.waitUntilElementIsVisible(this.closeButton);
BrowserVisibility.waitUntilElementIsClickable(this.closeButton);
return this;
}
checkAddChecklistButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.addChecklistButton);
Util.waitUntilElementIsClickable(this.addChecklistButton);
BrowserVisibility.waitUntilElementIsVisible(this.addChecklistButton);
BrowserVisibility.waitUntilElementIsClickable(this.addChecklistButton);
return this;
}

View File

@@ -16,7 +16,7 @@
*/
import { element, by, Key } from 'protractor';
import { Util } from '../../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class StartTaskDialog {
@@ -30,26 +30,26 @@ export class StartTaskDialog {
cancelButton = element(by.css('button[id="button-cancel"]'));
addName(userName) {
Util.waitUntilElementIsVisible(this.name);
BrowserVisibility.waitUntilElementIsVisible(this.name);
this.name.clear();
this.name.sendKeys(userName);
return this;
}
addDescription(userDescription) {
Util.waitUntilElementIsVisible(this.description);
BrowserVisibility.waitUntilElementIsVisible(this.description);
this.description.sendKeys(userDescription);
return this;
}
addDueDate(date) {
Util.waitUntilElementIsVisible(this.dueDate);
BrowserVisibility.waitUntilElementIsVisible(this.dueDate);
this.dueDate.sendKeys(date);
return this;
}
addAssignee(name) {
Util.waitUntilElementIsVisible(this.assignee);
BrowserVisibility.waitUntilElementIsVisible(this.assignee);
this.assignee.sendKeys(name);
this.selectAssigneeFromList(name);
return this;
@@ -57,50 +57,50 @@ export class StartTaskDialog {
selectAssigneeFromList(name) {
const assigneeRow = element(by.cssContainingText('mat-option span.adf-people-label-name', name));
Util.waitUntilElementIsVisible(assigneeRow);
BrowserVisibility.waitUntilElementIsVisible(assigneeRow);
assigneeRow.click();
Util.waitUntilElementIsNotVisible(assigneeRow);
BrowserVisibility.waitUntilElementIsNotVisible(assigneeRow);
return this;
}
getAssignee() {
Util.waitUntilElementIsVisible(this.assignee);
BrowserVisibility.waitUntilElementIsVisible(this.assignee);
return this.assignee.getAttribute('placeholder');
}
addForm(form) {
Util.waitUntilElementIsVisible(this.formDropDown);
BrowserVisibility.waitUntilElementIsVisible(this.formDropDown);
this.formDropDown.click();
return this.selectForm(form);
}
selectForm(form) {
const option = element(by.cssContainingText('span[class*="mat-option-text"]', form));
Util.waitUntilElementIsVisible(option);
Util.waitUntilElementIsClickable(option);
BrowserVisibility.waitUntilElementIsVisible(option);
BrowserVisibility.waitUntilElementIsClickable(option);
option.click();
return this;
}
clickStartButton() {
Util.waitUntilElementIsVisible(this.startButton);
Util.waitUntilElementIsClickable(this.startButton);
BrowserVisibility.waitUntilElementIsVisible(this.startButton);
BrowserVisibility.waitUntilElementIsClickable(this.startButton);
return this.startButton.click();
}
checkStartButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.startButtonEnabled);
BrowserVisibility.waitUntilElementIsVisible(this.startButtonEnabled);
return this;
}
checkStartButtonIsDisabled() {
Util.waitUntilElementIsVisible(this.startButton.getAttribute('disabled'));
BrowserVisibility.waitUntilElementIsVisible(this.startButton.getAttribute('disabled'));
return this;
}
clickCancelButton() {
Util.waitUntilElementIsVisible(this.cancelButton);
Util.waitUntilElementIsClickable(this.cancelButton);
BrowserVisibility.waitUntilElementIsVisible(this.cancelButton);
BrowserVisibility.waitUntilElementIsClickable(this.cancelButton);
return this.cancelButton.click();
}
@@ -112,7 +112,7 @@ export class StartTaskDialog {
checkValidationErrorIsDisplayed(error, elementRef = 'mat-error') {
const errorElement = element(by.cssContainingText(elementRef, error));
Util.waitUntilElementIsVisible(errorElement);
BrowserVisibility.waitUntilElementIsVisible(errorElement);
return this;
}
}

View File

@@ -16,8 +16,8 @@
*/
import { by, element } from 'protractor';
import { Util } from '../../../util/util';
import { DataTableComponentPage } from '../dataTableComponentPage';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class FiltersPage {
@@ -25,13 +25,13 @@ export class FiltersPage {
dataTable = new DataTableComponentPage();
getActiveFilter() {
Util.waitUntilElementIsVisible(this.activeFilter);
BrowserVisibility.waitUntilElementIsVisible(this.activeFilter);
return this.activeFilter.getText();
}
goToFilter(filterName) {
const filter = element(by.css(`span[data-automation-id="${filterName}_filter"]`));
Util.waitUntilElementIsVisible(filter);
BrowserVisibility.waitUntilElementIsVisible(filter);
filter.click();
return this;
}

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { by, element } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class FormFields {
@@ -35,7 +35,7 @@ export class FormFields {
setFieldValue(locator, field, value) {
const fieldElement = element(locator(field));
Util.waitUntilElementIsVisible(fieldElement);
BrowserVisibility.waitUntilElementIsVisible(fieldElement);
fieldElement.clear();
fieldElement.sendKeys(value);
return this;
@@ -43,29 +43,29 @@ export class FormFields {
checkWidgetIsVisible(fieldId) {
const fieldElement = element.all(by.css(`adf-form-field div[id='field-${fieldId}-container']`)).first();
Util.waitUntilElementIsVisible(fieldElement);
BrowserVisibility.waitUntilElementIsVisible(fieldElement);
}
checkWidgetIsHidden(fieldId) {
const hiddenElement = element(by.css(`adf-form-field div[id='field-${fieldId}-container'][hidden]`));
Util.waitUntilElementIsVisible(hiddenElement);
BrowserVisibility.waitUntilElementIsVisible(hiddenElement);
}
getWidget(fieldId) {
const widget = element(by.css(`adf-form-field div[id='field-${fieldId}-container']`));
Util.waitUntilElementIsVisible(widget);
BrowserVisibility.waitUntilElementIsVisible(widget);
return widget;
}
getFieldValue(fieldId, valueLocatorParam?: any) {
const value = this.getWidget(fieldId).element(valueLocatorParam || this.valueLocator);
Util.waitUntilElementIsVisible(value);
BrowserVisibility.waitUntilElementIsVisible(value);
return value.getAttribute('value');
}
getFieldLabel(fieldId, labelLocatorParam?: any) {
const label = this.getWidget(fieldId).all(labelLocatorParam || this.labelLocator).first();
Util.waitUntilElementIsVisible(label);
BrowserVisibility.waitUntilElementIsVisible(label);
return label.getText();
}
@@ -76,96 +76,96 @@ export class FormFields {
getFieldText(fieldId, labelLocatorParam?: any) {
const label = this.getWidget(fieldId).element(labelLocatorParam || this.labelLocator);
Util.waitUntilElementIsVisible(label);
BrowserVisibility.waitUntilElementIsVisible(label);
return label.getText();
}
getFieldPlaceHolder(fieldId, locator = 'input') {
const placeHolderLocator = element(by.css(`${locator}#${fieldId}`)).getAttribute('placeholder');
Util.waitUntilElementIsVisible(placeHolderLocator);
BrowserVisibility.waitUntilElementIsVisible(placeHolderLocator);
return placeHolderLocator;
}
checkFieldValue(locator, field, val) {
Util.waitUntilElementHasValue(element(locator(field)), val);
BrowserVisibility.waitUntilElementHasValue(element(locator(field)), val);
return this;
}
refreshForm() {
Util.waitUntilElementIsVisible(this.refreshButton);
BrowserVisibility.waitUntilElementIsVisible(this.refreshButton);
this.refreshButton.click();
return this;
}
saveForm() {
Util.waitUntilElementIsVisible(this.saveButton);
Util.waitUntilElementIsClickable(this.saveButton);
BrowserVisibility.waitUntilElementIsVisible(this.saveButton);
BrowserVisibility.waitUntilElementIsClickable(this.saveButton);
this.saveButton.click();
return this;
}
noFormIsDisplayed() {
Util.waitUntilElementIsNotOnPage(this.formContent);
BrowserVisibility.waitUntilElementIsNotOnPage(this.formContent);
return this;
}
checkFormIsDisplayed() {
Util.waitUntilElementIsVisible(this.formContent);
BrowserVisibility.waitUntilElementIsVisible(this.formContent);
return this;
}
getNoFormMessage() {
Util.waitUntilElementIsVisible(this.noFormMessage);
BrowserVisibility.waitUntilElementIsVisible(this.noFormMessage);
return this.noFormMessage.getText();
}
getCompletedTaskNoFormMessage() {
Util.waitUntilElementIsVisible(this.completedTaskNoFormMessage);
BrowserVisibility.waitUntilElementIsVisible(this.completedTaskNoFormMessage);
return this.completedTaskNoFormMessage.getText();
}
clickOnAttachFormButton() {
Util.waitUntilElementIsVisible(this.attachFormButton);
BrowserVisibility.waitUntilElementIsVisible(this.attachFormButton);
this.attachFormButton.click();
return this;
}
selectForm(formName) {
Util.waitUntilElementIsVisible(this.selectFormDropDownArrow);
BrowserVisibility.waitUntilElementIsVisible(this.selectFormDropDownArrow);
this.selectFormDropDownArrow.click();
Util.waitUntilElementIsVisible(this.selectFormContent);
BrowserVisibility.waitUntilElementIsVisible(this.selectFormContent);
this.selectFormFromDropDown(formName);
return this;
}
selectFormFromDropDown(formName) {
const formNameElement = element(by.cssContainingText('span', formName));
Util.waitUntilElementIsVisible(formNameElement);
BrowserVisibility.waitUntilElementIsVisible(formNameElement);
formNameElement.click();
}
checkWidgetIsReadOnlyMode(fieldId) {
const widget = element(by.css(`adf-form-field div[id='field-${fieldId}-container']`));
const widgetReadOnly = widget.element(by.css('div[class*="adf-readonly"]'));
Util.waitUntilElementIsVisible(widgetReadOnly);
BrowserVisibility.waitUntilElementIsVisible(widgetReadOnly);
return widgetReadOnly;
}
completeForm() {
Util.waitUntilElementIsVisible(this.completeButton);
BrowserVisibility.waitUntilElementIsVisible(this.completeButton);
return this.completeButton.click();
}
setValueInInputById(fieldId, value) {
const input = element(by.id(fieldId));
Util.waitUntilElementIsVisible(input);
BrowserVisibility.waitUntilElementIsVisible(input);
input.clear();
input.sendKeys(value);
return this;
}
isCompleteFormButtonDisabled() {
Util.waitUntilElementIsVisible(this.completeButton);
BrowserVisibility.waitUntilElementIsVisible(this.completeButton);
return this.completeButton.getAttribute('disabled');
}
}

View File

@@ -16,28 +16,28 @@
*/
import { element, by } from 'protractor';
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class FormPage {
errorLog = element(by.css('div[class*="console"]'));
checkErrorMessageForWidgetIsDisplayed(errorMessage) {
return Util.waitUntilElementIsVisible(element(by.cssContainingText('.adf-error-text', errorMessage)));
return BrowserVisibility.waitUntilElementIsVisible(element(by.cssContainingText('.adf-error-text', errorMessage)));
}
checkErrorMessageForWidgetIsNotDisplayed(errorMessage) {
return Util.waitUntilElementIsNotVisible(element(by.cssContainingText('.adf-error-text', errorMessage)));
return BrowserVisibility.waitUntilElementIsNotVisible(element(by.cssContainingText('.adf-error-text', errorMessage)));
}
checkErrorLogMessage(errorMessage) {
Util.waitUntilElementIsVisible(this.errorLog);
return Util.waitUntilElementIsVisible(element(by.cssContainingText('div[class*="console"] p', errorMessage)));
BrowserVisibility.waitUntilElementIsVisible(this.errorLog);
return BrowserVisibility.waitUntilElementIsVisible(element(by.cssContainingText('div[class*="console"] p', errorMessage)));
}
checkErrorMessageIsNotDisplayed(errorMessage) {
Util.waitUntilElementIsVisible(this.errorLog);
return Util.waitUntilElementIsNotVisible(element(by.cssContainingText('div[class*="console"] p', errorMessage)));
BrowserVisibility.waitUntilElementIsVisible(this.errorLog);
return BrowserVisibility.waitUntilElementIsNotVisible(element(by.cssContainingText('div[class*="console"] p', errorMessage)));
}
}

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { by, element, protractor } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class ProcessDetailsPage {
@@ -49,88 +49,88 @@ export class ProcessDetailsPage {
taskTitle = element(by.css('h2[class="adf-activiti-task-details__header"]'));
checkDetailsAreDisplayed() {
Util.waitUntilElementIsVisible(this.processStatusField);
Util.waitUntilElementIsVisible(this.processEndDateField);
Util.waitUntilElementIsVisible(this.processCategoryField);
Util.waitUntilElementIsVisible(this.processBusinessKeyField);
Util.waitUntilElementIsVisible(this.processCreatedByField);
Util.waitUntilElementIsVisible(this.processCreatedField);
Util.waitUntilElementIsVisible(this.processIdField);
Util.waitUntilElementIsVisible(this.processDescription);
Util.waitUntilElementIsVisible(this.showDiagramButton);
Util.waitUntilElementIsVisible(this.activeTask);
Util.waitUntilElementIsVisible(this.cancelProcessButton);
Util.waitUntilElementIsVisible(this.commentInput);
Util.waitUntilElementIsVisible(this.auditLogButton);
BrowserVisibility.waitUntilElementIsVisible(this.processStatusField);
BrowserVisibility.waitUntilElementIsVisible(this.processEndDateField);
BrowserVisibility.waitUntilElementIsVisible(this.processCategoryField);
BrowserVisibility.waitUntilElementIsVisible(this.processBusinessKeyField);
BrowserVisibility.waitUntilElementIsVisible(this.processCreatedByField);
BrowserVisibility.waitUntilElementIsVisible(this.processCreatedField);
BrowserVisibility.waitUntilElementIsVisible(this.processIdField);
BrowserVisibility.waitUntilElementIsVisible(this.processDescription);
BrowserVisibility.waitUntilElementIsVisible(this.showDiagramButton);
BrowserVisibility.waitUntilElementIsVisible(this.activeTask);
BrowserVisibility.waitUntilElementIsVisible(this.cancelProcessButton);
BrowserVisibility.waitUntilElementIsVisible(this.commentInput);
BrowserVisibility.waitUntilElementIsVisible(this.auditLogButton);
return this;
}
checkProcessTitleIsDisplayed() {
Util.waitUntilElementIsVisible(this.processTitle);
BrowserVisibility.waitUntilElementIsVisible(this.processTitle);
return this.processTitle.getText();
}
checkProcessDetailsMessage() {
Util.waitUntilElementIsVisible(this.processDetailsMessage);
BrowserVisibility.waitUntilElementIsVisible(this.processDetailsMessage);
return this.processDetailsMessage.getText();
}
getProcessStatus() {
Util.waitUntilElementIsVisible(this.processStatusField);
BrowserVisibility.waitUntilElementIsVisible(this.processStatusField);
return this.processStatusField.getText();
}
getEndDate() {
Util.waitUntilElementIsVisible(this.processEndDateField);
BrowserVisibility.waitUntilElementIsVisible(this.processEndDateField);
return this.processEndDateField.getText();
}
getProcessCategory() {
Util.waitUntilElementIsVisible(this.processCategoryField);
BrowserVisibility.waitUntilElementIsVisible(this.processCategoryField);
return this.processCategoryField.getText();
}
getBusinessKey() {
Util.waitUntilElementIsVisible(this.processBusinessKeyField);
BrowserVisibility.waitUntilElementIsVisible(this.processBusinessKeyField);
return this.processBusinessKeyField.getText();
}
getCreatedBy() {
Util.waitUntilElementIsVisible(this.processCreatedByField);
BrowserVisibility.waitUntilElementIsVisible(this.processCreatedByField);
return this.processCreatedByField.getText();
}
getCreated() {
Util.waitUntilElementIsVisible(this.processCreatedField);
BrowserVisibility.waitUntilElementIsVisible(this.processCreatedField);
return this.processCreatedField.getText();
}
getId() {
Util.waitUntilElementIsVisible(this.processIdField);
BrowserVisibility.waitUntilElementIsVisible(this.processIdField);
return this.processIdField.getText();
}
getProcessDescription() {
Util.waitUntilElementIsVisible(this.processDescription);
BrowserVisibility.waitUntilElementIsVisible(this.processDescription);
return this.processDescription.getText();
}
clickShowDiagram() {
Util.waitUntilElementIsVisible(this.showDiagramButton);
Util.waitUntilElementIsClickable(this.showDiagramButton);
BrowserVisibility.waitUntilElementIsVisible(this.showDiagramButton);
BrowserVisibility.waitUntilElementIsClickable(this.showDiagramButton);
this.showDiagramButton.click();
Util.waitUntilElementIsVisible(this.diagramCanvas);
Util.waitUntilElementIsVisible(this.backButton);
Util.waitUntilElementIsClickable(this.backButton);
BrowserVisibility.waitUntilElementIsVisible(this.diagramCanvas);
BrowserVisibility.waitUntilElementIsVisible(this.backButton);
BrowserVisibility.waitUntilElementIsClickable(this.backButton);
this.backButton.click();
}
checkShowDiagramIsDisabled() {
Util.waitUntilElementIsVisible(this.showDiagramButtonDisabled);
BrowserVisibility.waitUntilElementIsVisible(this.showDiagramButtonDisabled);
}
addComment(comment) {
Util.waitUntilElementIsVisible(this.commentInput);
BrowserVisibility.waitUntilElementIsVisible(this.commentInput);
this.commentInput.sendKeys(comment);
this.commentInput.sendKeys(protractor.Key.ENTER);
return this;
@@ -138,37 +138,37 @@ export class ProcessDetailsPage {
checkCommentIsDisplayed(comment) {
const commentInserted = element(by.cssContainingText('div[id="comment-message"]', comment));
Util.waitUntilElementIsVisible(commentInserted);
BrowserVisibility.waitUntilElementIsVisible(commentInserted);
return this;
}
clickAuditLogButton() {
Util.waitUntilElementIsVisible(this.auditLogButton);
Util.waitUntilElementIsClickable(this.auditLogButton);
BrowserVisibility.waitUntilElementIsVisible(this.auditLogButton);
BrowserVisibility.waitUntilElementIsClickable(this.auditLogButton);
this.auditLogButton.click();
}
clickCancelProcessButton() {
Util.waitUntilElementIsVisible(this.cancelProcessButton);
Util.waitUntilElementIsClickable(this.cancelProcessButton);
BrowserVisibility.waitUntilElementIsVisible(this.cancelProcessButton);
BrowserVisibility.waitUntilElementIsClickable(this.cancelProcessButton);
this.cancelProcessButton.click();
}
clickOnActiveTask() {
Util.waitUntilElementIsVisible(this.activeTask);
BrowserVisibility.waitUntilElementIsVisible(this.activeTask);
return this.activeTask.click();
}
clickOnCompletedTask() {
Util.waitUntilElementIsClickable(this.completedTask);
BrowserVisibility.waitUntilElementIsClickable(this.completedTask);
return this.completedTask.click();
}
checkActiveTaskTitleIsDisplayed() {
Util.waitUntilElementIsVisible(this.taskTitle);
BrowserVisibility.waitUntilElementIsVisible(this.taskTitle);
}
checkProcessDetailsCard() {
Util.waitUntilElementIsVisible(this.propertiesList);
BrowserVisibility.waitUntilElementIsVisible(this.propertiesList);
}
}

View File

@@ -15,10 +15,10 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { element, by } from 'protractor';
import { StartProcessPage } from './startProcessPage';
import { DataTableComponentPage } from '../dataTableComponentPage';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class ProcessFiltersPage {
@@ -44,52 +44,52 @@ export class ProcessFiltersPage {
}
clickRunningFilterButton() {
Util.waitUntilElementIsVisible(this.runningFilter);
Util.waitUntilElementIsClickable(this.runningFilter);
BrowserVisibility.waitUntilElementIsVisible(this.runningFilter);
BrowserVisibility.waitUntilElementIsClickable(this.runningFilter);
return this.runningFilter.click();
}
clickCompletedFilterButton() {
Util.waitUntilElementIsVisible(this.completedFilter);
Util.waitUntilElementIsClickable(this.completedFilter);
BrowserVisibility.waitUntilElementIsVisible(this.completedFilter);
BrowserVisibility.waitUntilElementIsClickable(this.completedFilter);
this.completedFilter.click();
expect(this.completedFilter.isEnabled()).toBe(true);
}
clickAllFilterButton() {
Util.waitUntilElementIsVisible(this.allFilter);
Util.waitUntilElementIsClickable(this.allFilter);
BrowserVisibility.waitUntilElementIsVisible(this.allFilter);
BrowserVisibility.waitUntilElementIsClickable(this.allFilter);
this.allFilter.click();
expect(this.allFilter.isEnabled()).toBe(true);
}
clickCreateProcessButton() {
Util.waitUntilElementIsOnPage(this.accordionMenu);
Util.waitUntilElementIsVisible(this.processesPage);
Util.waitUntilElementIsPresent(this.createProcessButton);
BrowserVisibility.waitUntilElementIsOnPage(this.accordionMenu);
BrowserVisibility.waitUntilElementIsVisible(this.processesPage);
BrowserVisibility.waitUntilElementIsPresent(this.createProcessButton);
this.createProcessButton.click();
}
clickNewProcessDropdown() {
Util.waitUntilElementIsOnPage(this.buttonWindow);
Util.waitUntilElementIsVisible(this.newProcessButton);
Util.waitUntilElementIsClickable(this.newProcessButton);
BrowserVisibility.waitUntilElementIsOnPage(this.buttonWindow);
BrowserVisibility.waitUntilElementIsVisible(this.newProcessButton);
BrowserVisibility.waitUntilElementIsClickable(this.newProcessButton);
this.newProcessButton.click();
}
checkNoContentMessage() {
return Util.waitUntilElementIsVisible(this.noContentMessage);
return BrowserVisibility.waitUntilElementIsVisible(this.noContentMessage);
}
selectFromProcessList(title) {
const processName = element.all(by.css(`div[data-automation-id="text_${title}"]`)).first();
Util.waitUntilElementIsVisible(processName);
BrowserVisibility.waitUntilElementIsVisible(processName);
processName.click();
}
checkFilterIsHighlighted(filterName) {
const processNameHighlighted = element(by.css(`mat-list-item.adf-active span[data-automation-id='${filterName}_filter']`));
Util.waitUntilElementIsVisible(processNameHighlighted);
BrowserVisibility.waitUntilElementIsVisible(processNameHighlighted);
}
numberOfProcessRows() {
@@ -97,7 +97,7 @@ export class ProcessFiltersPage {
}
waitForTableBody() {
Util.waitUntilElementIsVisible(this.tableBody);
BrowserVisibility.waitUntilElementIsVisible(this.tableBody);
}
/**
@@ -115,26 +115,26 @@ export class ProcessFiltersPage {
checkFilterIsDisplayed(name) {
const filterName = element(by.css(`span[data-automation-id='${name}_filter']`));
return Util.waitUntilElementIsVisible(filterName);
return BrowserVisibility.waitUntilElementIsVisible(filterName);
}
checkFilterHasNoIcon(name) {
const filterName = element(by.css(`span[data-automation-id='${name}_filter']`));
Util.waitUntilElementIsVisible(filterName);
return Util.waitUntilElementIsNotOnPage(filterName.element(this.processIcon));
BrowserVisibility.waitUntilElementIsVisible(filterName);
return BrowserVisibility.waitUntilElementIsNotOnPage(filterName.element(this.processIcon));
}
getFilterIcon(name) {
const filterName = element(by.css(`span[data-automation-id='${name}_filter']`));
Util.waitUntilElementIsVisible(filterName);
BrowserVisibility.waitUntilElementIsVisible(filterName);
const icon = filterName.element(this.processIcon);
Util.waitUntilElementIsVisible(icon);
BrowserVisibility.waitUntilElementIsVisible(icon);
return icon.getText();
}
checkFilterIsNotDisplayed(name) {
const filterName = element(by.css(`span[data-automation-id='${name}_filter']`));
return Util.waitUntilElementIsNotVisible(filterName);
return BrowserVisibility.waitUntilElementIsNotVisible(filterName);
}
checkProcessesSortedByNameAsc() {

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { BrowserVisibility } from '@alfresco/adf-testing';
import { element, by } from 'protractor';
export class ProcessListPage {
@@ -24,12 +24,12 @@ export class ProcessListPage {
processInstanceList = element(by.css('adf-process-instance-list'));
checkProcessListTitleIsDisplayed() {
Util.waitUntilElementIsVisible(this.processListTitle);
BrowserVisibility.waitUntilElementIsVisible(this.processListTitle);
return this.processListTitle.getText();
}
checkProcessListIsDisplayed() {
Util.waitUntilElementIsVisible(this.processInstanceList);
BrowserVisibility.waitUntilElementIsVisible(this.processInstanceList);
}
}

View File

@@ -15,10 +15,10 @@
* limitations under the License.
*/
import { Util } from '../../../util/util';
import { AppNavigationBarPage } from './appNavigationBarPage';
import { element, by } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class ProcessServicesPage {
@@ -28,52 +28,52 @@ export class ProcessServicesPage {
descriptionLocator = by.css('mat-card-subtitle[class*="subtitle"]');
checkApsContainer() {
Util.waitUntilElementIsVisible(this.apsAppsContainer);
BrowserVisibility.waitUntilElementIsVisible(this.apsAppsContainer);
}
goToApp(applicationName) {
const app = element(by.css('mat-card[title="' + applicationName + '"]'));
Util.waitUntilElementIsVisible(app);
BrowserVisibility.waitUntilElementIsVisible(app);
app.click();
return new AppNavigationBarPage();
}
goToTaskApp() {
Util.waitUntilElementIsVisible(this.taskApp);
BrowserVisibility.waitUntilElementIsVisible(this.taskApp);
this.taskApp.click();
return new AppNavigationBarPage();
}
getAppIconType(applicationName) {
const app = element(by.css('mat-card[title="' + applicationName + '"]'));
Util.waitUntilElementIsVisible(app);
BrowserVisibility.waitUntilElementIsVisible(app);
const iconType = app.element(this.iconTypeLocator);
Util.waitUntilElementIsVisible(iconType);
BrowserVisibility.waitUntilElementIsVisible(iconType);
return iconType.getText();
}
getBackgroundColor(applicationName) {
const app = element(by.css('mat-card[title="' + applicationName + '"]'));
Util.waitUntilElementIsVisible(app);
BrowserVisibility.waitUntilElementIsVisible(app);
return app.getCssValue('background-color');
}
getDescription(applicationName) {
const app = element(by.css('mat-card[title="' + applicationName + '"]'));
Util.waitUntilElementIsVisible(app);
BrowserVisibility.waitUntilElementIsVisible(app);
const description = app.element(this.descriptionLocator);
Util.waitUntilElementIsVisible(description);
BrowserVisibility.waitUntilElementIsVisible(description);
return description.getText();
}
checkAppIsNotDisplayed(applicationName) {
const app = element(by.css('mat-card[title="' + applicationName + '"]'));
return Util.waitUntilElementIsNotOnPage(app);
return BrowserVisibility.waitUntilElementIsNotOnPage(app);
}
checkAppIsDisplayed(applicationName) {
const app = element(by.css('mat-card[title="' + applicationName + '"]'));
return Util.waitUntilElementIsVisible(app);
return BrowserVisibility.waitUntilElementIsVisible(app);
}
}

Some files were not shown because too many files have changed in this diff Show More