mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-06-30 18:15:11 +00:00
Enable tests and add a newly created user to run the tests. (#4796)
* enabled tests and added the new user to run the tests. * lint fix * adding a new user and add the user to hr group which will be used when deploying the apps. * Test commit * adding a new user and add the user to hr group which will be used when deploying the apps. * linting fixes * crc's moved the roles constants to identityService. * crc's moved the roles constants to identityService. * wrapped the createIdentityUser and assign Role calls into 1 method and used in the tests. * wrapped the createIdentityUser and assign Role calls into 1 method and used in the tests. * Added a method in identityService to pass the required roles to be added in a string array. * linting fixes * added the command line arguments to run the e2e tests -identity_admin_email and -identity_admin_password * added the command line arguments to run the e2e tests -identity_admin_email and -identity_admin_password * crc's, removed the step to add user to the hr group, as not needed in this test. * renamed the E2E travis variable to end with identity. * replaced the candidateuserapp with candidatebaseapp * replaced candidateuserapp with candidatebaseapp * replaced candidateuserapp with candidatebaseapp * replaced candidateuserapp with candidatebaseapp * timeout wait for the test to pass. * crc's
This commit is contained in:
parent
3d73e94b5d
commit
e65e32e0cf
@ -126,7 +126,6 @@
|
|||||||
"uncheck",
|
"uncheck",
|
||||||
"subfolders",
|
"subfolders",
|
||||||
"ECMBPM",
|
"ECMBPM",
|
||||||
"candidateuserapp",
|
|
||||||
"processwithvariables"
|
"processwithvariables"
|
||||||
],
|
],
|
||||||
"dictionaries": [
|
"dictionaries": [
|
||||||
|
@ -887,7 +887,7 @@
|
|||||||
},
|
},
|
||||||
"alfresco-deployed-apps": [
|
"alfresco-deployed-apps": [
|
||||||
{
|
{
|
||||||
"name": "candidateuserapp"
|
"name": "candidatebaseapp"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "simpleapp"
|
"name": "simpleapp"
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
import { LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
|
import { ApiService, IdentityService, LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
|
||||||
import { AppListCloudPage } from '@alfresco/adf-testing';
|
import { AppListCloudPage } from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import resources = require('../util/resources');
|
import resources = require('../util/resources');
|
||||||
@ -28,13 +28,25 @@ describe('Applications list', () => {
|
|||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
const appListCloudPage = new AppListCloudPage();
|
const appListCloudPage = new AppListCloudPage();
|
||||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
||||||
|
let identityService: IdentityService;
|
||||||
|
let testUser;
|
||||||
|
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
identityService = new IdentityService(apiService);
|
||||||
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
await settingsPage.setProviderBpmSso(
|
await settingsPage.setProviderBpmSso(
|
||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterAll(async(done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
import { LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
|
import { ApiService, GroupIdentityService, IdentityService, LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||||
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
|
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
|
||||||
@ -34,13 +34,30 @@ describe('Edit process filters cloud', () => {
|
|||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
|
|
||||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
||||||
|
let identityService: IdentityService;
|
||||||
|
let groupIdentityService: GroupIdentityService;
|
||||||
|
let testUser, groupInfo;
|
||||||
|
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
identityService = new IdentityService(apiService);
|
||||||
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
|
|
||||||
await settingsPage.setProviderBpmSso(
|
await settingsPage.setProviderBpmSso(
|
||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterAll(async(done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
import { AppListCloudPage, StringUtil, ApiService, LoginSSOPage, TasksService, SettingsPage } from '@alfresco/adf-testing';
|
import { AppListCloudPage, StringUtil, ApiService, LoginSSOPage, TasksService, SettingsPage, IdentityService, GroupIdentityService } from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||||
|
|
||||||
@ -31,15 +31,24 @@ describe('Edit task filters cloud', () => {
|
|||||||
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
let tasksService: TasksService;
|
let tasksService: TasksService;
|
||||||
|
let identityService: IdentityService;
|
||||||
|
let groupIdentityService: GroupIdentityService;
|
||||||
|
let testUser, groupInfo;
|
||||||
|
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
|
||||||
|
|
||||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
||||||
const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString();
|
const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString();
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
|
identityService = new IdentityService(apiService);
|
||||||
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
tasksService = new TasksService(apiService);
|
tasksService = new TasksService(apiService);
|
||||||
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
|
|
||||||
|
await apiService.login(testUser.email, testUser.password);
|
||||||
const assignedTask = await tasksService.createStandaloneTask(assignedTaskName, simpleApp);
|
const assignedTask = await tasksService.createStandaloneTask(assignedTaskName, simpleApp);
|
||||||
await tasksService.claimTask(assignedTask.entry.id, simpleApp);
|
await tasksService.claimTask(assignedTask.entry.id, simpleApp);
|
||||||
await tasksService.createAndCompleteTask(completedTaskName, simpleApp);
|
await tasksService.createAndCompleteTask(completedTaskName, simpleApp);
|
||||||
@ -48,7 +57,13 @@ describe('Edit task filters cloud', () => {
|
|||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterAll(async(done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -20,10 +20,9 @@ import { PeopleGroupCloudComponentPage } from '../pages/adf/demo-shell/process-s
|
|||||||
import { GroupCloudComponentPage, PeopleCloudComponentPage, SettingsPage } from '@alfresco/adf-testing';
|
import { GroupCloudComponentPage, PeopleCloudComponentPage, SettingsPage } from '@alfresco/adf-testing';
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
import { LoginSSOPage, IdentityService, GroupIdentityService, RolesService, ApiService } from '@alfresco/adf-testing';
|
import { LoginSSOPage, IdentityService, GroupIdentityService, RolesService, ApiService } from '@alfresco/adf-testing';
|
||||||
import CONSTANTS = require('../util/constants');
|
|
||||||
import resources = require('../util/resources');
|
import resources = require('../util/resources');
|
||||||
|
|
||||||
xdescribe('People Groups Cloud Component', () => {
|
describe('People Groups Cloud Component', () => {
|
||||||
|
|
||||||
describe('People Groups Cloud Component', () => {
|
describe('People Groups Cloud Component', () => {
|
||||||
const loginSSOPage = new LoginSSOPage();
|
const loginSSOPage = new LoginSSOPage();
|
||||||
@ -35,15 +34,17 @@ xdescribe('People Groups Cloud Component', () => {
|
|||||||
let groupIdentityService: GroupIdentityService;
|
let groupIdentityService: GroupIdentityService;
|
||||||
let rolesService: RolesService;
|
let rolesService: RolesService;
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
|
const apiService = new ApiService(
|
||||||
|
browser.params.config.oauth2.clientId,
|
||||||
|
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
||||||
|
);
|
||||||
|
|
||||||
let apsUser;
|
let apsUser, testUser;
|
||||||
let activitiUser;
|
let activitiUser;
|
||||||
let noRoleUser;
|
let noRoleUser;
|
||||||
let groupAps;
|
let groupAps;
|
||||||
let groupActiviti;
|
let groupActiviti;
|
||||||
let groupNoRole;
|
let groupNoRole;
|
||||||
let apsUserRoleId;
|
|
||||||
let activitiUserRoleId;
|
|
||||||
let apsAdminRoleId;
|
let apsAdminRoleId;
|
||||||
let activitiAdminRoleId;
|
let activitiAdminRoleId;
|
||||||
let clientActivitiAdminRoleId, clientActivitiUserRoleId;
|
let clientActivitiAdminRoleId, clientActivitiUserRoleId;
|
||||||
@ -52,10 +53,7 @@ xdescribe('People Groups Cloud Component', () => {
|
|||||||
let clientId;
|
let clientId;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
const apiService = new ApiService(
|
|
||||||
browser.params.config.oauth2.clientId,
|
|
||||||
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
|
||||||
);
|
|
||||||
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
|
||||||
identityService = new IdentityService(apiService);
|
identityService = new IdentityService(apiService);
|
||||||
@ -63,40 +61,38 @@ xdescribe('People Groups Cloud Component', () => {
|
|||||||
groupIdentityService = new GroupIdentityService(apiService);
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
clientId = await groupIdentityService.getClientIdByApplicationName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
|
clientId = await groupIdentityService.getClientIdByApplicationName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
|
||||||
groupActiviti = await groupIdentityService.createIdentityGroup();
|
groupActiviti = await groupIdentityService.createIdentityGroup();
|
||||||
clientActivitiAdminRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, CONSTANTS.ROLES.ACTIVITI_ADMIN);
|
clientActivitiAdminRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, identityService.roles.activiti_admin);
|
||||||
clientActivitiUserRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, CONSTANTS.ROLES.ACTIVITI_USER);
|
clientActivitiUserRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, identityService.roles.activiti_user);
|
||||||
|
|
||||||
apsUser = await identityService.createIdentityUser();
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
apsUserRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.APS_USER);
|
apsUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
await identityService.assignRole(apsUser.idIdentityService, apsUserRoleId, CONSTANTS.ROLES.APS_USER);
|
activitiUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.activiti_user]);
|
||||||
activitiUser = await identityService.createIdentityUser();
|
|
||||||
activitiUserRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.ACTIVITI_USER);
|
|
||||||
await identityService.assignRole(activitiUser.idIdentityService, activitiUserRoleId, CONSTANTS.ROLES.ACTIVITI_USER);
|
|
||||||
noRoleUser = await identityService.createIdentityUser();
|
noRoleUser = await identityService.createIdentityUser();
|
||||||
await identityService.deleteClientRole(noRoleUser.idIdentityService, clientId, clientActivitiAdminRoleId, CONSTANTS.ROLES.ACTIVITI_ADMIN);
|
await identityService.deleteClientRole(noRoleUser.idIdentityService, clientId, clientActivitiAdminRoleId, identityService.roles.activiti_admin);
|
||||||
await identityService.deleteClientRole(noRoleUser.idIdentityService, clientId, clientActivitiUserRoleId, CONSTANTS.ROLES.ACTIVITI_USER);
|
await identityService.deleteClientRole(noRoleUser.idIdentityService, clientId, clientActivitiUserRoleId, identityService.roles.activiti_user);
|
||||||
|
|
||||||
groupAps = await groupIdentityService.createIdentityGroup();
|
groupAps = await groupIdentityService.createIdentityGroup();
|
||||||
apsAdminRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.APS_ADMIN);
|
apsAdminRoleId = await rolesService.getRoleIdByRoleName(identityService.roles.aps_admin);
|
||||||
await groupIdentityService.assignRole(groupAps.id, apsAdminRoleId, CONSTANTS.ROLES.APS_ADMIN);
|
await groupIdentityService.assignRole(groupAps.id, apsAdminRoleId, identityService.roles.aps_admin);
|
||||||
activitiAdminRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.ACTIVITI_ADMIN);
|
activitiAdminRoleId = await rolesService.getRoleIdByRoleName(identityService.roles.activiti_admin);
|
||||||
await groupIdentityService.assignRole(groupActiviti.id, activitiAdminRoleId, CONSTANTS.ROLES.ACTIVITI_ADMIN);
|
await groupIdentityService.assignRole(groupActiviti.id, activitiAdminRoleId, identityService.roles.activiti_admin);
|
||||||
groupNoRole = await groupIdentityService.createIdentityGroup();
|
groupNoRole = await groupIdentityService.createIdentityGroup();
|
||||||
|
|
||||||
await groupIdentityService.addClientRole(groupAps.id, clientId, clientActivitiAdminRoleId, CONSTANTS.ROLES.ACTIVITI_ADMIN);
|
await groupIdentityService.addClientRole(groupAps.id, clientId, clientActivitiAdminRoleId, identityService.roles.activiti_admin);
|
||||||
await groupIdentityService.addClientRole(groupActiviti.id, clientId, clientActivitiAdminRoleId, CONSTANTS.ROLES.ACTIVITI_ADMIN);
|
await groupIdentityService.addClientRole(groupActiviti.id, clientId, clientActivitiAdminRoleId, identityService.roles.activiti_admin);
|
||||||
users = [`${apsUser.idIdentityService}`, `${activitiUser.idIdentityService}`, `${noRoleUser.idIdentityService}`];
|
users = [`${apsUser.idIdentityService}`, `${activitiUser.idIdentityService}`, `${noRoleUser.idIdentityService}`, `${testUser.idIdentityService}`];
|
||||||
groups = [`${groupAps.id}`, `${groupActiviti.id}`, `${groupNoRole.id}`];
|
groups = [`${groupAps.id}`, `${groupActiviti.id}`, `${groupNoRole.id}`];
|
||||||
|
|
||||||
await settingsPage.setProviderBpmSso(
|
await settingsPage.setProviderBpmSso(
|
||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
for (let i = 0; i < users.length; i++) {
|
for (let i = 0; i < users.length; i++) {
|
||||||
await identityService.deleteIdentityUser(users[i]);
|
await identityService.deleteIdentityUser(users[i]);
|
||||||
}
|
}
|
||||||
@ -135,7 +131,7 @@ xdescribe('People Groups Cloud Component', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('One role filtering', () => {
|
it('One role filtering', () => {
|
||||||
peopleGroupCloudComponentPage.enterPeopleRoles(`["${CONSTANTS.ROLES.APS_USER}"]`);
|
peopleGroupCloudComponentPage.enterPeopleRoles(`["${identityService.roles.aps_user}"]`);
|
||||||
peopleCloudComponent.searchAssignee(apsUser.lastName);
|
peopleCloudComponent.searchAssignee(apsUser.lastName);
|
||||||
peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`);
|
peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`);
|
||||||
peopleCloudComponent.searchAssignee(activitiUser.lastName);
|
peopleCloudComponent.searchAssignee(activitiUser.lastName);
|
||||||
@ -145,7 +141,7 @@ xdescribe('People Groups Cloud Component', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Multiple roles filtering', () => {
|
it('Multiple roles filtering', () => {
|
||||||
peopleGroupCloudComponentPage.enterPeopleRoles(`["${CONSTANTS.ROLES.APS_USER}", "${CONSTANTS.ROLES.ACTIVITI_USER}"]`);
|
peopleGroupCloudComponentPage.enterPeopleRoles(`["${identityService.roles.aps_user}", "${identityService.roles.activiti_user}"]`);
|
||||||
peopleCloudComponent.searchAssignee(apsUser.lastName);
|
peopleCloudComponent.searchAssignee(apsUser.lastName);
|
||||||
peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`);
|
peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName} ${apsUser.lastName}`);
|
||||||
peopleCloudComponent.searchAssignee(activitiUser.lastName);
|
peopleCloudComponent.searchAssignee(activitiUser.lastName);
|
||||||
@ -173,7 +169,7 @@ xdescribe('People Groups Cloud Component', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('One role filtering', () => {
|
it('One role filtering', () => {
|
||||||
peopleGroupCloudComponentPage.enterGroupRoles(`["${CONSTANTS.ROLES.APS_ADMIN}"]`);
|
peopleGroupCloudComponentPage.enterGroupRoles(`["${identityService.roles.aps_admin}"]`);
|
||||||
groupCloudComponentPage.searchGroups(groupAps.name);
|
groupCloudComponentPage.searchGroups(groupAps.name);
|
||||||
groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`);
|
groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`);
|
||||||
groupCloudComponentPage.searchGroups(groupActiviti.name);
|
groupCloudComponentPage.searchGroups(groupActiviti.name);
|
||||||
@ -183,7 +179,7 @@ xdescribe('People Groups Cloud Component', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Multiple roles filtering', () => {
|
it('Multiple roles filtering', () => {
|
||||||
peopleGroupCloudComponentPage.enterGroupRoles(`["${CONSTANTS.ROLES.APS_ADMIN}", "${CONSTANTS.ROLES.ACTIVITI_ADMIN}"]`);
|
peopleGroupCloudComponentPage.enterGroupRoles(`["${identityService.roles.aps_admin}", "${identityService.roles.activiti_admin}"]`);
|
||||||
groupCloudComponentPage.searchGroups(groupActiviti.name);
|
groupCloudComponentPage.searchGroups(groupActiviti.name);
|
||||||
groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`);
|
groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`);
|
||||||
groupCloudComponentPage.searchGroups(groupAps.name);
|
groupCloudComponentPage.searchGroups(groupAps.name);
|
||||||
|
@ -20,10 +20,9 @@ import { PeopleGroupCloudComponentPage } from '../pages/adf/demo-shell/process-s
|
|||||||
import { GroupCloudComponentPage, PeopleCloudComponentPage, SettingsPage } from '@alfresco/adf-testing';
|
import { GroupCloudComponentPage, PeopleCloudComponentPage, SettingsPage } from '@alfresco/adf-testing';
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
import { LoginSSOPage, IdentityService, GroupIdentityService, RolesService, ApiService } from '@alfresco/adf-testing';
|
import { LoginSSOPage, IdentityService, GroupIdentityService, RolesService, ApiService } from '@alfresco/adf-testing';
|
||||||
import CONSTANTS = require('../util/constants');
|
|
||||||
import resources = require('../util/resources');
|
import resources = require('../util/resources');
|
||||||
|
|
||||||
xdescribe('People Groups Cloud Component', () => {
|
describe('People Groups Cloud Component', () => {
|
||||||
|
|
||||||
describe('People Groups Cloud Component', () => {
|
describe('People Groups Cloud Component', () => {
|
||||||
const loginSSOPage = new LoginSSOPage();
|
const loginSSOPage = new LoginSSOPage();
|
||||||
@ -32,18 +31,20 @@ xdescribe('People Groups Cloud Component', () => {
|
|||||||
const peopleCloudComponent = new PeopleCloudComponentPage();
|
const peopleCloudComponent = new PeopleCloudComponentPage();
|
||||||
const groupCloudComponentPage = new GroupCloudComponentPage();
|
const groupCloudComponentPage = new GroupCloudComponentPage();
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
|
const apiService = new ApiService(
|
||||||
|
browser.params.config.oauth2.clientId,
|
||||||
|
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
||||||
|
);
|
||||||
let identityService: IdentityService;
|
let identityService: IdentityService;
|
||||||
let groupIdentityService: GroupIdentityService;
|
let groupIdentityService: GroupIdentityService;
|
||||||
let rolesService: RolesService;
|
let rolesService: RolesService;
|
||||||
|
|
||||||
let apsUser;
|
let apsUser, testUser;
|
||||||
let activitiUser;
|
let activitiUser;
|
||||||
let noRoleUser;
|
let noRoleUser;
|
||||||
let groupAps;
|
let groupAps;
|
||||||
let groupActiviti;
|
let groupActiviti;
|
||||||
let groupNoRole;
|
let groupNoRole;
|
||||||
let apsUserRoleId;
|
|
||||||
let activitiUserRoleId;
|
|
||||||
let apsAdminRoleId;
|
let apsAdminRoleId;
|
||||||
let activitiAdminRoleId;
|
let activitiAdminRoleId;
|
||||||
let clientActivitiAdminRoleId, clientActivitiUserRoleId;
|
let clientActivitiAdminRoleId, clientActivitiUserRoleId;
|
||||||
@ -52,10 +53,6 @@ xdescribe('People Groups Cloud Component', () => {
|
|||||||
let clientId;
|
let clientId;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
const apiService = new ApiService(
|
|
||||||
browser.params.config.oauth2.clientId,
|
|
||||||
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
|
||||||
);
|
|
||||||
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
|
||||||
identityService = new IdentityService(apiService);
|
identityService = new IdentityService(apiService);
|
||||||
@ -63,40 +60,38 @@ xdescribe('People Groups Cloud Component', () => {
|
|||||||
groupIdentityService = new GroupIdentityService(apiService);
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
clientId = await groupIdentityService.getClientIdByApplicationName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
|
clientId = await groupIdentityService.getClientIdByApplicationName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
|
||||||
groupActiviti = await groupIdentityService.createIdentityGroup();
|
groupActiviti = await groupIdentityService.createIdentityGroup();
|
||||||
clientActivitiAdminRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, CONSTANTS.ROLES.ACTIVITI_ADMIN);
|
clientActivitiAdminRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, identityService.roles.activiti_admin);
|
||||||
clientActivitiUserRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, CONSTANTS.ROLES.ACTIVITI_USER);
|
clientActivitiUserRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, identityService.roles.activiti_user);
|
||||||
|
|
||||||
apsUser = await identityService.createIdentityUser();
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
apsUserRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.APS_USER);
|
apsUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
await identityService.assignRole(apsUser.idIdentityService, apsUserRoleId, CONSTANTS.ROLES.APS_USER);
|
activitiUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.activiti_user]);
|
||||||
activitiUser = await identityService.createIdentityUser();
|
|
||||||
activitiUserRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.ACTIVITI_USER);
|
|
||||||
await identityService.assignRole(activitiUser.idIdentityService, activitiUserRoleId, CONSTANTS.ROLES.ACTIVITI_USER);
|
|
||||||
noRoleUser = await identityService.createIdentityUser();
|
noRoleUser = await identityService.createIdentityUser();
|
||||||
await identityService.deleteClientRole(noRoleUser.idIdentityService, clientId, clientActivitiAdminRoleId, CONSTANTS.ROLES.ACTIVITI_ADMIN);
|
await identityService.deleteClientRole(noRoleUser.idIdentityService, clientId, clientActivitiAdminRoleId, identityService.roles.activiti_admin);
|
||||||
await identityService.deleteClientRole(noRoleUser.idIdentityService, clientId, clientActivitiUserRoleId, CONSTANTS.ROLES.ACTIVITI_USER);
|
await identityService.deleteClientRole(noRoleUser.idIdentityService, clientId, clientActivitiUserRoleId, identityService.roles.activiti_user);
|
||||||
|
|
||||||
groupAps = await groupIdentityService.createIdentityGroup();
|
groupAps = await groupIdentityService.createIdentityGroup();
|
||||||
apsAdminRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.APS_ADMIN);
|
apsAdminRoleId = await rolesService.getRoleIdByRoleName(identityService.roles.aps_admin);
|
||||||
await groupIdentityService.assignRole(groupAps.id, apsAdminRoleId, CONSTANTS.ROLES.APS_ADMIN);
|
await groupIdentityService.assignRole(groupAps.id, apsAdminRoleId, identityService.roles.aps_admin);
|
||||||
activitiAdminRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.ACTIVITI_ADMIN);
|
activitiAdminRoleId = await rolesService.getRoleIdByRoleName(identityService.roles.activiti_admin);
|
||||||
await groupIdentityService.assignRole(groupActiviti.id, activitiAdminRoleId, CONSTANTS.ROLES.ACTIVITI_ADMIN);
|
await groupIdentityService.assignRole(groupActiviti.id, activitiAdminRoleId, identityService.roles.activiti_admin);
|
||||||
groupNoRole = await groupIdentityService.createIdentityGroup();
|
groupNoRole = await groupIdentityService.createIdentityGroup();
|
||||||
|
|
||||||
await groupIdentityService.addClientRole(groupAps.id, clientId, clientActivitiAdminRoleId, CONSTANTS.ROLES.ACTIVITI_ADMIN );
|
await groupIdentityService.addClientRole(groupAps.id, clientId, clientActivitiAdminRoleId, identityService.roles.activiti_admin );
|
||||||
await groupIdentityService.addClientRole(groupActiviti.id, clientId, clientActivitiAdminRoleId, CONSTANTS.ROLES.ACTIVITI_ADMIN );
|
await groupIdentityService.addClientRole(groupActiviti.id, clientId, clientActivitiAdminRoleId, identityService.roles.activiti_admin );
|
||||||
users = [`${apsUser.idIdentityService}`, `${activitiUser.idIdentityService}`, `${noRoleUser.idIdentityService}`];
|
users = [`${apsUser.idIdentityService}`, `${activitiUser.idIdentityService}`, `${noRoleUser.idIdentityService}`, `${testUser.idIdentityService}`];
|
||||||
groups = [`${groupAps.id}`, `${groupActiviti.id}`, `${groupNoRole.id}`];
|
groups = [`${groupAps.id}`, `${groupActiviti.id}`, `${groupNoRole.id}`];
|
||||||
|
|
||||||
await settingsPage.setProviderBpmSso(
|
await settingsPage.setProviderBpmSso(
|
||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
for (let i = 0; i < users.length; i++) {
|
for (let i = 0; i < users.length; i++) {
|
||||||
await identityService.deleteIdentityUser(users[i]);
|
await identityService.deleteIdentityUser(users[i]);
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,8 @@
|
|||||||
|
|
||||||
import {
|
import {
|
||||||
TasksService, QueryService, ProcessDefinitionsService, ProcessInstancesService,
|
TasksService, QueryService, ProcessDefinitionsService, ProcessInstancesService,
|
||||||
LoginSSOPage, ApiService, SettingsPage } from '@alfresco/adf-testing';
|
LoginSSOPage, ApiService, SettingsPage, IdentityService, GroupIdentityService
|
||||||
|
} from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
|
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
|
||||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||||
@ -25,7 +26,7 @@ import { AppListCloudPage, LocalStorageUtil, BrowserActions } from '@alfresco/ad
|
|||||||
import resources = require('../util/resources');
|
import resources = require('../util/resources');
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
|
|
||||||
xdescribe('Process list cloud', () => {
|
describe('Process list cloud', () => {
|
||||||
|
|
||||||
describe('Process List', () => {
|
describe('Process List', () => {
|
||||||
const loginSSOPage = new LoginSSOPage();
|
const loginSSOPage = new LoginSSOPage();
|
||||||
@ -34,17 +35,54 @@ xdescribe('Process list cloud', () => {
|
|||||||
const processCloudDemoPage = new ProcessCloudDemoPage();
|
const processCloudDemoPage = new ProcessCloudDemoPage();
|
||||||
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
|
const apiService = new ApiService(
|
||||||
|
browser.params.config.oauth2.clientId,
|
||||||
|
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
||||||
|
);
|
||||||
|
|
||||||
let tasksService: TasksService;
|
let tasksService: TasksService;
|
||||||
|
let identityService: IdentityService;
|
||||||
|
let groupIdentityService: GroupIdentityService;
|
||||||
let processDefinitionService: ProcessDefinitionsService;
|
let processDefinitionService: ProcessDefinitionsService;
|
||||||
let processInstancesService: ProcessInstancesService;
|
let processInstancesService: ProcessInstancesService;
|
||||||
let queryService: QueryService;
|
let queryService: QueryService;
|
||||||
|
|
||||||
let completedProcess, runningProcessInstance, switchProcessInstance, noOfApps;
|
let completedProcess, runningProcessInstance, switchProcessInstance, noOfApps, testUser, groupInfo;
|
||||||
const candidateuserapp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP.name;
|
const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
|
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
identityService = new IdentityService(apiService);
|
||||||
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
|
|
||||||
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
|
await apiService.login(testUser.email, testUser.password);
|
||||||
|
|
||||||
|
processDefinitionService = new ProcessDefinitionsService(apiService);
|
||||||
|
const processDefinition = await processDefinitionService.getProcessDefinitionByName('candidateGroupProcess', candidateBaseApp);
|
||||||
|
|
||||||
|
processInstancesService = new ProcessInstancesService(apiService);
|
||||||
|
await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp);
|
||||||
|
|
||||||
|
runningProcessInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp);
|
||||||
|
switchProcessInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp);
|
||||||
|
|
||||||
|
completedProcess = await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp);
|
||||||
|
queryService = new QueryService(apiService);
|
||||||
|
|
||||||
|
const task = await queryService.getProcessInstanceTasks(completedProcess.entry.id, candidateBaseApp);
|
||||||
|
tasksService = new TasksService(apiService);
|
||||||
|
const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateBaseApp);
|
||||||
|
await tasksService.completeTask(claimedTask.entry.id, candidateBaseApp);
|
||||||
|
|
||||||
|
await settingsPage.setProviderBpmSso(
|
||||||
|
browser.params.config.bpmHost,
|
||||||
|
browser.params.config.oauth2.host,
|
||||||
|
browser.params.config.identityHost);
|
||||||
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify({
|
await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify({
|
||||||
'filterProperties': [
|
'filterProperties': [
|
||||||
'appName',
|
'appName',
|
||||||
@ -66,48 +104,24 @@ xdescribe('Process list cloud', () => {
|
|||||||
'delete'
|
'delete'
|
||||||
]
|
]
|
||||||
}));
|
}));
|
||||||
|
done();
|
||||||
|
}, 5 * 60 * 1000);
|
||||||
|
|
||||||
const apiService = new ApiService(
|
afterAll(async(done) => {
|
||||||
browser.params.config.oauth2.clientId,
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
);
|
|
||||||
|
|
||||||
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
|
|
||||||
|
|
||||||
processDefinitionService = new ProcessDefinitionsService(apiService);
|
|
||||||
const processDefinition = await processDefinitionService.getProcessDefinitions(candidateuserapp);
|
|
||||||
|
|
||||||
processInstancesService = new ProcessInstancesService(apiService);
|
|
||||||
await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, candidateuserapp);
|
|
||||||
|
|
||||||
runningProcessInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, candidateuserapp);
|
|
||||||
switchProcessInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, candidateuserapp);
|
|
||||||
|
|
||||||
completedProcess = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, candidateuserapp);
|
|
||||||
queryService = new QueryService(apiService);
|
|
||||||
|
|
||||||
const task = await queryService.getProcessInstanceTasks(completedProcess.entry.id, candidateuserapp);
|
|
||||||
tasksService = new TasksService(apiService);
|
|
||||||
const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateuserapp);
|
|
||||||
await tasksService.completeTask(claimedTask.entry.id, candidateuserapp);
|
|
||||||
|
|
||||||
await settingsPage.setProviderBpmSso(
|
|
||||||
browser.params.config.bpmHost,
|
|
||||||
browser.params.config.oauth2.host,
|
|
||||||
browser.params.config.identityHost);
|
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
navigationBarPage.navigateToProcessServicesCloudPage();
|
navigationBarPage.navigateToProcessServicesCloudPage();
|
||||||
appListCloudComponent.checkApsContainer();
|
appListCloudComponent.checkApsContainer();
|
||||||
appListCloudComponent.goToApp(candidateuserapp);
|
appListCloudComponent.goToApp(candidateBaseApp);
|
||||||
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
|
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
|
||||||
processCloudDemoPage.clickOnProcessFilters();
|
processCloudDemoPage.clickOnProcessFilters();
|
||||||
});
|
});
|
||||||
|
|
||||||
xit('[C290069] Should display processes ordered by name when Name is selected from sort dropdown', async () => {
|
it('[C290069] Should display processes ordered by name when Name is selected from sort dropdown', async () => {
|
||||||
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('RUNNING')
|
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('RUNNING')
|
||||||
.setSortFilterDropDown('Name').setOrderFilterDropDown('ASC');
|
.setSortFilterDropDown('Name').setOrderFilterDropDown('ASC');
|
||||||
processCloudDemoPage.processListCloudComponent().getAllRowsNameColumn().then(function (list) {
|
processCloudDemoPage.processListCloudComponent().getAllRowsNameColumn().then(function (list) {
|
||||||
@ -172,7 +186,7 @@ xdescribe('Process list cloud', () => {
|
|||||||
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true);
|
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true);
|
||||||
BrowserActions.closeMenuAndDialogs();
|
BrowserActions.closeMenuAndDialogs();
|
||||||
processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING')
|
processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING')
|
||||||
.setAppNameDropDown(candidateuserapp).setProcessInstanceId(runningProcessInstance.entry.id);
|
.setAppNameDropDown(candidateBaseApp).setProcessInstanceId(runningProcessInstance.entry.id);
|
||||||
|
|
||||||
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcessInstance.entry.id);
|
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcessInstance.entry.id);
|
||||||
expect(processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps);
|
expect(processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps);
|
||||||
@ -187,7 +201,7 @@ xdescribe('Process list cloud', () => {
|
|||||||
expect(processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(runningProcessInstance.entry.id);
|
expect(processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(runningProcessInstance.entry.id);
|
||||||
|
|
||||||
processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING')
|
processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING')
|
||||||
.setAppNameDropDown(candidateuserapp).setProcessInstanceId(switchProcessInstance.entry.id);
|
.setAppNameDropDown(candidateBaseApp).setProcessInstanceId(switchProcessInstance.entry.id);
|
||||||
|
|
||||||
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(switchProcessInstance.entry.id);
|
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(switchProcessInstance.entry.id);
|
||||||
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
|
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
|
||||||
|
@ -16,12 +16,21 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
import { TasksService, QueryService, ProcessDefinitionsService, ProcessInstancesService, LoginSSOPage, ApiService, SettingsPage } from '@alfresco/adf-testing';
|
import {
|
||||||
|
TasksService,
|
||||||
|
QueryService,
|
||||||
|
ProcessDefinitionsService,
|
||||||
|
ProcessInstancesService,
|
||||||
|
LoginSSOPage,
|
||||||
|
ApiService,
|
||||||
|
SettingsPage,
|
||||||
|
IdentityService,
|
||||||
|
GroupIdentityService
|
||||||
|
} from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
|
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
|
||||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||||
import { AppListCloudPage } from '@alfresco/adf-testing';
|
import { AppListCloudPage } from '@alfresco/adf-testing';
|
||||||
|
|
||||||
import resources = require('../util/resources');
|
import resources = require('../util/resources');
|
||||||
|
|
||||||
describe('Process filters cloud', () => {
|
describe('Process filters cloud', () => {
|
||||||
@ -33,46 +42,61 @@ describe('Process filters cloud', () => {
|
|||||||
const processCloudDemoPage = new ProcessCloudDemoPage();
|
const processCloudDemoPage = new ProcessCloudDemoPage();
|
||||||
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
|
const apiService = new ApiService(
|
||||||
|
browser.params.config.oauth2.clientId,
|
||||||
|
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
||||||
|
);
|
||||||
|
|
||||||
let tasksService: TasksService;
|
let tasksService: TasksService;
|
||||||
|
let identityService: IdentityService;
|
||||||
|
let groupIdentityService: GroupIdentityService;
|
||||||
let processDefinitionService: ProcessDefinitionsService;
|
let processDefinitionService: ProcessDefinitionsService;
|
||||||
let processInstancesService: ProcessInstancesService;
|
let processInstancesService: ProcessInstancesService;
|
||||||
let queryService: QueryService;
|
let queryService: QueryService;
|
||||||
|
|
||||||
let runningProcess, completedProcess;
|
let runningProcess, completedProcess, testUser, groupInfo;
|
||||||
const simpleApp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP.name;
|
const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
const apiService = new ApiService(
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
browser.params.config.oauth2.clientId,
|
identityService = new IdentityService(apiService);
|
||||||
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
);
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
|
|
||||||
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
|
await apiService.login(testUser.email, testUser.password);
|
||||||
|
|
||||||
processDefinitionService = new ProcessDefinitionsService(apiService);
|
processDefinitionService = new ProcessDefinitionsService(apiService);
|
||||||
const processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
|
const processDefinition = await processDefinitionService.getProcessDefinitionByName('candidateGroupProcess', candidateBaseApp);
|
||||||
processInstancesService = new ProcessInstancesService(apiService);
|
processInstancesService = new ProcessInstancesService(apiService);
|
||||||
runningProcess = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
|
runningProcess = await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp);
|
||||||
|
|
||||||
completedProcess = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
|
completedProcess = await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp);
|
||||||
queryService = new QueryService(apiService);
|
queryService = new QueryService(apiService);
|
||||||
const task = await queryService.getProcessInstanceTasks(completedProcess.entry.id, simpleApp);
|
const task = await queryService.getProcessInstanceTasks(completedProcess.entry.id, candidateBaseApp);
|
||||||
tasksService = new TasksService(apiService);
|
tasksService = new TasksService(apiService);
|
||||||
const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, simpleApp);
|
const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateBaseApp);
|
||||||
await tasksService.completeTask(claimedTask.entry.id, simpleApp);
|
await tasksService.completeTask(claimedTask.entry.id, candidateBaseApp);
|
||||||
|
|
||||||
await settingsPage.setProviderBpmSso(
|
await settingsPage.setProviderBpmSso(
|
||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
|
done();
|
||||||
|
}, 5 * 60 * 1000);
|
||||||
|
|
||||||
|
afterAll(async(done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
beforeEach((done) => {
|
beforeEach((done) => {
|
||||||
navigationBarPage.navigateToProcessServicesCloudPage();
|
navigationBarPage.navigateToProcessServicesCloudPage();
|
||||||
appListCloudComponent.checkApsContainer();
|
appListCloudComponent.checkApsContainer();
|
||||||
appListCloudComponent.goToApp(simpleApp);
|
appListCloudComponent.goToApp(candidateBaseApp);
|
||||||
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
|
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
|
||||||
processCloudDemoPage.clickOnProcessFilters();
|
processCloudDemoPage.clickOnProcessFilters();
|
||||||
done();
|
done();
|
||||||
|
@ -20,7 +20,17 @@ import CONSTANTS = require('../util/constants');
|
|||||||
import moment = require('moment');
|
import moment = require('moment');
|
||||||
|
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { ApiService, StringUtil, LoginSSOPage, ProcessDefinitionsService, ProcessInstancesService, QueryService, SettingsPage } from '@alfresco/adf-testing';
|
import {
|
||||||
|
ApiService,
|
||||||
|
StringUtil,
|
||||||
|
LoginSSOPage,
|
||||||
|
ProcessDefinitionsService,
|
||||||
|
ProcessInstancesService,
|
||||||
|
QueryService,
|
||||||
|
SettingsPage,
|
||||||
|
IdentityService,
|
||||||
|
GroupIdentityService
|
||||||
|
} from '@alfresco/adf-testing';
|
||||||
import { AppListCloudPage } from '@alfresco/adf-testing';
|
import { AppListCloudPage } from '@alfresco/adf-testing';
|
||||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||||
import { ProcessHeaderCloudPage } from '@alfresco/adf-testing';
|
import { ProcessHeaderCloudPage } from '@alfresco/adf-testing';
|
||||||
@ -44,20 +54,30 @@ describe('Process Header cloud component', () => {
|
|||||||
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
||||||
const processCloudDemoPage = new ProcessCloudDemoPage();
|
const processCloudDemoPage = new ProcessCloudDemoPage();
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
|
const apiService = new ApiService(
|
||||||
|
browser.params.config.oauth2.clientId,
|
||||||
|
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
||||||
|
);
|
||||||
|
|
||||||
let processDefinitionService: ProcessDefinitionsService;
|
let processDefinitionService: ProcessDefinitionsService;
|
||||||
let processInstancesService: ProcessInstancesService;
|
let processInstancesService: ProcessInstancesService;
|
||||||
let queryService: QueryService;
|
let queryService: QueryService;
|
||||||
|
let identityService: IdentityService;
|
||||||
|
let groupIdentityService: GroupIdentityService;
|
||||||
|
let testUser, groupInfo;
|
||||||
|
|
||||||
let runningProcess, runningCreatedDate, parentCompleteProcess, childCompleteProcess, completedCreatedDate;
|
let runningProcess, runningCreatedDate, parentCompleteProcess, childCompleteProcess, completedCreatedDate;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
const apiService = new ApiService(
|
|
||||||
browser.params.config.oauth2.clientId,
|
|
||||||
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
|
||||||
);
|
|
||||||
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
|
|
||||||
|
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
identityService = new IdentityService(apiService);
|
||||||
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
|
|
||||||
|
await apiService.login(testUser.email, testUser.password);
|
||||||
processDefinitionService = new ProcessDefinitionsService(apiService);
|
processDefinitionService = new ProcessDefinitionsService(apiService);
|
||||||
const processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
|
const processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
|
||||||
const childProcessDefinition = await processDefinitionService.getProcessDefinitions(subProcessApp);
|
const childProcessDefinition = await processDefinitionService.getProcessDefinitions(subProcessApp);
|
||||||
@ -80,7 +100,13 @@ describe('Process Header cloud component', () => {
|
|||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterAll(async(done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
import { LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
|
import { GroupIdentityService, IdentityService, LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
|
||||||
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
|
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
|
||||||
import { AppListCloudPage } from '@alfresco/adf-testing';
|
import { AppListCloudPage } from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
@ -24,7 +24,6 @@ import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tas
|
|||||||
|
|
||||||
import { ProcessDefinitionsService, ApiService } from '@alfresco/adf-testing';
|
import { ProcessDefinitionsService, ApiService } from '@alfresco/adf-testing';
|
||||||
import { ProcessInstancesService } from '@alfresco/adf-testing';
|
import { ProcessInstancesService } from '@alfresco/adf-testing';
|
||||||
|
|
||||||
import resources = require('../util/resources');
|
import resources = require('../util/resources');
|
||||||
|
|
||||||
describe('Process list cloud', () => {
|
describe('Process list cloud', () => {
|
||||||
@ -39,21 +38,31 @@ describe('Process list cloud', () => {
|
|||||||
|
|
||||||
let processDefinitionService: ProcessDefinitionsService;
|
let processDefinitionService: ProcessDefinitionsService;
|
||||||
let processInstancesService: ProcessInstancesService;
|
let processInstancesService: ProcessInstancesService;
|
||||||
|
let identityService: IdentityService;
|
||||||
|
let groupIdentityService: GroupIdentityService;
|
||||||
|
let testUser, groupInfo;
|
||||||
|
|
||||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
||||||
|
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
|
||||||
const noOfProcesses = 3;
|
const noOfProcesses = 3;
|
||||||
const processInstances = [];
|
const processInstances = [];
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
|
|
||||||
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
|
|
||||||
|
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
identityService = new IdentityService(apiService);
|
||||||
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
|
|
||||||
|
await apiService.login(testUser.email, testUser.password);
|
||||||
processDefinitionService = new ProcessDefinitionsService(apiService);
|
processDefinitionService = new ProcessDefinitionsService(apiService);
|
||||||
const processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
|
const processDefinition = await processDefinitionService.getProcessDefinitionByName('simpleProcess', simpleApp);
|
||||||
|
|
||||||
processInstancesService = new ProcessInstancesService(apiService);
|
processInstancesService = new ProcessInstancesService(apiService);
|
||||||
for (let i = 0; i < noOfProcesses; i++) {
|
for (let i = 0; i < noOfProcesses; i++) {
|
||||||
const response = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
|
const response = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp);
|
||||||
processInstances.push(response.entry.id);
|
processInstances.push(response.entry.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,11 +70,17 @@ describe('Process list cloud', () => {
|
|||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
afterAll(async(done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
navigationBarPage.navigateToProcessServicesCloudPage();
|
navigationBarPage.navigateToProcessServicesCloudPage();
|
||||||
expect(processInstances.length).toEqual(noOfProcesses, 'Wrong preconditions');
|
expect(processInstances.length).toEqual(noOfProcesses, 'Wrong preconditions');
|
||||||
|
@ -22,14 +22,13 @@ import {
|
|||||||
LoginSSOPage,
|
LoginSSOPage,
|
||||||
ApiService,
|
ApiService,
|
||||||
LocalStorageUtil,
|
LocalStorageUtil,
|
||||||
SettingsPage
|
SettingsPage, IdentityService, GroupIdentityService
|
||||||
} from '@alfresco/adf-testing';
|
} from '@alfresco/adf-testing';
|
||||||
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
|
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
|
||||||
import { AppListCloudPage } from '@alfresco/adf-testing';
|
import { AppListCloudPage } from '@alfresco/adf-testing';
|
||||||
|
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { ProcessListCloudConfiguration } from './processListCloud.config';
|
import { ProcessListCloudConfiguration } from './processListCloud.config';
|
||||||
|
|
||||||
import resources = require('../util/resources');
|
import resources = require('../util/resources');
|
||||||
|
|
||||||
describe('Process list cloud', () => {
|
describe('Process list cloud', () => {
|
||||||
@ -40,28 +39,44 @@ describe('Process list cloud', () => {
|
|||||||
const appListCloudComponent = new AppListCloudPage();
|
const appListCloudComponent = new AppListCloudPage();
|
||||||
const processCloudDemoPage = new ProcessCloudDemoPage();
|
const processCloudDemoPage = new ProcessCloudDemoPage();
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
|
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
|
||||||
|
|
||||||
let processDefinitionService: ProcessDefinitionsService;
|
let processDefinitionService: ProcessDefinitionsService;
|
||||||
let processInstancesService: ProcessInstancesService;
|
let processInstancesService: ProcessInstancesService;
|
||||||
|
let identityService: IdentityService;
|
||||||
|
let groupIdentityService: GroupIdentityService;
|
||||||
|
let testUser, groupInfo;
|
||||||
|
|
||||||
const candidateuserapp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP.name;
|
const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name;
|
||||||
let jsonFile;
|
let jsonFile;
|
||||||
let runningProcess;
|
let runningProcess;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
|
identityService = new IdentityService(apiService);
|
||||||
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
|
|
||||||
|
await apiService.login(testUser.email, testUser.password);
|
||||||
|
|
||||||
processDefinitionService = new ProcessDefinitionsService(apiService);
|
processDefinitionService = new ProcessDefinitionsService(apiService);
|
||||||
const processDefinition = await processDefinitionService.getProcessDefinitions(candidateuserapp);
|
const processDefinition = await processDefinitionService.getProcessDefinitionByName('candidateGroupProcess', candidateBaseApp);
|
||||||
processInstancesService = new ProcessInstancesService(apiService);
|
processInstancesService = new ProcessInstancesService(apiService);
|
||||||
runningProcess = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, candidateuserapp);
|
runningProcess = await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp);
|
||||||
|
|
||||||
await settingsPage.setProviderBpmSso(
|
await settingsPage.setProviderBpmSso(
|
||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterAll(async(done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -73,7 +88,7 @@ describe('Process list cloud', () => {
|
|||||||
|
|
||||||
navigationBarPage.navigateToProcessServicesCloudPage();
|
navigationBarPage.navigateToProcessServicesCloudPage();
|
||||||
appListCloudComponent.checkApsContainer();
|
appListCloudComponent.checkApsContainer();
|
||||||
appListCloudComponent.goToApp(candidateuserapp);
|
appListCloudComponent.goToApp(candidateBaseApp);
|
||||||
processCloudDemoPage.clickOnProcessFilters();
|
processCloudDemoPage.clickOnProcessFilters();
|
||||||
processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
|
processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
|
||||||
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
|
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
|
import { ApiService, GroupIdentityService, IdentityService, LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
|
||||||
import { AppListCloudPage, StartProcessCloudPage } from '@alfresco/adf-testing';
|
import { AppListCloudPage, StartProcessCloudPage } from '@alfresco/adf-testing';
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
@ -31,6 +31,10 @@ describe('Start Process', () => {
|
|||||||
const processCloudDemoPage = new ProcessCloudDemoPage();
|
const processCloudDemoPage = new ProcessCloudDemoPage();
|
||||||
const startProcessPage = new StartProcessCloudPage();
|
const startProcessPage = new StartProcessCloudPage();
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
|
const apiService = new ApiService(
|
||||||
|
browser.params.config.oauth2.clientId,
|
||||||
|
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
||||||
|
);
|
||||||
|
|
||||||
const processDefinitionWithoutName = 'process-bc59fd64-d0b1-4eda-8b02-2ef38062cf39';
|
const processDefinitionWithoutName = 'process-bc59fd64-d0b1-4eda-8b02-2ef38062cf39';
|
||||||
const processName = StringUtil.generateRandomString(10);
|
const processName = StringUtil.generateRandomString(10);
|
||||||
@ -39,19 +43,34 @@ describe('Start Process', () => {
|
|||||||
const lengthValidationError = 'Length exceeded, 255 characters max.';
|
const lengthValidationError = 'Length exceeded, 255 characters max.';
|
||||||
const requiredError = 'Process Name is required';
|
const requiredError = 'Process Name is required';
|
||||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
||||||
|
let identityService: IdentityService;
|
||||||
|
let groupIdentityService: GroupIdentityService;
|
||||||
|
let testUser, groupInfo;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
identityService = new IdentityService(apiService);
|
||||||
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
await settingsPage.setProviderBpmSso(
|
await settingsPage.setProviderBpmSso(
|
||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
|
|
||||||
navigationBarPage.navigateToProcessServicesCloudPage();
|
navigationBarPage.navigateToProcessServicesCloudPage();
|
||||||
appListCloudComponent.checkApsContainer();
|
appListCloudComponent.checkApsContainer();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
afterAll(async(done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
afterEach((done) => {
|
afterEach((done) => {
|
||||||
navigationBarPage.navigateToProcessServicesCloudPage();
|
navigationBarPage.navigateToProcessServicesCloudPage();
|
||||||
appListCloudComponent.checkApsContainer();
|
appListCloudComponent.checkApsContainer();
|
||||||
|
@ -20,13 +20,12 @@ import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
|||||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||||
import {
|
import {
|
||||||
LoginSSOPage, AppListCloudPage, StringUtil, TaskHeaderCloudPage,
|
LoginSSOPage, AppListCloudPage, StringUtil, TaskHeaderCloudPage,
|
||||||
StartTasksCloudPage, PeopleCloudComponentPage, TasksService, ApiService, IdentityService, RolesService, SettingsPage
|
StartTasksCloudPage, PeopleCloudComponentPage, TasksService, ApiService, IdentityService, SettingsPage, GroupIdentityService
|
||||||
} from '@alfresco/adf-testing';
|
} from '@alfresco/adf-testing';
|
||||||
import { TaskDetailsCloudDemoPage } from '../pages/adf/demo-shell/process-services/taskDetailsCloudDemoPage';
|
import { TaskDetailsCloudDemoPage } from '../pages/adf/demo-shell/process-services/taskDetailsCloudDemoPage';
|
||||||
import resources = require('../util/resources');
|
import resources = require('../util/resources');
|
||||||
import CONSTANTS = require('../util/constants');
|
|
||||||
|
|
||||||
xdescribe('Start Task', () => {
|
describe('Start Task', () => {
|
||||||
|
|
||||||
const loginSSOPage = new LoginSSOPage();
|
const loginSSOPage = new LoginSSOPage();
|
||||||
const taskHeaderCloudPage = new TaskHeaderCloudPage();
|
const taskHeaderCloudPage = new TaskHeaderCloudPage();
|
||||||
@ -37,6 +36,10 @@ xdescribe('Start Task', () => {
|
|||||||
const peopleCloudComponent = new PeopleCloudComponentPage();
|
const peopleCloudComponent = new PeopleCloudComponentPage();
|
||||||
const taskDetailsCloudDemoPage = new TaskDetailsCloudDemoPage();
|
const taskDetailsCloudDemoPage = new TaskDetailsCloudDemoPage();
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
|
const apiService = new ApiService(
|
||||||
|
browser.params.config.oauth2.clientId,
|
||||||
|
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
||||||
|
);
|
||||||
|
|
||||||
const standaloneTaskName = StringUtil.generateRandomString(5);
|
const standaloneTaskName = StringUtil.generateRandomString(5);
|
||||||
const reassignTaskName = StringUtil.generateRandomString(5);
|
const reassignTaskName = StringUtil.generateRandomString(5);
|
||||||
@ -46,37 +49,36 @@ xdescribe('Start Task', () => {
|
|||||||
const lengthValidationError = 'Length exceeded, 255 characters max.';
|
const lengthValidationError = 'Length exceeded, 255 characters max.';
|
||||||
const requiredError = 'Field required';
|
const requiredError = 'Field required';
|
||||||
const dateValidationError = 'Date format DD/MM/YYYY';
|
const dateValidationError = 'Date format DD/MM/YYYY';
|
||||||
let apsUser;
|
let apsUser, testUser, activitiUser, groupInfo;
|
||||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
||||||
|
|
||||||
let activitiUser;
|
|
||||||
let identityService: IdentityService;
|
let identityService: IdentityService;
|
||||||
let apiService: ApiService;
|
let groupIdentityService: GroupIdentityService;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
|
|
||||||
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
|
||||||
identityService = new IdentityService(apiService);
|
identityService = new IdentityService(apiService);
|
||||||
apsUser = await identityService.createActivitiUserWithRole(apiService);
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
const rolesService = new RolesService(apiService);
|
apsUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user, identityService.roles.activiti_user]);
|
||||||
const apsUserRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.APS_USER);
|
|
||||||
await identityService.assignRole(apsUser.idIdentityService, apsUserRoleId, CONSTANTS.ROLES.APS_USER);
|
|
||||||
|
|
||||||
activitiUser = await identityService.createIdentityUser();
|
activitiUser = await identityService.createIdentityUser();
|
||||||
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
|
await apiService.login(testUser.email, testUser.password);
|
||||||
|
|
||||||
await settingsPage.setProviderBpmSso(
|
await settingsPage.setProviderBpmSso(
|
||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
try {
|
try {
|
||||||
await apiService.login(apsUser.email, apsUser.password);
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
const tasksService = new TasksService(apiService);
|
const tasksService = new TasksService(apiService);
|
||||||
|
|
||||||
const tasks = [standaloneTaskName, unassignedTaskName, reassignTaskName];
|
const tasks = [standaloneTaskName, unassignedTaskName, reassignTaskName];
|
||||||
@ -88,6 +90,7 @@ xdescribe('Start Task', () => {
|
|||||||
}
|
}
|
||||||
await identityService.deleteIdentityUser(activitiUser.idIdentityService);
|
await identityService.deleteIdentityUser(activitiUser.idIdentityService);
|
||||||
await identityService.deleteIdentityUser(apsUser.idIdentityService);
|
await identityService.deleteIdentityUser(apsUser.idIdentityService);
|
||||||
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
}
|
}
|
||||||
done();
|
done();
|
||||||
@ -101,7 +104,7 @@ xdescribe('Start Task', () => {
|
|||||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
|
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
|
||||||
});
|
});
|
||||||
|
|
||||||
xit('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', () => {
|
it('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', () => {
|
||||||
tasksCloudDemoPage.openNewTaskForm();
|
tasksCloudDemoPage.openNewTaskForm();
|
||||||
startTask.checkFormIsDisplayed();
|
startTask.checkFormIsDisplayed();
|
||||||
peopleCloudComponent.clearAssignee();
|
peopleCloudComponent.clearAssignee();
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
import { LoginSSOPage, TasksService, ApiService, AppListCloudPage, StringUtil, SettingsPage } from '@alfresco/adf-testing';
|
import { LoginSSOPage, TasksService, ApiService, AppListCloudPage, StringUtil, SettingsPage, IdentityService, GroupIdentityService } from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||||
import resources = require('../util/resources');
|
import resources = require('../util/resources');
|
||||||
@ -30,20 +30,35 @@ describe('Task filters cloud', () => {
|
|||||||
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
let tasksService: TasksService;
|
let tasksService: TasksService;
|
||||||
let apiService: ApiService;
|
let identityService: IdentityService;
|
||||||
|
let groupIdentityService: GroupIdentityService;
|
||||||
|
let testUser, groupInfo;
|
||||||
|
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
|
||||||
|
|
||||||
const newTask = StringUtil.generateRandomString(5), completedTask = StringUtil.generateRandomString(5);
|
const newTask = StringUtil.generateRandomString(5), completedTask = StringUtil.generateRandomString(5);
|
||||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
||||||
|
|
||||||
beforeAll(async(done) => {
|
beforeAll(async(done) => {
|
||||||
apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
|
|
||||||
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
|
|
||||||
|
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
identityService = new IdentityService(apiService);
|
||||||
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
|
|
||||||
|
await apiService.login(testUser.email, testUser.password);
|
||||||
await settingsPage.setProviderBpmSso(
|
await settingsPage.setProviderBpmSso(
|
||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterAll(async(done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ describe('Task form cloud component', () => {
|
|||||||
let queryService: QueryService;
|
let queryService: QueryService;
|
||||||
|
|
||||||
let completedTask, createdTask, assigneeTask, toBeCompletedTask, completedProcess, claimedTask;
|
let completedTask, createdTask, assigneeTask, toBeCompletedTask, completedProcess, claimedTask;
|
||||||
const candidateuserapp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP.name;
|
const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name;
|
||||||
const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString();
|
const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString();
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
@ -48,26 +48,26 @@ describe('Task form cloud component', () => {
|
|||||||
|
|
||||||
tasksService = new TasksService(apiService);
|
tasksService = new TasksService(apiService);
|
||||||
queryService = new QueryService(apiService);
|
queryService = new QueryService(apiService);
|
||||||
createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateuserapp);
|
createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp);
|
||||||
|
|
||||||
assigneeTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateuserapp);
|
assigneeTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp);
|
||||||
await tasksService.claimTask(assigneeTask.entry.id, candidateuserapp);
|
await tasksService.claimTask(assigneeTask.entry.id, candidateBaseApp);
|
||||||
|
|
||||||
toBeCompletedTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateuserapp);
|
toBeCompletedTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp);
|
||||||
await tasksService.claimTask(toBeCompletedTask.entry.id, candidateuserapp);
|
await tasksService.claimTask(toBeCompletedTask.entry.id, candidateBaseApp);
|
||||||
|
|
||||||
completedTask = await tasksService.createStandaloneTask(assignedTaskName, candidateuserapp);
|
completedTask = await tasksService.createStandaloneTask(assignedTaskName, candidateBaseApp);
|
||||||
await tasksService.claimTask(completedTask.entry.id, candidateuserapp);
|
await tasksService.claimTask(completedTask.entry.id, candidateBaseApp);
|
||||||
await tasksService.createAndCompleteTask(completedTaskName, candidateuserapp);
|
await tasksService.createAndCompleteTask(completedTaskName, candidateBaseApp);
|
||||||
|
|
||||||
processDefinitionService = new ProcessDefinitionsService(apiService);
|
processDefinitionService = new ProcessDefinitionsService(apiService);
|
||||||
const processDefinition = await processDefinitionService.getProcessDefinitions(candidateuserapp);
|
const processDefinition = await processDefinitionService.getProcessDefinitionByName('candidateUserProcess', candidateBaseApp);
|
||||||
|
|
||||||
processInstancesService = new ProcessInstancesService(apiService);
|
processInstancesService = new ProcessInstancesService(apiService);
|
||||||
completedProcess = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, candidateuserapp);
|
completedProcess = await processInstancesService.createProcessInstance(processDefinition.entry.key, candidateBaseApp);
|
||||||
|
|
||||||
const task = await queryService.getProcessInstanceTasks(completedProcess.entry.id, candidateuserapp);
|
const task = await queryService.getProcessInstanceTasks(completedProcess.entry.id, candidateBaseApp);
|
||||||
claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateuserapp);
|
claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateBaseApp);
|
||||||
|
|
||||||
await settingsPage.setProviderBpmSso(
|
await settingsPage.setProviderBpmSso(
|
||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
@ -75,12 +75,12 @@ describe('Task form cloud component', () => {
|
|||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
||||||
done();
|
done();
|
||||||
});
|
}, 5 * 60 * 1000);
|
||||||
|
|
||||||
it('[C307032] Should display the appropriate title for the unclaim option of a Task', async () => {
|
it('[C307032] Should display the appropriate title for the unclaim option of a Task', async () => {
|
||||||
navigationBarPage.navigateToProcessServicesCloudPage();
|
navigationBarPage.navigateToProcessServicesCloudPage();
|
||||||
appListCloudComponent.checkApsContainer();
|
appListCloudComponent.checkApsContainer();
|
||||||
appListCloudComponent.goToApp(candidateuserapp);
|
appListCloudComponent.goToApp(candidateBaseApp);
|
||||||
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
|
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
|
||||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
|
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assigneeTask.entry.name);
|
||||||
tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name);
|
tasksCloudDemoPage.taskListCloudComponent().selectRow(assigneeTask.entry.name);
|
||||||
@ -92,7 +92,7 @@ describe('Task form cloud component', () => {
|
|||||||
beforeEach((done) => {
|
beforeEach((done) => {
|
||||||
navigationBarPage.navigateToProcessServicesCloudPage();
|
navigationBarPage.navigateToProcessServicesCloudPage();
|
||||||
appListCloudComponent.checkApsContainer();
|
appListCloudComponent.checkApsContainer();
|
||||||
appListCloudComponent.goToApp(candidateuserapp);
|
appListCloudComponent.goToApp(candidateBaseApp);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import CONSTANTS = require('../util/constants');
|
import CONSTANTS = require('../util/constants');
|
||||||
import { ApiService, StringUtil, SettingsPage } from '@alfresco/adf-testing';
|
import { ApiService, StringUtil, SettingsPage, IdentityService, GroupIdentityService } from '@alfresco/adf-testing';
|
||||||
import moment = require('moment');
|
import moment = require('moment');
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
|
|
||||||
@ -35,6 +35,7 @@ describe('Task Header cloud component', () => {
|
|||||||
let subTask;
|
let subTask;
|
||||||
let subTaskCreatedDate;
|
let subTaskCreatedDate;
|
||||||
let completedEndDate;
|
let completedEndDate;
|
||||||
|
let groupInfo, testUser;
|
||||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
||||||
const priority = 30;
|
const priority = 30;
|
||||||
const description = 'descriptionTask';
|
const description = 'descriptionTask';
|
||||||
@ -47,11 +48,20 @@ describe('Task Header cloud component', () => {
|
|||||||
const appListCloudComponent = new AppListCloudPage();
|
const appListCloudComponent = new AppListCloudPage();
|
||||||
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
|
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers);
|
||||||
let tasksService: TasksService;
|
let tasksService: TasksService;
|
||||||
|
let identityService: IdentityService;
|
||||||
|
let groupIdentityService: GroupIdentityService;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers);
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
|
identityService = new IdentityService(apiService);
|
||||||
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
|
|
||||||
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
|
await apiService.login(testUser.email, testUser.password);
|
||||||
|
|
||||||
tasksService = new TasksService(apiService);
|
tasksService = new TasksService(apiService);
|
||||||
|
|
||||||
@ -77,7 +87,13 @@ describe('Task Header cloud component', () => {
|
|||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterAll(async(done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ import {
|
|||||||
StringUtil, TasksService,
|
StringUtil, TasksService,
|
||||||
ProcessDefinitionsService, ProcessInstancesService,
|
ProcessDefinitionsService, ProcessInstancesService,
|
||||||
LoginSSOPage, ApiService,
|
LoginSSOPage, ApiService,
|
||||||
AppListCloudPage, LocalStorageUtil, IdentityService, RolesService, SettingsPage
|
AppListCloudPage, LocalStorageUtil, IdentityService, SettingsPage, GroupIdentityService
|
||||||
} from '@alfresco/adf-testing';
|
} from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||||
@ -30,9 +30,8 @@ import moment = require('moment');
|
|||||||
import { DateUtil } from '../util/dateUtil';
|
import { DateUtil } from '../util/dateUtil';
|
||||||
|
|
||||||
import resources = require('../util/resources');
|
import resources = require('../util/resources');
|
||||||
import CONSTANTS = require('../util/constants');
|
|
||||||
|
|
||||||
xdescribe('Edit task filters and task list properties', () => {
|
describe('Edit task filters and task list properties', () => {
|
||||||
|
|
||||||
const loginSSOPage = new LoginSSOPage();
|
const loginSSOPage = new LoginSSOPage();
|
||||||
const navigationBarPage = new NavigationBarPage();
|
const navigationBarPage = new NavigationBarPage();
|
||||||
@ -44,12 +43,13 @@ xdescribe('Edit task filters and task list properties', () => {
|
|||||||
let processDefinitionService: ProcessDefinitionsService;
|
let processDefinitionService: ProcessDefinitionsService;
|
||||||
let processInstancesService: ProcessInstancesService;
|
let processInstancesService: ProcessInstancesService;
|
||||||
let identityService: IdentityService;
|
let identityService: IdentityService;
|
||||||
let rolesService: RolesService;
|
let groupIdentityService: GroupIdentityService;
|
||||||
|
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers);
|
||||||
|
|
||||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
||||||
const candidateUserApp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP.name;
|
const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name;
|
||||||
const noTasksFoundMessage = 'No Tasks Found';
|
const noTasksFoundMessage = 'No Tasks Found';
|
||||||
let createdTask, notAssigned, notDisplayedTask, processDefinition, processInstance, priorityTask, subTask, otherOwnerTask;
|
let createdTask, notAssigned, notDisplayedTask, processDefinition, processInstance, priorityTask, subTask, otherOwnerTask, testUser, groupInfo;
|
||||||
const priority = 30;
|
const priority = 30;
|
||||||
|
|
||||||
const beforeDate = moment().add(-1, 'days').format('DD/MM/YYYY');
|
const beforeDate = moment().add(-1, 'days').format('DD/MM/YYYY');
|
||||||
@ -57,18 +57,18 @@ xdescribe('Edit task filters and task list properties', () => {
|
|||||||
const afterDate = moment().add(1, 'days').format('DD/MM/YYYY');
|
const afterDate = moment().add(1, 'days').format('DD/MM/YYYY');
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers);
|
|
||||||
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
identityService = new IdentityService(apiService);
|
identityService = new IdentityService(apiService);
|
||||||
rolesService = new RolesService(apiService);
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
tasksService = new TasksService(apiService);
|
tasksService = new TasksService(apiService);
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
|
|
||||||
const apsUser = await identityService.createIdentityUser();
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
const apsUserRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.APS_USER);
|
|
||||||
await identityService.assignRole(apsUser.idIdentityService, apsUserRoleId, CONSTANTS.ROLES.APS_USER);
|
|
||||||
|
|
||||||
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
|
await apiService.login(testUser.email, testUser.password);
|
||||||
otherOwnerTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
|
otherOwnerTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
|
||||||
await tasksService.claimTask(otherOwnerTask.entry.id, simpleApp);
|
await tasksService.claimTask(otherOwnerTask.entry.id, simpleApp);
|
||||||
|
|
||||||
@ -77,19 +77,24 @@ xdescribe('Edit task filters and task list properties', () => {
|
|||||||
notAssigned = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
|
notAssigned = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
|
||||||
priorityTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp, {priority: priority});
|
priorityTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp, {priority: priority});
|
||||||
await tasksService.claimTask(priorityTask.entry.id, simpleApp);
|
await tasksService.claimTask(priorityTask.entry.id, simpleApp);
|
||||||
notDisplayedTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateUserApp);
|
notDisplayedTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateBaseApp);
|
||||||
await tasksService.claimTask(notDisplayedTask.entry.id, candidateUserApp);
|
await tasksService.claimTask(notDisplayedTask.entry.id, candidateBaseApp);
|
||||||
|
|
||||||
processDefinitionService = new ProcessDefinitionsService(apiService);
|
processDefinitionService = new ProcessDefinitionsService(apiService);
|
||||||
processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
|
processDefinition = await processDefinitionService.getProcessDefinitionByName('simpleProcess', simpleApp);
|
||||||
processInstancesService = new ProcessInstancesService(apiService);
|
processInstancesService = new ProcessInstancesService(apiService);
|
||||||
processInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
|
processInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp);
|
||||||
|
|
||||||
subTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp, {'parentTaskId': createdTask.entry.id});
|
subTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp, {'parentTaskId': createdTask.entry.id});
|
||||||
await tasksService.claimTask(subTask.entry.id, simpleApp);
|
await tasksService.claimTask(subTask.entry.id, simpleApp);
|
||||||
|
|
||||||
const jsonFile = new TaskListCloudConfiguration().getConfiguration();
|
const jsonFile = new TaskListCloudConfiguration().getConfiguration();
|
||||||
|
|
||||||
|
await settingsPage.setProviderBpmSso(
|
||||||
|
browser.params.config.bpmHost,
|
||||||
|
browser.params.config.oauth2.host,
|
||||||
|
browser.params.config.identityHost);
|
||||||
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
await LocalStorageUtil.setConfigField('adf-cloud-task-list', JSON.stringify(jsonFile));
|
await LocalStorageUtil.setConfigField('adf-cloud-task-list', JSON.stringify(jsonFile));
|
||||||
await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify({
|
await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify({
|
||||||
'filterProperties': [
|
'filterProperties': [
|
||||||
@ -127,12 +132,12 @@ xdescribe('Edit task filters and task list properties', () => {
|
|||||||
'delete'
|
'delete'
|
||||||
]
|
]
|
||||||
}));
|
}));
|
||||||
|
done();
|
||||||
|
}, 5 * 60 * 1000);
|
||||||
|
|
||||||
await settingsPage.setProviderBpmSso(
|
afterAll(async(done) => {
|
||||||
browser.params.config.bpmHost,
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
browser.params.config.oauth2.host,
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
browser.params.config.identityHost);
|
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -155,8 +160,8 @@ xdescribe('Edit task filters and task list properties', () => {
|
|||||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
|
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
|
||||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notDisplayedTask.entry.name);
|
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notDisplayedTask.entry.name);
|
||||||
|
|
||||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setAppNameDropDown(candidateUserApp);
|
tasksCloudDemoPage.editTaskFilterCloudComponent().setAppNameDropDown(candidateBaseApp);
|
||||||
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(candidateUserApp);
|
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(candidateBaseApp);
|
||||||
|
|
||||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notDisplayedTask.entry.name);
|
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notDisplayedTask.entry.name);
|
||||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
|
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
|
||||||
@ -279,7 +284,7 @@ xdescribe('Edit task filters and task list properties', () => {
|
|||||||
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
|
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
|
||||||
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
|
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
|
||||||
|
|
||||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL').clearAssignee().setOwner('admin.adf');
|
tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL').clearAssignee().setOwner(testUser.username);
|
||||||
|
|
||||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notAssigned.entry.name);
|
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notAssigned.entry.name);
|
||||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
|
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
import { browser } from 'protractor';
|
import { browser } from 'protractor';
|
||||||
|
|
||||||
import { ApiService, LoginSSOPage, TasksService, SettingsPage } from '@alfresco/adf-testing';
|
import { ApiService, LoginSSOPage, TasksService, SettingsPage, IdentityService, GroupIdentityService } from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||||
import { AppListCloudPage } from '@alfresco/adf-testing';
|
import { AppListCloudPage } from '@alfresco/adf-testing';
|
||||||
@ -32,20 +32,29 @@ describe('Task list cloud - selection', () => {
|
|||||||
const appListCloudComponent = new AppListCloudPage();
|
const appListCloudComponent = new AppListCloudPage();
|
||||||
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
|
const apiService = new ApiService(
|
||||||
|
browser.params.config.oauth2.clientId,
|
||||||
|
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
||||||
|
);
|
||||||
|
|
||||||
let tasksService: TasksService;
|
let tasksService: TasksService;
|
||||||
|
let identityService: IdentityService;
|
||||||
|
let groupIdentityService: GroupIdentityService;
|
||||||
|
|
||||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
||||||
const noOfTasks = 3;
|
const noOfTasks = 3;
|
||||||
let response;
|
let response, testUser, groupInfo;
|
||||||
const tasks = [];
|
const tasks = [];
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
const apiService = new ApiService(
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
browser.params.config.oauth2.clientId,
|
identityService = new IdentityService(apiService);
|
||||||
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
);
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
|
|
||||||
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
|
await apiService.login(testUser.email, testUser.password);
|
||||||
|
|
||||||
tasksService = new TasksService(apiService);
|
tasksService = new TasksService(apiService);
|
||||||
|
|
||||||
@ -59,7 +68,13 @@ describe('Task list cloud - selection', () => {
|
|||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterAll(async(done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -25,12 +25,11 @@ import {
|
|||||||
ProcessInstancesService,
|
ProcessInstancesService,
|
||||||
LoginSSOPage,
|
LoginSSOPage,
|
||||||
ApiService,
|
ApiService,
|
||||||
SettingsPage
|
SettingsPage, IdentityService, GroupIdentityService
|
||||||
} from '@alfresco/adf-testing';
|
} from '@alfresco/adf-testing';
|
||||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||||
import { AppListCloudPage } from '@alfresco/adf-testing';
|
import { AppListCloudPage } from '@alfresco/adf-testing';
|
||||||
|
|
||||||
import resources = require('../util/resources');
|
import resources = require('../util/resources');
|
||||||
|
|
||||||
describe('Task filters cloud', () => {
|
describe('Task filters cloud', () => {
|
||||||
@ -41,7 +40,13 @@ describe('Task filters cloud', () => {
|
|||||||
const appListCloudComponent = new AppListCloudPage();
|
const appListCloudComponent = new AppListCloudPage();
|
||||||
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
||||||
const settingsPage = new SettingsPage();
|
const settingsPage = new SettingsPage();
|
||||||
|
const apiService = new ApiService(
|
||||||
|
browser.params.config.oauth2.clientId,
|
||||||
|
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
||||||
|
);
|
||||||
let tasksService: TasksService;
|
let tasksService: TasksService;
|
||||||
|
let identityService: IdentityService;
|
||||||
|
let groupIdentityService: GroupIdentityService;
|
||||||
let processDefinitionService: ProcessDefinitionsService;
|
let processDefinitionService: ProcessDefinitionsService;
|
||||||
let processInstancesService: ProcessInstancesService;
|
let processInstancesService: ProcessInstancesService;
|
||||||
let queryService: QueryService;
|
let queryService: QueryService;
|
||||||
@ -50,17 +55,20 @@ describe('Task filters cloud', () => {
|
|||||||
completedTaskName = StringUtil.generateRandomString(),
|
completedTaskName = StringUtil.generateRandomString(),
|
||||||
assignedTaskName = StringUtil.generateRandomString(), deletedTaskName = StringUtil.generateRandomString();
|
assignedTaskName = StringUtil.generateRandomString(), deletedTaskName = StringUtil.generateRandomString();
|
||||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
||||||
let assignedTask, deletedTask, suspendedTasks;
|
let assignedTask, deletedTask, suspendedTasks, testUser, groupInfo;
|
||||||
const orderByNameAndPriority = ['cCreatedTask', 'dCreatedTask', 'eCreatedTask'];
|
const orderByNameAndPriority = ['cCreatedTask', 'dCreatedTask', 'eCreatedTask'];
|
||||||
let priority = 30;
|
let priority = 30;
|
||||||
const nrOfTasks = 3;
|
const nrOfTasks = 3;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
const apiService = new ApiService(
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
browser.params.config.oauth2.clientId,
|
identityService = new IdentityService(apiService);
|
||||||
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
|
groupIdentityService = new GroupIdentityService(apiService);
|
||||||
);
|
testUser = await identityService.createIdentityUserWithRole(apiService, [identityService.roles.aps_user]);
|
||||||
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
|
|
||||||
|
groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr');
|
||||||
|
await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id);
|
||||||
|
await apiService.login(testUser.email, testUser.password);
|
||||||
|
|
||||||
tasksService = new TasksService(apiService);
|
tasksService = new TasksService(apiService);
|
||||||
await tasksService.createStandaloneTask(createdTaskName, simpleApp);
|
await tasksService.createStandaloneTask(createdTaskName, simpleApp);
|
||||||
@ -76,10 +84,10 @@ describe('Task filters cloud', () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
processDefinitionService = new ProcessDefinitionsService(apiService);
|
processDefinitionService = new ProcessDefinitionsService(apiService);
|
||||||
const processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
|
const processDefinition = await processDefinitionService.getProcessDefinitionByName('simpleProcess', simpleApp);
|
||||||
processInstancesService = new ProcessInstancesService(apiService);
|
processInstancesService = new ProcessInstancesService(apiService);
|
||||||
const processInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
|
const processInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp);
|
||||||
const secondProcessInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
|
const secondProcessInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp);
|
||||||
|
|
||||||
queryService = new QueryService(apiService);
|
queryService = new QueryService(apiService);
|
||||||
suspendedTasks = await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp);
|
suspendedTasks = await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp);
|
||||||
@ -92,7 +100,13 @@ describe('Task filters cloud', () => {
|
|||||||
browser.params.config.bpmHost,
|
browser.params.config.bpmHost,
|
||||||
browser.params.config.oauth2.host,
|
browser.params.config.oauth2.host,
|
||||||
browser.params.config.identityHost);
|
browser.params.config.identityHost);
|
||||||
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
|
loginSSOPage.loginSSOIdentityService(testUser.email, testUser.password);
|
||||||
|
done();
|
||||||
|
}, 5 * 60 * 1000 );
|
||||||
|
|
||||||
|
afterAll(async(done) => {
|
||||||
|
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
|
||||||
|
await identityService.deleteIdentityUser(testUser.idIdentityService);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
BIN
e2e/resources/activiti7/candidatebaseapp.zip
Normal file
BIN
e2e/resources/activiti7/candidatebaseapp.zip
Normal file
Binary file not shown.
Binary file not shown.
@ -110,13 +110,6 @@ exports.APP_ICON = {
|
|||||||
USER: "person"
|
USER: "person"
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.ROLES = {
|
|
||||||
APS_USER: "APS_USER",
|
|
||||||
ACTIVITI_USER: "ACTIVITI_USER",
|
|
||||||
APS_ADMIN: "APS_ADMIN",
|
|
||||||
ACTIVITI_ADMIN: "ACTIVITI_ADMIN"
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.PROCESS_END_DATE = "No date";
|
exports.PROCESS_END_DATE = "No date";
|
||||||
|
|
||||||
exports.PROCESS_CATEGORY = "http://www.activiti.org/processdef";
|
exports.PROCESS_CATEGORY = "http://www.activiti.org/processdef";
|
||||||
|
@ -514,9 +514,9 @@ exports.Files = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
exports.ACTIVITI7_APPS = {
|
exports.ACTIVITI7_APPS = {
|
||||||
CANDIDATE_USER_APP: {
|
CANDIDATE_BASE_APP: {
|
||||||
name: "candidateuserapp",
|
name: "candidatebaseapp",
|
||||||
file_location: "/resources/activiti7/candidateuserapp.zip"
|
file_location: "/resources/activiti7/candidatebaseapp.zip"
|
||||||
},
|
},
|
||||||
SIMPLE_APP: {
|
SIMPLE_APP: {
|
||||||
name: "simpleapp",
|
name: "simpleapp",
|
||||||
|
@ -28,12 +28,21 @@ export class IdentityService {
|
|||||||
this.api = api;
|
this.api = api;
|
||||||
}
|
}
|
||||||
|
|
||||||
async createActivitiUserWithRole(apiService, role: string = 'ACTIVITI_USER') {
|
roles = {
|
||||||
|
aps_user: 'APS_USER',
|
||||||
|
activiti_user: 'ACTIVITI_USER',
|
||||||
|
aps_admin: 'APS_ADMIN',
|
||||||
|
activiti_admin: 'ACTIVITI_ADMIN'
|
||||||
|
};
|
||||||
|
|
||||||
|
async createIdentityUserWithRole(apiService: ApiService, roles: string[]) {
|
||||||
const rolesService = new RolesService(apiService);
|
const rolesService = new RolesService(apiService);
|
||||||
const apsUser = await this.createIdentityUser();
|
const user = await this.createIdentityUser();
|
||||||
const apsUserRoleId = await rolesService.getRoleIdByRoleName(role);
|
for (let i = 0; i < roles.length; i++) {
|
||||||
await this.assignRole(apsUser.idIdentityService, apsUserRoleId, role);
|
const roleId = await rolesService.getRoleIdByRoleName(roles[i]);
|
||||||
return apsUser;
|
await this.assignRole(user.idIdentityService, roleId, roles[i]);
|
||||||
|
}
|
||||||
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
async createIdentityUser(user: UserModel = new UserModel()) {
|
async createIdentityUser(user: UserModel = new UserModel()) {
|
||||||
@ -106,7 +115,7 @@ export class IdentityService {
|
|||||||
async getUserInfoByUsername(username) {
|
async getUserInfoByUsername(username) {
|
||||||
const path = `/users`;
|
const path = `/users`;
|
||||||
const method = 'GET';
|
const method = 'GET';
|
||||||
const queryParams = { 'username': username }, postBody = {};
|
const queryParams = {'username': username}, postBody = {};
|
||||||
|
|
||||||
const data = await this.api.performIdentityOperation(path, method, queryParams, postBody);
|
const data = await this.api.performIdentityOperation(path, method, queryParams, postBody);
|
||||||
return data[0];
|
return data[0];
|
||||||
@ -116,16 +125,30 @@ export class IdentityService {
|
|||||||
const path = `/users/${id}/reset-password`;
|
const path = `/users/${id}/reset-password`;
|
||||||
const method = 'PUT';
|
const method = 'PUT';
|
||||||
const queryParams = {},
|
const queryParams = {},
|
||||||
postBody = { 'type': 'password', 'value': password, 'temporary': false };
|
postBody = {'type': 'password', 'value': password, 'temporary': false};
|
||||||
|
|
||||||
return await this.api.performIdentityOperation(path, method, queryParams, postBody);
|
return await this.api.performIdentityOperation(path, method, queryParams, postBody);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async addUserToGroup(userId, groupId) {
|
||||||
|
try {
|
||||||
|
const path = `/users/${userId}/groups/${groupId}`;
|
||||||
|
const method = 'PUT';
|
||||||
|
const queryParams = {},
|
||||||
|
postBody = {'realm': 'alfresco', 'userId': userId, 'groupId': groupId};
|
||||||
|
|
||||||
|
return await this.api.performIdentityOperation(path, method, queryParams, postBody);
|
||||||
|
} catch (error) {
|
||||||
|
// tslint:disable-next-line:no-console
|
||||||
|
console.log('Add User To Group - Service error, Response: ', JSON.parse(JSON.stringify(error)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async assignRole(userId, roleId, roleName) {
|
async assignRole(userId, roleId, roleName) {
|
||||||
const path = `/users/${userId}/role-mappings/realm`;
|
const path = `/users/${userId}/role-mappings/realm`;
|
||||||
const method = 'POST';
|
const method = 'POST';
|
||||||
const queryParams = {},
|
const queryParams = {},
|
||||||
postBody = [{ 'id': roleId, 'name': roleName }];
|
postBody = [{'id': roleId, 'name': roleName}];
|
||||||
|
|
||||||
return await this.api.performIdentityOperation(path, method, queryParams, postBody);
|
return await this.api.performIdentityOperation(path, method, queryParams, postBody);
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ export class TasksService {
|
|||||||
return await this.api.performBpmOperation(path, method, queryParams, postBody);
|
return await this.api.performBpmOperation(path, method, queryParams, postBody);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// tslint:disable-next-line:no-console
|
// tslint:disable-next-line:no-console
|
||||||
console.log('Create Task - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text);
|
console.log('Create Task - Service error, Response: ', JSON.parse(JSON.stringify(error)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,4 +44,12 @@ export class ProcessDefinitionsService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async getProcessDefinitionByName(processDefinitionName: string, appName: string) {
|
||||||
|
const processDefinitions = await this.getProcessDefinitions(appName);
|
||||||
|
return processDefinitions.list.entries.find((el) => {
|
||||||
|
if (el.entry.name === processDefinitionName) {
|
||||||
|
return el;
|
||||||
|
}});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -263,7 +263,7 @@ async function deployApp(apiService, app, name) {
|
|||||||
"version": app.entry.name,
|
"version": app.entry.name,
|
||||||
"security": [{"role": "APS_ADMIN", "groups": [], "users": ["admin.adf"]}, {
|
"security": [{"role": "APS_ADMIN", "groups": [], "users": ["admin.adf"]}, {
|
||||||
"role": "APS_USER",
|
"role": "APS_USER",
|
||||||
"groups": [],
|
"groups": ["hr"],
|
||||||
"users": ["admin.adf"]
|
"users": ["admin.adf"]
|
||||||
}]
|
}]
|
||||||
};
|
};
|
||||||
|
@ -17,6 +17,8 @@ show_help() {
|
|||||||
echo "--env"
|
echo "--env"
|
||||||
echo "-u or --username"
|
echo "-u or --username"
|
||||||
echo "-p or --password"
|
echo "-p or --password"
|
||||||
|
echo "-identity_admin_email"
|
||||||
|
echo "-identity_admin_password"
|
||||||
echo "-e or --email"
|
echo "-e or --email"
|
||||||
echo "-b or --browser run the test in the browser (No headless mode)"
|
echo "-b or --browser run the test in the browser (No headless mode)"
|
||||||
echo "-s or --spec run a single test file"
|
echo "-s or --spec run a single test file"
|
||||||
@ -46,6 +48,14 @@ set_password(){
|
|||||||
PASSWORD=$1
|
PASSWORD=$1
|
||||||
export PASSWORD_ADF=$PASSWORD
|
export PASSWORD_ADF=$PASSWORD
|
||||||
}
|
}
|
||||||
|
set_identity_admin_email(){
|
||||||
|
IDENTITY_ADMIN_EMAIL=$1
|
||||||
|
export IDENTITY_ADMIN_EMAIL=$IDENTITY_ADMIN_EMAIL
|
||||||
|
}
|
||||||
|
set_identity_admin_password(){
|
||||||
|
IDENTITY_ADMIN_PASSWORD=$1
|
||||||
|
export IDENTITY_ADMIN_PASSWORD=$IDENTITY_ADMIN_PASSWORD
|
||||||
|
}
|
||||||
set_email(){
|
set_email(){
|
||||||
EMAIL=$1
|
EMAIL=$1
|
||||||
export EMAIL_ADF=$EMAIL
|
export EMAIL_ADF=$EMAIL
|
||||||
@ -149,6 +159,8 @@ while [[ $1 == -* ]]; do
|
|||||||
-h|--help|-\?) show_help; exit 0;;
|
-h|--help|-\?) show_help; exit 0;;
|
||||||
-u|--username) set_username $2; shift 2;;
|
-u|--username) set_username $2; shift 2;;
|
||||||
-p|--password) set_password $2; shift 2;;
|
-p|--password) set_password $2; shift 2;;
|
||||||
|
-identity_admin_email) set_identity_admin_email $2; shift 2;;
|
||||||
|
-identity_admin_password) set_identity_admin_password $2; shift 2;;
|
||||||
-e|--email) set_email $2; shift 2;;
|
-e|--email) set_email $2; shift 2;;
|
||||||
-f|--folder) set_test_folder $2; shift 2;;
|
-f|--folder) set_test_folder $2; shift 2;;
|
||||||
-timeout|--timeout) set_timeout $2; shift 2;;
|
-timeout|--timeout) set_timeout $2; shift 2;;
|
||||||
|
@ -12,7 +12,7 @@ AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
|
|||||||
AFFECTED_E2E="$(./scripts/git-util/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e/$CONTEXT_ENV")";
|
AFFECTED_E2E="$(./scripts/git-util/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e/$CONTEXT_ENV")";
|
||||||
|
|
||||||
RUN_CHECK=$(echo node ./scripts/check-env/check-activiti-env.js --host "$E2E_HOST_BPM" --oauth "$E2E_HOST_SSO" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" --client 'activiti' || exit 1 )
|
RUN_CHECK=$(echo node ./scripts/check-env/check-activiti-env.js --host "$E2E_HOST_BPM" --oauth "$E2E_HOST_SSO" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" --client 'activiti' || exit 1 )
|
||||||
RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST_BPM" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" -host_sso "$E2E_HOST_SSO" -host_bpm "$E2E_HOST_BPM" -host_identity "$E2E_HOST_IDENTITY" --use-dist )
|
RUN_E2E=$(echo ./scripts/test-e2e-lib.sh -host http://localhost:4200 -proxy "$E2E_HOST_BPM" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" -host_sso "$E2E_HOST_SSO" -host_bpm "$E2E_HOST_BPM" -host_identity "$E2E_HOST_IDENTITY" -identity_admin_email "$E2E_ADMIN_EMAIL_IDENTITY" -identity_admin_password "$E2E_ADMIN_PASSWORD_IDENTITY" --use-dist )
|
||||||
|
|
||||||
if [[ $AFFECTED_LIBS =~ "$CONTEXT_ENV$" || $TRAVIS_PULL_REQUEST == "false" ]];
|
if [[ $AFFECTED_LIBS =~ "$CONTEXT_ENV$" || $TRAVIS_PULL_REQUEST == "false" ]];
|
||||||
then
|
then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user