[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", "hardend",
"filedata", "filedata",
"uncheck", "uncheck",
"subfolders" "subfolders",
"ECMBPM"
], ],
"dictionaries": [ "dictionaries": [
"html", "html",

View File

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

View File

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

View File

@@ -24,7 +24,7 @@ import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { FileModel } from '../../models/ACS/fileModel'; import { FileModel } from '../../models/ACS/fileModel';
import { Util } from '../../util/util'; import { StringUtil } from '@alfresco/adf-testing';
describe('Document List Component - Actions', () => { describe('Document List Component - Actions', () => {
@@ -59,7 +59,7 @@ describe('Document List Component - Actions', () => {
beforeEach(async (done) => { beforeEach(async (done) => {
acsUser = new AcsUserModel(); 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.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser); await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser);
await this.alfrescoJsApi.login(acsUser.id, acsUser.password); await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
@@ -147,8 +147,8 @@ describe('Document List Component - Actions', () => {
beforeEach(async (done) => { beforeEach(async (done) => {
acsUser = new AcsUserModel(); acsUser = new AcsUserModel();
folderName = `TATSUMAKY_${Util.generateRandomString(5)}_SENPOUKYAKU`; folderName = `TATSUMAKY_${StringUtil.generateRandomString(5)}_SENPOUKYAKU`;
secondFolderName = `TATSUMAKY_${Util.generateRandomString(5)}_SENPOUKYAKU`; secondFolderName = `TATSUMAKY_${StringUtil.generateRandomString(5)}_SENPOUKYAKU`;
await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser); await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser);
await this.alfrescoJsApi.login(acsUser.id, acsUser.password); 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 { ViewerPage } from '../../pages/adf/viewerPage';
import TestConfig = require('../../test.config'); import TestConfig = require('../../test.config');
import resources = require('../../util/resources'); import resources = require('../../util/resources');
import { Util } from '../../util/util'; import { StringUtil } from '@alfresco/adf-testing';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { ErrorPage } from '../../pages/adf/errorPage'; import { ErrorPage } from '../../pages/adf/errorPage';
@@ -74,8 +74,8 @@ describe('Document List Component', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
acsUser = new AcsUserModel(); acsUser = new AcsUserModel();
const siteName = `PRIVATE_TEST_SITE_${Util.generateRandomString(5)}`; const siteName = `PRIVATE_TEST_SITE_${StringUtil.generateRandomString(5)}`;
const folderName = `MEESEEKS_${Util.generateRandomString(5)}`; const folderName = `MEESEEKS_${StringUtil.generateRandomString(5)}`;
const privateSiteBody = { visibility: 'PRIVATE', title: siteName }; const privateSiteBody = { visibility: 'PRIVATE', title: siteName };
await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
@@ -149,7 +149,7 @@ describe('Document List Component', () => {
acsUser = new AcsUserModel(); acsUser = new AcsUserModel();
/* cspell:disable-next-line */ /* 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); await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
@@ -331,7 +331,7 @@ describe('Document List Component', () => {
}); });
acsUser = new AcsUserModel(); acsUser = new AcsUserModel();
/* cspell:disable-next-line */ /* 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.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser); await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser);
await this.alfrescoJsApi.login(acsUser.id, acsUser.password); 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) => { it('[C279970] Should display Islocked field for folders', async (done) => {
acsUser = new AcsUserModel(); acsUser = new AcsUserModel();
const folderNameA = `MEESEEKS_${Util.generateRandomString(5)}_LOOK_AT_ME`; const folderNameA = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`;
const folderNameB = `MEESEEKS_${Util.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.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser); await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser);
await this.alfrescoJsApi.login(acsUser.id, acsUser.password); await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
@@ -455,7 +455,7 @@ describe('Document List Component', () => {
'name': resources.Files.ADF_DOCUMENTS.DOCX.file_name, 'name': resources.Files.ADF_DOCUMENTS.DOCX.file_name,
'location': resources.Files.ADF_DOCUMENTS.DOCX.file_location '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; let filePdfNode, fileTestNode, fileDocxNode, folderNode;
beforeAll(async (done) => { beforeAll(async (done) => {
@@ -562,7 +562,7 @@ describe('Document List Component', () => {
'name': resources.Files.ADF_DOCUMENTS.DOCX.file_name, 'name': resources.Files.ADF_DOCUMENTS.DOCX.file_name,
'location': resources.Files.ADF_DOCUMENTS.DOCX.file_location '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; let filePdfNode, fileTestNode, fileDocxNode, folderNode, filePDFSubNode;
beforeAll(async (done) => { beforeAll(async (done) => {

View File

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

View File

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

View File

@@ -16,7 +16,7 @@
*/ */
import CONSTANTS = require('../../util/constants'); import CONSTANTS = require('../../util/constants');
import { Util } from '../../util/util'; import { StringUtil } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
@@ -38,7 +38,7 @@ describe('Unshare file', () => {
const navBar = new NavigationBarPage(); const navBar = new NavigationBarPage();
const errorPage = new ErrorPage(); const errorPage = new ErrorPage();
const shareDialog = new ShareDialog(); 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 acsUser = new AcsUserModel();
const uploadActions = new UploadActions(); const uploadActions = new UploadActions();
@@ -63,10 +63,10 @@ describe('Unshare file', () => {
}; };
nodeBody = { nodeBody = {
name: Util.generateRandomString(5), name: StringUtil.generateRandomString(5),
nodeType: 'cm:content', nodeType: 'cm:content',
properties: { 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 { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../actions/ACS/upload.actions'; import { UploadActions } from '../actions/ACS/upload.actions';
import { Util } from '../util/util'; import { StringUtil } from '@alfresco/adf-testing';
import { browser } from 'protractor'; import { browser } from 'protractor';
describe('Tag component', () => { describe('Tag component', () => {
@@ -40,14 +40,14 @@ describe('Tag component', () => {
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
const uploadActions = new UploadActions(); const uploadActions = new UploadActions();
const pdfFileModel = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name }); const pdfFileModel = new FileModel({ 'name': resources.Files.ADF_DOCUMENTS.PDF.file_name });
const deleteFile = new FileModel({ 'name': Util.generateRandomString() }); const deleteFile = new FileModel({ 'name': StringUtil.generateRandomString() });
const sameTag = Util.generateRandomStringToLowerCase(); const sameTag = StringUtil.generateRandomString().toLowerCase();
const tagList = [ const tagList = [
Util.generateRandomStringToLowerCase(), StringUtil.generateRandomString().toLowerCase(),
Util.generateRandomStringToLowerCase(), StringUtil.generateRandomString().toLowerCase(),
Util.generateRandomStringToLowerCase(), StringUtil.generateRandomString().toLowerCase(),
Util.generateRandomStringToLowerCase()]; StringUtil.generateRandomString().toLowerCase()];
const tags = [ const tags = [
{ tag: 'test-tag-01' }, { tag: 'test-tag-02' }, { tag: 'test-tag-03' }, { tag: 'test-tag-04' }, { tag: 'test-tag-05' }, { 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-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' }]; { 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 uppercaseTag = StringUtil.generateRandomString().toUpperCase();
const digitsTag = Util.generateRandomStringDigits(); const digitsTag = StringUtil.generateRandomStringDigits();
const nonLatinTag = Util.generateRandomStringNonLatin(); const nonLatinTag = StringUtil.generateRandomStringNonLatin();
let pdfUploadedFile, nodeId; let pdfUploadedFile, nodeId;
beforeAll(async (done) => { beforeAll(async (done) => {
@@ -160,7 +160,7 @@ describe('Tag component', () => {
}); });
it('[C260375] Should be possible to delete a tag', () => { it('[C260375] Should be possible to delete a tag', () => {
const deleteTag = Util.generateRandomStringToUpperCase(); const deleteTag = StringUtil.generateRandomString().toUpperCase();
tagPage.insertNodeId(deleteFile.id); tagPage.insertNodeId(deleteFile.id);

View File

@@ -28,7 +28,7 @@ import { FolderModel } from '../../models/ACS/folderModel';
import TestConfig = require('../../test.config'); import TestConfig = require('../../test.config');
import resources = require('../../util/resources'); import resources = require('../../util/resources');
import { Util } from '../../util/util'; import { StringUtil } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; 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 () => { 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 () => { const folderUploadedModel = await browser.controlFlow().execute(async () => {
return await uploadActions.createFolder(this.alfrescoJsApi, folderName, '-my-'); return await uploadActions.createFolder(this.alfrescoJsApi, folderName, '-my-');

View File

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

View File

@@ -32,6 +32,7 @@ import { UploadActions } from '../../actions/ACS/upload.actions';
import { Util } from '../../util/util'; import { Util } from '../../util/util';
import path = require('path'); import path = require('path');
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { BrowserVisibility } from '@alfresco/adf-testing';
describe('Version component actions', () => { describe('Version component actions', () => {
@@ -86,14 +87,14 @@ describe('Version component actions', () => {
versionManagePage.clickActionButton('1.0'); versionManagePage.clickActionButton('1.0');
expect(element(by.css(`[id="adf-version-list-action-delete-1.0"]`)).isEnabled()).toBe(false); expect(element(by.css(`[id="adf-version-list-action-delete-1.0"]`)).isEnabled()).toBe(false);
versionManagePage.closeActionButton(); 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', () => { it('[C280004] Should not be possible restore the version if there is only one version', () => {
versionManagePage.clickActionButton('1.0'); versionManagePage.clickActionButton('1.0');
expect(element(by.css(`[id="adf-version-list-action-restore-1.0"]`)).isEnabled()).toBe(false); expect(element(by.css(`[id="adf-version-list-action-restore-1.0"]`)).isEnabled()).toBe(false);
versionManagePage.closeActionButton(); 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', () => { 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 { UploadActions } from '../../actions/ACS/upload.actions';
import { NodeActions } from '../../actions/ACS/node.actions'; import { NodeActions } from '../../actions/ACS/node.actions';
import { Util } from '../../util/util'; import { StringUtil } from '@alfresco/adf-testing';
import CONSTANTS = require('../../util/constants'); import CONSTANTS = require('../../util/constants');
describe('Version component permissions', () => { describe('Version component permissions', () => {
@@ -89,7 +89,7 @@ describe('Version component permissions', () => {
await this.alfrescoJsApi.core.peopleApi.addPerson(fileCreatorUser); await this.alfrescoJsApi.core.peopleApi.addPerson(fileCreatorUser);
site = await this.alfrescoJsApi.core.sitesApi.createSite({ site = await this.alfrescoJsApi.core.sitesApi.createSite({
title: Util.generateRandomString(), title: StringUtil.generateRandomString(),
visibility: 'PUBLIC' visibility: 'PUBLIC'
}); });

View File

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

View File

@@ -29,8 +29,8 @@ import resources = require('../../util/resources');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { Util } from '../../util/util';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { BrowserVisibility } from '@alfresco/adf-testing';
describe('Version component', () => { describe('Version component', () => {
@@ -109,25 +109,25 @@ describe('Version component', () => {
browser.driver.sleep(300); browser.driver.sleep(300);
Util.waitUntilElementIsVisible(versionManagePage.cancelButton); BrowserVisibility.waitUntilElementIsVisible(versionManagePage.cancelButton);
Util.waitUntilElementIsVisible(versionManagePage.majorRadio); BrowserVisibility.waitUntilElementIsVisible(versionManagePage.majorRadio);
Util.waitUntilElementIsVisible(versionManagePage.minorRadio); BrowserVisibility.waitUntilElementIsVisible(versionManagePage.minorRadio);
Util.waitUntilElementIsVisible(versionManagePage.cancelButton); BrowserVisibility.waitUntilElementIsVisible(versionManagePage.cancelButton);
Util.waitUntilElementIsVisible(versionManagePage.commentText); BrowserVisibility.waitUntilElementIsVisible(versionManagePage.commentText);
Util.waitUntilElementIsVisible(versionManagePage.uploadNewVersionButton); BrowserVisibility.waitUntilElementIsVisible(versionManagePage.uploadNewVersionButton);
versionManagePage.cancelButton.click(); versionManagePage.cancelButton.click();
browser.driver.sleep(300); browser.driver.sleep(300);
Util.waitUntilElementIsNotVisible(versionManagePage.cancelButton); BrowserVisibility.waitUntilElementIsNotVisible(versionManagePage.cancelButton);
Util.waitUntilElementIsNotVisible(versionManagePage.majorRadio); BrowserVisibility.waitUntilElementIsNotVisible(versionManagePage.majorRadio);
Util.waitUntilElementIsNotVisible(versionManagePage.minorRadio); BrowserVisibility.waitUntilElementIsNotVisible(versionManagePage.minorRadio);
Util.waitUntilElementIsNotVisible(versionManagePage.cancelButton); BrowserVisibility.waitUntilElementIsNotVisible(versionManagePage.cancelButton);
Util.waitUntilElementIsNotVisible(versionManagePage.commentText); BrowserVisibility.waitUntilElementIsNotVisible(versionManagePage.commentText);
Util.waitUntilElementIsNotVisible(versionManagePage.uploadNewVersionButton); 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', () => { 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 TestConfig = require('../../test.config');
import { CardViewComponentPage } from '../../pages/adf/cardViewComponentPage'; import { CardViewComponentPage } from '../../pages/adf/cardViewComponentPage';
import { Util } from '../../util/util'; import { BrowserVisibility } from '@alfresco/adf-testing';
describe('CardView Component', () => { describe('CardView Component', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
@@ -47,7 +47,7 @@ describe('CardView Component', () => {
it('[C279938] Should the label be present', () => { it('[C279938] Should the label be present', () => {
const label = element(by.css('div[data-automation-id="card-key-value-pairs-label-key-value-pairs"]')); 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', () => { it('[C279898] Should be possible edit key-value pair properties', () => {
@@ -69,7 +69,7 @@ describe('CardView Component', () => {
it('[C279939] Should the label be present', () => { it('[C279939] Should the label be present', () => {
const label = element(by.css('div[data-automation-id="card-select-label-select"]')); 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', () => { it('[C279899] Should be possible edit selectBox item', () => {
@@ -86,7 +86,7 @@ describe('CardView Component', () => {
it('[C279937] Should the label be present', () => { it('[C279937] Should the label be present', () => {
const label = element(by.css('div[data-automation-id="card-textitem-label-name"]')); 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', () => { it('[C279943] Should be present a default value', () => {
@@ -117,7 +117,7 @@ describe('CardView Component', () => {
it('[C279940] Should the label be present', () => { it('[C279940] Should the label be present', () => {
const label = element(by.css('div[data-automation-id="card-textitem-label-int"]')); 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', () => { it('[C279945] Should be present a default value', () => {
@@ -191,7 +191,7 @@ describe('CardView Component', () => {
it('[C279941] Should the label be present', () => { it('[C279941] Should the label be present', () => {
const label = element(by.css('div[data-automation-id="card-textitem-label-float"]')); 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', () => { it('[C279952] Should be present a default value', () => {
@@ -241,7 +241,7 @@ describe('CardView Component', () => {
it('[C279942] Should the label be present', () => { it('[C279942] Should the label be present', () => {
const label = element(by.css('div[data-automation-id="card-boolean-label-boolean"]')); 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', () => { 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', () => { it('[C279961] Should the label be present', () => {
const labelDate = element(by.css('div[data-automation-id="card-dateitem-label-date"]')); 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"]')); 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', () => { 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 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')); const editIconData = element(by.css('mat-datetimepicker-toggle'));
Util.waitUntilElementIsNotVisible(editIconText); BrowserVisibility.waitUntilElementIsNotVisible(editIconText);
Util.waitUntilElementIsNotVisible(editIconInt); BrowserVisibility.waitUntilElementIsNotVisible(editIconInt);
Util.waitUntilElementIsNotVisible(editIconFloat); BrowserVisibility.waitUntilElementIsNotVisible(editIconFloat);
Util.waitUntilElementIsNotVisible(editIconKey); BrowserVisibility.waitUntilElementIsNotVisible(editIconKey);
Util.waitUntilElementIsNotVisible(editIconData); BrowserVisibility.waitUntilElementIsNotVisible(editIconData);
}); });
}); });

View File

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

View File

@@ -20,7 +20,7 @@ import { AcsUserModel } from '../models/ACS/acsUserModel';
import TestConfig = require('../test.config'); import TestConfig = require('../test.config');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { ErrorPage } from '../pages/adf/errorPage'; import { ErrorPage } from '../pages/adf/errorPage';
import { browser } from '../../node_modules/protractor'; import { browser } from 'protractor';
describe('Error Component', () => { describe('Error Component', () => {

View File

@@ -259,7 +259,7 @@ describe('Login component', () => {
settingsPage.setProviderEcmBpm(); settingsPage.setProviderEcmBpm();
loginPage.enableLogoSwitch(); loginPage.enableLogoSwitch();
loginPage.enterLogo('https://rawgit.com/Alfresco/alfresco-ng2-components/master/assets/angular2.png'); 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', () => { 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 { 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 { UploadActions } from '../../actions/ACS/upload.actions';
import { LogoutPage } from '../../pages/adf/demo-shell/logoutPage'; import { LogoutPage } from '../../pages/adf/demo-shell/logoutPage';
@@ -64,7 +64,7 @@ describe('Login component - Redirect', () => {
await this.alfrescoJsApi.login(user.id, user.password); 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(); done();
}); });

View File

@@ -18,10 +18,9 @@
import { LoginSSOPage } from '@alfresco/adf-testing'; import { LoginSSOPage } from '@alfresco/adf-testing';
import { SettingsPage } from '../pages/adf/settingsPage'; import { SettingsPage } from '../pages/adf/settingsPage';
import TestConfig = require('../test.config'); import TestConfig = require('../test.config');
import { browser } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { UserInfoPage } from '@alfresco/adf-testing'; import { UserInfoPage } from '@alfresco/adf-testing';
import { Identity } from '../actions/APS-cloud/identity'; import { IdentityService, ApiService } from '@alfresco/adf-testing';
describe('User Info - SSO', () => { describe('User Info - SSO', () => {
@@ -29,21 +28,25 @@ describe('User Info - SSO', () => {
const loginSSOPage = new LoginSSOPage(); const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const userInfoPage = new UserInfoPage(); const userInfoPage = new UserInfoPage();
const identityService: Identity = new Identity();
let silentLogin, identityUser; let silentLogin, identityUser;
let identityService: IdentityService;
beforeAll(async () => { 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(); identityUser = await identityService.createIdentityUser();
silentLogin = false; silentLogin = false;
settingsPage.setProviderEcmSso(TestConfig.adf.url, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin, true, 'alfresco'); settingsPage.setProviderEcmSso(TestConfig.adf.url, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin, true, 'alfresco');
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(identityUser.username, identityUser.password); loginSSOPage.loginSSOIdentityService(identityUser.email, identityUser.password);
}); });
afterAll(async () => { afterAll(async () => {
await identityService.deleteIdentityUser(identityUser.id); await identityService.deleteIdentityUser(identityUser.idIdentityService);
}); });
it('[C290066] Should display UserInfo when login using SSO', () => { 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.getContentHeaderTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getContentTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName); expect(userInfoPage.getContentTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getContentEmail()).toEqual(contentUserModel.email); expect(userInfoPage.getContentEmail()).toEqual(contentUserModel.email);
expect(userInfoPage.getContentJobTitle()).toEqual(contentUserModel.jobTitle); expect(userInfoPage.getContentJobTitle()).toEqual('N/A');
userInfoPage.checkInitialImage(); userInfoPage.checkInitialImage();
userInfoPage.APSProfileImageNotDisplayed(); userInfoPage.APSProfileImageNotDisplayed();
@@ -91,7 +91,7 @@ describe('User Info component', () => {
expect(userInfoPage.getContentHeaderTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName); expect(userInfoPage.getContentHeaderTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getContentTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName); expect(userInfoPage.getContentTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getContentEmail()).toEqual(contentUserModel.email); expect(userInfoPage.getContentEmail()).toEqual(contentUserModel.email);
expect(userInfoPage.getContentJobTitle()).toEqual(contentUserModel.jobTitle); expect(userInfoPage.getContentJobTitle()).toEqual('N/A');
userInfoPage.checkInitialImage(); userInfoPage.checkInitialImage();
userInfoPage.APSProfileImageNotDisplayed(); userInfoPage.APSProfileImageNotDisplayed();
@@ -99,9 +99,9 @@ describe('User Info component', () => {
userInfoPage.clickOnProcessServicesTab(); userInfoPage.clickOnProcessServicesTab();
userInfoPage.checkProcessServicesTabIsSelected(); userInfoPage.checkProcessServicesTabIsSelected();
expect(userInfoPage.getProcessHeaderTitle()).toEqual(processUserModel.firstName + ' ' + processUserModel.lastName); expect(userInfoPage.getProcessHeaderTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getProcessTitle()).toEqual(processUserModel.firstName + ' ' + processUserModel.lastName); expect(userInfoPage.getProcessTitle()).toEqual(contentUserModel.firstName + ' ' + processUserModel.lastName);
expect(userInfoPage.getProcessEmail()).toEqual(processUserModel.email); expect(userInfoPage.getProcessEmail()).toEqual(contentUserModel.email);
userInfoPage.checkInitialImage(); userInfoPage.checkInitialImage();
userInfoPage.APSProfileImageNotDisplayed(); userInfoPage.APSProfileImageNotDisplayed();
@@ -120,7 +120,7 @@ describe('User Info component', () => {
expect(userInfoPage.getContentHeaderTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName); expect(userInfoPage.getContentHeaderTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getContentTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName); expect(userInfoPage.getContentTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
expect(userInfoPage.getContentEmail()).toEqual(contentUserModel.email); expect(userInfoPage.getContentEmail()).toEqual(contentUserModel.email);
expect(userInfoPage.getContentJobTitle()).toEqual(contentUserModel.jobTitle); expect(userInfoPage.getContentJobTitle()).toEqual('N/A');
userInfoPage.checkInitialImage(); userInfoPage.checkInitialImage();
userInfoPage.APSProfileImageNotDisplayed(); userInfoPage.APSProfileImageNotDisplayed();
@@ -150,7 +150,7 @@ describe('User Info component', () => {
it('[C260117] Should display UserInfo with profile image uploaded in ACS', async(done) => { it('[C260117] Should display UserInfo with profile image uploaded in ACS', async(done) => {
browser.controlFlow().execute(async() => { browser.controlFlow().execute(async() => {
await PeopleAPI.updateAvatarViaAPI(contentUserModel, acsAvatarFileModel, '-me-'); await PeopleAPI.updateAvatarViaAPI(contentUserModel, acsAvatarFileModel, '-me-');
await PeopleAPI.getAvatarViaAPI(4, contentUserModel, '-me-', function (result) {}); await PeopleAPI.getAvatarViaAPI(4, contentUserModel, '-me-', function () {});
}); });
loginPage.goToLoginPage(); loginPage.goToLoginPage();

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -17,8 +17,8 @@
import { element, by } from 'protractor'; import { element, by } from 'protractor';
import { Util } from '../../util/util';
import { DataTableComponentPage } from './dataTableComponentPage'; import { DataTableComponentPage } from './dataTableComponentPage';
import { BrowserVisibility } from '@alfresco/adf-testing';
const column = { const column = {
role: 'Role' role: 'Role'
@@ -42,75 +42,75 @@ export class PermissionsPage {
closeButton = element(by.id('add-permission-dialog-close-button')); closeButton = element(by.id('add-permission-dialog-close-button'));
clickCloseButton() { clickCloseButton() {
Util.waitUntilElementIsClickable(this.closeButton); BrowserVisibility.waitUntilElementIsClickable(this.closeButton);
this.closeButton.click(); this.closeButton.click();
} }
checkAddPermissionButtonIsDisplayed() { checkAddPermissionButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.addPermissionButton); BrowserVisibility.waitUntilElementIsVisible(this.addPermissionButton);
} }
clickAddPermissionButton() { clickAddPermissionButton() {
Util.waitUntilElementIsClickable(this.addPermissionButton); BrowserVisibility.waitUntilElementIsClickable(this.addPermissionButton);
return this.addPermissionButton.click(); return this.addPermissionButton.click();
} }
checkAddPermissionDialogIsDisplayed() { checkAddPermissionDialogIsDisplayed() {
Util.waitUntilElementIsVisible(this.addPermissionDialog); BrowserVisibility.waitUntilElementIsVisible(this.addPermissionDialog);
} }
checkSearchUserInputIsDisplayed() { checkSearchUserInputIsDisplayed() {
Util.waitUntilElementIsVisible(this.searchUserInput); BrowserVisibility.waitUntilElementIsVisible(this.searchUserInput);
} }
searchUserOrGroup(name) { searchUserOrGroup(name) {
Util.waitUntilElementIsClickable(this.searchUserInput); BrowserVisibility.waitUntilElementIsClickable(this.searchUserInput);
this.searchUserInput.clear(); this.searchUserInput.clear();
return this.searchUserInput.sendKeys(name); return this.searchUserInput.sendKeys(name);
} }
checkResultListIsDisplayed() { checkResultListIsDisplayed() {
Util.waitUntilElementIsVisible(this.searchResults); BrowserVisibility.waitUntilElementIsVisible(this.searchResults);
} }
clickUserOrGroup(name) { clickUserOrGroup(name) {
const userOrGroupName = element(by.cssContainingText('mat-list-option .mat-list-text', name)); const userOrGroupName = element(by.cssContainingText('mat-list-option .mat-list-text', name));
Util.waitUntilElementIsVisible(userOrGroupName); BrowserVisibility.waitUntilElementIsVisible(userOrGroupName);
userOrGroupName.click(); userOrGroupName.click();
Util.waitUntilElementIsVisible(this.addButton); BrowserVisibility.waitUntilElementIsVisible(this.addButton);
return this.addButton.click(); return this.addButton.click();
} }
checkUserOrGroupIsAdded(name) { checkUserOrGroupIsAdded(name) {
const userOrGroupName = element(by.css('div[data-automation-id="text_' + name + '"]')); const userOrGroupName = element(by.css('div[data-automation-id="text_' + name + '"]'));
Util.waitUntilElementIsVisible(userOrGroupName); BrowserVisibility.waitUntilElementIsVisible(userOrGroupName);
} }
checkUserOrGroupIsDeleted(name) { checkUserOrGroupIsDeleted(name) {
const userOrGroupName = element(by.css('div[data-automation-id="text_' + name + '"]')); const userOrGroupName = element(by.css('div[data-automation-id="text_' + name + '"]'));
Util.waitUntilElementIsNotVisible(userOrGroupName); BrowserVisibility.waitUntilElementIsNotVisible(userOrGroupName);
} }
checkPermissionInheritedButtonIsDisplayed() { checkPermissionInheritedButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.permissionInheritedButton); BrowserVisibility.waitUntilElementIsVisible(this.permissionInheritedButton);
} }
clickPermissionInheritedButton() { clickPermissionInheritedButton() {
Util.waitUntilElementIsClickable(this.permissionInheritedButton); BrowserVisibility.waitUntilElementIsClickable(this.permissionInheritedButton);
return this.permissionInheritedButton.click(); return this.permissionInheritedButton.click();
} }
clickDeletePermissionButton() { clickDeletePermissionButton() {
Util.waitUntilElementIsClickable(this.deletePermissionButton); BrowserVisibility.waitUntilElementIsClickable(this.deletePermissionButton);
return this.deletePermissionButton.click(); return this.deletePermissionButton.click();
} }
checkNoPermissionsIsDisplayed() { checkNoPermissionsIsDisplayed() {
Util.waitUntilElementIsVisible(this.noPermissions); BrowserVisibility.waitUntilElementIsVisible(this.noPermissions);
} }
getPermissionInheritedButtonText() { getPermissionInheritedButtonText() {
Util.waitUntilElementIsClickable(this.permissionInheritedButton); BrowserVisibility.waitUntilElementIsClickable(this.permissionInheritedButton);
return this.permissionInheritedButtonText.getText(); return this.permissionInheritedButtonText.getText();
} }
@@ -120,39 +120,39 @@ export class PermissionsPage {
getRoleCellValue(rowName) { getRoleCellValue(rowName) {
const locator = new DataTableComponentPage().getCellByRowAndColumn('Authority ID', rowName, column.role); const locator = new DataTableComponentPage().getCellByRowAndColumn('Authority ID', rowName, column.role);
Util.waitUntilElementIsVisible(locator); BrowserVisibility.waitUntilElementIsVisible(locator);
return locator.getText(); return locator.getText();
} }
clickRoleDropdown() { clickRoleDropdown() {
Util.waitUntilElementIsVisible(this.roleDropdown); BrowserVisibility.waitUntilElementIsVisible(this.roleDropdown);
return this.roleDropdown.click(); return this.roleDropdown.click();
} }
getRoleDropdownOptions() { getRoleDropdownOptions() {
Util.waitUntilElementIsVisible(this.roleDropdownOptions); BrowserVisibility.waitUntilElementIsVisible(this.roleDropdownOptions);
return this.roleDropdownOptions; return this.roleDropdownOptions;
} }
selectOption(name) { selectOption(name) {
const selectProcessDropdown = element(by.cssContainingText('.mat-option-text', name)); const selectProcessDropdown = element(by.cssContainingText('.mat-option-text', name));
Util.waitUntilElementIsVisible(selectProcessDropdown); BrowserVisibility.waitUntilElementIsVisible(selectProcessDropdown);
Util.waitUntilElementIsClickable(selectProcessDropdown); BrowserVisibility.waitUntilElementIsClickable(selectProcessDropdown);
selectProcessDropdown.click(); selectProcessDropdown.click();
return this; return this;
} }
getAssignPermissionErrorText() { getAssignPermissionErrorText() {
Util.waitUntilElementIsVisible(this.assignPermissionError); BrowserVisibility.waitUntilElementIsVisible(this.assignPermissionError);
return this.assignPermissionError.getText(); return this.assignPermissionError.getText();
} }
checkPermissionContainerIsDisplayed() { checkPermissionContainerIsDisplayed() {
Util.waitUntilElementIsVisible(this.permissionDisplayContainer); BrowserVisibility.waitUntilElementIsVisible(this.permissionDisplayContainer);
} }
checkUserOrGroupIsDisplayed(name) { checkUserOrGroupIsDisplayed(name) {
const userOrGroupName = element(by.cssContainingText('mat-list-option .mat-list-text', 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 * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import { Util } from '../../../util/util';
import { by, element, protractor } from 'protractor'; import { by, element, protractor } from 'protractor';
import { EditProcessFilterDialog } from '../dialog/editProcessFilterDialog'; import { EditProcessFilterDialog } from '../dialog/editProcessFilterDialog';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class EditProcessFilterCloudComponent { export class EditProcessFilterCloudComponent {
@@ -33,16 +33,16 @@ export class EditProcessFilterCloudComponent {
} }
clickCustomiseFilterHeader() { clickCustomiseFilterHeader() {
Util.waitUntilElementIsVisible(this.customiseFilter); BrowserVisibility.waitUntilElementIsVisible(this.customiseFilter);
this.customiseFilter.click(); this.customiseFilter.click();
return this; return this;
} }
checkCustomiseFilterHeaderIsExpanded() { checkCustomiseFilterHeaderIsExpanded() {
const expansionPanelExtended = element.all(by.css('mat-expansion-panel-header[class*="mat-expanded"]')).first(); 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"]')); const content = element(by.css('div[class*="mat-expansion-panel-content "][style*="visible"]'));
Util.waitUntilElementIsVisible(content); BrowserVisibility.waitUntilElementIsVisible(content);
return this; return this;
} }
@@ -50,8 +50,8 @@ export class EditProcessFilterCloudComponent {
this.clickOnDropDownArrow('status'); this.clickOnDropDownArrow('status');
const statusElement = element.all(by.cssContainingText('mat-option span', option)).first(); const statusElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsClickable(statusElement); BrowserVisibility.waitUntilElementIsClickable(statusElement);
Util.waitUntilElementIsVisible(statusElement); BrowserVisibility.waitUntilElementIsVisible(statusElement);
statusElement.click(); statusElement.click();
return this; return this;
} }
@@ -64,15 +64,15 @@ export class EditProcessFilterCloudComponent {
this.clickOnDropDownArrow('sort'); this.clickOnDropDownArrow('sort');
const sortElement = element.all(by.cssContainingText('mat-option span', option)).first(); const sortElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsClickable(sortElement); BrowserVisibility.waitUntilElementIsClickable(sortElement);
Util.waitUntilElementIsVisible(sortElement); BrowserVisibility.waitUntilElementIsVisible(sortElement);
sortElement.click(); sortElement.click();
return this; return this;
} }
getSortFilterDropDownValue() { getSortFilterDropDownValue() {
const sortLocator = element.all(by.css("mat-form-field[data-automation-id='sort'] span")).first(); const sortLocator = element.all(by.css("mat-form-field[data-automation-id='sort'] span")).first();
Util.waitUntilElementIsVisible(sortLocator); BrowserVisibility.waitUntilElementIsVisible(sortLocator);
return sortLocator.getText(); return sortLocator.getText();
} }
@@ -80,8 +80,8 @@ export class EditProcessFilterCloudComponent {
this.clickOnDropDownArrow('order'); this.clickOnDropDownArrow('order');
const orderElement = element.all(by.cssContainingText('mat-option span', option)).first(); const orderElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsClickable(orderElement); BrowserVisibility.waitUntilElementIsClickable(orderElement);
Util.waitUntilElementIsVisible(orderElement); BrowserVisibility.waitUntilElementIsVisible(orderElement);
orderElement.click(); orderElement.click();
return this; return this;
} }
@@ -92,18 +92,18 @@ export class EditProcessFilterCloudComponent {
clickOnDropDownArrow(option) { clickOnDropDownArrow(option) {
const dropDownArrow = element.all(by.css("mat-form-field[data-automation-id='" + option + "'] div[class='mat-select-arrow-wrapper']")).first(); const dropDownArrow = element.all(by.css("mat-form-field[data-automation-id='" + option + "'] div[class='mat-select-arrow-wrapper']")).first();
Util.waitUntilElementIsVisible(dropDownArrow); BrowserVisibility.waitUntilElementIsVisible(dropDownArrow);
Util.waitUntilElementIsClickable(dropDownArrow); BrowserVisibility.waitUntilElementIsClickable(dropDownArrow);
dropDownArrow.click(); dropDownArrow.click();
Util.waitUntilElementIsVisible(this.selectedOption); BrowserVisibility.waitUntilElementIsVisible(this.selectedOption);
} }
setAppNameDropDown(option) { setAppNameDropDown(option) {
this.clickOnDropDownArrow('appName'); this.clickOnDropDownArrow('appName');
const appNameElement = element.all(by.cssContainingText('mat-option span', option)).first(); const appNameElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsClickable(appNameElement); BrowserVisibility.waitUntilElementIsClickable(appNameElement);
Util.waitUntilElementIsVisible(appNameElement); BrowserVisibility.waitUntilElementIsVisible(appNameElement);
appNameElement.click(); appNameElement.click();
return this; return this;
} }
@@ -134,13 +134,13 @@ export class EditProcessFilterCloudComponent {
getProperty(property) { getProperty(property) {
const locator = element.all(by.css('input[data-automation-id="adf-cloud-edit-process-property-' + property + '"]')).first(); 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'); return locator.getAttribute('value');
} }
setProperty(property, option) { setProperty(property, option) {
const locator = element.all(by.css('input[data-automation-id="adf-cloud-edit-process-property-' + property + '"]')).first(); 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.clear();
locator.sendKeys(option); locator.sendKeys(option);
locator.sendKeys(protractor.Key.ENTER); locator.sendKeys(protractor.Key.ENTER);
@@ -148,55 +148,55 @@ export class EditProcessFilterCloudComponent {
} }
checkSaveButtonIsDisplayed() { checkSaveButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.saveButton); BrowserVisibility.waitUntilElementIsVisible(this.saveButton);
return this; return this;
} }
checkSaveAsButtonIsDisplayed() { checkSaveAsButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.saveAsButton); BrowserVisibility.waitUntilElementIsVisible(this.saveAsButton);
return this; return this;
} }
checkDeleteButtonIsDisplayed() { checkDeleteButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.deleteButton); BrowserVisibility.waitUntilElementIsVisible(this.deleteButton);
return this; return this;
} }
checkSaveButtonIsEnabled() { checkSaveButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.saveButton); BrowserVisibility.waitUntilElementIsVisible(this.saveButton);
return this.saveButton.isEnabled(); return this.saveButton.isEnabled();
} }
checkSaveAsButtonIsEnabled() { checkSaveAsButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.saveAsButton); BrowserVisibility.waitUntilElementIsVisible(this.saveAsButton);
return this.saveAsButton.isEnabled(); return this.saveAsButton.isEnabled();
} }
checkDeleteButtonIsEnabled() { checkDeleteButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.deleteButton); BrowserVisibility.waitUntilElementIsVisible(this.deleteButton);
return this.deleteButton.isEnabled(); return this.deleteButton.isEnabled();
} }
clickSaveAsButton() { clickSaveAsButton() {
const disabledButton = element(by.css(("button[data-automation-id='adf-filter-action-saveAs'][disabled]"))); const disabledButton = element(by.css(("button[id='adf-save-as-id'][disabled]")));
Util.waitUntilElementIsClickable(this.saveAsButton); BrowserVisibility.waitUntilElementIsClickable(this.saveAsButton);
Util.waitUntilElementIsVisible(this.saveAsButton); BrowserVisibility.waitUntilElementIsVisible(this.saveAsButton);
Util.waitUntilElementIsNotVisible(disabledButton); BrowserVisibility.waitUntilElementIsNotVisible(disabledButton);
this.saveAsButton.click(); this.saveAsButton.click();
return this.editProcessFilter; return this.editProcessFilter;
} }
clickDeleteButton() { clickDeleteButton() {
Util.waitUntilElementIsVisible(this.deleteButton); BrowserVisibility.waitUntilElementIsVisible(this.deleteButton);
this.deleteButton.click(); this.deleteButton.click();
return this; return this;
} }
clickSaveButton() { clickSaveButton() {
const disabledButton = element(by.css(("button[data-automation-id='adf-filter-action-saveAs'][disabled]"))); const disabledButton = element(by.css(("button[id='adf-save-as-id'][disabled]")));
Util.waitUntilElementIsClickable(this.saveButton); BrowserVisibility.waitUntilElementIsClickable(this.saveButton);
Util.waitUntilElementIsVisible(this.saveButton); BrowserVisibility.waitUntilElementIsVisible(this.saveButton);
Util.waitUntilElementIsNotVisible(disabledButton); BrowserVisibility.waitUntilElementIsNotVisible(disabledButton);
this.saveButton.click(); this.saveButton.click();
return this; return this;
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -15,8 +15,8 @@
* limitations under the License. * limitations under the License.
*/ */
import { Util } from '../../../util/util';
import { element, by } from 'protractor'; import { element, by } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing';
export class AttachFormPage { export class AttachFormPage {
@@ -29,19 +29,19 @@ export class AttachFormPage {
attachFormDropdown = element(by.css("div[class='adf-attach-form-row']")); attachFormDropdown = element(by.css("div[class='adf-attach-form-row']"));
checkNoFormMessageIsDisplayed() { checkNoFormMessageIsDisplayed() {
return Util.waitUntilElementIsVisible(this.noFormMessage); return BrowserVisibility.waitUntilElementIsVisible(this.noFormMessage);
} }
checkAttachFormButtonIsDisplayed() { checkAttachFormButtonIsDisplayed() {
return Util.waitUntilElementIsVisible(this.attachFormButton); return BrowserVisibility.waitUntilElementIsVisible(this.attachFormButton);
} }
checkCompleteButtonIsDisplayed() { checkCompleteButtonIsDisplayed() {
return Util.waitUntilElementIsVisible(this.completeButton); return BrowserVisibility.waitUntilElementIsVisible(this.completeButton);
} }
clickAttachFormButton() { clickAttachFormButton() {
Util.waitUntilElementIsVisible(this.attachFormButton); BrowserVisibility.waitUntilElementIsVisible(this.attachFormButton);
return this.attachFormButton.click(); return this.attachFormButton.click();
} }
@@ -52,29 +52,29 @@ export class AttachFormPage {
} }
checkFormDropdownIsDisplayed() { checkFormDropdownIsDisplayed() {
return Util.waitUntilElementIsVisible(this.formDropdown); return BrowserVisibility.waitUntilElementIsVisible(this.formDropdown);
} }
checkCancelButtonIsDisplayed() { checkCancelButtonIsDisplayed() {
return Util.waitUntilElementIsVisible(this.cancelButton); return BrowserVisibility.waitUntilElementIsVisible(this.cancelButton);
} }
clickAttachFormDropdown() { clickAttachFormDropdown() {
Util.waitUntilElementIsClickable(this.attachFormDropdown); BrowserVisibility.waitUntilElementIsClickable(this.attachFormDropdown);
return this.attachFormDropdown.click(); return this.attachFormDropdown.click();
} }
selectAttachFormOption(option) { 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(); return element(by.cssContainingText("mat-option[role='option']", option)).click();
} }
clickCancelButton() { clickCancelButton() {
Util.waitUntilElementIsVisible(this.cancelButton); BrowserVisibility.waitUntilElementIsVisible(this.cancelButton);
return this.cancelButton.click(); return this.cancelButton.click();
} }
checkAttachFormButtonIsDisabled() { 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 { element, by, protractor, browser } from 'protractor';
import { Util } from '../../../util/util';
import TestConfig = require('../../../test.config'); import TestConfig = require('../../../test.config');
import path = require('path'); import path = require('path');
import remote = require('selenium-webdriver/remote'); import remote = require('selenium-webdriver/remote');
import { BrowserVisibility } from '@alfresco/adf-testing';
export class AttachmentListPage { export class AttachmentListPage {
@@ -32,31 +32,31 @@ export class AttachmentListPage {
noContentContainer = element(by.css("div[class*='adf-no-content-container']")); noContentContainer = element(by.css("div[class*='adf-no-content-container']"));
checkEmptyAttachmentList() { checkEmptyAttachmentList() {
Util.waitUntilElementIsVisible(this.noContentContainer); BrowserVisibility.waitUntilElementIsVisible(this.noContentContainer);
} }
clickAttachFileButton(fileLocation) { clickAttachFileButton(fileLocation) {
browser.setFileDetector(new remote.FileDetector()); 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))); return this.attachFileButton.sendKeys(path.resolve(path.join(TestConfig.main.rootPath, fileLocation)));
} }
checkFileIsAttached(name) { checkFileIsAttached(name) {
const fileAttached = 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); BrowserVisibility.waitUntilElementIsVisible(fileAttached);
} }
checkAttachFileButtonIsNotDisplayed() { checkAttachFileButtonIsNotDisplayed() {
Util.waitUntilElementIsNotVisible(this.attachFileButton); BrowserVisibility.waitUntilElementIsNotVisible(this.attachFileButton);
} }
viewFile(name) { 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(); element.all(by.css('div[data-automation-id="' + name + '"]')).first().click();
Util.waitUntilElementIsVisible(this.buttonMenu); BrowserVisibility.waitUntilElementIsVisible(this.buttonMenu);
this.buttonMenu.click(); this.buttonMenu.click();
Util.waitUntilElementIsVisible(this.viewButton); BrowserVisibility.waitUntilElementIsVisible(this.viewButton);
browser.driver.sleep(500); browser.driver.sleep(500);
this.viewButton.click(); this.viewButton.click();
browser.driver.sleep(500); browser.driver.sleep(500);
@@ -64,11 +64,11 @@ export class AttachmentListPage {
} }
removeFile(name) { 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(); element.all(by.css('div[data-automation-id="' + name + '"]')).first().click();
Util.waitUntilElementIsVisible(this.buttonMenu); BrowserVisibility.waitUntilElementIsVisible(this.buttonMenu);
this.buttonMenu.click(); this.buttonMenu.click();
Util.waitUntilElementIsVisible(this.removeButton); BrowserVisibility.waitUntilElementIsVisible(this.removeButton);
browser.driver.sleep(500); browser.driver.sleep(500);
this.removeButton.click(); this.removeButton.click();
browser.driver.sleep(500); browser.driver.sleep(500);
@@ -76,28 +76,28 @@ export class AttachmentListPage {
} }
downloadFile(name) { 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(); element.all(by.css('div[data-automation-id="' + name + '"]')).first().click();
Util.waitUntilElementIsVisible(this.buttonMenu); BrowserVisibility.waitUntilElementIsVisible(this.buttonMenu);
this.buttonMenu.click(); this.buttonMenu.click();
Util.waitUntilElementIsVisible(this.downloadButton); BrowserVisibility.waitUntilElementIsVisible(this.downloadButton);
browser.driver.sleep(500); browser.driver.sleep(500);
this.downloadButton.click(); this.downloadButton.click();
return this; return this;
} }
doubleClickFile(name) { 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(); const fileAttached = element.all(by.css('div[data-automation-id="' + name + '"]')).first();
Util.waitUntilElementIsVisible(fileAttached); BrowserVisibility.waitUntilElementIsVisible(fileAttached);
Util.waitUntilElementIsClickable(fileAttached); BrowserVisibility.waitUntilElementIsClickable(fileAttached);
fileAttached.click(); fileAttached.click();
browser.actions().sendKeys(protractor.Key.ENTER).perform(); browser.actions().sendKeys(protractor.Key.ENTER).perform();
} }
checkFileIsRemoved(name) { checkFileIsRemoved(name) {
const fileAttached = element.all(by.css('div[data-automation-id="' + name + '"]')).first(); const fileAttached = element.all(by.css('div[data-automation-id="' + name + '"]')).first();
Util.waitUntilElementIsNotVisible(fileAttached); BrowserVisibility.waitUntilElementIsNotVisible(fileAttached);
return this; return this;
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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