Add e2e test in ADF main repo (#3534)

* move e2e to ADF main repo

* lint e2e test

* enable first set of tests

* enable test

* firs test js-api integrated

* try change name protractor demo shell file

* remove fdescribe

* Update .travis.yml

* exclude failing test and rewrite analytics component with JS-API

* remove fdescribe

* move first part of tests to js-api

* refactor test alfresco-js-api

* replace js-api step 3

* remove adf prefix

* remove unused code

* remove unused part 2

* add option in e2e test for single test and browser

* exclude temp failing test

* refactoring test step 1

* refactoring test step 2

* refactoring test step 3

* refactoring test step 4

* refactoring test step 5

* run against localhost and proxy options

* fix command

* improve configuration

* improve configuration

* use dev configuratio

* fix defering

* comment out not working remotely test

* fix promise login page e2e

* remove console log

* change test

* revert

* improve utils

* improve task list test
util add also numbers in generation of the email

* remove part of the multi selector

* reinsert trashcan test

* uncomment document list test

* try increase delay in search sorting

* improve document list selector

* execute different util methods

* Upload error screenshot

* make oncomplete async

* add z-finish screenshot workaround

* option save

* remove fit
This commit is contained in:
Eugenio Romano
2018-08-14 15:42:14 +01:00
committed by Eugenio Romano
parent 4ecea64e19
commit 3d86044594
182 changed files with 16047 additions and 178 deletions
+46
View File
@@ -0,0 +1,46 @@
import path = require('path');
import fs = require('fs');
import TestConfig = require('../../test.config');
export class UploadActions {
async uploadFile(alfrescoJsApi, fileLocation, fileName, parentFolderId) {
let pathFile = path.join(TestConfig.main.rootPath + fileLocation);
let file = fs.createReadStream(pathFile);
return alfrescoJsApi.upload.uploadFile(
file,
'',
parentFolderId,
null,
{
'name': fileName,
'nodeType': 'cm:content'
}
);
}
async createEmptyFiles(alfrescoJsApi, emptyFileNames: string[], parentFolderId) {
let filesRequest = [];
for (let i = 0; i < emptyFileNames.length; i++) {
let jsonItem = {};
jsonItem['name'] = emptyFileNames[i];
jsonItem['nodeType'] = 'cm:content';
filesRequest.push(jsonItem);
}
return alfrescoJsApi.nodes.addNode(parentFolderId, filesRequest, {}, {
filedata: ''
});
}
async uploadFolder(alfrescoJsApi, folderName, parentFolderId) {
return alfrescoJsApi.nodes.addNode(parentFolderId, {
'name': folderName,
'nodeType': 'cm:folder'
}, {}, {});
}
}
+42
View File
@@ -0,0 +1,42 @@
import path = require('path');
import fs = require('fs');
import TestConfig = require('../../test.config');
import AppPublish = require('../../models/APS/AppPublish');
export class AppsActions {
async importPublishDeployApp(alfrescoJsApi, appFileLocation) {
let pathFile = path.join(TestConfig.main.rootPath + appFileLocation);
let file = fs.createReadStream(pathFile);
let appCreated = await alfrescoJsApi.activiti.appsApi.importAppDefinition(file);
let publishApp = await alfrescoJsApi.activiti.appsApi.publishAppDefinition(appCreated.id, new AppPublish());
let published = await alfrescoJsApi.activiti.appsApi.deployAppDefinitions({ appDefinitions: [{ id: publishApp.appDefinition.id }] });
return appCreated;
}
async startProcess(alfrescoJsApi, app, processName) {
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 startProcessOptions = { processDefinitionId: processDefinitionList.data[0].id };
if (typeof processName !== 'undefined') {
startProcessOptions.name = processName;
}
return await alfrescoJsApi.activiti.processApi.startNewProcessInstance(startProcessOptions);
}
}
+38
View File
@@ -0,0 +1,38 @@
import Tenant = require('../models/APS/Tenant');
import User = require('../models/APS/User');
import TestConfig = require('../test.config');
import path = require('path');
import fs = require('fs');
export class UsersActions {
async createTenantAndUser(alfrescoJsApi) {
let newTenant = await alfrescoJsApi.activiti.adminTenantsApi.createTenant(new Tenant());
let user = new User({ tenantId: newTenant.id });
await alfrescoJsApi.activiti.adminUsersApi.createNewUser(user);
return user;
}
async createApsUser(alfrescoJsApi, tenantId) {
let user = new User({ tenantId: tenantId });
await alfrescoJsApi.activiti.adminUsersApi.createNewUser(user);
return user;
}
async cleanupTenant(alfrescoJsApi, tenantId) {
return alfrescoJsApi.activiti.adminTenantsApi.deleteTenant(tenantId);
}
async changeProfilePictureAps(alfrescoJsApi, fileLocation) {
let pathFile = path.join(TestConfig.main.rootPath + fileLocation);
let file = fs.createReadStream(pathFile);
return alfrescoJsApi.activiti.profileApi.uploadProfilePicture(file);
}
}