Added a new LocalStorageUtil and using the setConfigMethod to set the local storage variables (#4575)

* added a new LocalStorageUtil and using the setConfigMethod to set the localstorage variables, instead of using hte settings ui page.

* linting fix

* fixing import paths

* update new path LocalStorageUtil

* fix problems after rebase

* fix async loadin and clear

* local storage fix

* fix lint

* fix cs tests

* fix tag navigation and rename file appNavigation to processTabNavigation

* fix lint

* fix process test

* fix lint

Signed-off-by: Eugenio Romano <eugenio.romano@alfresco.com>

* fix start process cloud

* inc timeout
This commit is contained in:
gmandakini 2019-04-21 23:42:59 +01:00 committed by Eugenio Romano
parent 97ad54a4f8
commit e85b57876e
69 changed files with 369 additions and 351 deletions

View File

@ -18,7 +18,6 @@
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage } from '@alfresco/adf-testing';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { PaginationPage } from '@alfresco/adf-testing'; import { PaginationPage } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { FolderModel } from '../../models/ACS/folderModel'; import { FolderModel } from '../../models/ACS/folderModel';
@ -28,6 +27,7 @@ import { Util } from '../../util/util';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { browser } from 'protractor';
describe('Document List - Pagination', function () { describe('Document List - Pagination', function () {
const pagination = { const pagination = {
@ -51,7 +51,6 @@ describe('Document List - Pagination', function () {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const paginationPage = new PaginationPage(); const paginationPage = new PaginationPage();
const navigationBarPage = new NavigationBarPage();
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
const newFolderModel = new FolderModel({ 'name': 'newFolder' }); const newFolderModel = new FolderModel({ 'name': 'newFolder' });
@ -87,7 +86,11 @@ describe('Document List - Pagination', function () {
await uploadActions.createEmptyFiles(this.alfrescoJsApi, secondSetOfFiles, folderThreeUploadedModel.entry.id); await uploadActions.createEmptyFiles(this.alfrescoJsApi, secondSetOfFiles, folderThreeUploadedModel.entry.id);
loginPage.loginToContentServicesUsingUserModel(acsUser); done();
});
beforeEach(async (done) => {
await loginPage.loginToContentServicesUsingUserModel(acsUser);
done(); done();
}); });
@ -124,14 +127,9 @@ describe('Document List - Pagination', function () {
paginationPage.checkNextPageButtonIsDisabled(); paginationPage.checkNextPageButtonIsDisabled();
paginationPage.checkPreviousPageButtonIsDisabled(); paginationPage.checkPreviousPageButtonIsDisabled();
navigationBarPage.clickLogoutButton(); browser.refresh();
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty);
navigationBarPage.clickLogoutButton();
loginPage.loginToContentServicesUsingUserModel(acsUser);
}); });
it('[C260069] Should be able to set Items per page to 5', function () { it('[C260069] Should be able to set Items per page to 5', function () {
@ -179,14 +177,10 @@ describe('Document List - Pagination', function () {
expect(Util.arrayContainsArray(list, fileNames.slice(15, 20))).toEqual(true); expect(Util.arrayContainsArray(list, fileNames.slice(15, 20))).toEqual(true);
}); });
navigationBarPage.clickLogoutButton(); browser.refresh();
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
navigationBarPage.clickLogoutButton();
loginPage.loginToContentServicesUsingUserModel(acsUser);
}); });
it('[C260067] Should be able to set Items per page to 10', function () { it('[C260067] Should be able to set Items per page to 10', function () {
@ -215,15 +209,9 @@ describe('Document List - Pagination', function () {
expect(Util.arrayContainsArray(list, fileNames.slice(10, 20))).toEqual(true); expect(Util.arrayContainsArray(list, fileNames.slice(10, 20))).toEqual(true);
}); });
navigationBarPage.clickLogoutButton(); browser.refresh();
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten);
navigationBarPage.clickLogoutButton();
loginPage.loginToContentServicesUsingUserModel(acsUser);
currentPage = 1;
}); });
it('[C260065] Should be able to set Items per page to 15', function () { it('[C260065] Should be able to set Items per page to 15', function () {
@ -253,10 +241,8 @@ describe('Document List - Pagination', function () {
expect(Util.arrayContainsArray(list, fileNames.slice(15, 20))).toEqual(true); expect(Util.arrayContainsArray(list, fileNames.slice(15, 20))).toEqual(true);
}); });
navigationBarPage.clickLogoutButton(); browser.refresh();
loginPage.loginToContentServicesUsingUserModel(acsUser); contentServicesPage.waitForTableBody();
contentServicesPage.goToDocumentList();
contentServicesPage.checkAcsContainer();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen);
}); });

View File

@ -20,7 +20,7 @@ import { FileModel } from '../models/ACS/fileModel';
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage } from '@alfresco/adf-testing';
import { TagPage } from '../pages/adf/tagPage'; import { TagPage } from '../pages/adf/tagPage';
import { AppNavigationBarPage } from '../pages/adf/process-services/appNavigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import TestConfig = require('../test.config'); import TestConfig = require('../test.config');
import resources = require('../util/resources'); import resources = require('../util/resources');
@ -35,7 +35,7 @@ describe('Tag component', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const tagPage = new TagPage(); const tagPage = new TagPage();
const appNavigationBarPage = new AppNavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
const uploadActions = new UploadActions(); const uploadActions = new UploadActions();
@ -86,9 +86,7 @@ describe('Tag component', () => {
await this.alfrescoJsApi.core.tagsApi.addTag(nodeId, tags); await this.alfrescoJsApi.core.tagsApi.addTag(nodeId, tags);
loginPage.loginToContentServicesUsingUserModel(acsUser); await loginPage.loginToContentServicesUsingUserModel(acsUser);
appNavigationBarPage.clickTagButton();
done(); done();
}); });
@ -100,6 +98,8 @@ describe('Tag component', () => {
}); });
it('[C260374] Should NOT be possible to add a new tag without Node ID', () => { it('[C260374] Should NOT be possible to add a new tag without Node ID', () => {
navigationBarPage.clickTagButton();
expect(tagPage.getNodeId()).toEqual(''); expect(tagPage.getNodeId()).toEqual('');
expect(tagPage.getNewTagPlaceholder()).toEqual('New Tag'); expect(tagPage.getNewTagPlaceholder()).toEqual('New Tag');
expect(tagPage.addTagButtonIsEnabled()).toEqual(false); expect(tagPage.addTagButtonIsEnabled()).toEqual(false);

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage, LocalStorageUtil } from '@alfresco/adf-testing';
import { ViewerPage } from '../../pages/adf/viewerPage'; import { ViewerPage } from '../../pages/adf/viewerPage';
import { MetadataViewPage } from '../../pages/adf/metadataViewPage'; import { MetadataViewPage } from '../../pages/adf/metadataViewPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
@ -30,7 +30,6 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { check } from '../../util/material'; import { check } from '../../util/material';
import { setConfigField } from '../../proxy';
describe('Aspect oriented config', () => { describe('Aspect oriented config', () => {
@ -96,7 +95,7 @@ describe('Aspect oriented config', () => {
it('[C261117] Should be possible restrict the display properties of one an aspect', async () => { it('[C261117] Should be possible restrict the display properties of one an aspect', async () => {
await setConfigField('content-metadata', JSON.stringify({ await LocalStorageUtil.setConfigField('content-metadata', JSON.stringify({
presets: { presets: {
default: [ default: [
{ {
@ -137,7 +136,7 @@ describe('Aspect oriented config', () => {
it('[C260185] Should ignore not existing aspect when present in the configuration', async () => { it('[C260185] Should ignore not existing aspect when present in the configuration', async () => {
await setConfigField('content-metadata', JSON.stringify({ await LocalStorageUtil.setConfigField('content-metadata', JSON.stringify({
presets: { presets: {
default: { default: {
'exif:exif': '*', 'exif:exif': '*',
@ -164,7 +163,7 @@ describe('Aspect oriented config', () => {
it('[C260183] Should show all the aspect if the content-metadata configuration is NOT provided', async () => { it('[C260183] Should show all the aspect if the content-metadata configuration is NOT provided', async () => {
await setConfigField('content-metadata', '{}'); await LocalStorageUtil.setConfigField('content-metadata', '{}');
navigationBarPage.clickContentServicesButton(); navigationBarPage.clickContentServicesButton();
@ -182,7 +181,7 @@ describe('Aspect oriented config', () => {
it('[C260182] Should show all the aspects if the default configuration contains the star symbol', async () => { it('[C260182] Should show all the aspects if the default configuration contains the star symbol', async () => {
await setConfigField('content-metadata', JSON.stringify({ await LocalStorageUtil.setConfigField('content-metadata', JSON.stringify({
presets: { presets: {
default: '*' default: '*'
} }
@ -205,7 +204,7 @@ describe('Aspect oriented config', () => {
it('[C268899] Should be possible use a Translation key as Title of a metadata group', async () => { it('[C268899] Should be possible use a Translation key as Title of a metadata group', async () => {
await setConfigField('content-metadata', '{' + await LocalStorageUtil.setConfigField('content-metadata', '{' +
' "presets": {' + ' "presets": {' +
' "default": [' + ' "default": [' +
' {' + ' {' +
@ -250,7 +249,7 @@ describe('Aspect oriented config', () => {
it('[C279968] Should be possible use a custom preset', async () => { it('[C279968] Should be possible use a custom preset', async () => {
await setConfigField('content-metadata', '{' + await LocalStorageUtil.setConfigField('content-metadata', '{' +
' "presets": {' + ' "presets": {' +
' "custom-preset": {' + ' "custom-preset": {' +
' "exif:exif": "*",' + ' "exif:exif": "*",' +
@ -280,7 +279,7 @@ describe('Aspect oriented config', () => {
it('[C299186] The aspect without properties is not displayed', async () => { it('[C299186] The aspect without properties is not displayed', async () => {
await setConfigField('content-metadata', '{' + await LocalStorageUtil.setConfigField('content-metadata', '{' +
' "presets": { "' + modelOneName + ' "presets": { "' + modelOneName +
' ": { "' + modelOneName + ':' + emptyAspectName + ' ": { "' + modelOneName + ':' + emptyAspectName +
' ":"*"' + ' ":"*"' +
@ -303,7 +302,7 @@ describe('Aspect oriented config', () => {
it('[C299187] The aspect with empty properties is displayed when edit', async () => { it('[C299187] The aspect with empty properties is displayed when edit', async () => {
await setConfigField('content-metadata', '{' + await LocalStorageUtil.setConfigField('content-metadata', '{' +
' "presets": { "' + defaultModel + ' "presets": { "' + defaultModel +
' ": { "' + defaultModel + ':' + defaultEmptyPropertiesAspect + ' ": { "' + defaultModel + ':' + defaultEmptyPropertiesAspect +
' ":"*"' + ' ":"*"' +

View File

@ -107,8 +107,8 @@ describe('permissions', () => {
done(); done();
}); });
it('[C274692] Should not be possible edit metadata properties when the user is a consumer user', () => { it('[C274692] Should not be possible edit metadata properties when the user is a consumer user', async () => {
loginPage.loginToContentServicesUsingUserModel(consumerUser); await loginPage.loginToContentServicesUsingUserModel(consumerUser);
navigationBarPage.openContentServicesFolder(site.entry.guid); navigationBarPage.openContentServicesFolder(site.entry.guid);
@ -119,8 +119,8 @@ describe('permissions', () => {
metadataViewPage.editIconIsNotDisplayed(); metadataViewPage.editIconIsNotDisplayed();
}); });
it('[C279971] Should be possible edit metadata properties when the user is a collaborator user', () => { it('[C279971] Should be possible edit metadata properties when the user is a collaborator user', async () => {
loginPage.loginToContentServicesUsingUserModel(collaboratorUser); await loginPage.loginToContentServicesUsingUserModel(collaboratorUser);
navigationBarPage.openContentServicesFolder(site.entry.guid); navigationBarPage.openContentServicesFolder(site.entry.guid);
@ -139,8 +139,8 @@ describe('permissions', () => {
metadataViewPage.editIconIsDisplayed(); metadataViewPage.editIconIsDisplayed();
}); });
it('[C279972] Should be possible edit metadata properties when the user is a contributor user', () => { it('[C279972] Should be possible edit metadata properties when the user is a contributor user', async () => {
loginPage.loginToContentServicesUsingUserModel(collaboratorUser); await loginPage.loginToContentServicesUsingUserModel(collaboratorUser);
navigationBarPage.openContentServicesFolder(site.entry.guid); navigationBarPage.openContentServicesFolder(site.entry.guid);

View File

@ -17,7 +17,7 @@
import { browser } from 'protractor'; import { browser } from 'protractor';
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage, LocalStorageUtil } from '@alfresco/adf-testing';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ViewerPage } from '../../pages/adf/viewerPage'; import { ViewerPage } from '../../pages/adf/viewerPage';
import { MetadataViewPage } from '../../pages/adf/metadataViewPage'; import { MetadataViewPage } from '../../pages/adf/metadataViewPage';
@ -32,7 +32,6 @@ import dateFormat = require('dateformat');
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 { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { setConfigField } from '../../proxy';
describe('Metadata component', () => { describe('Metadata component', () => {
@ -97,7 +96,7 @@ describe('Metadata component', () => {
describe('Viewer Metadata', () => { describe('Viewer Metadata', () => {
beforeAll(async() => { beforeAll(async() => {
await setConfigField('content-metadata', JSON.stringify({ await LocalStorageUtil.setConfigField('content-metadata', JSON.stringify({
presets: { presets: {
default: { default: {
'exif:exif': '*' 'exif:exif': '*'

View File

@ -19,7 +19,7 @@ import { LoginPage } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { AnalyticsPage } from '../pages/adf/process-services/analyticsPage'; import { AnalyticsPage } from '../pages/adf/process-services/analyticsPage';
import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage'; import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage';
import { AppNavigationBarPage } from '../pages/adf/process-services/appNavigationBarPage'; import { ProcessServiceTabBarPage } from '../pages/adf/process-services/processServiceTabBarPage';
import TestConfig = require('../test.config'); import TestConfig = require('../test.config');
import { Tenant } from '../models/APS/tenant'; import { Tenant } from '../models/APS/tenant';
import { User } from '../models/APS/user'; import { User } from '../models/APS/user';
@ -30,7 +30,7 @@ describe('Analytics Smoke Test', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const appNavigationBarPage = new AppNavigationBarPage(); const processServiceTabBarPage = new ProcessServiceTabBarPage();
const analyticsPage = new AnalyticsPage(); const analyticsPage = new AnalyticsPage();
const processServicesPage = new ProcessServicesPage(); const processServicesPage = new ProcessServicesPage();
let tenantId; let tenantId;
@ -65,7 +65,7 @@ describe('Analytics Smoke Test', () => {
navigationBarPage.navigateToProcessServicesPage(); navigationBarPage.navigateToProcessServicesPage();
processServicesPage.checkApsContainer(); processServicesPage.checkApsContainer();
processServicesPage.goToApp('Task App'); processServicesPage.goToApp('Task App');
appNavigationBarPage.clickReportsButton(); processServiceTabBarPage.clickReportsButton();
analyticsPage.checkNoReportMessage(); analyticsPage.checkNoReportMessage();
analyticsPage.getReport('Process definition heat map'); analyticsPage.getReport('Process definition heat map');
analyticsPage.changeReportTitle(reportTitle); analyticsPage.changeReportTitle(reportTitle);

View File

@ -52,6 +52,12 @@ export class NavigationBarPage {
settingsButton = element(by.css('a[data-automation-id="Settings"]')); settingsButton = element(by.css('a[data-automation-id="Settings"]'));
peopleGroupCloudButton = element(by.css('button[data-automation-id="People/Group Cloud"]')); peopleGroupCloudButton = element(by.css('button[data-automation-id="People/Group Cloud"]'));
aboutButton = element(by.css('a[data-automation-id="About"]')); aboutButton = element(by.css('a[data-automation-id="About"]'));
tagButton = element.all(by.css('a[data-automation-id="Tag"]'));
clickTagButton() {
BrowserVisibility.waitUntilElementIsVisible(this.tagButton);
this.tagButton.click();
}
navigateToDatatable() { navigateToDatatable() {
BrowserVisibility.waitUntilElementIsVisible(this.dataTableButton); BrowserVisibility.waitUntilElementIsVisible(this.dataTableButton);

View File

@ -18,10 +18,9 @@
import { BrowserVisibility } from '@alfresco/adf-testing'; import { BrowserVisibility } from '@alfresco/adf-testing';
import { element, by, browser } from 'protractor'; import { element, by, browser } from 'protractor';
export class AppNavigationBarPage { export class ProcessServiceTabBarPage {
tasksButton = element.all(by.cssContainingText('div[class*="mat-tab-label"] .mat-tab-labels div', 'Tasks')).first(); tasksButton = element.all(by.cssContainingText('div[class*="mat-tab-label"] .mat-tab-labels div', 'Tasks')).first();
tagButton = element.all(by.css('[data-automation-id="Tag"]'));
processButton = element.all(by.cssContainingText('div[class*="mat-tab-label"] .mat-tab-labels div', 'Process')).first(); processButton = element.all(by.cssContainingText('div[class*="mat-tab-label"] .mat-tab-labels div', 'Process')).first();
reportsButton = element.all(by.cssContainingText('div[class*="mat-tab-label"] .mat-tab-labels div', 'Reports')).first(); reportsButton = element.all(by.cssContainingText('div[class*="mat-tab-label"] .mat-tab-labels div', 'Reports')).first();
settingsButton = element.all(by.cssContainingText('div[class*="mat-tab-label"] .mat-tab-labels div', 'Settings')).first(); settingsButton = element.all(by.cssContainingText('div[class*="mat-tab-label"] .mat-tab-labels div', 'Settings')).first();
@ -30,21 +29,17 @@ export class AppNavigationBarPage {
clickTasksButton() { clickTasksButton() {
BrowserVisibility.waitUntilElementIsVisible(this.tasksButton); BrowserVisibility.waitUntilElementIsVisible(this.tasksButton);
this.tasksButton.click(); this.tasksButton.click();
return browser.sleep(400); return browser.sleep(600);
} }
clickProcessButton() { clickProcessButton() {
this.processButton.click(); this.processButton.click();
return browser.sleep(400); return browser.sleep(600);
}
clickTagButton() {
return this.tagButton.click();
} }
clickSettingsButton() { clickSettingsButton() {
this.settingsButton.click(); this.settingsButton.click();
return browser.sleep(400); return browser.sleep(600);
} }
clickReportsButton() { clickReportsButton() {

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { AppNavigationBarPage } from './appNavigationBarPage'; import { ProcessServiceTabBarPage } from './processServiceTabBarPage';
import { element, by } from 'protractor'; import { element, by } from 'protractor';
import { BrowserVisibility } from '@alfresco/adf-testing'; import { BrowserVisibility } from '@alfresco/adf-testing';
@ -35,13 +35,13 @@ export class ProcessServicesPage {
const app = element(by.css('mat-card[title="' + applicationName + '"]')); const app = element(by.css('mat-card[title="' + applicationName + '"]'));
BrowserVisibility.waitUntilElementIsVisible(app); BrowserVisibility.waitUntilElementIsVisible(app);
app.click(); app.click();
return new AppNavigationBarPage(); return new ProcessServiceTabBarPage();
} }
goToTaskApp() { goToTaskApp() {
BrowserVisibility.waitUntilElementIsVisible(this.taskApp); BrowserVisibility.waitUntilElementIsVisible(this.taskApp);
this.taskApp.click(); this.taskApp.click();
return new AppNavigationBarPage(); return new ProcessServiceTabBarPage();
} }
getAppIconType(applicationName) { getAppIconType(applicationName) {

View File

@ -17,13 +17,14 @@
import TestConfig = require('../test.config'); import TestConfig = require('../test.config');
import { TasksService, QueryService, ProcessDefinitionsService, ProcessInstancesService, import {
LoginSSOPage, ApiService, SettingsPage } from '@alfresco/adf-testing'; TasksService, QueryService, ProcessDefinitionsService, ProcessInstancesService,
LoginSSOPage, ApiService, SettingsPage
} from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage'; import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage'; import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { AppListCloudPage } from '@alfresco/adf-testing'; import { AppListCloudPage, LocalStorageUtil } from '@alfresco/adf-testing';
import { ConfigEditorPage } from '../pages/adf/configEditorPage';
import resources = require('../util/resources'); import resources = require('../util/resources');
import { browser, protractor } from 'protractor'; import { browser, protractor } from 'protractor';
@ -31,7 +32,6 @@ import { browser, protractor } from 'protractor';
describe('Process list cloud', () => { describe('Process list cloud', () => {
describe('Process List', () => { describe('Process List', () => {
const configEditorPage = new ConfigEditorPage();
const settingsPage = new SettingsPage(); const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage(); const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
@ -52,32 +52,27 @@ describe('Process list cloud', () => {
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
navigationBarPage.clickConfigEditorButton(); await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify({
configEditorPage.clickEditProcessCloudConfiguration(); 'filterProperties': [
configEditorPage.clickClearButton(); 'appName',
configEditorPage.enterBigConfigurationText(`{ 'status',
"filterProperties": [ 'processInstanceId',
"appName", 'order',
"status", 'sort',
"processInstanceId", 'order'
"order",
"sort",
"order"
], ],
"sortProperties": [ 'sortProperties': [
"id", 'id',
"name", 'name',
"status", 'status',
"startDate" 'startDate'
], ],
"actions": [ 'actions': [
"save", 'save',
"saveAs", 'saveAs',
"delete" 'delete'
] ]
}`); }));
configEditorPage.clickSaveButton();
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM'); const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);

View File

@ -21,13 +21,13 @@ import {
ProcessInstancesService, ProcessInstancesService,
LoginSSOPage, LoginSSOPage,
ApiService, ApiService,
SettingsPage SettingsPage,
LocalStorageUtil
} from '@alfresco/adf-testing'; } from '@alfresco/adf-testing';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage'; import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
import { AppListCloudPage } from '@alfresco/adf-testing'; import { AppListCloudPage } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ConfigEditorPage } from '../pages/adf/configEditorPage';
import { ProcessListCloudConfiguration } from './processListCloud.config'; import { ProcessListCloudConfiguration } from './processListCloud.config';
import resources = require('../util/resources'); import resources = require('../util/resources');
@ -38,7 +38,6 @@ describe('Process list cloud', () => {
const settingsPage = new SettingsPage(); const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage(); const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const configEditor = new ConfigEditorPage();
const appListCloudComponent = new AppListCloudPage(); const appListCloudComponent = new AppListCloudPage();
const processCloudDemoPage = new ProcessCloudDemoPage(); const processCloudDemoPage = new ProcessCloudDemoPage();
@ -67,11 +66,8 @@ describe('Process list cloud', () => {
beforeEach(async (done) => { beforeEach(async (done) => {
const processListCloudConfiguration = new ProcessListCloudConfiguration(); const processListCloudConfiguration = new ProcessListCloudConfiguration();
jsonFile = processListCloudConfiguration.getConfiguration(); jsonFile = processListCloudConfiguration.getConfiguration();
done();
navigationBarPage.clickConfigEditorButton(); await LocalStorageUtil.setConfigField('adf-cloud-process-list', JSON.stringify(jsonFile));
configEditor.clickProcessListCloudConfiguration();
configEditor.clickClearButton();
configEditor.enterBigConfigurationText(JSON.stringify(jsonFile)).clickSaveButton();
navigationBarPage.navigateToProcessServicesCloudPage(); navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer(); appListCloudComponent.checkApsContainer();

View File

@ -51,6 +51,7 @@ describe('Start Process', () => {
afterEach((done) => { afterEach((done) => {
navigationBarPage.navigateToProcessServicesCloudPage(); navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
done(); done();
}); });

View File

@ -20,22 +20,19 @@ import TestConfig = require('../test.config');
import { StringUtil, TasksService, import { StringUtil, TasksService,
ProcessDefinitionsService, ProcessInstancesService, ProcessDefinitionsService, ProcessInstancesService,
LoginSSOPage, ApiService, LoginSSOPage, ApiService,
SettingsPage, AppListCloudPage } from '@alfresco/adf-testing'; SettingsPage, AppListCloudPage, LocalStorageUtil } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage'; import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { ConfigEditorPage } from '../pages/adf/configEditorPage';
import { TaskListCloudConfiguration } from './taskListCloud.config'; import { TaskListCloudConfiguration } from './taskListCloud.config';
import moment = require('moment'); import moment = require('moment');
import { DateUtil } from '../util/dateUtil'; import { DateUtil } from '../util/dateUtil';
import { NotificationPage } from '../pages/adf/notificationPage';
import resources = require('../util/resources'); import resources = require('../util/resources');
describe('Edit task filters and task list properties', () => { describe('Edit task filters and task list properties', () => {
describe('Edit task filters and task list properties', () => { describe('Edit task filters and task list properties', () => {
const configEditorPage = new ConfigEditorPage();
const settingsPage = new SettingsPage(); const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage(); const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
@ -46,7 +43,6 @@ describe('Edit task filters and task list properties', () => {
let tasksService: TasksService; let tasksService: TasksService;
let processDefinitionService: ProcessDefinitionsService; let processDefinitionService: ProcessDefinitionsService;
let processInstancesService: ProcessInstancesService; let processInstancesService: ProcessInstancesService;
const notificationPage = new NotificationPage();
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name; const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
const candidateUserApp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP.name; const candidateUserApp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP.name;
@ -66,48 +62,36 @@ describe('Edit task filters and task list properties', () => {
loginSSOPage.clickOnSSOButton(); loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(user, password); loginSSOPage.loginSSOIdentityService(user, password);
navigationBarPage.clickConfigEditorButton(); await LocalStorageUtil.setConfigField('adf-cloud-task-list', JSON.stringify(jsonFile));
await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify({
configEditorPage.clickTaskListCloudConfiguration(); 'filterProperties': [
configEditorPage.clickClearButton(); 'appName',
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)).clickSaveButton(); 'status',
notificationPage.checkNotificationSnackBarIsDisplayedWithMessage('Save'); 'assignee',
notificationPage.checkNotificationSnackBarIsNotDisplayed(); 'taskName',
'parentTaskId',
configEditorPage.clickEditTaskConfiguration(); 'priority',
configEditorPage.clickClearButton(); 'standAlone',
'owner',
configEditorPage.enterBigConfigurationText(`{ 'processDefinitionId',
"filterProperties": [ 'processInstanceId',
"appName", 'lastModified',
"status", 'sort',
"assignee", 'order'
"taskName",
"parentTaskId",
"priority",
"standAlone",
"owner",
"processDefinitionId",
"processInstanceId",
"lastModified",
"sort",
"order"
], ],
"sortProperties": [ 'sortProperties': [
"id", 'id',
"name", 'name',
"createdDate", 'createdDate',
"priority", 'priority',
"processDefinitionId" 'processDefinitionId'
], ],
"actions": [ 'actions': [
"save", 'save',
"saveAs", 'saveAs',
"delete" 'delete'
] ]
}`); }));
configEditorPage.clickSaveButton();
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM'); const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);

View File

@ -19,7 +19,7 @@ import { browser } from 'protractor';
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage } from '@alfresco/adf-testing';
import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage'; import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage';
import { AppNavigationBarPage } from '../pages/adf/process-services/appNavigationBarPage'; import { ProcessServiceTabBarPage } from '../pages/adf/process-services/processServiceTabBarPage';
import { AppSettingsToggles } from '../pages/adf/process-services/dialog/appSettingsToggles'; import { AppSettingsToggles } from '../pages/adf/process-services/dialog/appSettingsToggles';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
@ -32,7 +32,7 @@ describe('New Process Filters', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const processFiltersPage = new ProcessFiltersPage(); const processFiltersPage = new ProcessFiltersPage();
const appNavigationBarPage = new AppNavigationBarPage(); const processServiceTabBarPage = new ProcessServiceTabBarPage();
const appSettingsToggles = new AppSettingsToggles(); const appSettingsToggles = new AppSettingsToggles();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
@ -128,9 +128,9 @@ describe('New Process Filters', () => {
processFiltersPage.checkFilterIsDisplayed(processFilter.new_icon); processFiltersPage.checkFilterIsDisplayed(processFilter.new_icon);
appNavigationBarPage.clickSettingsButton(); processServiceTabBarPage.clickSettingsButton();
appSettingsToggles.enableProcessFiltersIcon(); appSettingsToggles.enableProcessFiltersIcon();
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.checkFilterIsDisplayed(processFilter.new_icon); processFiltersPage.checkFilterIsDisplayed(processFilter.new_icon);
expect(processFiltersPage.getFilterIcon(processFilter.new_icon)).toEqual('cloud'); expect(processFiltersPage.getFilterIcon(processFilter.new_icon)).toEqual('cloud');
@ -189,9 +189,9 @@ describe('New Process Filters', () => {
processFiltersPage.checkFilterIsDisplayed(processFilter.edit_icon); processFiltersPage.checkFilterIsDisplayed(processFilter.edit_icon);
appNavigationBarPage.clickSettingsButton(); processServiceTabBarPage.clickSettingsButton();
appSettingsToggles.enableProcessFiltersIcon(); appSettingsToggles.enableProcessFiltersIcon();
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.checkFilterIsDisplayed(processFilter.edit_icon); processFiltersPage.checkFilterIsDisplayed(processFilter.edit_icon);
expect(processFiltersPage.getFilterIcon(processFilter.edit_icon)).toEqual('cloud'); expect(processFiltersPage.getFilterIcon(processFilter.edit_icon)).toEqual('cloud');
@ -202,9 +202,9 @@ describe('New Process Filters', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton();
processFiltersPage.checkFilterHasNoIcon(processFilter.all); processFiltersPage.checkFilterHasNoIcon(processFilter.all);
appNavigationBarPage.clickSettingsButton(); processServiceTabBarPage.clickSettingsButton();
appSettingsToggles.enableProcessFiltersIcon(); appSettingsToggles.enableProcessFiltersIcon();
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.checkFilterIsDisplayed(processFilter.all); processFiltersPage.checkFilterIsDisplayed(processFilter.all);
expect(processFiltersPage.getFilterIcon(processFilter.all)).toEqual('dashboard'); expect(processFiltersPage.getFilterIcon(processFilter.all)).toEqual('dashboard');

View File

@ -17,7 +17,7 @@
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage } from '@alfresco/adf-testing';
import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage'; import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage';
import { AppNavigationBarPage } from '../pages/adf/process-services/appNavigationBarPage'; import { ProcessServiceTabBarPage } from '../pages/adf/process-services/processServiceTabBarPage';
import { DynamicTableWidget } from '../pages/adf/process-services/widgets/dynamicTableWidget'; import { DynamicTableWidget } from '../pages/adf/process-services/widgets/dynamicTableWidget';
import { DropdownWidget } from '../pages/adf/process-services/widgets/dropdownWidget'; import { DropdownWidget } from '../pages/adf/process-services/widgets/dropdownWidget';
import { DatePickerPage } from '../pages/adf/material/datePickerPage'; import { DatePickerPage } from '../pages/adf/material/datePickerPage';
@ -34,7 +34,7 @@ describe('Dynamic Table', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const processFiltersPage = new ProcessFiltersPage(); const processFiltersPage = new ProcessFiltersPage();
const appNavigationBarPage = new AppNavigationBarPage(); const processServiceTabBarPage = new ProcessServiceTabBarPage();
const dynamicTable = new DynamicTableWidget(); const dynamicTable = new DynamicTableWidget();
const datePicker = new DatePickerPage(); const datePicker = new DatePickerPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
@ -99,7 +99,7 @@ describe('Dynamic Table', () => {
beforeEach(() => { beforeEach(() => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton();
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
@ -154,7 +154,7 @@ describe('Dynamic Table', () => {
beforeEach(() => { beforeEach(() => {
navigationBarPage.navigateToProcessServicesPage().goToApp(app.title).clickProcessButton(); navigationBarPage.navigateToProcessServicesPage().goToApp(app.title).clickProcessButton();
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();

View File

@ -62,11 +62,11 @@ describe('Empty Process List Test', () => {
await apps.importPublishDeployApp(this.alfrescoJsApi, appA.file_location); await apps.importPublishDeployApp(this.alfrescoJsApi, appA.file_location);
await apps.importPublishDeployApp(this.alfrescoJsApi, appB.file_location); await apps.importPublishDeployApp(this.alfrescoJsApi, appB.file_location);
await loginPage.loginToProcessServicesUsingUserModel(user);
done(); done();
}); });
it('[C260494] Should add process to list when a process is created', () => { it('[C260494] Should add process to list when a process is created', () => {
loginPage.loginToProcessServicesUsingUserModel(user);
navigationBarPage.navigateToProcessServicesPage(); navigationBarPage.navigateToProcessServicesPage();
processServicesPage.checkApsContainer(); processServicesPage.checkApsContainer();
processServicesPage.goToApp(appA.title).clickProcessButton(); processServicesPage.goToApp(appA.title).clickProcessButton();

View File

@ -21,7 +21,7 @@ import { Widget } from '../pages/adf/process-services/widgets/widget';
import { StartProcessPage } from '../pages/adf/process-services/startProcessPage'; import { StartProcessPage } from '../pages/adf/process-services/startProcessPage';
import { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage'; import { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage';
import { TaskDetailsPage } from '../pages/adf/process-services/taskDetailsPage'; import { TaskDetailsPage } from '../pages/adf/process-services/taskDetailsPage';
import { AppNavigationBarPage } from '../pages/adf/process-services/appNavigationBarPage'; import { ProcessServiceTabBarPage } from '../pages/adf/process-services/processServiceTabBarPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import TestConfig = require('../test.config'); import TestConfig = require('../test.config');
@ -44,7 +44,7 @@ describe('Form widgets - People', () => {
const startProcess = new StartProcessPage(); const startProcess = new StartProcessPage();
const processDetailsPage = new ProcessDetailsPage(); const processDetailsPage = new ProcessDetailsPage();
const taskDetails = new TaskDetailsPage(); const taskDetails = new TaskDetailsPage();
const appNavigationBar = new AppNavigationBarPage(); const appNavigationBar = new ProcessServiceTabBarPage();
beforeAll(async (done) => { beforeAll(async (done) => {
const users = new UsersActions(); const users = new UsersActions();

View File

@ -23,7 +23,7 @@ import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage'; import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage';
import { StartProcessPage } from '../pages/adf/process-services/startProcessPage'; import { StartProcessPage } from '../pages/adf/process-services/startProcessPage';
import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage'; import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage';
import { AppNavigationBarPage } from '../pages/adf/process-services/appNavigationBarPage'; import { ProcessServiceTabBarPage } from '../pages/adf/process-services/processServiceTabBarPage';
import { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage'; import { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage';
import { ProcessListPage } from '../pages/adf/process-services/processListPage'; import { ProcessListPage } from '../pages/adf/process-services/processListPage';
@ -41,7 +41,7 @@ describe('Process Filters Test', () => {
const processServicesPage = new ProcessServicesPage(); const processServicesPage = new ProcessServicesPage();
const startProcessPage = new StartProcessPage(); const startProcessPage = new StartProcessPage();
const processFiltersPage = new ProcessFiltersPage(); const processFiltersPage = new ProcessFiltersPage();
const appNavigationBarPage = new AppNavigationBarPage(); const processServiceTabBarPage = new ProcessServiceTabBarPage();
const processDetailsPage = new ProcessDetailsPage(); const processDetailsPage = new ProcessDetailsPage();
let appModel; let appModel;
@ -83,7 +83,7 @@ describe('Process Filters Test', () => {
navigationBarPage.navigateToProcessServicesPage(); navigationBarPage.navigateToProcessServicesPage();
processServicesPage.checkApsContainer(); processServicesPage.checkApsContainer();
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processListPage.checkProcessListIsDisplayed(); processListPage.checkProcessListIsDisplayed();
}); });
@ -100,7 +100,7 @@ describe('Process Filters Test', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();

View File

@ -24,7 +24,7 @@ import resources = require('../util/resources');
import { AppsActions } from '../actions/APS/apps.actions'; import { AppsActions } from '../actions/APS/apps.actions';
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { AppNavigationBarPage } from '../pages/adf/process-services/appNavigationBarPage'; import { ProcessServiceTabBarPage } from '../pages/adf/process-services/processServiceTabBarPage';
import { ProcessListPage } from '../pages/adf/process-services/processListPage'; import { ProcessListPage } from '../pages/adf/process-services/processListPage';
import { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage'; import { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage';
import dateFormat = require('dateformat'); import dateFormat = require('dateformat');
@ -34,7 +34,7 @@ describe('Process Instance Details', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const processServicesPage = new ProcessServicesPage(); const processServicesPage = new ProcessServicesPage();
const appNavigationBarPage = new AppNavigationBarPage(); const processServiceTabBarPage = new ProcessServiceTabBarPage();
const processListPage = new ProcessListPage(); const processListPage = new ProcessListPage();
const processDetailsPage = new ProcessDetailsPage(); const processDetailsPage = new ProcessDetailsPage();
@ -65,7 +65,7 @@ describe('Process Instance Details', () => {
navigationBarPage.navigateToProcessServicesPage(); navigationBarPage.navigateToProcessServicesPage();
processServicesPage.checkApsContainer(); processServicesPage.checkApsContainer();
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processListPage.checkProcessListIsDisplayed(); processListPage.checkProcessListIsDisplayed();
process = await this.alfrescoJsApi.activiti.processApi.getProcessInstance(processModel.id); process = await this.alfrescoJsApi.activiti.processApi.getProcessInstance(processModel.id);

View File

@ -24,7 +24,7 @@ import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage'; import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage';
import { StartProcessPage } from '../pages/adf/process-services/startProcessPage'; import { StartProcessPage } from '../pages/adf/process-services/startProcessPage';
import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage'; import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage';
import { AppNavigationBarPage } from '../pages/adf/process-services/appNavigationBarPage'; import { ProcessServiceTabBarPage } from '../pages/adf/process-services/processServiceTabBarPage';
import { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage'; import { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage';
import { AttachmentListPage } from '../pages/adf/process-services/attachmentListPage'; import { AttachmentListPage } from '../pages/adf/process-services/attachmentListPage';
import { AppsActions } from '../actions/APS/apps.actions'; import { AppsActions } from '../actions/APS/apps.actions';
@ -47,7 +47,7 @@ describe('Start Process Component', () => {
const processServicesPage = new ProcessServicesPage(); const processServicesPage = new ProcessServicesPage();
const startProcessPage = new StartProcessPage(); const startProcessPage = new StartProcessPage();
const processFiltersPage = new ProcessFiltersPage(); const processFiltersPage = new ProcessFiltersPage();
const appNavigationBarPage = new AppNavigationBarPage(); const processServiceTabBarPage = new ProcessServiceTabBarPage();
const processDetailsPage = new ProcessDetailsPage(); const processDetailsPage = new ProcessDetailsPage();
const attachmentListPage = new AttachmentListPage(); const attachmentListPage = new AttachmentListPage();
const apps = new AppsActions(); const apps = new AppsActions();
@ -120,7 +120,7 @@ describe('Start Process Component', () => {
it('[C260458] Should NOT be able to start a process without process model', () => { it('[C260458] Should NOT be able to start a process without process model', () => {
processServicesPage.goToApp('Task App'); processServicesPage.goToApp('Task App');
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.checkNoProcessMessage(); startProcessPage.checkNoProcessMessage();
@ -137,7 +137,7 @@ describe('Start Process Component', () => {
it('[C260441] Should display start process form and default name when creating a new process', () => { it('[C260441] Should display start process form and default name when creating a new process', () => {
processServicesPage.goToApp('Task App'); processServicesPage.goToApp('Task App');
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
expect(startProcessPage.getDefaultName()).toEqual('My Default Name'); expect(startProcessPage.getDefaultName()).toEqual('My Default Name');
@ -145,7 +145,7 @@ describe('Start Process Component', () => {
it('[C260445] Should require process definition and be possible to click cancel button', () => { it('[C260445] Should require process definition and be possible to click cancel button', () => {
processServicesPage.goToApp('Task App'); processServicesPage.goToApp('Task App');
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.enterProcessName(''); startProcessPage.enterProcessName('');
@ -158,7 +158,7 @@ describe('Start Process Component', () => {
it('[C260444] Should require process name', () => { it('[C260444] Should require process name', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
@ -174,7 +174,7 @@ describe('Start Process Component', () => {
it('[C260443] Should be possible to start a process without start event', () => { it('[C260443] Should be possible to start a process without start event', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
@ -190,7 +190,7 @@ describe('Start Process Component', () => {
it('[C260449] Should be possible to start a process with start event', () => { it('[C260449] Should be possible to start a process with start event', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.enterProcessName('Test'); startProcessPage.enterProcessName('Test');
@ -215,7 +215,7 @@ describe('Start Process Component', () => {
it('[C286503] Should NOT display any process definition when typing a non-existent one', () => { it('[C286503] Should NOT display any process definition when typing a non-existent one', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.typeProcessDefinition('nonexistent'); startProcessPage.typeProcessDefinition('nonexistent');
@ -225,7 +225,7 @@ describe('Start Process Component', () => {
it('[C286504] Should display proper options when typing a part of existent process definitions', () => { it('[C286504] Should display proper options when typing a part of existent process definitions', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.typeProcessDefinition('process'); startProcessPage.typeProcessDefinition('process');
@ -237,7 +237,7 @@ describe('Start Process Component', () => {
it('[C286508] Should display only one option when typing an existent process definition', () => { it('[C286508] Should display only one option when typing an existent process definition', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.typeProcessDefinition(processModelWithoutSe); startProcessPage.typeProcessDefinition(processModelWithoutSe);
@ -249,7 +249,7 @@ describe('Start Process Component', () => {
it('[C286509] Should select automatically the processDefinition when the app contains only one', () => { it('[C286509] Should select automatically the processDefinition when the app contains only one', () => {
processServicesPage.goToApp(simpleApp.title); processServicesPage.goToApp(simpleApp.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
expect(startProcessPage.getProcessDefinitionValue()).toBe(simpleApp.title); expect(startProcessPage.getProcessDefinitionValue()).toBe(simpleApp.title);
@ -258,7 +258,7 @@ describe('Start Process Component', () => {
it('[C286511] Should be able to type the process definition and start a process', () => { it('[C286511] Should be able to type the process definition and start a process', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.enterProcessName('Type'); startProcessPage.enterProcessName('Type');
@ -273,7 +273,7 @@ describe('Start Process Component', () => {
it('[C286513] Should be able to use down arrow key when navigating throw suggestions', () => { it('[C286513] Should be able to use down arrow key when navigating throw suggestions', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.typeProcessDefinition('process'); startProcessPage.typeProcessDefinition('process');
@ -284,7 +284,7 @@ describe('Start Process Component', () => {
it('[C286514] Should the process definition input be cleared when clicking on options drop down ', () => { it('[C286514] Should the process definition input be cleared when clicking on options drop down ', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.typeProcessDefinition('process'); startProcessPage.typeProcessDefinition('process');
@ -297,7 +297,7 @@ describe('Start Process Component', () => {
it('[C260453] Should be possible to add a comment on an active process', () => { it('[C260453] Should be possible to add a comment on an active process', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.enterProcessName('Comment Process'); startProcessPage.enterProcessName('Comment Process');
@ -311,7 +311,7 @@ describe('Start Process Component', () => {
it('[C260454] Should be possible to download audit log file', () => { it('[C260454] Should be possible to download audit log file', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.enterProcessName('Audit Log'); startProcessPage.enterProcessName('Audit Log');
@ -327,7 +327,7 @@ describe('Start Process Component', () => {
it('Should be able to attach a file using the button', () => { it('Should be able to attach a file using the button', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
@ -346,7 +346,7 @@ describe('Start Process Component', () => {
it('[C260451] Should be possible to display process diagram', () => { it('[C260451] Should be possible to display process diagram', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
@ -363,7 +363,7 @@ describe('Start Process Component', () => {
it('[C260452] Should redirect user when clicking on active/completed task', () => { it('[C260452] Should redirect user when clicking on active/completed task', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.enterProcessName('Active Task'); startProcessPage.enterProcessName('Active Task');
@ -380,7 +380,7 @@ describe('Start Process Component', () => {
navigationBarPage.navigateToProcessServicesPage(); navigationBarPage.navigateToProcessServicesPage();
processServicesPage.checkApsContainer(); processServicesPage.checkApsContainer();
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.enterProcessName('Cancel Process'); startProcessPage.enterProcessName('Cancel Process');
@ -396,7 +396,7 @@ describe('Start Process Component', () => {
it('[C260461] Should be possible to add a comment on a completed/canceled process', () => { it('[C260461] Should be possible to add a comment on a completed/canceled process', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.enterProcessName('Comment Process 2'); startProcessPage.enterProcessName('Comment Process 2');
@ -413,7 +413,7 @@ describe('Start Process Component', () => {
it('[C260467] Should NOT be possible to attach a file on a completed process', () => { it('[C260467] Should NOT be possible to attach a file on a completed process', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();
startProcessPage.enterProcessName('File'); startProcessPage.enterProcessName('File');
@ -430,7 +430,7 @@ describe('Start Process Component', () => {
it('[C291781] Should be displayed an error message if process name exceed 255 characters', () => { it('[C291781] Should be displayed an error message if process name exceed 255 characters', () => {
processServicesPage.goToApp(app.title); processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton(); processServiceTabBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton(); processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown(); processFiltersPage.clickNewProcessDropdown();

View File

@ -20,7 +20,7 @@ import { by } from 'protractor';
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage } from '@alfresco/adf-testing';
import { TasksPage } from '../pages/adf/process-services/tasksPage'; import { TasksPage } from '../pages/adf/process-services/tasksPage';
import { AttachmentListPage } from '../pages/adf/process-services/attachmentListPage'; import { AttachmentListPage } from '../pages/adf/process-services/attachmentListPage';
import { AppNavigationBarPage } from '../pages/adf/process-services/appNavigationBarPage'; import { ProcessServiceTabBarPage } from '../pages/adf/process-services/processServiceTabBarPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { Tenant } from '../models/APS/tenant'; import { Tenant } from '../models/APS/tenant';
@ -41,7 +41,7 @@ describe('Start Task - Custom App', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const attachmentListPage = new AttachmentListPage(); const attachmentListPage = new AttachmentListPage();
const appNavigationBarPage = new AppNavigationBarPage(); const processServiceTabBarPage = new ProcessServiceTabBarPage();
let processUserModel, assigneeUserModel; let processUserModel, assigneeUserModel;
const app = resources.Files.SIMPLE_APP_WITH_USER_FORM; const app = resources.Files.SIMPLE_APP_WITH_USER_FORM;
@ -270,15 +270,15 @@ describe('Start Task - Custom App', () => {
taskPage.createNewTask().addName(showHeaderTask).clickStartButton(); taskPage.createNewTask().addName(showHeaderTask).clickStartButton();
taskPage.tasksListPage().checkContentIsDisplayed(showHeaderTask); taskPage.tasksListPage().checkContentIsDisplayed(showHeaderTask);
appNavigationBarPage.clickSettingsButton(); processServiceTabBarPage.clickSettingsButton();
taskPage.taskDetails().appSettingsToggles().disableShowHeader(); taskPage.taskDetails().appSettingsToggles().disableShowHeader();
appNavigationBarPage.clickTasksButton(); processServiceTabBarPage.clickTasksButton();
taskPage.taskDetails().taskInfoDrawerIsNotDisplayed(); taskPage.taskDetails().taskInfoDrawerIsNotDisplayed();
appNavigationBarPage.clickSettingsButton(); processServiceTabBarPage.clickSettingsButton();
taskPage.taskDetails().appSettingsToggles().enableShowHeader(); taskPage.taskDetails().appSettingsToggles().enableShowHeader();
appNavigationBarPage.clickTasksButton(); processServiceTabBarPage.clickTasksButton();
taskPage.taskDetails().taskInfoDrawerIsDisplayed(); taskPage.taskDetails().taskInfoDrawerIsDisplayed();
}); });

View File

@ -20,7 +20,7 @@ import { by } from 'protractor';
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage } from '@alfresco/adf-testing';
import { TasksPage } from '../pages/adf/process-services/tasksPage'; import { TasksPage } from '../pages/adf/process-services/tasksPage';
import { AttachmentListPage } from '../pages/adf/process-services/attachmentListPage'; import { AttachmentListPage } from '../pages/adf/process-services/attachmentListPage';
import { AppNavigationBarPage } from '../pages/adf/process-services/appNavigationBarPage'; import { ProcessServiceTabBarPage } from '../pages/adf/process-services/processServiceTabBarPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import CONSTANTS = require('../util/constants'); import CONSTANTS = require('../util/constants');
@ -41,7 +41,7 @@ describe('Start Task - Task App', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const attachmentListPage = new AttachmentListPage(); const attachmentListPage = new AttachmentListPage();
const appNavigationBarPage = new AppNavigationBarPage(); const processServiceTabBarPage = new ProcessServiceTabBarPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
let processUserModel, assigneeUserModel; let processUserModel, assigneeUserModel;
@ -171,15 +171,15 @@ describe('Start Task - Task App', () => {
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().checkContentIsDisplayed(showHeaderTask); taskPage.tasksListPage().checkContentIsDisplayed(showHeaderTask);
appNavigationBarPage.clickSettingsButton(); processServiceTabBarPage.clickSettingsButton();
taskPage.taskDetails().appSettingsToggles().disableShowHeader(); taskPage.taskDetails().appSettingsToggles().disableShowHeader();
appNavigationBarPage.clickTasksButton(); processServiceTabBarPage.clickTasksButton();
taskPage.taskDetails().taskInfoDrawerIsNotDisplayed(); taskPage.taskDetails().taskInfoDrawerIsNotDisplayed();
appNavigationBarPage.clickSettingsButton(); processServiceTabBarPage.clickSettingsButton();
taskPage.taskDetails().appSettingsToggles().enableShowHeader(); taskPage.taskDetails().appSettingsToggles().enableShowHeader();
appNavigationBarPage.clickTasksButton(); processServiceTabBarPage.clickTasksButton();
taskPage.taskDetails().taskInfoDrawerIsDisplayed(); taskPage.taskDetails().taskInfoDrawerIsDisplayed();
}); });

View File

@ -24,7 +24,7 @@ import { ProcessServicesPage } from '../pages/adf/process-services/processServic
import { TasksPage } from '../pages/adf/process-services/tasksPage'; import { TasksPage } from '../pages/adf/process-services/tasksPage';
import { TasksListPage } from '../pages/adf/process-services/tasksListPage'; import { TasksListPage } from '../pages/adf/process-services/tasksListPage';
import { TaskDetailsPage } from '../pages/adf/process-services/taskDetailsPage'; import { TaskDetailsPage } from '../pages/adf/process-services/taskDetailsPage';
import { AppNavigationBarPage } from '../pages/adf/process-services/appNavigationBarPage'; import { ProcessServiceTabBarPage } from '../pages/adf/process-services/processServiceTabBarPage';
import { AppSettingsToggles } from '../pages/adf/process-services/dialog/appSettingsToggles'; import { AppSettingsToggles } from '../pages/adf/process-services/dialog/appSettingsToggles';
import { TaskFiltersDemoPage } from '../pages/adf/demo-shell/process-services/taskFiltersDemoPage'; import { TaskFiltersDemoPage } from '../pages/adf/demo-shell/process-services/taskFiltersDemoPage';
@ -204,7 +204,7 @@ describe('Task', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const processServicesPage = new ProcessServicesPage(); const processServicesPage = new ProcessServicesPage();
const appNavigationBarPage = new AppNavigationBarPage(); const processServiceTabBarPage = new ProcessServiceTabBarPage();
const appSettingsToggles = new AppSettingsToggles(); const appSettingsToggles = new AppSettingsToggles();
const taskFiltersDemoPage = new TaskFiltersDemoPage(); const taskFiltersDemoPage = new TaskFiltersDemoPage();
@ -290,10 +290,10 @@ describe('Task', () => {
}); });
browser.refresh(); browser.refresh();
appNavigationBarPage.clickSettingsButton(); processServiceTabBarPage.clickSettingsButton();
browser.sleep(500); browser.sleep(500);
appSettingsToggles.enableTaskFiltersIcon(); appSettingsToggles.enableTaskFiltersIcon();
appNavigationBarPage.clickTasksButton(); processServiceTabBarPage.clickTasksButton();
taskFiltersDemoPage.customTaskFilter('New Task Filter with icon').checkTaskFilterIsDisplayed(); taskFiltersDemoPage.customTaskFilter('New Task Filter with icon').checkTaskFilterIsDisplayed();
expect(taskFiltersDemoPage.customTaskFilter('New Task Filter with icon').getTaskFilterIcon()).toEqual('cloud'); expect(taskFiltersDemoPage.customTaskFilter('New Task Filter with icon').getTaskFilterIcon()).toEqual('cloud');
@ -307,9 +307,9 @@ describe('Task', () => {
it('[C286449] Should display task filter icons only when showIcon property is set on true', () => { it('[C286449] Should display task filter icons only when showIcon property is set on true', () => {
taskFiltersDemoPage.myTasksFilter().checkTaskFilterHasNoIcon(); taskFiltersDemoPage.myTasksFilter().checkTaskFilterHasNoIcon();
appNavigationBarPage.clickSettingsButton(); processServiceTabBarPage.clickSettingsButton();
appSettingsToggles.enableTaskFiltersIcon(); appSettingsToggles.enableTaskFiltersIcon();
appNavigationBarPage.clickTasksButton(); processServiceTabBarPage.clickTasksButton();
taskFiltersDemoPage.myTasksFilter().checkTaskFilterIsDisplayed(); taskFiltersDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(taskFiltersDemoPage.myTasksFilter().getTaskFilterIcon()).toEqual('inbox'); expect(taskFiltersDemoPage.myTasksFilter().getTaskFilterIcon()).toEqual('inbox');
@ -384,12 +384,12 @@ describe('Task', () => {
}); });
browser.refresh(); browser.refresh();
appNavigationBarPage.clickSettingsButton(); processServiceTabBarPage.clickSettingsButton();
browser.sleep(500); browser.sleep(500);
appSettingsToggles.enableTaskFiltersIcon(); appSettingsToggles.enableTaskFiltersIcon();
appNavigationBarPage.clickTasksButton(); processServiceTabBarPage.clickTasksButton();
taskFiltersDemoPage.customTaskFilter('Task Filter Edited icon').checkTaskFilterIsDisplayed(); taskFiltersDemoPage.customTaskFilter('Task Filter Edited icon').checkTaskFilterIsDisplayed();
expect(taskFiltersDemoPage.customTaskFilter('Task Filter Edited icon').getTaskFilterIcon()).toEqual('cloud'); expect(taskFiltersDemoPage.customTaskFilter('Task Filter Edited icon').getTaskFilterIcon()).toEqual('cloud');

View File

@ -30,8 +30,7 @@ import { SearchConfiguration } from '../search.config';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { browser } from 'protractor'; import { browser } from 'protractor';
import { StringUtil } from '@alfresco/adf-testing'; import { StringUtil, LocalStorageUtil } from '@alfresco/adf-testing';
import { setConfigField } from '../../proxy';
describe('Search Checklist Component', () => { describe('Search Checklist Component', () => {
@ -154,7 +153,7 @@ describe('Search Checklist Component', () => {
}); });
} }
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
browser.sleep(2000); browser.sleep(2000);
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
@ -191,7 +190,7 @@ describe('Search Checklist Component', () => {
}); });
} }
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
@ -203,7 +202,7 @@ describe('Search Checklist Component', () => {
navigationBarPage.clickContentServicesButton(); navigationBarPage.clickContentServicesButton();
jsonFile.categories[1].component.settings.pageSize = 11; jsonFile.categories[1].component.settings.pageSize = 11;
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
@ -216,7 +215,7 @@ describe('Search Checklist Component', () => {
jsonFile.categories[1].component.settings.pageSize = 9; jsonFile.categories[1].component.settings.pageSize = 9;
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
@ -238,7 +237,7 @@ describe('Search Checklist Component', () => {
}); });
} }
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
@ -259,7 +258,7 @@ describe('Search Checklist Component', () => {
delete jsonFile.categories[1].component.settings.pageSize; delete jsonFile.categories[1].component.settings.pageSize;
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
@ -299,7 +298,7 @@ describe('Search Checklist Component', () => {
jsonFile.categories[1].component.settings.operator = 'AND'; jsonFile.categories[1].component.settings.operator = 'AND';
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
@ -324,7 +323,7 @@ describe('Search Checklist Component', () => {
'value': "TYPE:'cm:auditable'" 'value': "TYPE:'cm:auditable'"
}); });
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage, LocalStorageUtil } from '@alfresco/adf-testing';
import { SearchDialog } from '../../pages/adf/dialog/searchDialog'; import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
import { DataTableComponentPage } from '@alfresco/adf-testing'; import { DataTableComponentPage } from '@alfresco/adf-testing';
import { SearchResultsPage } from '../../pages/adf/searchResultsPage'; import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
@ -29,7 +29,6 @@ import TestConfig = require('../../test.config');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { browser } from 'protractor'; import { browser } from 'protractor';
import { DateUtil } from '../../util/dateUtil'; import { DateUtil } from '../../util/dateUtil';
import { setConfigField } from '../../proxy';
describe('Search Date Range Filter', () => { describe('Search Date Range Filter', () => {
@ -201,7 +200,7 @@ describe('Search Date Range Filter', () => {
jsonFile.categories[4].component.settings.dateFormat = 'MM-DD-YY'; jsonFile.categories[4].component.settings.dateFormat = 'MM-DD-YY';
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().enterTextAndPressEnter('*'); searchDialog.clickOnSearchIcon().enterTextAndPressEnter('*');
searchFilters.checkCreatedRangeFilterIsDisplayed() searchFilters.checkCreatedRangeFilterIsDisplayed()

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage, LocalStorageUtil } from '@alfresco/adf-testing';
import { SearchDialog } from '../../pages/adf/dialog/searchDialog'; import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
import { DataTableComponentPage } from '@alfresco/adf-testing'; import { DataTableComponentPage } from '@alfresco/adf-testing';
import { SearchResultsPage } from '../../pages/adf/searchResultsPage'; import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
@ -32,7 +32,6 @@ import { browser } from 'protractor';
import resources = require('../../util/resources'); import resources = require('../../util/resources');
import { SearchConfiguration } from '../search.config'; import { SearchConfiguration } from '../search.config';
import { DateUtil } from '../../util/dateUtil'; import { DateUtil } from '../../util/dateUtil';
import { setConfigField } from '../../proxy';
describe('Search Number Range Filter', () => { describe('Search Number Range Filter', () => {
@ -402,7 +401,7 @@ describe('Search Number Range Filter', () => {
jsonFile.categories[3].component.settings.field = 'cm:created'; jsonFile.categories[3].component.settings.field = 'cm:created';
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.checkSearchIconIsVisible() searchDialog.checkSearchIconIsVisible()
.clickOnSearchIcon() .clickOnSearchIcon()
@ -444,7 +443,7 @@ describe('Search Number Range Filter', () => {
jsonFile.categories[3].component.settings.format = '[{FROM} TO {TO}>'; jsonFile.categories[3].component.settings.format = '[{FROM} TO {TO}>';
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.checkSearchIconIsVisible() searchDialog.checkSearchIconIsVisible()
.clickOnSearchIcon() .clickOnSearchIcon()
@ -480,7 +479,7 @@ describe('Search Number Range Filter', () => {
jsonFile.categories[3].component.settings.format = '<{FROM} TO {TO}]'; jsonFile.categories[3].component.settings.format = '<{FROM} TO {TO}]';
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.checkSearchIconIsVisible() searchDialog.checkSearchIconIsVisible()
.clickOnSearchIcon() .clickOnSearchIcon()

View File

@ -30,8 +30,7 @@ import { SearchConfiguration } from '../search.config';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { browser } from 'protractor'; import { browser } from 'protractor';
import { StringUtil } from '@alfresco/adf-testing'; import { StringUtil, LocalStorageUtil } from '@alfresco/adf-testing';
import { setConfigField } from '../../proxy';
describe('Search Radio Component', () => { describe('Search Radio Component', () => {
@ -73,7 +72,10 @@ describe('Search Radio Component', () => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password); await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
createdFolder = await this.alfrescoJsApi.nodes.addNode('-my-', {name: nodeNames.folder, nodeType: 'cm:folder'}); createdFolder = await this.alfrescoJsApi.nodes.addNode('-my-', {
name: nodeNames.folder,
nodeType: 'cm:folder'
});
createdFile = await this.alfrescoJsApi.nodes.addNode('-my-', { createdFile = await this.alfrescoJsApi.nodes.addNode('-my-', {
name: nodeNames.document, name: nodeNames.document,
nodeType: 'cm:content' nodeType: 'cm:content'
@ -152,7 +154,7 @@ describe('Search Radio Component', () => {
}); });
} }
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickTypeFilterHeader(); searchFiltersPage.clickTypeFilterHeader();
@ -163,7 +165,7 @@ describe('Search Radio Component', () => {
jsonFile.categories[5].component.settings.pageSize = 11; jsonFile.categories[5].component.settings.pageSize = 11;
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickTypeFilterHeader(); searchFiltersPage.clickTypeFilterHeader();
@ -173,7 +175,7 @@ describe('Search Radio Component', () => {
navigationBarPage.clickContentServicesButton(); navigationBarPage.clickContentServicesButton();
jsonFile.categories[5].component.settings.pageSize = 9; jsonFile.categories[5].component.settings.pageSize = 9;
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickTypeFilterHeader(); searchFiltersPage.clickTypeFilterHeader();
@ -198,7 +200,7 @@ describe('Search Radio Component', () => {
}); });
} }
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickTypeFilterHeader(); searchFiltersPage.clickTypeFilterHeader();
@ -225,7 +227,7 @@ describe('Search Radio Component', () => {
navigationBarPage.clickContentServicesButton(); navigationBarPage.clickContentServicesButton();
delete jsonFile.categories[5].component.settings.pageSize; delete jsonFile.categories[5].component.settings.pageSize;
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickTypeFilterHeader(); searchFiltersPage.clickTypeFilterHeader();
@ -275,7 +277,7 @@ describe('Search Radio Component', () => {
'value': "TYPE:'cm:content'" 'value': "TYPE:'cm:content'"
}); });
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickTypeFilterHeader(); searchFiltersPage.clickTypeFilterHeader();

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage, LocalStorageUtil } from '@alfresco/adf-testing';
import { SearchDialog } from '../../pages/adf/dialog/searchDialog'; import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
import { DataTableComponentPage } from '@alfresco/adf-testing'; import { DataTableComponentPage } from '@alfresco/adf-testing';
import { SearchResultsPage } from '../../pages/adf/searchResultsPage'; import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
@ -31,7 +31,6 @@ import { FileModel } from '../../models/ACS/fileModel';
import { browser } from 'protractor'; import { browser } from 'protractor';
import resources = require('../../util/resources'); import resources = require('../../util/resources');
import { SearchConfiguration } from '../search.config'; import { SearchConfiguration } from '../search.config';
import { setConfigField } from '../../proxy';
describe('Search Number Range Filter', () => { describe('Search Number Range Filter', () => {
@ -168,7 +167,7 @@ describe('Search Number Range Filter', () => {
jsonFile.categories[2].component.settings.thumbLabel = false; jsonFile.categories[2].component.settings.thumbLabel = false;
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.checkSearchIconIsVisible() searchDialog.checkSearchIconIsVisible()
.clickOnSearchIcon() .clickOnSearchIcon()
@ -187,7 +186,7 @@ describe('Search Number Range Filter', () => {
const minSize = 3; const minSize = 3;
jsonFile.categories[2].component.settings.min = minSize; jsonFile.categories[2].component.settings.min = minSize;
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.checkSearchIconIsVisible() searchDialog.checkSearchIconIsVisible()
.clickOnSearchIcon() .clickOnSearchIcon()
@ -208,7 +207,7 @@ describe('Search Number Range Filter', () => {
const maxSize = 50; const maxSize = 50;
jsonFile.categories[2].component.settings.max = maxSize; jsonFile.categories[2].component.settings.max = maxSize;
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.checkSearchIconIsVisible() searchDialog.checkSearchIconIsVisible()
.clickOnSearchIcon() .clickOnSearchIcon()
@ -229,7 +228,7 @@ describe('Search Number Range Filter', () => {
const step = 10; const step = 10;
jsonFile.categories[2].component.settings.step = step; jsonFile.categories[2].component.settings.step = step;
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.checkSearchIconIsVisible() searchDialog.checkSearchIconIsVisible()
.clickOnSearchIcon() .clickOnSearchIcon()

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage, LocalStorageUtil } from '@alfresco/adf-testing';
import { SearchDialog } from '../../pages/adf/dialog/searchDialog'; import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
import { SearchResultsPage } from '../../pages/adf/searchResultsPage'; import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
@ -32,7 +32,6 @@ import { browser } from 'protractor';
import resources = require('../../util/resources'); import resources = require('../../util/resources');
import { SearchConfiguration } from '../search.config'; import { SearchConfiguration } from '../search.config';
import { SearchSortingPickerPage } from '../../pages/adf/content-services/search/components/search-sortingPicker.page'; import { SearchSortingPickerPage } from '../../pages/adf/content-services/search/components/search-sortingPicker.page';
import { setConfigField } from '../../proxy';
describe('Search Sorting Picker', () => { describe('Search Sorting Picker', () => {
@ -122,7 +121,7 @@ describe('Search Sorting Picker', () => {
'field': 'cm:modifier', 'field': 'cm:modifier',
'ascending': true 'ascending': true
}); });
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.checkSearchIconIsVisible() searchDialog.checkSearchIconIsVisible()
.clickOnSearchIcon() .clickOnSearchIcon()
@ -139,7 +138,7 @@ describe('Search Sorting Picker', () => {
const searchConfiguration = new SearchConfiguration(); const searchConfiguration = new SearchConfiguration();
jsonFile = searchConfiguration.getConfiguration(); jsonFile = searchConfiguration.getConfiguration();
const removedOption = jsonFile.sorting.options.splice(0, 1); const removedOption = jsonFile.sorting.options.splice(0, 1);
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.checkSearchIconIsVisible() searchDialog.checkSearchIconIsVisible()
.clickOnSearchIcon() .clickOnSearchIcon()
@ -165,7 +164,7 @@ describe('Search Sorting Picker', () => {
'ascending': true 'ascending': true
}; };
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.checkSearchIconIsVisible() searchDialog.checkSearchIconIsVisible()
.clickOnSearchIcon() .clickOnSearchIcon()
@ -230,7 +229,7 @@ describe('Search Sorting Picker', () => {
'field': 'cm:modified', 'field': 'cm:modified',
'ascending': true 'ascending': true
}); });
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.checkSearchIconIsVisible() searchDialog.checkSearchIconIsVisible()
.clickOnSearchIcon() .clickOnSearchIcon()
@ -265,7 +264,7 @@ describe('Search Sorting Picker', () => {
'ascending': true 'ascending': true
}); });
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.checkSearchIconIsVisible() searchDialog.checkSearchIconIsVisible()
.clickOnSearchIcon() .clickOnSearchIcon()

View File

@ -24,14 +24,13 @@ import TestConfig = require('../../test.config');
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { LoginPage } from '@alfresco/adf-testing'; import { LoginPage, LocalStorageUtil } from '@alfresco/adf-testing';
import { SearchDialog } from '../../pages/adf/dialog/searchDialog'; import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
import { SearchResultsPage } from '../../pages/adf/searchResultsPage'; import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
import { SearchFiltersPage } from '../../pages/adf/searchFiltersPage'; import { SearchFiltersPage } from '../../pages/adf/searchFiltersPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { SearchConfiguration } from '../search.config'; import { SearchConfiguration } from '../search.config';
import { setConfigField } from '../../proxy';
describe('Search component - Text widget', () => { describe('Search component - Text widget', () => {
@ -109,7 +108,7 @@ describe('Search component - Text widget', () => {
jsonFile.categories[0].component.settings.field = 'cm:description'; jsonFile.categories[0].component.settings.field = 'cm:description';
navigationBarPage.clickContentServicesButton(); navigationBarPage.clickContentServicesButton();
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().enterTextAndPressEnter('*'); searchDialog.clickOnSearchIcon().enterTextAndPressEnter('*');
searchResultPage.tableIsLoaded(); searchResultPage.tableIsLoaded();

View File

@ -29,13 +29,12 @@ import { FolderModel } from '../models/ACS/folderModel';
import TestConfig = require('../test.config'); import TestConfig = require('../test.config');
import { Util } from '../util/util'; import { Util } from '../util/util';
import { StringUtil } from '@alfresco/adf-testing'; import { StringUtil, LocalStorageUtil } 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 { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { SearchConfiguration } from './search.config'; import { SearchConfiguration } from './search.config';
import { setConfigField } from '../proxy';
describe('Search component - Search Bar', () => { describe('Search component - Search Bar', () => {
@ -311,7 +310,7 @@ describe('Search component - Search Bar', () => {
beforeAll(async () => { beforeAll(async () => {
navigationBar.clickContentServicesButton(); navigationBar.clickContentServicesButton();
await setConfigField('search', JSON.stringify(searchConfiguration)); await LocalStorageUtil.setConfigField('search', JSON.stringify(searchConfiguration));
searchDialog searchDialog
.checkSearchIconIsVisible() .checkSearchIconIsVisible()

View File

@ -24,14 +24,13 @@ import { FileModel } from '../models/ACS/fileModel';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import TestConfig = require('../test.config'); import TestConfig = require('../test.config');
import { StringUtil, DocumentListPage, PaginationPage, LoginPage } from '@alfresco/adf-testing'; import { StringUtil, DocumentListPage, PaginationPage, LoginPage, LocalStorageUtil } from '@alfresco/adf-testing';
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 { UploadActions } from '../actions/ACS/upload.actions'; import { UploadActions } from '../actions/ACS/upload.actions';
import { browser } from 'protractor'; import { browser } from 'protractor';
import { SearchConfiguration } from './search.config'; import { SearchConfiguration } from './search.config';
import { setConfigField } from '../proxy';
describe('Search Filters', () => { describe('Search Filters', () => {
@ -188,7 +187,7 @@ describe('Search Filters', () => {
navigationBarPage.clickContentServicesButton(); navigationBarPage.clickContentServicesButton();
jsonFile['filterWithContains'] = true; jsonFile['filterWithContains'] = true;
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon() searchDialog.clickOnSearchIcon()
.enterTextAndPressEnter('*'); .enterTextAndPressEnter('*');
@ -211,7 +210,7 @@ describe('Search Filters', () => {
it('[C291981] Should group search facets under the default label, by default', async () => { it('[C291981] Should group search facets under the default label, by default', async () => {
navigationBarPage.clickContentServicesButton(); navigationBarPage.clickContentServicesButton();
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon() searchDialog.clickOnSearchIcon()
.enterTextAndPressEnter('*'); .enterTextAndPressEnter('*');
@ -265,7 +264,7 @@ describe('Search Filters', () => {
jsonFile.facetFields.fields[0].label = 'My File Types'; jsonFile.facetFields.fields[0].label = 'My File Types';
jsonFile.facetFields.fields[1].label = 'My File Sizes'; jsonFile.facetFields.fields[1].label = 'My File Sizes';
await setConfigField('search', JSON.stringify(jsonFile)); await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon() searchDialog.clickOnSearchIcon()
.enterTextAndPressEnter('*'); .enterTextAndPressEnter('*');

View File

@ -17,12 +17,16 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { AppConfigService } from '../app-config/app-config.service'; import { AppConfigService } from '../app-config/app-config.service';
import { AlfrescoApiService } from '../services/alfresco-api.service';
import { StorageService } from './storage.service';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
export class CoreAutomationService { export class CoreAutomationService {
constructor(private appConfigService: AppConfigService) { constructor(private appConfigService: AppConfigService,
private alfrescoApiService: AlfrescoApiService,
private storageService: StorageService) {
} }
setup() { setup() {
@ -32,6 +36,18 @@ export class CoreAutomationService {
this.appConfigService.config[field] = JSON.parse(value); this.appConfigService.config[field] = JSON.parse(value);
}; };
adfProxy.setStorageItem = (key: string, data: string) => {
this.storageService.setItem(key, data);
};
adfProxy.clearStorage = () => {
this.storageService.clear();
};
adfProxy.apiReset = () => {
this.alfrescoApiService.reset();
};
window['adf'] = adfProxy; window['adf'] = adfProxy;
} }
} }

View File

@ -17,7 +17,7 @@
import { by, element } from 'protractor'; import { by, element } from 'protractor';
import { DocumentListPage } from '../pages/document-list.page'; import { DocumentListPage } from '../pages/document-list.page';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class ContentNodeSelectorDialogPage { export class ContentNodeSelectorDialogPage {
dialog = element(by.css(`adf-content-node-selector`)); dialog = element(by.css(`adf-content-node-selector`));

View File

@ -17,7 +17,7 @@
import { by, element, ElementFinder, browser } from 'protractor'; import { by, element, ElementFinder, browser } from 'protractor';
import { DataTableComponentPage } from '../../core/pages/data-table-component.page'; import { DataTableComponentPage } from '../../core/pages/data-table-component.page';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class DocumentListPage { export class DocumentListPage {

View File

@ -16,7 +16,7 @@
*/ */
import { ApiService } from '../api.service'; import { ApiService } from '../api.service';
import { StringUtil } from '../../string.util'; import { StringUtil } from '../../utils/string.util';
export class GroupIdentityService { export class GroupIdentityService {

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { StringUtil } from '../string.util'; import { StringUtil } from '../utils/string.util';
export class UserModel { export class UserModel {

View File

@ -17,7 +17,7 @@
import { browser, by, element, protractor } from 'protractor'; import { browser, by, element, protractor } from 'protractor';
import { ElementFinder, ElementArrayFinder } from 'protractor/built/element'; import { ElementFinder, ElementArrayFinder } from 'protractor/built/element';
import { BrowserVisibility } from '../browser-visibility'; import { BrowserVisibility } from '../utils/browser-visibility';
export class DataTableComponentPage { export class DataTableComponentPage {

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../utils/browser-visibility';
import { element, by } from 'protractor'; import { element, by } from 'protractor';
export class ErrorPage { export class ErrorPage {

View File

@ -16,7 +16,7 @@
*/ */
import { by } from 'protractor'; import { by } from 'protractor';
import { BrowserVisibility } from '../browser-visibility'; import { BrowserVisibility } from '../utils/browser-visibility';
export class FormControllersPage { export class FormControllersPage {

View File

@ -16,7 +16,7 @@
*/ */
import { element, by, protractor } from 'protractor'; import { element, by, protractor } from 'protractor';
import { BrowserVisibility } from '../browser-visibility'; import { BrowserVisibility } from '../utils/browser-visibility';
export class HeaderPage { export class HeaderPage {

View File

@ -16,7 +16,7 @@
*/ */
import { element, by, browser, protractor } from 'protractor'; import { element, by, browser, protractor } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../utils/browser-visibility';
export class LoginSSOPage { export class LoginSSOPage {

View File

@ -17,10 +17,13 @@
import { FormControllersPage } from './form-controller.page'; import { FormControllersPage } from './form-controller.page';
import { browser, by, element, protractor } from 'protractor'; import { browser, by, element, protractor } from 'protractor';
import { BrowserVisibility } from '../browser-visibility'; import { BrowserVisibility } from '../utils/browser-visibility';
import { SettingsPage } from './settings.page'; import { LocalStorageUtil } from '../utils/local-storage.util';
export class LoginPage { export class LoginPage {
loginURL = browser.baseUrl + '/login';
formControllersPage = new FormControllersPage(); formControllersPage = new FormControllersPage();
txtUsername = element(by.css('input[id="username"]')); txtUsername = element(by.css('input[id="username"]'));
txtPassword = element(by.css('input[id="password"]')); txtPassword = element(by.css('input[id="password"]'));
@ -64,7 +67,6 @@ export class LoginPage {
successRouteSwitch = element(by.id('adf-toggle-show-successRoute')); successRouteSwitch = element(by.id('adf-toggle-show-successRoute'));
logoSwitch = element(by.id('adf-toggle-logo')); logoSwitch = element(by.id('adf-toggle-logo'));
header = element(by.id('adf-header')); header = element(by.id('adf-header'));
settingsPage = new SettingsPage();
settingsIcon = element( settingsIcon = element(
by.cssContainingText( by.cssContainingText(
'a[data-automation-id="settings"] mat-icon', 'a[data-automation-id="settings"] mat-icon',
@ -72,6 +74,13 @@ export class LoginPage {
) )
); );
goToLoginPage() {
browser.waitForAngularEnabled(true);
browser.driver.get(this.loginURL);
this.waitForElements();
return this;
}
waitForElements() { waitForElements() {
BrowserVisibility.waitUntilElementIsVisible(this.txtUsername); BrowserVisibility.waitUntilElementIsVisible(this.txtUsername);
BrowserVisibility.waitUntilElementIsVisible(this.txtPassword); BrowserVisibility.waitUntilElementIsVisible(this.txtPassword);
@ -162,31 +171,31 @@ export class LoginPage {
return this.signInButton.isEnabled(); return this.signInButton.isEnabled();
} }
loginToProcessServicesUsingUserModel(userModel) { async loginToProcessServicesUsingUserModel(userModel) {
this.settingsPage.setProviderBpm(); this.goToLoginPage();
this.waitForElements(); await LocalStorageUtil.clearStorage();
await LocalStorageUtil.setStorageItem('providers', 'BPM');
await LocalStorageUtil.apiReset();
this.login(userModel.email, userModel.password); this.login(userModel.email, userModel.password);
} }
loginToContentServicesUsingUserModel(userModel) { async loginToContentServicesUsingUserModel(userModel) {
this.settingsPage.setProviderEcm(); this.goToLoginPage();
this.waitForElements(); await LocalStorageUtil.clearStorage();
await LocalStorageUtil.setStorageItem('providers', 'ECM');
await LocalStorageUtil.apiReset();
this.login(userModel.getId(), userModel.getPassword()); this.login(userModel.getId(), userModel.getPassword());
} }
loginToContentServices(username, password) { async loginToContentServices(username, password) {
this.settingsPage.setProviderEcm(); this.goToLoginPage();
await LocalStorageUtil.clearStorage();
await LocalStorageUtil.setStorageItem('providers', 'ECM');
await LocalStorageUtil.apiReset();
this.waitForElements(); this.waitForElements();
this.login(username, password); this.login(username, password);
} }
goToLoginPage() {
browser.waitForAngularEnabled(true);
browser.driver.get(browser.baseUrl + '/login');
this.waitForElements();
}
clickSignInButton() { clickSignInButton() {
BrowserVisibility.waitUntilElementIsVisible(this.signInButton); BrowserVisibility.waitUntilElementIsVisible(this.signInButton);
this.signInButton.click(); this.signInButton.click();

View File

@ -16,7 +16,7 @@
*/ */
import { browser, by, element, protractor } from 'protractor'; import { browser, by, element, protractor } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../utils/browser-visibility';
export class PaginationPage { export class PaginationPage {

View File

@ -16,7 +16,7 @@
*/ */
import { browser, by, element, protractor } from 'protractor'; import { browser, by, element, protractor } from 'protractor';
import { BrowserVisibility } from '../browser-visibility'; import { BrowserVisibility } from '../utils/browser-visibility';
export class SettingsPage { export class SettingsPage {

View File

@ -16,7 +16,7 @@
*/ */
import { element, by, browser, protractor } from 'protractor'; import { element, by, browser, protractor } from 'protractor';
import { BrowserVisibility } from '../browser-visibility'; import { BrowserVisibility } from '../utils/browser-visibility';
import { TabsPage } from '../../material/pages/tabs.page'; import { TabsPage } from '../../material/pages/tabs.page';
export class UserInfoPage { export class UserInfoPage {

View File

@ -15,9 +15,8 @@
* limitations under the License. * limitations under the License.
*/ */
export * from './browser-visibility';
export * from './actions/public-api'; export * from './actions/public-api';
export * from './pages/public-api'; export * from './pages/public-api';
export * from './models/public-api'; export * from './models/public-api';
export * from './string.util';
export * from './protractor.util'; export * from './utils/public-api';

View File

@ -0,0 +1,45 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { browser } from 'protractor';
export class LocalStorageUtil {
static async setConfigField(field: string, value: string) {
await browser.executeScript(
'window.adf.setConfigField(`' + field + '`, `' + value + '`);'
);
}
static async setStorageItem(field: string, value: string) {
await browser.executeScript(
'window.adf.setStorageItem(`' + field + '`, `' + value + '`);'
);
}
static async clearStorage() {
await browser.executeScript(
'window.adf.clearStorage();'
);
}
static async apiReset() {
await browser.executeScript(
`window.adf.apiReset();`
);
}
}

View File

@ -15,14 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
/* tslint:disable */ export * from './browser-visibility';
export * from './string.util';
import { browser } from 'protractor'; export * from './protractor.util';
export * from './local-storage.util';
export async function setConfigField(field: string, value: string) {
await browser.executeScript(
"window.adf.setConfigField(`" + field + "`, `" + value + "`);"
);
}

View File

@ -16,7 +16,7 @@
*/ */
import { element, by } from 'protractor'; import { element, by } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class TabsPage { export class TabsPage {

View File

@ -16,7 +16,7 @@
*/ */
import { element, by } from 'protractor'; import { element, by } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class AppListCloudPage { export class AppListCloudPage {

View File

@ -16,7 +16,7 @@
*/ */
import { by, element, protractor } from 'protractor'; import { by, element, protractor } from 'protractor';
import { BrowserVisibility } from '../../../core/browser-visibility'; import { BrowserVisibility } from '../../../core/utils/browser-visibility';
export class EditProcessFilterDialogPage { export class EditProcessFilterDialogPage {

View File

@ -16,7 +16,7 @@
*/ */
import { by, element, protractor } from 'protractor'; import { by, element, protractor } from 'protractor';
import { BrowserVisibility } from '../../../core/browser-visibility'; import { BrowserVisibility } from '../../../core/utils/browser-visibility';
export class EditTaskFilterDialogPage { export class EditTaskFilterDialogPage {

View File

@ -16,7 +16,7 @@
*/ */
import { by, element, protractor } from 'protractor'; import { by, element, protractor } from 'protractor';
import { EditProcessFilterDialogPage } from './dialog/edit-process-filter-dialog.page'; import { EditProcessFilterDialogPage } from './dialog/edit-process-filter-dialog.page';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class EditProcessFilterCloudComponentPage { export class EditProcessFilterCloudComponentPage {

View File

@ -17,7 +17,7 @@
import { by, element, protractor } from 'protractor'; import { by, element, protractor } from 'protractor';
import { EditTaskFilterDialogPage } from './dialog/edit-task-filter-dialog.page'; import { EditTaskFilterDialogPage } from './dialog/edit-task-filter-dialog.page';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class EditTaskFilterCloudComponentPage { export class EditTaskFilterCloudComponentPage {

View File

@ -16,7 +16,7 @@
*/ */
import { browser, by, element, protractor } from 'protractor'; import { browser, by, element, protractor } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class GroupCloudComponentPage { export class GroupCloudComponentPage {

View File

@ -16,7 +16,7 @@
*/ */
import { browser, by, element, protractor } from 'protractor'; import { browser, by, element, protractor } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class PeopleCloudComponentPage { export class PeopleCloudComponentPage {

View File

@ -16,7 +16,7 @@
*/ */
import { by } from 'protractor'; import { by } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class ProcessFiltersCloudComponentPage { export class ProcessFiltersCloudComponentPage {

View File

@ -16,7 +16,7 @@
*/ */
import { element, by } from 'protractor'; import { element, by } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class ProcessHeaderCloudPage { export class ProcessHeaderCloudPage {

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
import { DataTableComponentPage } from '../../core/pages/data-table-component.page'; import { DataTableComponentPage } from '../../core/pages/data-table-component.page';
import { element, by } from 'protractor'; import { element, by } from 'protractor';

View File

@ -16,7 +16,7 @@
*/ */
import { by, element, Key, protractor, browser } from 'protractor'; import { by, element, Key, protractor, browser } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class StartProcessCloudPage { export class StartProcessCloudPage {
@ -95,6 +95,7 @@ export class StartProcessCloudPage {
} }
clickStartProcessButton() { clickStartProcessButton() {
BrowserVisibility.waitUntilElementIsClickable(this.startProcessButton);
return this.startProcessButton.click(); return this.startProcessButton.click();
} }

View File

@ -16,7 +16,7 @@
*/ */
import { element, by, Key, protractor } from 'protractor'; import { element, by, Key, protractor } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class StartTasksCloudPage { export class StartTasksCloudPage {

View File

@ -16,7 +16,7 @@
*/ */
import { by } from 'protractor'; import { by } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class TaskFiltersCloudComponentPage { export class TaskFiltersCloudComponentPage {

View File

@ -16,7 +16,7 @@
*/ */
import { element, by } from 'protractor'; import { element, by } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class TaskHeaderCloudPage { export class TaskHeaderCloudPage {

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
import { DataTableComponentPage } from '../../core/pages/data-table-component.page'; import { DataTableComponentPage } from '../../core/pages/data-table-component.page';
import { element, by } from 'protractor'; import { element, by } from 'protractor';

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { BrowserVisibility } from '../../core/browser-visibility'; import { BrowserVisibility } from '../../core/utils/browser-visibility';
import { by, element } from 'protractor'; import { by, element } from 'protractor';
export class FormFieldsPage { export class FormFieldsPage {