[ACS-259] refactor login page (#5733)

* refator login page

* refator login page

* remove obsolete classes and move what is needed in the test pck

* fix const

* revert modify

* remove duplicate browser property

* fix build

* fix

* fix

* fix lint

* move drop action in testing
remove not necessary space
js-api centralize content

* first refactor use js-api

* fix protractor

* refactor test config

* simplify properties
fix namings

* ps cloud simplify
remove unused js files

* id fix

* fix search test
simplify environment var step 1

* fix lint

* first user iteration fix

* fix model

* unify use of apiService

* first step automatic user creation Identity

* refactor creation user content-services

* refactor creation user search

* refactor creation user core

* process service refactoring 1

* process service refactoring 1

* process service refactoring 2

* fix process

* appconfig

* fix process util

* fix gallery

* fix "this" reference issues

* fix incorrect import paths

* fix core

* some fixes

* allign

* fix some test
remove structure folder and move in actions

* fixes

* move folders in the right place

* fix

* fix rebase

* solve build issue

* fix e2e

* change init aae

* order api and some fixes

* fix possible not valid password

* fix some ps test

* replace host port also in objects

* Update app-config.service.ts

* fix process

* fix process test

* process service cloud fix

* fiexs

* modify init script

* fix two test

* remove unused property

* host issue

* not use npx

* fix ps cloud test

Co-authored-by: Denys Vuika <denys.vuika@gmail.com>
This commit is contained in:
Eugenio Romano
2020-06-04 14:41:30 +01:00
committed by GitHub
parent f0df6b3a5f
commit a78f24ada1
297 changed files with 5130 additions and 9622 deletions

View File

@@ -15,48 +15,43 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
describe('Amount Widget', () => {
const loginPage = new LoginPage();
const app = browser.params.resources.Files.WIDGET_CHECK_APP.AMOUNT;
let processUserModel;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.AMOUNT;
let deployedApp, process;
let processUserModel;
const apiService = new ApiService();
const applicationsService = new ApplicationsUtil(apiService);
const usersActions = new UsersActions(apiService);
const processUtil = new ProcessUtil(apiService);
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
const processUtil = new ProcessUtil(alfrescoJsApi);
process = await processUtil.startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async() => {
@@ -67,9 +62,9 @@ describe('Amount Widget', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C274703] Should be possible to set general, advance and visibility properties for Amount Widget', async () => {

View File

@@ -15,20 +15,22 @@
* limitations under the License.
*/
import { LoginPage, Widget, ViewerPage, FileBrowserUtil, ApplicationsUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, Widget, ViewerPage, FileBrowserUtil, ApplicationsUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { FileModel } from '../../models/ACS/file.model';
import { browser } from 'protractor';
import { NavigationBarPage } from '../../pages/adf/navigation-bar.page';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { TaskDetailsPage } from '../../pages/adf/process-services/task-details.page';
import { TasksListPage } from '../../pages/adf/process-services/tasks-list.page';
import { FiltersPage } from '../../pages/adf/process-services/filters.page';
describe('Attach widget - File', () => {
const loginPage = new LoginPage();
const app = browser.params.resources.Files.WIDGETS_SMOKE_TEST;
const loginPage = new LoginSSOPage();
const viewerPage = new ViewerPage();
const widget = new Widget();
const taskPage = new TasksPage();
@@ -37,26 +39,22 @@ describe('Attach widget - File', () => {
const tasksListPage = new TasksListPage();
const filtersPage = new FiltersPage();
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let processUserModel;
const app = browser.params.resources.Files.WIDGETS_SMOKE_TEST;
const pdfFile = new FileModel({'name': browser.params.resources.Files.ADF_DOCUMENTS.PDF.file_name});
const appFields = app.form_fields;
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
processUserModel = await users.createTenantAndUser(this.alfrescoJsApi);
await this.alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(this.alfrescoJsApi);
await applicationsService.importPublishDeployApp(app.file_path);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -74,12 +72,8 @@ describe('Attach widget - File', () => {
});
afterAll(async () => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await this.alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C268067] Should be able to preview, download and remove attached files from an active form', async () => {

View File

@@ -15,46 +15,43 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
describe('Attach Folder widget', () => {
const loginPage = new LoginPage();
let processUserModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.ATTACH_FOLDER;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.ATTACH_FOLDER;
let deployedApp, process;
let processUserModel;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const processUtil = new ProcessUtil(apiService);
const applicationsService = new ApplicationsUtil(apiService);
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
const processUtil = new ProcessUtil(alfrescoJsApi);
process = await processUtil.startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -65,9 +62,9 @@ describe('Attach Folder widget', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C276745] Should be possible to set visibility properties for Attach Folder Widget', async () => {

View File

@@ -15,46 +15,42 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
describe('Checkbox Widget', () => {
const loginPage = new LoginPage();
let processUserModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.CHECKBOX;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
let processUserModel;
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.CHECKBOX;
let deployedApp, process;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -65,13 +61,13 @@ describe('Checkbox Widget', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C268554] Should be able to set general settings for Checkbox widget ', async () => {
await taskPage.formFields().setValueInInputById(app.FIELD.number_input_id, 2);
await taskPage.formFields().setValueInInputById(app.FIELD.number_input_id, '2');
await expect(await widget.checkboxWidget().getCheckboxLabel()).toContain(app.FIELD.checkbox_label);
await expect(await taskPage.formFields().isCompleteFormButtonDisabled()).toBeTruthy();
await widget.checkboxWidget().clickCheckboxInput(app.FIELD.checkbox_input_id);
@@ -80,7 +76,7 @@ describe('Checkbox Widget', () => {
it('[C272812] Should be able to set visibility settings for Checkbox widget', async () => {
await widget.checkboxWidget().isCheckboxHidden(app.FIELD.checkbox_field_id);
await taskPage.formFields().setValueInInputById(app.FIELD.number_input_id, 2);
await taskPage.formFields().setValueInInputById(app.FIELD.number_input_id, '2');
await widget.checkboxWidget().isCheckboxDisplayed(app.FIELD.checkbox_field_id);
});
});

View File

@@ -15,46 +15,42 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
describe('Date and time widget', () => {
const loginPage = new LoginPage();
let processUserModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DATETIME;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let processUserModel;
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DATETIME;
let deployedApp, process;
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -65,9 +61,9 @@ describe('Date and time widget', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C268818] Should be able to set general settings for Date Time widget', async () => {

View File

@@ -15,9 +15,16 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, FormPage, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import {
LoginSSOPage,
BrowserActions,
Widget,
FormPage,
ApplicationsUtil,
ProcessUtil,
ApiService
} from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
@@ -26,48 +33,44 @@ import { customDateFormAPS1 } from '../../resources/forms/custom-date-form';
describe('Date widget', () => {
const loginPage = new LoginPage();
let processUserModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DATE;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
const dateWidget = widget.dateWidget();
let alfrescoJsApi;
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DATE;
let processUserModel;
let deployedApp, process;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
describe('Simple App', () => {
beforeEach(async () => {
const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`;
await BrowserActions.getUrl(urlToNavigateTo);
@@ -95,7 +98,6 @@ describe('Date widget', () => {
});
describe('Form Demo Page', () => {
const formDemoPage = new FormDemoPage();
const formJson = JSON.parse(customDateFormAPS1);
const formPage = new FormPage();

View File

@@ -15,46 +15,42 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
describe('Document Template widget', () => {
const loginPage = new LoginPage();
let processUserModel;
const app = browser.params.resources.Files.FILE_FORM_ADF;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let appModel;
const app = browser.params.resources.Files.FILE_FORM_ADF;
let deployedApp, process;
let processUserModel;
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp( app.file_path);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
appModel = await applicationsService.importPublishDeployApp( app.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
process = await new ProcessUtil(alfrescoJsApi).startProcessOfApp(appModel.name);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessOfApp(appModel.name);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -65,9 +61,9 @@ describe('Document Template widget', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C260406] should check that the template contains assigned file ', async () => {

View File

@@ -15,46 +15,41 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
describe('Dropdown widget', () => {
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DROPDOWN;
const loginPage = new LoginPage();
let processUserModel;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DROPDOWN;
let deployedApp, process;
let processUserModel;
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -65,9 +60,9 @@ describe('Dropdown widget', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C269051] Should be possible to set general and options properties for Dropdown widget ', async () => {

View File

@@ -15,9 +15,8 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
@@ -25,35 +24,34 @@ import { NavigationBarPage } from '../../pages/adf/navigation-bar.page';
describe('Dynamic Table widget ', () => {
const loginPage = new LoginPage();
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
const users = new UsersActions();
const navigationBarPage = new NavigationBarPage();
const alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let processUserModel;
let appModel;
let deployedApp, process;
describe('with Date Time Widget App', () => {
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DYNAMIC_TABLE;
beforeAll(async () => {
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => currentApp.modelId === appModel.id);
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -64,9 +62,9 @@ describe('Dynamic Table widget ', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await navigationBarPage.clickLogoutButton();
});
@@ -93,23 +91,22 @@ describe('Dynamic Table widget ', () => {
const app = browser.params.resources.Files.WIDGET_CHECK_APP.DYNAMIC_TABLE_USERS;
beforeAll(async () => {
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => currentApp.modelId === appModel.id);
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await navigationBarPage.clickLogoutButton();
});
@@ -146,30 +143,28 @@ describe('Dynamic Table widget ', () => {
});
describe('Custom validation', () => {
const app = browser.params.resources.Files.WIDGET_CHECK_APP;
beforeAll(async () => {
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
const application = await applicationsService.importPublishDeployApp(app.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => currentApp.modelId === application.id);
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(application.name, app.CUSTOM_VALIDATOR.processName);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(application.name, app.CUSTOM_VALIDATOR.processName);
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
beforeEach(async () => {
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
await loginPage.login(processUserModel.email, processUserModel.password);
const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks`;
await BrowserActions.getUrl(urlToNavigateTo);
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);

View File

@@ -15,46 +15,42 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
describe('Header widget', async () => {
const loginPage = new LoginPage();
let processUserModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.HEADER;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.HEADER;
let deployedApp, process;
let processUserModel;
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -65,9 +61,9 @@ describe('Header widget', async () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C276737] Should be able to set general and visibility properties for Header widget', async () => {

View File

@@ -15,46 +15,42 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
describe('Hyperlink widget', () => {
const loginPage = new LoginPage();
let processUserModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.HYPERLINK;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.HYPERLINK;
let processUserModel;
let deployedApp, process;
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -65,9 +61,9 @@ describe('Hyperlink widget', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C276728] Should be able to set visibility properties for Hyperlink widget', async () => {

View File

@@ -15,46 +15,41 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
describe('Multi-line Widget', () => {
const app = browser.params.resources.Files.WIDGET_CHECK_APP.MULTILINE_TEXT;
const loginPage = new LoginPage();
let processUserModel;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.MULTILINE_TEXT;
let processUserModel;
let deployedApp, process;
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -65,9 +60,9 @@ describe('Multi-line Widget', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C268182] Should be able to set general properties for Multi-line Text Widget', async () => {

View File

@@ -15,46 +15,42 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
describe('Number widget', () => {
const loginPage = new LoginPage();
let processUserModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.NUMBER;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.NUMBER;
let deployedApp, process;
let processUserModel;
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -65,9 +61,9 @@ describe('Number widget', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C269111] Should be able to set general properties for Number Widget', async () => {

View File

@@ -15,46 +15,38 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, StringUtil, Widget, ApplicationsUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, Widget, ApplicationsUtil, ApiService, UserModel } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import { browser } from 'protractor';
import { User } from '../../models/APS/user';
import { NavigationBarPage } from '../../pages/adf/navigation-bar.page';
import CONSTANTS = require('../../util/constants');
describe('People and Group widget', () => {
const loginPage = new LoginPage();
const app = browser.params.resources.Files.MORE_WIDGETS;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const navigationBarPage = new NavigationBarPage();
const widget = new Widget();
const usersActions = new UsersActions();
const alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
const app = browser.params.resources.Files.MORE_WIDGETS;
let user: User;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let user: UserModel;
beforeAll(async () => {
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
user = await usersActions.createTenantAndUser(alfrescoJsApi);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
user = await usersActions.createUser();
await createGroupAndUsers(user.tenantId);
await apiService.getInstance().login(user.email, user.password);
await alfrescoJsApi.login(user.email, user.password);
try {
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true });
} catch (e) { console.error('failed to deploy the application'); }
await loginPage.loginToProcessServicesUsingUserModel(user);
});
await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true });
afterAll(async () => {
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
await loginPage.login(user.email, user.password);
});
beforeEach(async () => {
@@ -65,7 +57,7 @@ describe('People and Group widget', () => {
it('[C275715] Add group widget - Visibility and group restriction', async () => {
const name = 'group visibility task';
const groupVisibilityForm = app.ADD_GROUP_VISIBILITY;
await taskPage.createTask({name, formName: groupVisibilityForm.formName});
await taskPage.createTask({ name, formName: groupVisibilityForm.formName });
await expect(await taskPage.taskDetails().getTitle()).toEqual('Activities');
await taskPage.formFields().checkWidgetIsHidden(groupVisibilityForm.FIELD.widget_id);
@@ -75,7 +67,7 @@ describe('People and Group widget', () => {
await widget.groupWidget().insertGroup(groupVisibilityForm.FIELD.widget_id, groupVisibilityForm.searchTerm);
await widget.groupWidget().checkDropDownListIsDisplayed();
const suggestions = await widget.groupWidget().getDropDownList();
await expect(suggestions.sort()).toEqual([ 'Heros', 'Users' ]);
await expect(suggestions.sort()).toEqual(['Heros', 'Users']);
await widget.groupWidget().selectGroupFromDropDown('Users');
await taskPage.taskDetails().clickCompleteFormTask();
});
@@ -83,7 +75,7 @@ describe('People and Group widget', () => {
it('[C275716] Add group widget - sub group restrictions', async () => {
const name = 'group widget - subgroup restriction';
const subgroupFrom = app.ADD_GROUP_AND_SUBGROUP_RESTRICTION;
await taskPage.createTask({name, formName: subgroupFrom.formName});
await taskPage.createTask({ name, formName: subgroupFrom.formName });
await expect(await taskPage.taskDetails().getTitle()).toEqual('Activities');
await taskPage.formFields().checkWidgetIsHidden(subgroupFrom.FIELD.widget_id);
@@ -108,7 +100,7 @@ describe('People and Group widget', () => {
it('[C275714] Add people widget - group restrictions', async () => {
const name = 'people widget - group restrictions';
const peopleWidget = app.ADD_PEOPLE_AND_GROUP_RESTRICTION;
await taskPage.createTask({name, formName: peopleWidget.formName});
await taskPage.createTask({ name, formName: peopleWidget.formName });
await expect(await taskPage.taskDetails().getTitle()).toEqual('Activities');
await taskPage.formFields().checkWidgetIsHidden(peopleWidget.FIELD.widget_id);
@@ -123,23 +115,40 @@ describe('People and Group widget', () => {
await taskPage.taskDetails().clickCompleteFormTask();
});
async function createGroupAndUsers(tenantId) {
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
async function createGroupAndUsers(tenantId: number) {
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
try {
const happyUsers: any[] = await Promise.all(app.groupUser.map(happyUser =>
usersActions.createApsUserWithName(alfrescoJsApi, tenantId, StringUtil.generateRandomString(), happyUser.firstName, happyUser.lastName)));
const subgroupUser = await usersActions.createApsUserWithName(
alfrescoJsApi, tenantId, StringUtil.generateRandomString(), app.subGroupUser.firstName, app.subGroupUser.lastName);
const userCreated = await Promise.all(app.groupUser.map(usersToCreate =>
usersActions.createUser(new UserModel({
tenantId: tenantId,
firstName: usersToCreate.firstName,
lastName: usersToCreate.lastName
}))
));
const group = await alfrescoJsApi.activiti.adminGroupsApi.createNewGroup({ name: app.group.name, tenantId, type: 1 });
await Promise.all(happyUsers.map(happyUser => alfrescoJsApi.activiti.adminGroupsApi.addGroupMember(group.id, happyUser.id)));
const subgroupUser = await usersActions.createUser(new UserModel({
tenantId: tenantId, firstName: app.subGroupUser.firstName, lastName: app.subGroupUser.lastName
}));
const subgroups: any[] = await Promise.all(getSubGroupsName().map((name) =>
alfrescoJsApi.activiti.adminGroupsApi.createNewGroup({ name, tenantId , type: 1, parentGroupId: group.id })));
await Promise.all(subgroups.map((subgroup) => alfrescoJsApi.activiti.adminGroupsApi.addGroupMember(subgroup.id, subgroupUser.id)));
const group = await apiService.getInstance().activiti.adminGroupsApi.createNewGroup({
name: app.group.name,
tenantId,
type: 1
});
await Promise.all(userCreated.map((userToAddGroup: UserModel) => apiService.getInstance().activiti.adminGroupsApi.addGroupMember(group.id, userToAddGroup.id)));
const subgroups: any[] = await Promise.all(getSubGroupsName().map((name) =>
apiService.getInstance().activiti.adminGroupsApi.createNewGroup({
name,
tenantId,
type: 1,
parentGroupId: group.id
})
));
await Promise.all(subgroups.map((subgroup) => apiService.getInstance().activiti.adminGroupsApi.addGroupMember(subgroup.id, subgroupUser.id)));
} catch (e) {}
}
function getSubGroupsName() {

View File

@@ -15,46 +15,42 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
describe('People widget', () => {
const loginPage = new LoginPage();
let processUserModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.ADD_PEOPLE;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.ADD_PEOPLE;
let deployedApp, process;
let processUserModel;
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
process = await new ProcessUtil(alfrescoJsApi).startProcessOfApp(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessOfApp(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -65,9 +61,9 @@ describe('People widget', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C260435][C274707] Should be possible to set visibility properties for People Widget', async () => {

View File

@@ -15,47 +15,43 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
describe('Radio Buttons Widget', () => {
const loginPage = new LoginPage();
let processUserModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.RADIO_BUTTONS;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.RADIO_BUTTONS;
let deployedApp, process;
let processUserModel;
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -66,9 +62,9 @@ describe('Radio Buttons Widget', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C277316] Should display empty radio buttons when no preselection is configured', async () => {

View File

@@ -15,46 +15,42 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, BrowserActions, Widget, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
describe('Text widget', () => {
const loginPage = new LoginPage();
let processUserModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.TEXT;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.TEXT;
let deployedApp, process;
let processUserModel;
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -65,9 +61,9 @@ describe('Text widget', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C268157] Should be able to set general properties for Text widget', async () => {

View File

@@ -15,43 +15,40 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, Widget, ApplicationsUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, Widget, ApplicationsUtil, ApiService, UserModel } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasks.page';
import { browser } from 'protractor';
import { User } from '../../models/APS/user';
import { NavigationBarPage } from '../../pages/adf/navigation-bar.page';
import CONSTANTS = require('../../util/constants');
describe('Typeahead widget', () => {
const loginPage = new LoginPage();
const app = browser.params.resources.Files.WIDGET_CHECK_APP;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const navigationBarPage = new NavigationBarPage();
const widget = new Widget();
const usersActions = new UsersActions();
const alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
const app = browser.params.resources.Files.WIDGET_CHECK_APP;
let user: User;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let user: UserModel;
beforeAll(async () => {
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
user = await usersActions.createTenantAndUser(alfrescoJsApi);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
user = await usersActions.createUser();
await alfrescoJsApi.login(user.email, user.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
await apiService.getInstance().login(user.email, user.password);
await applicationsService.importPublishDeployApp(app.file_path, { renewIdmEntries: true });
await loginPage.loginToProcessServicesUsingUserModel(user);
await loginPage.login(user.email, user.password);
});
afterAll(async () => {
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(user.tenantId);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(user.tenantId);
});
beforeEach(async () => {

View File

@@ -15,8 +15,7 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { LoginPage, Widget, BrowserActions, ApplicationsUtil, ProcessUtil } from '@alfresco/adf-testing';
import { LoginSSOPage, Widget, BrowserActions, ApplicationsUtil, ProcessUtil, ApiService } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { UsersActions } from '../../actions/users.actions';
import CONSTANTS = require('../../util/constants');
@@ -46,38 +45,34 @@ const checkbox = {
describe('Process-Services - Visibility conditions', () => {
const loginPage = new LoginPage();
const app = browser.params.resources.Files.WIDGET_CHECK_APP.VISIBILITY;
let processUserModel;
const loginPage = new LoginSSOPage();
const taskPage = new TasksPage();
const widget = new Widget();
let alfrescoJsApi;
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const applicationsService = new ApplicationsUtil(apiService);
let appModel;
const app = browser.params.resources.Files.WIDGET_CHECK_APP.VISIBILITY;
let deployedApp, process;
let processUserModel;
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
alfrescoJsApi = new AlfrescoApi({
provider: 'BPM',
hostBpm: browser.params.testConfig.adf_aps.host
});
processUserModel = await usersActions.createUser();
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await apiService.getInstance().login(processUserModel.email, processUserModel.password);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
processUserModel = await users.createTenantAndUser(alfrescoJsApi);
await alfrescoJsApi.login(processUserModel.email, processUserModel.password);
const applicationsService = new ApplicationsUtil(alfrescoJsApi);
appModel = await applicationsService.importPublishDeployApp(browser.params.resources.Files.WIDGET_CHECK_APP.file_path);
const appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
const appDefinitions = await apiService.getInstance().activiti.appsApi.getAppDefinitions();
deployedApp = appDefinitions.data.find((currentApp) => {
return currentApp.modelId === appModel.id;
});
process = await new ProcessUtil(alfrescoJsApi).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.loginToProcessServicesUsingUserModel(processUserModel);
process = await new ProcessUtil(apiService).startProcessByDefinitionName(appModel.name, app.processName);
await loginPage.login(processUserModel.email, processUserModel.password);
});
beforeEach(async () => {
@@ -88,9 +83,9 @@ describe('Process-Services - Visibility conditions', () => {
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
await apiService.getInstance().activiti.processApi.deleteProcessInstance(process.id);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await apiService.getInstance().activiti.adminTenantsApi.deleteTenant(processUserModel.tenantId);
});
it('[C309647] Should be able to see Checkbox widget when visibility condition refers to another field with specific value', async () => {
@@ -101,7 +96,6 @@ describe('Process-Services - Visibility conditions', () => {
});
it('[C309648] Should be able to see Checkbox widget when visibility condition refers to a form variable and a field', async () => {
await widget.textWidget().isWidgetVisible(widgets.textOneId);
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxVariableField);
@@ -113,7 +107,6 @@ describe('Process-Services - Visibility conditions', () => {
});
it('[C309649] Should be able to see Checkbox widget when visibility condition refers to a field and a form variable', async () => {
await widget.textWidget().isWidgetVisible(widgets.textOneId);
await widget.checkboxWidget().isCheckboxHidden(checkbox.checkboxFieldVariable);
@@ -125,7 +118,6 @@ describe('Process-Services - Visibility conditions', () => {
});
it('[C311425] Should be able to see Checkbox widget when visibility condition refers to a field and another field', async () => {
await widget.textWidget().isWidgetVisible(widgets.textOneId);
await widget.checkboxWidget().isCheckboxDisplayed(checkbox.checkboxFieldField);
await widget.textWidget().setValue(widgets.textOneId, value.displayCheckbox);