mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
* update e2e js-api node * fix protractor import * use new client * fix protractor conf comaptibility * processClient fix * new js-api * fix new import * fix identity call * fix identity call * remove aut param * fix model * fix model * increase timeout CS bigFile * Refactor task details e2e tests * Fix e2e test * Rebase branch
125 lines
4.5 KiB
TypeScript
125 lines
4.5 KiB
TypeScript
/*!
|
|
* @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 path = require('path');
|
|
import fs = require('fs');
|
|
import TestConfig = require('../../test.config');
|
|
import AppPublish = require('../../models/APS/AppPublish');
|
|
import remote = require('selenium-webdriver/remote');
|
|
import { browser } from 'protractor';
|
|
|
|
export class AppsActions {
|
|
|
|
async getProcessTaskId(alfrescoJsApi, processId) {
|
|
let taskList = await alfrescoJsApi.activiti.taskApi.listTasks({});
|
|
let taskId = -1;
|
|
|
|
taskList.data.forEach((task) => {
|
|
if (task.processInstanceId === processId) {
|
|
taskId = task.id;
|
|
}
|
|
});
|
|
|
|
return taskId;
|
|
}
|
|
|
|
async getAppDefinitionId(alfrescoJsApi, appModelId) {
|
|
let appDefinitions = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
|
let appDefinitionId = -1;
|
|
|
|
appDefinitions.data.forEach((appDefinition) => {
|
|
if (appDefinition.modelId === appModelId) {
|
|
appDefinitionId = appDefinition.id;
|
|
}
|
|
});
|
|
|
|
return appDefinitionId;
|
|
}
|
|
|
|
async importPublishDeployApp(alfrescoJsApi, appFileLocation) {
|
|
let appCreated = await this.importApp(alfrescoJsApi, appFileLocation);
|
|
|
|
let publishApp = await alfrescoJsApi.activiti.appsApi.publishAppDefinition(appCreated.id, new AppPublish());
|
|
|
|
await alfrescoJsApi.activiti.appsApi.deployAppDefinitions({ appDefinitions: [{ id: publishApp.appDefinition.id }] });
|
|
|
|
return appCreated;
|
|
}
|
|
|
|
async importApp(alfrescoJsApi, appFileLocation) {
|
|
browser.setFileDetector(new remote.FileDetector());
|
|
|
|
let pathFile = path.join(TestConfig.main.rootPath + appFileLocation);
|
|
let file = fs.createReadStream(pathFile);
|
|
|
|
return await alfrescoJsApi.activiti.appsApi.importAppDefinition(file);
|
|
}
|
|
|
|
async publishDeployApp(alfrescoJsApi, appId) {
|
|
browser.setFileDetector(new remote.FileDetector());
|
|
|
|
let publishApp = await alfrescoJsApi.activiti.appsApi.publishAppDefinition(appId, new AppPublish());
|
|
|
|
await alfrescoJsApi.activiti.appsApi.deployAppDefinitions({ appDefinitions: [{ id: publishApp.appDefinition.id }] });
|
|
|
|
return publishApp;
|
|
}
|
|
|
|
async importNewVersionAppDefinitionPublishDeployApp(alfrescoJsApi, appFileLocation, modelId) {
|
|
browser.setFileDetector(new remote.FileDetector());
|
|
|
|
let pathFile = path.join(TestConfig.main.rootPath + appFileLocation);
|
|
let file = fs.createReadStream(pathFile);
|
|
|
|
let appCreated = await alfrescoJsApi.activiti.appsApi.importNewAppDefinition(modelId, file);
|
|
|
|
let publishApp = await alfrescoJsApi.activiti.appsApi.publishAppDefinition(appCreated.id, new AppPublish());
|
|
|
|
await alfrescoJsApi.activiti.appsApi.deployAppDefinitions({ appDefinitions: [{ id: publishApp.appDefinition.id }] });
|
|
|
|
return appCreated;
|
|
}
|
|
|
|
async startProcess(alfrescoJsApi, app, processName?: string) {
|
|
browser.setFileDetector(new remote.FileDetector());
|
|
|
|
let appDefinitionsList = await alfrescoJsApi.activiti.appsApi.getAppDefinitions();
|
|
|
|
let appDefinition = appDefinitionsList.data.filter((currentApp) => {
|
|
return currentApp.name === app.name;
|
|
});
|
|
|
|
let processDefinitionList = await alfrescoJsApi.activiti.processApi.getProcessDefinitions({ deploymentId: appDefinition.deploymentId });
|
|
|
|
let chosenProcess = processDefinitionList.data.find( (processDefinition) => {
|
|
return processDefinition.name === processName;
|
|
});
|
|
|
|
let processDefinitionIdToStart = chosenProcess ? chosenProcess.id : processDefinitionList.data[0].id;
|
|
|
|
let startProcessOptions: any = { processDefinitionId: processDefinitionIdToStart };
|
|
|
|
if (typeof processName !== 'undefined') {
|
|
startProcessOptions.name = processName;
|
|
}
|
|
|
|
return await alfrescoJsApi.activiti.processApi.startNewProcessInstance(startProcessOptions);
|
|
|
|
}
|
|
|
|
}
|