mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-06-30 18:15:11 +00:00
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:
parent
97ad54a4f8
commit
e85b57876e
@ -18,7 +18,6 @@
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
||||
import { PaginationPage } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||
|
||||
import { AcsUserModel } from '../../models/ACS/acsUserModel';
|
||||
import { FolderModel } from '../../models/ACS/folderModel';
|
||||
@ -28,6 +27,7 @@ import { Util } from '../../util/util';
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UploadActions } from '../../actions/ACS/upload.actions';
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Document List - Pagination', function () {
|
||||
const pagination = {
|
||||
@ -51,17 +51,16 @@ describe('Document List - Pagination', function () {
|
||||
const loginPage = new LoginPage();
|
||||
const contentServicesPage = new ContentServicesPage();
|
||||
const paginationPage = new PaginationPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
|
||||
const acsUser = new AcsUserModel();
|
||||
const newFolderModel = new FolderModel({'name': 'newFolder'});
|
||||
const newFolderModel = new FolderModel({ 'name': 'newFolder' });
|
||||
let fileNames = [];
|
||||
const nrOfFiles = 20;
|
||||
let currentPage = 1;
|
||||
let secondSetOfFiles = [];
|
||||
const secondSetNumber = 25;
|
||||
const folderTwoModel = new FolderModel({'name': 'folderTwo'});
|
||||
const folderThreeModel = new FolderModel({'name': 'folderThree'});
|
||||
const folderTwoModel = new FolderModel({ 'name': 'folderTwo' });
|
||||
const folderThreeModel = new FolderModel({ 'name': 'folderThree' });
|
||||
|
||||
beforeAll(async (done) => {
|
||||
const uploadActions = new UploadActions();
|
||||
@ -87,7 +86,11 @@ describe('Document List - Pagination', function () {
|
||||
|
||||
await uploadActions.createEmptyFiles(this.alfrescoJsApi, secondSetOfFiles, folderThreeUploadedModel.entry.id);
|
||||
|
||||
loginPage.loginToContentServicesUsingUserModel(acsUser);
|
||||
done();
|
||||
});
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await loginPage.loginToContentServicesUsingUserModel(acsUser);
|
||||
|
||||
done();
|
||||
});
|
||||
@ -124,14 +127,9 @@ describe('Document List - Pagination', function () {
|
||||
paginationPage.checkNextPageButtonIsDisabled();
|
||||
paginationPage.checkPreviousPageButtonIsDisabled();
|
||||
|
||||
navigationBarPage.clickLogoutButton();
|
||||
loginPage.loginToContentServicesUsingUserModel(acsUser);
|
||||
contentServicesPage.goToDocumentList();
|
||||
contentServicesPage.checkAcsContainer();
|
||||
browser.refresh();
|
||||
contentServicesPage.waitForTableBody();
|
||||
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty);
|
||||
navigationBarPage.clickLogoutButton();
|
||||
loginPage.loginToContentServicesUsingUserModel(acsUser);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
navigationBarPage.clickLogoutButton();
|
||||
loginPage.loginToContentServicesUsingUserModel(acsUser);
|
||||
contentServicesPage.goToDocumentList();
|
||||
browser.refresh();
|
||||
contentServicesPage.checkAcsContainer();
|
||||
contentServicesPage.waitForTableBody();
|
||||
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
|
||||
navigationBarPage.clickLogoutButton();
|
||||
loginPage.loginToContentServicesUsingUserModel(acsUser);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
navigationBarPage.clickLogoutButton();
|
||||
loginPage.loginToContentServicesUsingUserModel(acsUser);
|
||||
contentServicesPage.goToDocumentList();
|
||||
contentServicesPage.checkAcsContainer();
|
||||
browser.refresh();
|
||||
contentServicesPage.waitForTableBody();
|
||||
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 () {
|
||||
@ -253,10 +241,8 @@ describe('Document List - Pagination', function () {
|
||||
expect(Util.arrayContainsArray(list, fileNames.slice(15, 20))).toEqual(true);
|
||||
});
|
||||
|
||||
navigationBarPage.clickLogoutButton();
|
||||
loginPage.loginToContentServicesUsingUserModel(acsUser);
|
||||
contentServicesPage.goToDocumentList();
|
||||
contentServicesPage.checkAcsContainer();
|
||||
browser.refresh();
|
||||
contentServicesPage.waitForTableBody();
|
||||
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen);
|
||||
});
|
||||
|
||||
|
@ -20,7 +20,7 @@ import { FileModel } from '../models/ACS/fileModel';
|
||||
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
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 resources = require('../util/resources');
|
||||
@ -35,7 +35,7 @@ describe('Tag component', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const tagPage = new TagPage();
|
||||
const appNavigationBarPage = new AppNavigationBarPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
|
||||
const acsUser = new AcsUserModel();
|
||||
const uploadActions = new UploadActions();
|
||||
@ -86,9 +86,7 @@ describe('Tag component', () => {
|
||||
|
||||
await this.alfrescoJsApi.core.tagsApi.addTag(nodeId, tags);
|
||||
|
||||
loginPage.loginToContentServicesUsingUserModel(acsUser);
|
||||
|
||||
appNavigationBarPage.clickTagButton();
|
||||
await loginPage.loginToContentServicesUsingUserModel(acsUser);
|
||||
|
||||
done();
|
||||
});
|
||||
@ -100,6 +98,8 @@ describe('Tag component', () => {
|
||||
});
|
||||
|
||||
it('[C260374] Should NOT be possible to add a new tag without Node ID', () => {
|
||||
navigationBarPage.clickTagButton();
|
||||
|
||||
expect(tagPage.getNodeId()).toEqual('');
|
||||
expect(tagPage.getNewTagPlaceholder()).toEqual('New Tag');
|
||||
expect(tagPage.addTagButtonIsEnabled()).toEqual(false);
|
||||
|
@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
import { LoginPage, LocalStorageUtil } from '@alfresco/adf-testing';
|
||||
import { ViewerPage } from '../../pages/adf/viewerPage';
|
||||
import { MetadataViewPage } from '../../pages/adf/metadataViewPage';
|
||||
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 { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
||||
import { check } from '../../util/material';
|
||||
import { setConfigField } from '../../proxy';
|
||||
|
||||
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 () => {
|
||||
|
||||
await setConfigField('content-metadata', JSON.stringify({
|
||||
await LocalStorageUtil.setConfigField('content-metadata', JSON.stringify({
|
||||
presets: {
|
||||
default: [
|
||||
{
|
||||
@ -137,7 +136,7 @@ describe('Aspect oriented config', () => {
|
||||
|
||||
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: {
|
||||
default: {
|
||||
'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 () => {
|
||||
|
||||
await setConfigField('content-metadata', '{}');
|
||||
await LocalStorageUtil.setConfigField('content-metadata', '{}');
|
||||
|
||||
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 () => {
|
||||
|
||||
await setConfigField('content-metadata', JSON.stringify({
|
||||
await LocalStorageUtil.setConfigField('content-metadata', JSON.stringify({
|
||||
presets: {
|
||||
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 () => {
|
||||
|
||||
await setConfigField('content-metadata', '{' +
|
||||
await LocalStorageUtil.setConfigField('content-metadata', '{' +
|
||||
' "presets": {' +
|
||||
' "default": [' +
|
||||
' {' +
|
||||
@ -250,7 +249,7 @@ describe('Aspect oriented config', () => {
|
||||
|
||||
it('[C279968] Should be possible use a custom preset', async () => {
|
||||
|
||||
await setConfigField('content-metadata', '{' +
|
||||
await LocalStorageUtil.setConfigField('content-metadata', '{' +
|
||||
' "presets": {' +
|
||||
' "custom-preset": {' +
|
||||
' "exif:exif": "*",' +
|
||||
@ -280,7 +279,7 @@ describe('Aspect oriented config', () => {
|
||||
|
||||
it('[C299186] The aspect without properties is not displayed', async () => {
|
||||
|
||||
await setConfigField('content-metadata', '{' +
|
||||
await LocalStorageUtil.setConfigField('content-metadata', '{' +
|
||||
' "presets": { "' + modelOneName +
|
||||
' ": { "' + modelOneName + ':' + emptyAspectName +
|
||||
' ":"*"' +
|
||||
@ -303,7 +302,7 @@ describe('Aspect oriented config', () => {
|
||||
|
||||
it('[C299187] The aspect with empty properties is displayed when edit', async () => {
|
||||
|
||||
await setConfigField('content-metadata', '{' +
|
||||
await LocalStorageUtil.setConfigField('content-metadata', '{' +
|
||||
' "presets": { "' + defaultModel +
|
||||
' ": { "' + defaultModel + ':' + defaultEmptyPropertiesAspect +
|
||||
' ":"*"' +
|
||||
|
@ -102,13 +102,13 @@ describe('permissions', () => {
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async(done) => {
|
||||
afterAll(async (done) => {
|
||||
await this.alfrescoJsApi.core.sitesApi.deleteSite(site.entry.id);
|
||||
done();
|
||||
});
|
||||
|
||||
it('[C274692] Should not be possible edit metadata properties when the user is a consumer user', () => {
|
||||
loginPage.loginToContentServicesUsingUserModel(consumerUser);
|
||||
it('[C274692] Should not be possible edit metadata properties when the user is a consumer user', async () => {
|
||||
await loginPage.loginToContentServicesUsingUserModel(consumerUser);
|
||||
|
||||
navigationBarPage.openContentServicesFolder(site.entry.guid);
|
||||
|
||||
@ -119,8 +119,8 @@ describe('permissions', () => {
|
||||
metadataViewPage.editIconIsNotDisplayed();
|
||||
});
|
||||
|
||||
it('[C279971] Should be possible edit metadata properties when the user is a collaborator user', () => {
|
||||
loginPage.loginToContentServicesUsingUserModel(collaboratorUser);
|
||||
it('[C279971] Should be possible edit metadata properties when the user is a collaborator user', async () => {
|
||||
await loginPage.loginToContentServicesUsingUserModel(collaboratorUser);
|
||||
|
||||
navigationBarPage.openContentServicesFolder(site.entry.guid);
|
||||
|
||||
@ -139,8 +139,8 @@ describe('permissions', () => {
|
||||
metadataViewPage.editIconIsDisplayed();
|
||||
});
|
||||
|
||||
it('[C279972] Should be possible edit metadata properties when the user is a contributor user', () => {
|
||||
loginPage.loginToContentServicesUsingUserModel(collaboratorUser);
|
||||
it('[C279972] Should be possible edit metadata properties when the user is a contributor user', async () => {
|
||||
await loginPage.loginToContentServicesUsingUserModel(collaboratorUser);
|
||||
|
||||
navigationBarPage.openContentServicesFolder(site.entry.guid);
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
import { browser } from 'protractor';
|
||||
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
import { LoginPage, LocalStorageUtil } from '@alfresco/adf-testing';
|
||||
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
|
||||
import { ViewerPage } from '../../pages/adf/viewerPage';
|
||||
import { MetadataViewPage } from '../../pages/adf/metadataViewPage';
|
||||
@ -32,7 +32,6 @@ import dateFormat = require('dateformat');
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UploadActions } from '../../actions/ACS/upload.actions';
|
||||
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||
import { setConfigField } from '../../proxy';
|
||||
|
||||
describe('Metadata component', () => {
|
||||
|
||||
@ -97,7 +96,7 @@ describe('Metadata component', () => {
|
||||
describe('Viewer Metadata', () => {
|
||||
|
||||
beforeAll(async() => {
|
||||
await setConfigField('content-metadata', JSON.stringify({
|
||||
await LocalStorageUtil.setConfigField('content-metadata', JSON.stringify({
|
||||
presets: {
|
||||
default: {
|
||||
'exif:exif': '*'
|
||||
|
@ -19,7 +19,7 @@ import { LoginPage } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
import { AnalyticsPage } from '../pages/adf/process-services/analyticsPage';
|
||||
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 { Tenant } from '../models/APS/tenant';
|
||||
import { User } from '../models/APS/user';
|
||||
@ -30,7 +30,7 @@ describe('Analytics Smoke Test', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const appNavigationBarPage = new AppNavigationBarPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const analyticsPage = new AnalyticsPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
let tenantId;
|
||||
@ -65,7 +65,7 @@ describe('Analytics Smoke Test', () => {
|
||||
navigationBarPage.navigateToProcessServicesPage();
|
||||
processServicesPage.checkApsContainer();
|
||||
processServicesPage.goToApp('Task App');
|
||||
appNavigationBarPage.clickReportsButton();
|
||||
processServiceTabBarPage.clickReportsButton();
|
||||
analyticsPage.checkNoReportMessage();
|
||||
analyticsPage.getReport('Process definition heat map');
|
||||
analyticsPage.changeReportTitle(reportTitle);
|
||||
|
@ -52,6 +52,12 @@ export class NavigationBarPage {
|
||||
settingsButton = element(by.css('a[data-automation-id="Settings"]'));
|
||||
peopleGroupCloudButton = element(by.css('button[data-automation-id="People/Group Cloud"]'));
|
||||
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() {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.dataTableButton);
|
||||
|
@ -18,10 +18,9 @@
|
||||
import { BrowserVisibility } from '@alfresco/adf-testing';
|
||||
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();
|
||||
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();
|
||||
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();
|
||||
@ -30,21 +29,17 @@ export class AppNavigationBarPage {
|
||||
clickTasksButton() {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.tasksButton);
|
||||
this.tasksButton.click();
|
||||
return browser.sleep(400);
|
||||
return browser.sleep(600);
|
||||
}
|
||||
|
||||
clickProcessButton() {
|
||||
this.processButton.click();
|
||||
return browser.sleep(400);
|
||||
}
|
||||
|
||||
clickTagButton() {
|
||||
return this.tagButton.click();
|
||||
return browser.sleep(600);
|
||||
}
|
||||
|
||||
clickSettingsButton() {
|
||||
this.settingsButton.click();
|
||||
return browser.sleep(400);
|
||||
return browser.sleep(600);
|
||||
}
|
||||
|
||||
clickReportsButton() {
|
@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AppNavigationBarPage } from './appNavigationBarPage';
|
||||
import { ProcessServiceTabBarPage } from './processServiceTabBarPage';
|
||||
|
||||
import { element, by } from 'protractor';
|
||||
import { BrowserVisibility } from '@alfresco/adf-testing';
|
||||
@ -35,13 +35,13 @@ export class ProcessServicesPage {
|
||||
const app = element(by.css('mat-card[title="' + applicationName + '"]'));
|
||||
BrowserVisibility.waitUntilElementIsVisible(app);
|
||||
app.click();
|
||||
return new AppNavigationBarPage();
|
||||
return new ProcessServiceTabBarPage();
|
||||
}
|
||||
|
||||
goToTaskApp() {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.taskApp);
|
||||
this.taskApp.click();
|
||||
return new AppNavigationBarPage();
|
||||
return new ProcessServiceTabBarPage();
|
||||
}
|
||||
|
||||
getAppIconType(applicationName) {
|
||||
|
@ -17,13 +17,14 @@
|
||||
|
||||
import TestConfig = require('../test.config');
|
||||
|
||||
import { TasksService, QueryService, ProcessDefinitionsService, ProcessInstancesService,
|
||||
LoginSSOPage, ApiService, SettingsPage } from '@alfresco/adf-testing';
|
||||
import {
|
||||
TasksService, QueryService, ProcessDefinitionsService, ProcessInstancesService,
|
||||
LoginSSOPage, ApiService, SettingsPage
|
||||
} from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
|
||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||
import { AppListCloudPage } from '@alfresco/adf-testing';
|
||||
import { ConfigEditorPage } from '../pages/adf/configEditorPage';
|
||||
import { AppListCloudPage, LocalStorageUtil } from '@alfresco/adf-testing';
|
||||
import resources = require('../util/resources');
|
||||
|
||||
import { browser, protractor } from 'protractor';
|
||||
@ -31,7 +32,6 @@ import { browser, protractor } from 'protractor';
|
||||
describe('Process list cloud', () => {
|
||||
|
||||
describe('Process List', () => {
|
||||
const configEditorPage = new ConfigEditorPage();
|
||||
const settingsPage = new SettingsPage();
|
||||
const loginSSOPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
@ -52,32 +52,27 @@ describe('Process list cloud', () => {
|
||||
loginSSOPage.clickOnSSOButton();
|
||||
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
|
||||
|
||||
navigationBarPage.clickConfigEditorButton();
|
||||
configEditorPage.clickEditProcessCloudConfiguration();
|
||||
configEditorPage.clickClearButton();
|
||||
configEditorPage.enterBigConfigurationText(`{
|
||||
"filterProperties": [
|
||||
"appName",
|
||||
"status",
|
||||
"processInstanceId",
|
||||
"order",
|
||||
"sort",
|
||||
"order"
|
||||
await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify({
|
||||
'filterProperties': [
|
||||
'appName',
|
||||
'status',
|
||||
'processInstanceId',
|
||||
'order',
|
||||
'sort',
|
||||
'order'
|
||||
],
|
||||
"sortProperties": [
|
||||
"id",
|
||||
"name",
|
||||
"status",
|
||||
"startDate"
|
||||
'sortProperties': [
|
||||
'id',
|
||||
'name',
|
||||
'status',
|
||||
'startDate'
|
||||
],
|
||||
"actions": [
|
||||
"save",
|
||||
"saveAs",
|
||||
"delete"
|
||||
'actions': [
|
||||
'save',
|
||||
'saveAs',
|
||||
'delete'
|
||||
]
|
||||
}`);
|
||||
|
||||
configEditorPage.clickSaveButton();
|
||||
}));
|
||||
|
||||
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
|
||||
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
|
||||
@ -101,7 +96,7 @@ describe('Process list cloud', () => {
|
||||
done();
|
||||
});
|
||||
|
||||
beforeEach(async(done) => {
|
||||
beforeEach(async (done) => {
|
||||
navigationBarPage.navigateToProcessServicesCloudPage();
|
||||
appListCloudComponent.checkApsContainer();
|
||||
appListCloudComponent.goToApp(candidateuserapp);
|
||||
|
@ -21,13 +21,13 @@ import {
|
||||
ProcessInstancesService,
|
||||
LoginSSOPage,
|
||||
ApiService,
|
||||
SettingsPage
|
||||
SettingsPage,
|
||||
LocalStorageUtil
|
||||
} from '@alfresco/adf-testing';
|
||||
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
|
||||
import { AppListCloudPage } from '@alfresco/adf-testing';
|
||||
|
||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
import { ConfigEditorPage } from '../pages/adf/configEditorPage';
|
||||
import { ProcessListCloudConfiguration } from './processListCloud.config';
|
||||
|
||||
import resources = require('../util/resources');
|
||||
@ -38,7 +38,6 @@ describe('Process list cloud', () => {
|
||||
const settingsPage = new SettingsPage();
|
||||
const loginSSOPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const configEditor = new ConfigEditorPage();
|
||||
const appListCloudComponent = new AppListCloudPage();
|
||||
const processCloudDemoPage = new ProcessCloudDemoPage();
|
||||
|
||||
@ -67,11 +66,8 @@ describe('Process list cloud', () => {
|
||||
beforeEach(async (done) => {
|
||||
const processListCloudConfiguration = new ProcessListCloudConfiguration();
|
||||
jsonFile = processListCloudConfiguration.getConfiguration();
|
||||
done();
|
||||
navigationBarPage.clickConfigEditorButton();
|
||||
configEditor.clickProcessListCloudConfiguration();
|
||||
configEditor.clickClearButton();
|
||||
configEditor.enterBigConfigurationText(JSON.stringify(jsonFile)).clickSaveButton();
|
||||
|
||||
await LocalStorageUtil.setConfigField('adf-cloud-process-list', JSON.stringify(jsonFile));
|
||||
|
||||
navigationBarPage.navigateToProcessServicesCloudPage();
|
||||
appListCloudComponent.checkApsContainer();
|
||||
|
@ -51,6 +51,7 @@ describe('Start Process', () => {
|
||||
|
||||
afterEach((done) => {
|
||||
navigationBarPage.navigateToProcessServicesCloudPage();
|
||||
appListCloudComponent.checkApsContainer();
|
||||
done();
|
||||
});
|
||||
|
||||
|
@ -20,22 +20,19 @@ import TestConfig = require('../test.config');
|
||||
import { StringUtil, TasksService,
|
||||
ProcessDefinitionsService, ProcessInstancesService,
|
||||
LoginSSOPage, ApiService,
|
||||
SettingsPage, AppListCloudPage } from '@alfresco/adf-testing';
|
||||
SettingsPage, AppListCloudPage, LocalStorageUtil } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||
import { ConfigEditorPage } from '../pages/adf/configEditorPage';
|
||||
import { TaskListCloudConfiguration } from './taskListCloud.config';
|
||||
|
||||
import moment = require('moment');
|
||||
import { DateUtil } from '../util/dateUtil';
|
||||
|
||||
import { NotificationPage } from '../pages/adf/notificationPage';
|
||||
import resources = require('../util/resources');
|
||||
|
||||
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 loginSSOPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
@ -46,7 +43,6 @@ describe('Edit task filters and task list properties', () => {
|
||||
let tasksService: TasksService;
|
||||
let processDefinitionService: ProcessDefinitionsService;
|
||||
let processInstancesService: ProcessInstancesService;
|
||||
const notificationPage = new NotificationPage();
|
||||
|
||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_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.loginSSOIdentityService(user, password);
|
||||
|
||||
navigationBarPage.clickConfigEditorButton();
|
||||
|
||||
configEditorPage.clickTaskListCloudConfiguration();
|
||||
configEditorPage.clickClearButton();
|
||||
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)).clickSaveButton();
|
||||
notificationPage.checkNotificationSnackBarIsDisplayedWithMessage('Save');
|
||||
notificationPage.checkNotificationSnackBarIsNotDisplayed();
|
||||
|
||||
configEditorPage.clickEditTaskConfiguration();
|
||||
configEditorPage.clickClearButton();
|
||||
|
||||
configEditorPage.enterBigConfigurationText(`{
|
||||
"filterProperties": [
|
||||
"appName",
|
||||
"status",
|
||||
"assignee",
|
||||
"taskName",
|
||||
"parentTaskId",
|
||||
"priority",
|
||||
"standAlone",
|
||||
"owner",
|
||||
"processDefinitionId",
|
||||
"processInstanceId",
|
||||
"lastModified",
|
||||
"sort",
|
||||
"order"
|
||||
],
|
||||
"sortProperties": [
|
||||
"id",
|
||||
"name",
|
||||
"createdDate",
|
||||
"priority",
|
||||
"processDefinitionId"
|
||||
],
|
||||
"actions": [
|
||||
"save",
|
||||
"saveAs",
|
||||
"delete"
|
||||
]
|
||||
}`);
|
||||
|
||||
configEditorPage.clickSaveButton();
|
||||
await LocalStorageUtil.setConfigField('adf-cloud-task-list', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify({
|
||||
'filterProperties': [
|
||||
'appName',
|
||||
'status',
|
||||
'assignee',
|
||||
'taskName',
|
||||
'parentTaskId',
|
||||
'priority',
|
||||
'standAlone',
|
||||
'owner',
|
||||
'processDefinitionId',
|
||||
'processInstanceId',
|
||||
'lastModified',
|
||||
'sort',
|
||||
'order'
|
||||
],
|
||||
'sortProperties': [
|
||||
'id',
|
||||
'name',
|
||||
'createdDate',
|
||||
'priority',
|
||||
'processDefinitionId'
|
||||
],
|
||||
'actions': [
|
||||
'save',
|
||||
'saveAs',
|
||||
'delete'
|
||||
]
|
||||
}));
|
||||
|
||||
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
|
||||
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
|
||||
|
@ -19,7 +19,7 @@ import { browser } from 'protractor';
|
||||
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
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 { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
|
||||
@ -32,7 +32,7 @@ describe('New Process Filters', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const appNavigationBarPage = new AppNavigationBarPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const appSettingsToggles = new AppSettingsToggles();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
|
||||
@ -128,9 +128,9 @@ describe('New Process Filters', () => {
|
||||
|
||||
processFiltersPage.checkFilterIsDisplayed(processFilter.new_icon);
|
||||
|
||||
appNavigationBarPage.clickSettingsButton();
|
||||
processServiceTabBarPage.clickSettingsButton();
|
||||
appSettingsToggles.enableProcessFiltersIcon();
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
|
||||
processFiltersPage.checkFilterIsDisplayed(processFilter.new_icon);
|
||||
expect(processFiltersPage.getFilterIcon(processFilter.new_icon)).toEqual('cloud');
|
||||
@ -189,9 +189,9 @@ describe('New Process Filters', () => {
|
||||
|
||||
processFiltersPage.checkFilterIsDisplayed(processFilter.edit_icon);
|
||||
|
||||
appNavigationBarPage.clickSettingsButton();
|
||||
processServiceTabBarPage.clickSettingsButton();
|
||||
appSettingsToggles.enableProcessFiltersIcon();
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
|
||||
processFiltersPage.checkFilterIsDisplayed(processFilter.edit_icon);
|
||||
expect(processFiltersPage.getFilterIcon(processFilter.edit_icon)).toEqual('cloud');
|
||||
@ -202,9 +202,9 @@ describe('New Process Filters', () => {
|
||||
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton();
|
||||
processFiltersPage.checkFilterHasNoIcon(processFilter.all);
|
||||
|
||||
appNavigationBarPage.clickSettingsButton();
|
||||
processServiceTabBarPage.clickSettingsButton();
|
||||
appSettingsToggles.enableProcessFiltersIcon();
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
|
||||
processFiltersPage.checkFilterIsDisplayed(processFilter.all);
|
||||
expect(processFiltersPage.getFilterIcon(processFilter.all)).toEqual('dashboard');
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
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 { DropdownWidget } from '../pages/adf/process-services/widgets/dropdownWidget';
|
||||
import { DatePickerPage } from '../pages/adf/material/datePickerPage';
|
||||
@ -34,7 +34,7 @@ describe('Dynamic Table', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const appNavigationBarPage = new AppNavigationBarPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const dynamicTable = new DynamicTableWidget();
|
||||
const datePicker = new DatePickerPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
@ -99,7 +99,7 @@ describe('Dynamic Table', () => {
|
||||
beforeEach(() => {
|
||||
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton();
|
||||
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
@ -154,7 +154,7 @@ describe('Dynamic Table', () => {
|
||||
beforeEach(() => {
|
||||
navigationBarPage.navigateToProcessServicesPage().goToApp(app.title).clickProcessButton();
|
||||
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
|
@ -62,11 +62,11 @@ describe('Empty Process List Test', () => {
|
||||
await apps.importPublishDeployApp(this.alfrescoJsApi, appA.file_location);
|
||||
await apps.importPublishDeployApp(this.alfrescoJsApi, appB.file_location);
|
||||
|
||||
await loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
done();
|
||||
});
|
||||
|
||||
it('[C260494] Should add process to list when a process is created', () => {
|
||||
loginPage.loginToProcessServicesUsingUserModel(user);
|
||||
navigationBarPage.navigateToProcessServicesPage();
|
||||
processServicesPage.checkApsContainer();
|
||||
processServicesPage.goToApp(appA.title).clickProcessButton();
|
||||
|
@ -21,7 +21,7 @@ import { Widget } from '../pages/adf/process-services/widgets/widget';
|
||||
import { StartProcessPage } from '../pages/adf/process-services/startProcessPage';
|
||||
import { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage';
|
||||
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 TestConfig = require('../test.config');
|
||||
@ -44,7 +44,7 @@ describe('Form widgets - People', () => {
|
||||
const startProcess = new StartProcessPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
const taskDetails = new TaskDetailsPage();
|
||||
const appNavigationBar = new AppNavigationBarPage();
|
||||
const appNavigationBar = new ProcessServiceTabBarPage();
|
||||
|
||||
beforeAll(async (done) => {
|
||||
const users = new UsersActions();
|
||||
|
@ -23,7 +23,7 @@ import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage';
|
||||
import { StartProcessPage } from '../pages/adf/process-services/startProcessPage';
|
||||
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 { ProcessListPage } from '../pages/adf/process-services/processListPage';
|
||||
|
||||
@ -41,7 +41,7 @@ describe('Process Filters Test', () => {
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
const startProcessPage = new StartProcessPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const appNavigationBarPage = new AppNavigationBarPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
let appModel;
|
||||
|
||||
@ -83,7 +83,7 @@ describe('Process Filters Test', () => {
|
||||
navigationBarPage.navigateToProcessServicesPage();
|
||||
processServicesPage.checkApsContainer();
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processListPage.checkProcessListIsDisplayed();
|
||||
});
|
||||
|
||||
@ -100,7 +100,7 @@ describe('Process Filters Test', () => {
|
||||
|
||||
processServicesPage.goToApp(app.title);
|
||||
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
|
@ -24,7 +24,7 @@ import resources = require('../util/resources');
|
||||
import { AppsActions } from '../actions/APS/apps.actions';
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
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 { ProcessDetailsPage } from '../pages/adf/process-services/processDetailsPage';
|
||||
import dateFormat = require('dateformat');
|
||||
@ -34,7 +34,7 @@ describe('Process Instance Details', () => {
|
||||
const loginPage = new LoginPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
const appNavigationBarPage = new AppNavigationBarPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const processListPage = new ProcessListPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
|
||||
@ -65,7 +65,7 @@ describe('Process Instance Details', () => {
|
||||
navigationBarPage.navigateToProcessServicesPage();
|
||||
processServicesPage.checkApsContainer();
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processListPage.checkProcessListIsDisplayed();
|
||||
|
||||
process = await this.alfrescoJsApi.activiti.processApi.getProcessInstance(processModel.id);
|
||||
|
@ -24,7 +24,7 @@ import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage';
|
||||
import { StartProcessPage } from '../pages/adf/process-services/startProcessPage';
|
||||
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 { AttachmentListPage } from '../pages/adf/process-services/attachmentListPage';
|
||||
import { AppsActions } from '../actions/APS/apps.actions';
|
||||
@ -47,7 +47,7 @@ describe('Start Process Component', () => {
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
const startProcessPage = new StartProcessPage();
|
||||
const processFiltersPage = new ProcessFiltersPage();
|
||||
const appNavigationBarPage = new AppNavigationBarPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const processDetailsPage = new ProcessDetailsPage();
|
||||
const attachmentListPage = new AttachmentListPage();
|
||||
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', () => {
|
||||
processServicesPage.goToApp('Task App');
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
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', () => {
|
||||
processServicesPage.goToApp('Task App');
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
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', () => {
|
||||
processServicesPage.goToApp('Task App');
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
startProcessPage.enterProcessName('');
|
||||
@ -158,7 +158,7 @@ describe('Start Process Component', () => {
|
||||
it('[C260444] Should require process name', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
@ -174,7 +174,7 @@ describe('Start Process Component', () => {
|
||||
it('[C260443] Should be possible to start a process without start event', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
@ -190,7 +190,7 @@ describe('Start Process Component', () => {
|
||||
|
||||
it('[C260449] Should be possible to start a process with start event', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
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', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
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', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
startProcessPage.typeProcessDefinition('process');
|
||||
@ -237,7 +237,7 @@ describe('Start Process Component', () => {
|
||||
|
||||
it('[C286508] Should display only one option when typing an existent process definition', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
startProcessPage.typeProcessDefinition(processModelWithoutSe);
|
||||
@ -249,7 +249,7 @@ describe('Start Process Component', () => {
|
||||
|
||||
it('[C286509] Should select automatically the processDefinition when the app contains only one', () => {
|
||||
processServicesPage.goToApp(simpleApp.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
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', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
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', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
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 ', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
startProcessPage.typeProcessDefinition('process');
|
||||
@ -297,7 +297,7 @@ describe('Start Process Component', () => {
|
||||
|
||||
it('[C260453] Should be possible to add a comment on an active process', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
startProcessPage.enterProcessName('Comment Process');
|
||||
@ -311,7 +311,7 @@ describe('Start Process Component', () => {
|
||||
|
||||
it('[C260454] Should be possible to download audit log file', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
startProcessPage.enterProcessName('Audit Log');
|
||||
@ -327,7 +327,7 @@ describe('Start Process Component', () => {
|
||||
it('Should be able to attach a file using the button', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
@ -346,7 +346,7 @@ describe('Start Process Component', () => {
|
||||
it('[C260451] Should be possible to display process diagram', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
@ -363,7 +363,7 @@ describe('Start Process Component', () => {
|
||||
|
||||
it('[C260452] Should redirect user when clicking on active/completed task', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
startProcessPage.enterProcessName('Active Task');
|
||||
@ -380,7 +380,7 @@ describe('Start Process Component', () => {
|
||||
navigationBarPage.navigateToProcessServicesPage();
|
||||
processServicesPage.checkApsContainer();
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
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', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
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', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
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', () => {
|
||||
processServicesPage.goToApp(app.title);
|
||||
|
||||
appNavigationBarPage.clickProcessButton();
|
||||
processServiceTabBarPage.clickProcessButton();
|
||||
|
||||
processFiltersPage.clickCreateProcessButton();
|
||||
processFiltersPage.clickNewProcessDropdown();
|
||||
|
@ -20,7 +20,7 @@ import { by } from 'protractor';
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasksPage';
|
||||
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 { Tenant } from '../models/APS/tenant';
|
||||
@ -41,7 +41,7 @@ describe('Start Task - Custom App', () => {
|
||||
const loginPage = new LoginPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const attachmentListPage = new AttachmentListPage();
|
||||
const appNavigationBarPage = new AppNavigationBarPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
|
||||
let processUserModel, assigneeUserModel;
|
||||
const app = resources.Files.SIMPLE_APP_WITH_USER_FORM;
|
||||
@ -270,15 +270,15 @@ describe('Start Task - Custom App', () => {
|
||||
taskPage.createNewTask().addName(showHeaderTask).clickStartButton();
|
||||
taskPage.tasksListPage().checkContentIsDisplayed(showHeaderTask);
|
||||
|
||||
appNavigationBarPage.clickSettingsButton();
|
||||
processServiceTabBarPage.clickSettingsButton();
|
||||
taskPage.taskDetails().appSettingsToggles().disableShowHeader();
|
||||
appNavigationBarPage.clickTasksButton();
|
||||
processServiceTabBarPage.clickTasksButton();
|
||||
|
||||
taskPage.taskDetails().taskInfoDrawerIsNotDisplayed();
|
||||
|
||||
appNavigationBarPage.clickSettingsButton();
|
||||
processServiceTabBarPage.clickSettingsButton();
|
||||
taskPage.taskDetails().appSettingsToggles().enableShowHeader();
|
||||
appNavigationBarPage.clickTasksButton();
|
||||
processServiceTabBarPage.clickTasksButton();
|
||||
|
||||
taskPage.taskDetails().taskInfoDrawerIsDisplayed();
|
||||
});
|
||||
|
@ -20,7 +20,7 @@ import { by } from 'protractor';
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
import { TasksPage } from '../pages/adf/process-services/tasksPage';
|
||||
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 CONSTANTS = require('../util/constants');
|
||||
@ -41,7 +41,7 @@ describe('Start Task - Task App', () => {
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const attachmentListPage = new AttachmentListPage();
|
||||
const appNavigationBarPage = new AppNavigationBarPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
|
||||
let processUserModel, assigneeUserModel;
|
||||
@ -171,15 +171,15 @@ describe('Start Task - Task App', () => {
|
||||
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
|
||||
taskPage.tasksListPage().checkContentIsDisplayed(showHeaderTask);
|
||||
|
||||
appNavigationBarPage.clickSettingsButton();
|
||||
processServiceTabBarPage.clickSettingsButton();
|
||||
taskPage.taskDetails().appSettingsToggles().disableShowHeader();
|
||||
appNavigationBarPage.clickTasksButton();
|
||||
processServiceTabBarPage.clickTasksButton();
|
||||
|
||||
taskPage.taskDetails().taskInfoDrawerIsNotDisplayed();
|
||||
|
||||
appNavigationBarPage.clickSettingsButton();
|
||||
processServiceTabBarPage.clickSettingsButton();
|
||||
taskPage.taskDetails().appSettingsToggles().enableShowHeader();
|
||||
appNavigationBarPage.clickTasksButton();
|
||||
processServiceTabBarPage.clickTasksButton();
|
||||
|
||||
taskPage.taskDetails().taskInfoDrawerIsDisplayed();
|
||||
});
|
||||
|
@ -24,7 +24,7 @@ import { ProcessServicesPage } from '../pages/adf/process-services/processServic
|
||||
import { TasksPage } from '../pages/adf/process-services/tasksPage';
|
||||
import { TasksListPage } from '../pages/adf/process-services/tasksListPage';
|
||||
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 { TaskFiltersDemoPage } from '../pages/adf/demo-shell/process-services/taskFiltersDemoPage';
|
||||
|
||||
@ -204,7 +204,7 @@ describe('Task', () => {
|
||||
const loginPage = new LoginPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const processServicesPage = new ProcessServicesPage();
|
||||
const appNavigationBarPage = new AppNavigationBarPage();
|
||||
const processServiceTabBarPage = new ProcessServiceTabBarPage();
|
||||
const appSettingsToggles = new AppSettingsToggles();
|
||||
const taskFiltersDemoPage = new TaskFiltersDemoPage();
|
||||
|
||||
@ -290,10 +290,10 @@ describe('Task', () => {
|
||||
});
|
||||
|
||||
browser.refresh();
|
||||
appNavigationBarPage.clickSettingsButton();
|
||||
processServiceTabBarPage.clickSettingsButton();
|
||||
browser.sleep(500);
|
||||
appSettingsToggles.enableTaskFiltersIcon();
|
||||
appNavigationBarPage.clickTasksButton();
|
||||
processServiceTabBarPage.clickTasksButton();
|
||||
|
||||
taskFiltersDemoPage.customTaskFilter('New Task Filter with icon').checkTaskFilterIsDisplayed();
|
||||
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', () => {
|
||||
taskFiltersDemoPage.myTasksFilter().checkTaskFilterHasNoIcon();
|
||||
|
||||
appNavigationBarPage.clickSettingsButton();
|
||||
processServiceTabBarPage.clickSettingsButton();
|
||||
appSettingsToggles.enableTaskFiltersIcon();
|
||||
appNavigationBarPage.clickTasksButton();
|
||||
processServiceTabBarPage.clickTasksButton();
|
||||
|
||||
taskFiltersDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
|
||||
expect(taskFiltersDemoPage.myTasksFilter().getTaskFilterIcon()).toEqual('inbox');
|
||||
@ -384,12 +384,12 @@ describe('Task', () => {
|
||||
});
|
||||
|
||||
browser.refresh();
|
||||
appNavigationBarPage.clickSettingsButton();
|
||||
processServiceTabBarPage.clickSettingsButton();
|
||||
|
||||
browser.sleep(500);
|
||||
|
||||
appSettingsToggles.enableTaskFiltersIcon();
|
||||
appNavigationBarPage.clickTasksButton();
|
||||
processServiceTabBarPage.clickTasksButton();
|
||||
|
||||
taskFiltersDemoPage.customTaskFilter('Task Filter Edited icon').checkTaskFilterIsDisplayed();
|
||||
expect(taskFiltersDemoPage.customTaskFilter('Task Filter Edited icon').getTaskFilterIcon()).toEqual('cloud');
|
||||
|
@ -30,8 +30,7 @@ import { SearchConfiguration } from '../search.config';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UploadActions } from '../../actions/ACS/upload.actions';
|
||||
import { browser } from 'protractor';
|
||||
import { StringUtil } from '@alfresco/adf-testing';
|
||||
import { setConfigField } from '../../proxy';
|
||||
import { StringUtil, LocalStorageUtil } from '@alfresco/adf-testing';
|
||||
|
||||
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);
|
||||
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
|
||||
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);
|
||||
searchFiltersPage.clickCheckListFilter();
|
||||
@ -203,7 +202,7 @@ describe('Search Checklist Component', () => {
|
||||
navigationBarPage.clickContentServicesButton();
|
||||
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);
|
||||
searchFiltersPage.clickCheckListFilter();
|
||||
@ -216,7 +215,7 @@ describe('Search Checklist Component', () => {
|
||||
|
||||
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);
|
||||
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);
|
||||
searchFiltersPage.clickCheckListFilter();
|
||||
@ -259,7 +258,7 @@ describe('Search Checklist Component', () => {
|
||||
|
||||
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);
|
||||
searchFiltersPage.clickCheckListFilter();
|
||||
@ -299,7 +298,7 @@ describe('Search Checklist Component', () => {
|
||||
|
||||
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);
|
||||
searchFiltersPage.clickCheckListFilter();
|
||||
@ -324,7 +323,7 @@ describe('Search Checklist Component', () => {
|
||||
'value': "TYPE:'cm:auditable'"
|
||||
});
|
||||
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
|
||||
searchFiltersPage.clickCheckListFilter();
|
||||
|
@ -15,7 +15,7 @@
|
||||
* 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 { DataTableComponentPage } from '@alfresco/adf-testing';
|
||||
import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
|
||||
@ -29,7 +29,6 @@ import TestConfig = require('../../test.config');
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { browser } from 'protractor';
|
||||
import { DateUtil } from '../../util/dateUtil';
|
||||
import { setConfigField } from '../../proxy';
|
||||
|
||||
describe('Search Date Range Filter', () => {
|
||||
|
||||
@ -201,7 +200,7 @@ describe('Search Date Range Filter', () => {
|
||||
|
||||
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('*');
|
||||
searchFilters.checkCreatedRangeFilterIsDisplayed()
|
||||
|
@ -15,7 +15,7 @@
|
||||
* 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 { DataTableComponentPage } from '@alfresco/adf-testing';
|
||||
import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
|
||||
@ -32,7 +32,6 @@ import { browser } from 'protractor';
|
||||
import resources = require('../../util/resources');
|
||||
import { SearchConfiguration } from '../search.config';
|
||||
import { DateUtil } from '../../util/dateUtil';
|
||||
import { setConfigField } from '../../proxy';
|
||||
|
||||
describe('Search Number Range Filter', () => {
|
||||
|
||||
@ -397,12 +396,12 @@ describe('Search Number Range Filter', () => {
|
||||
jsonFile = searchConfiguration.getConfiguration();
|
||||
});
|
||||
|
||||
it('[C276928] Should be able to change the field property for number range', async() => {
|
||||
it('[C276928] Should be able to change the field property for number range', async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
|
||||
jsonFile.categories[3].component.settings.field = 'cm:created';
|
||||
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.checkSearchIconIsVisible()
|
||||
.clickOnSearchIcon()
|
||||
@ -439,12 +438,12 @@ describe('Search Number Range Filter', () => {
|
||||
|
||||
});
|
||||
|
||||
it('[C277139] Should be able to set To field to be exclusive', async() => {
|
||||
it('[C277139] Should be able to set To field to be exclusive', async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
|
||||
jsonFile.categories[3].component.settings.format = '[{FROM} TO {TO}>';
|
||||
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.checkSearchIconIsVisible()
|
||||
.clickOnSearchIcon()
|
||||
@ -475,12 +474,12 @@ describe('Search Number Range Filter', () => {
|
||||
searchResults.checkContentIsDisplayed(file2BytesModel.name);
|
||||
});
|
||||
|
||||
it('[C277140] Should be able to set From field to be exclusive', async() => {
|
||||
it('[C277140] Should be able to set From field to be exclusive', async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
|
||||
jsonFile.categories[3].component.settings.format = '<{FROM} TO {TO}]';
|
||||
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.checkSearchIconIsVisible()
|
||||
.clickOnSearchIcon()
|
||||
|
@ -30,8 +30,7 @@ import { SearchConfiguration } from '../search.config';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UploadActions } from '../../actions/ACS/upload.actions';
|
||||
import { browser } from 'protractor';
|
||||
import { StringUtil } from '@alfresco/adf-testing';
|
||||
import { setConfigField } from '../../proxy';
|
||||
import { StringUtil, LocalStorageUtil } from '@alfresco/adf-testing';
|
||||
|
||||
describe('Search Radio Component', () => {
|
||||
|
||||
@ -73,7 +72,10 @@ describe('Search Radio Component', () => {
|
||||
|
||||
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-', {
|
||||
name: nodeNames.document,
|
||||
nodeType: 'cm:content'
|
||||
@ -140,7 +142,7 @@ describe('Search Radio Component', () => {
|
||||
jsonFile = searchConfiguration.getConfiguration();
|
||||
});
|
||||
|
||||
it('[C277147] Should be able to customise the pageSize value', async() => {
|
||||
it('[C277147] Should be able to customise the pageSize value', async () => {
|
||||
navigationBarPage.clickContentServicesButton();
|
||||
|
||||
jsonFile.categories[5].component.settings.pageSize = 10;
|
||||
@ -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);
|
||||
searchFiltersPage.clickTypeFilterHeader();
|
||||
@ -163,7 +165,7 @@ describe('Search Radio Component', () => {
|
||||
|
||||
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);
|
||||
searchFiltersPage.clickTypeFilterHeader();
|
||||
@ -173,7 +175,7 @@ describe('Search Radio Component', () => {
|
||||
navigationBarPage.clickContentServicesButton();
|
||||
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);
|
||||
searchFiltersPage.clickTypeFilterHeader();
|
||||
@ -186,7 +188,7 @@ describe('Search Radio Component', () => {
|
||||
browser.refresh();
|
||||
});
|
||||
|
||||
it('[C277148] Should be able to click show more/less button', async() => {
|
||||
it('[C277148] Should be able to click show more/less button', async () => {
|
||||
navigationBarPage.clickContentServicesButton();
|
||||
|
||||
jsonFile.categories[5].component.settings.pageSize = 0;
|
||||
@ -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);
|
||||
searchFiltersPage.clickTypeFilterHeader();
|
||||
@ -225,7 +227,7 @@ describe('Search Radio Component', () => {
|
||||
navigationBarPage.clickContentServicesButton();
|
||||
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);
|
||||
searchFiltersPage.clickTypeFilterHeader();
|
||||
@ -267,7 +269,7 @@ describe('Search Radio Component', () => {
|
||||
done();
|
||||
});
|
||||
|
||||
it('[C277033] Should be able to add a new option', async() => {
|
||||
it('[C277033] Should be able to add a new option', async () => {
|
||||
navigationBarPage.clickContentServicesButton();
|
||||
|
||||
jsonFile.categories[5].component.settings.options.push({
|
||||
@ -275,7 +277,7 @@ describe('Search Radio Component', () => {
|
||||
'value': "TYPE:'cm:content'"
|
||||
});
|
||||
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
|
||||
searchFiltersPage.clickTypeFilterHeader();
|
||||
|
@ -15,7 +15,7 @@
|
||||
* 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 { DataTableComponentPage } from '@alfresco/adf-testing';
|
||||
import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
|
||||
@ -31,7 +31,6 @@ import { FileModel } from '../../models/ACS/fileModel';
|
||||
import { browser } from 'protractor';
|
||||
import resources = require('../../util/resources');
|
||||
import { SearchConfiguration } from '../search.config';
|
||||
import { setConfigField } from '../../proxy';
|
||||
|
||||
describe('Search Number Range Filter', () => {
|
||||
|
||||
@ -163,12 +162,12 @@ describe('Search Number Range Filter', () => {
|
||||
jsonFile = searchConfiguration.getConfiguration();
|
||||
});
|
||||
|
||||
it('[C276983] Should be able to disable thumb label in Search Size Slider', async() => {
|
||||
it('[C276983] Should be able to disable thumb label in Search Size Slider', async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
|
||||
jsonFile.categories[2].component.settings.thumbLabel = false;
|
||||
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.checkSearchIconIsVisible()
|
||||
.clickOnSearchIcon()
|
||||
@ -181,13 +180,13 @@ describe('Search Number Range Filter', () => {
|
||||
sizeSliderFilter.checkSliderWithThumbLabelIsNotDisplayed();
|
||||
});
|
||||
|
||||
it('[C276985] Should be able to set min value for Search Size Slider', async() => {
|
||||
it('[C276985] Should be able to set min value for Search Size Slider', async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
|
||||
const minSize = 3;
|
||||
jsonFile.categories[2].component.settings.min = minSize;
|
||||
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.checkSearchIconIsVisible()
|
||||
.clickOnSearchIcon()
|
||||
@ -202,13 +201,13 @@ describe('Search Number Range Filter', () => {
|
||||
expect(sizeSliderFilter.getMinValue()).toEqual(`${minSize}`);
|
||||
});
|
||||
|
||||
it('[C276986] Should be able to set max value for Search Size Slider', async() => {
|
||||
it('[C276986] Should be able to set max value for Search Size Slider', async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
|
||||
const maxSize = 50;
|
||||
jsonFile.categories[2].component.settings.max = maxSize;
|
||||
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.checkSearchIconIsVisible()
|
||||
.clickOnSearchIcon()
|
||||
@ -223,13 +222,13 @@ describe('Search Number Range Filter', () => {
|
||||
expect(sizeSliderFilter.getMaxValue()).toEqual(`${maxSize}`);
|
||||
});
|
||||
|
||||
it('[C276987] Should be able to set steps for Search Size Slider', async() => {
|
||||
it('[C276987] Should be able to set steps for Search Size Slider', async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
|
||||
const step = 10;
|
||||
jsonFile.categories[2].component.settings.step = step;
|
||||
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.checkSearchIconIsVisible()
|
||||
.clickOnSearchIcon()
|
||||
|
@ -15,7 +15,7 @@
|
||||
* 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 { SearchResultsPage } from '../../pages/adf/searchResultsPage';
|
||||
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||
@ -32,7 +32,6 @@ import { browser } from 'protractor';
|
||||
import resources = require('../../util/resources');
|
||||
import { SearchConfiguration } from '../search.config';
|
||||
import { SearchSortingPickerPage } from '../../pages/adf/content-services/search/components/search-sortingPicker.page';
|
||||
import { setConfigField } from '../../proxy';
|
||||
|
||||
describe('Search Sorting Picker', () => {
|
||||
|
||||
@ -111,7 +110,7 @@ describe('Search Sorting Picker', () => {
|
||||
searchSortingPicker.checkOrderArrowIsDisplayed();
|
||||
});
|
||||
|
||||
it('[C277271] Should be able to add a custom search sorter in the "sort by" option', async() => {
|
||||
it('[C277271] Should be able to add a custom search sorter in the "sort by" option', async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
const searchConfiguration = new SearchConfiguration();
|
||||
jsonFile = searchConfiguration.getConfiguration();
|
||||
@ -122,7 +121,7 @@ describe('Search Sorting Picker', () => {
|
||||
'field': 'cm:modifier',
|
||||
'ascending': true
|
||||
});
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.checkSearchIconIsVisible()
|
||||
.clickOnSearchIcon()
|
||||
@ -134,12 +133,12 @@ describe('Search Sorting Picker', () => {
|
||||
.checkOptionIsDisplayed('Modifier');
|
||||
});
|
||||
|
||||
it('[C277272] Should be able to exclude a standard search sorter from the sorting option', async() => {
|
||||
it('[C277272] Should be able to exclude a standard search sorter from the sorting option', async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
const searchConfiguration = new SearchConfiguration();
|
||||
jsonFile = searchConfiguration.getConfiguration();
|
||||
const removedOption = jsonFile.sorting.options.splice(0, 1);
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.checkSearchIconIsVisible()
|
||||
.clickOnSearchIcon()
|
||||
@ -151,7 +150,7 @@ describe('Search Sorting Picker', () => {
|
||||
.checkOptionIsNotDisplayed(removedOption[0].label);
|
||||
});
|
||||
|
||||
it('[C277273] Should be able to set a default order for a search sorting option', async() => {
|
||||
it('[C277273] Should be able to set a default order for a search sorting option', async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
|
||||
const searchConfiguration = new SearchConfiguration();
|
||||
@ -165,7 +164,7 @@ describe('Search Sorting Picker', () => {
|
||||
'ascending': true
|
||||
};
|
||||
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.checkSearchIconIsVisible()
|
||||
.clickOnSearchIcon()
|
||||
@ -218,7 +217,7 @@ describe('Search Sorting Picker', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('[C277288] Should be able to sort the search results by "Modified Date" ASC', async() => {
|
||||
it('[C277288] Should be able to sort the search results by "Modified Date" ASC', async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
|
||||
const searchConfiguration = new SearchConfiguration();
|
||||
@ -230,7 +229,7 @@ describe('Search Sorting Picker', () => {
|
||||
'field': 'cm:modified',
|
||||
'ascending': true
|
||||
});
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.checkSearchIconIsVisible()
|
||||
.clickOnSearchIcon()
|
||||
@ -252,7 +251,7 @@ describe('Search Sorting Picker', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('[C277301] Should be able to change default sorting option for the search results', async() => {
|
||||
it('[C277301] Should be able to change default sorting option for the search results', async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
|
||||
const searchConfiguration = new SearchConfiguration();
|
||||
@ -265,7 +264,7 @@ describe('Search Sorting Picker', () => {
|
||||
'ascending': true
|
||||
});
|
||||
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.checkSearchIconIsVisible()
|
||||
.clickOnSearchIcon()
|
||||
|
@ -24,14 +24,13 @@ import TestConfig = require('../../test.config');
|
||||
|
||||
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 { SearchResultsPage } from '../../pages/adf/searchResultsPage';
|
||||
import { SearchFiltersPage } from '../../pages/adf/searchFiltersPage';
|
||||
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||
|
||||
import { SearchConfiguration } from '../search.config';
|
||||
import { setConfigField } from '../../proxy';
|
||||
|
||||
describe('Search component - Text widget', () => {
|
||||
|
||||
@ -43,7 +42,7 @@ describe('Search component - Text widget', () => {
|
||||
const searchResultPage = new SearchResultsPage();
|
||||
|
||||
const acsUser = new AcsUserModel();
|
||||
const newFolderModel = new FolderModel({'name': 'newFolder', 'description': 'newDescription'});
|
||||
const newFolderModel = new FolderModel({ 'name': 'newFolder', 'description': 'newDescription' });
|
||||
|
||||
beforeAll(async (done) => {
|
||||
|
||||
@ -91,7 +90,7 @@ describe('Search component - Text widget', () => {
|
||||
jsonFile = searchConfiguration.getConfiguration();
|
||||
});
|
||||
|
||||
it('[C289330] Should be able to change the Field setting', async() => {
|
||||
it('[C289330] Should be able to change the Field setting', async () => {
|
||||
browser.get(TestConfig.adf.url + '/search;q=*');
|
||||
searchResultPage.tableIsLoaded();
|
||||
|
||||
@ -109,7 +108,7 @@ describe('Search component - Text widget', () => {
|
||||
jsonFile.categories[0].component.settings.field = 'cm:description';
|
||||
|
||||
navigationBarPage.clickContentServicesButton();
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.clickOnSearchIcon().enterTextAndPressEnter('*');
|
||||
searchResultPage.tableIsLoaded();
|
||||
|
@ -29,13 +29,12 @@ import { FolderModel } from '../models/ACS/folderModel';
|
||||
|
||||
import TestConfig = require('../test.config');
|
||||
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 { UploadActions } from '../actions/ACS/upload.actions';
|
||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
import { SearchConfiguration } from './search.config';
|
||||
import { setConfigField } from '../proxy';
|
||||
|
||||
describe('Search component - Search Bar', () => {
|
||||
|
||||
@ -311,7 +310,7 @@ describe('Search component - Search Bar', () => {
|
||||
beforeAll(async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
|
||||
await setConfigField('search', JSON.stringify(searchConfiguration));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(searchConfiguration));
|
||||
|
||||
searchDialog
|
||||
.checkSearchIconIsVisible()
|
||||
|
@ -24,14 +24,13 @@ import { FileModel } from '../models/ACS/fileModel';
|
||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
|
||||
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 { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { UploadActions } from '../actions/ACS/upload.actions';
|
||||
import { browser } from 'protractor';
|
||||
import { SearchConfiguration } from './search.config';
|
||||
import { setConfigField } from '../proxy';
|
||||
|
||||
describe('Search Filters', () => {
|
||||
|
||||
@ -184,11 +183,11 @@ describe('Search Filters', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('[C291802] Should be able to filter facet fields with "Contains"', async() => {
|
||||
it('[C291802] Should be able to filter facet fields with "Contains"', async () => {
|
||||
navigationBarPage.clickContentServicesButton();
|
||||
|
||||
jsonFile['filterWithContains'] = true;
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.clickOnSearchIcon()
|
||||
.enterTextAndPressEnter('*');
|
||||
@ -208,10 +207,10 @@ describe('Search Filters', () => {
|
||||
.checkSizeFacetQueryGroupIsDisplayed();
|
||||
});
|
||||
|
||||
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();
|
||||
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.clickOnSearchIcon()
|
||||
.enterTextAndPressEnter('*');
|
||||
@ -260,12 +259,12 @@ describe('Search Filters', () => {
|
||||
|
||||
});
|
||||
|
||||
it('[C299124] Should be able to parse escaped empty spaced labels inside facetFields', async() => {
|
||||
it('[C299124] Should be able to parse escaped empty spaced labels inside facetFields', async () => {
|
||||
navigationBarPage.clickContentServicesButton();
|
||||
|
||||
jsonFile.facetFields.fields[0].label = 'My File Types';
|
||||
jsonFile.facetFields.fields[1].label = 'My File Sizes';
|
||||
await setConfigField('search', JSON.stringify(jsonFile));
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.clickOnSearchIcon()
|
||||
.enterTextAndPressEnter('*');
|
||||
|
@ -17,12 +17,16 @@
|
||||
|
||||
import { Injectable } from '@angular/core';
|
||||
import { AppConfigService } from '../app-config/app-config.service';
|
||||
import { AlfrescoApiService } from '../services/alfresco-api.service';
|
||||
import { StorageService } from './storage.service';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class CoreAutomationService {
|
||||
constructor(private appConfigService: AppConfigService) {
|
||||
constructor(private appConfigService: AppConfigService,
|
||||
private alfrescoApiService: AlfrescoApiService,
|
||||
private storageService: StorageService) {
|
||||
}
|
||||
|
||||
setup() {
|
||||
@ -32,6 +36,18 @@ export class CoreAutomationService {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
import { by, element } from 'protractor';
|
||||
import { DocumentListPage } from '../pages/document-list.page';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class ContentNodeSelectorDialogPage {
|
||||
dialog = element(by.css(`adf-content-node-selector`));
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
import { by, element, ElementFinder, browser } from 'protractor';
|
||||
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 {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { ApiService } from '../api.service';
|
||||
import { StringUtil } from '../../string.util';
|
||||
import { StringUtil } from '../../utils/string.util';
|
||||
|
||||
export class GroupIdentityService {
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { StringUtil } from '../string.util';
|
||||
import { StringUtil } from '../utils/string.util';
|
||||
|
||||
export class UserModel {
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { ElementFinder, ElementArrayFinder } from 'protractor/built/element';
|
||||
import { BrowserVisibility } from '../browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
|
||||
export class DataTableComponentPage {
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
import { element, by } from 'protractor';
|
||||
|
||||
export class ErrorPage {
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { by } from 'protractor';
|
||||
import { BrowserVisibility } from '../browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
|
||||
export class FormControllersPage {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
|
||||
export class HeaderPage {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by, browser, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
|
||||
export class LoginSSOPage {
|
||||
|
||||
|
@ -17,10 +17,13 @@
|
||||
|
||||
import { FormControllersPage } from './form-controller.page';
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../browser-visibility';
|
||||
import { SettingsPage } from './settings.page';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
import { LocalStorageUtil } from '../utils/local-storage.util';
|
||||
|
||||
export class LoginPage {
|
||||
|
||||
loginURL = browser.baseUrl + '/login';
|
||||
|
||||
formControllersPage = new FormControllersPage();
|
||||
txtUsername = element(by.css('input[id="username"]'));
|
||||
txtPassword = element(by.css('input[id="password"]'));
|
||||
@ -64,7 +67,6 @@ export class LoginPage {
|
||||
successRouteSwitch = element(by.id('adf-toggle-show-successRoute'));
|
||||
logoSwitch = element(by.id('adf-toggle-logo'));
|
||||
header = element(by.id('adf-header'));
|
||||
settingsPage = new SettingsPage();
|
||||
settingsIcon = element(
|
||||
by.cssContainingText(
|
||||
'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() {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.txtUsername);
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.txtPassword);
|
||||
@ -162,31 +171,31 @@ export class LoginPage {
|
||||
return this.signInButton.isEnabled();
|
||||
}
|
||||
|
||||
loginToProcessServicesUsingUserModel(userModel) {
|
||||
this.settingsPage.setProviderBpm();
|
||||
this.waitForElements();
|
||||
async loginToProcessServicesUsingUserModel(userModel) {
|
||||
this.goToLoginPage();
|
||||
await LocalStorageUtil.clearStorage();
|
||||
await LocalStorageUtil.setStorageItem('providers', 'BPM');
|
||||
await LocalStorageUtil.apiReset();
|
||||
this.login(userModel.email, userModel.password);
|
||||
}
|
||||
|
||||
loginToContentServicesUsingUserModel(userModel) {
|
||||
this.settingsPage.setProviderEcm();
|
||||
this.waitForElements();
|
||||
|
||||
async loginToContentServicesUsingUserModel(userModel) {
|
||||
this.goToLoginPage();
|
||||
await LocalStorageUtil.clearStorage();
|
||||
await LocalStorageUtil.setStorageItem('providers', 'ECM');
|
||||
await LocalStorageUtil.apiReset();
|
||||
this.login(userModel.getId(), userModel.getPassword());
|
||||
}
|
||||
|
||||
loginToContentServices(username, password) {
|
||||
this.settingsPage.setProviderEcm();
|
||||
async loginToContentServices(username, password) {
|
||||
this.goToLoginPage();
|
||||
await LocalStorageUtil.clearStorage();
|
||||
await LocalStorageUtil.setStorageItem('providers', 'ECM');
|
||||
await LocalStorageUtil.apiReset();
|
||||
this.waitForElements();
|
||||
this.login(username, password);
|
||||
}
|
||||
|
||||
goToLoginPage() {
|
||||
browser.waitForAngularEnabled(true);
|
||||
browser.driver.get(browser.baseUrl + '/login');
|
||||
this.waitForElements();
|
||||
}
|
||||
|
||||
clickSignInButton() {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.signInButton);
|
||||
this.signInButton.click();
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
|
||||
export class PaginationPage {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
|
||||
export class SettingsPage {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
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';
|
||||
|
||||
export class UserInfoPage {
|
||||
|
@ -15,9 +15,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export * from './browser-visibility';
|
||||
export * from './actions/public-api';
|
||||
export * from './pages/public-api';
|
||||
export * from './models/public-api';
|
||||
export * from './string.util';
|
||||
export * from './protractor.util';
|
||||
|
||||
export * from './utils/public-api';
|
||||
|
45
lib/testing/src/lib/core/utils/local-storage.util.ts
Normal file
45
lib/testing/src/lib/core/utils/local-storage.util.ts
Normal 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();`
|
||||
);
|
||||
}
|
||||
}
|
@ -15,14 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* tslint:disable */
|
||||
|
||||
import { browser } from 'protractor';
|
||||
|
||||
export async function setConfigField(field: string, value: string) {
|
||||
|
||||
await browser.executeScript(
|
||||
"window.adf.setConfigField(`" + field + "`, `" + value + "`);"
|
||||
);
|
||||
|
||||
}
|
||||
export * from './browser-visibility';
|
||||
export * from './string.util';
|
||||
export * from './protractor.util';
|
||||
export * from './local-storage.util';
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class TabsPage {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class AppListCloudPage {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../../core/utils/browser-visibility';
|
||||
|
||||
export class EditProcessFilterDialogPage {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../../core/utils/browser-visibility';
|
||||
|
||||
export class EditTaskFilterDialogPage {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
import { by, element, protractor } from 'protractor';
|
||||
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 {
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
import { by, element, protractor } from 'protractor';
|
||||
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 {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class GroupCloudComponentPage {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class PeopleCloudComponentPage {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { by } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class ProcessFiltersCloudComponentPage {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class ProcessHeaderCloudPage {
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
* 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 { element, by } from 'protractor';
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { by, element, Key, protractor, browser } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class StartProcessCloudPage {
|
||||
|
||||
@ -95,6 +95,7 @@ export class StartProcessCloudPage {
|
||||
}
|
||||
|
||||
clickStartProcessButton() {
|
||||
BrowserVisibility.waitUntilElementIsClickable(this.startProcessButton);
|
||||
return this.startProcessButton.click();
|
||||
}
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by, Key, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class StartTasksCloudPage {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { by } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class TaskFiltersCloudComponentPage {
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class TaskHeaderCloudPage {
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
* 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 { element, by } from 'protractor';
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
import { by, element } from 'protractor';
|
||||
|
||||
export class FormFieldsPage {
|
||||
|
Loading…
x
Reference in New Issue
Block a user