mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-4274] Should be able to reassign the removed user when starting a new task. (#4591)
* C305050 automated * added the api call to delete the tasks created in afterAll() method and also creating a new user and using that in the Tests and deleting the user in the end rather than using 'Super Admin' and reduce the dependency on env configuration. * linting fixes
This commit is contained in:
committed by
Eugenio Romano
parent
f258c79f7a
commit
0fe0ee9db7
@@ -18,8 +18,10 @@
|
||||
import TestConfig = require('../test.config');
|
||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||
import { LoginSSOPage, SettingsPage, AppListCloudPage, StringUtil, TaskHeaderCloudPage,
|
||||
StartTasksCloudPage, PeopleCloudComponentPage } from '@alfresco/adf-testing';
|
||||
import {
|
||||
LoginSSOPage, SettingsPage, AppListCloudPage, StringUtil, TaskHeaderCloudPage,
|
||||
StartTasksCloudPage, PeopleCloudComponentPage, TasksService, ApiService, IdentityService
|
||||
} from '@alfresco/adf-testing';
|
||||
import { browser } from 'protractor';
|
||||
|
||||
describe('Start Task', () => {
|
||||
@@ -33,6 +35,7 @@ describe('Start Task', () => {
|
||||
const startTask = new StartTasksCloudPage();
|
||||
const peopleCloudComponent = new PeopleCloudComponentPage();
|
||||
const standaloneTaskName = StringUtil.generateRandomString(5);
|
||||
const reassignTaskName = StringUtil.generateRandomString(5);
|
||||
const unassignedTaskName = StringUtil.generateRandomString(5);
|
||||
const taskName255Characters = StringUtil.generateRandomString(255);
|
||||
const taskNameBiggerThen255Characters = StringUtil.generateRandomString(256);
|
||||
@@ -41,14 +44,36 @@ describe('Start Task', () => {
|
||||
const dateValidationError = 'Date format DD/MM/YYYY';
|
||||
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
|
||||
const appName = 'simple-app';
|
||||
let silentLogin;
|
||||
let silentLogin, activitiUser;
|
||||
let tasksService: TasksService;
|
||||
let identityService: IdentityService;
|
||||
|
||||
beforeAll(async(done) => {
|
||||
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
|
||||
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
|
||||
identityService = new IdentityService(apiService);
|
||||
tasksService = new TasksService(apiService);
|
||||
activitiUser = await identityService.createIdentityUser();
|
||||
|
||||
beforeAll((done) => {
|
||||
silentLogin = false;
|
||||
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
|
||||
loginSSOPage.clickOnSSOButton();
|
||||
browser.ignoreSynchronization = true;
|
||||
loginSSOPage.loginSSOIdentityService(user, password);
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
const tasks = [ standaloneTaskName, unassignedTaskName, reassignTaskName ];
|
||||
for (let i = 0; i < tasks.length; i++) {
|
||||
const taskId = await tasksService.getTaskId(tasks[i], appName);
|
||||
await tasksService.deleteTask(taskId, appName);
|
||||
}
|
||||
await identityService.deleteIdentityUser(activitiUser.idIdentityService);
|
||||
done();
|
||||
});
|
||||
|
||||
beforeEach((done) => {
|
||||
navigationBarPage.navigateToProcessServicesCloudPage();
|
||||
appListCloudComponent.checkApsContainer();
|
||||
appListCloudComponent.checkAppIsDisplayed(appName);
|
||||
@@ -109,7 +134,7 @@ describe('Start Task', () => {
|
||||
tasksCloudDemoPage.openNewTaskForm();
|
||||
startTask.checkFormIsDisplayed();
|
||||
startTask.addName(standaloneTaskName);
|
||||
peopleCloudComponent.searchAssigneeAndSelect('Super Admin');
|
||||
peopleCloudComponent.searchAssigneeAndSelect(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
|
||||
startTask.checkStartButtonIsEnabled();
|
||||
startTask.clickStartButton();
|
||||
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
|
||||
@@ -139,6 +164,24 @@ describe('Start Task', () => {
|
||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName);
|
||||
});
|
||||
|
||||
it('[C305050] Should be able to reassign the removed user when starting a new task', () => {
|
||||
|
||||
tasksCloudDemoPage.openNewTaskForm();
|
||||
startTask.checkFormIsDisplayed();
|
||||
startTask.addName(reassignTaskName);
|
||||
expect(peopleCloudComponent.getAssignee()).toBe('Administrator ADF');
|
||||
startTask.clearField(peopleCloudComponent.peopleCloudSearch);
|
||||
peopleCloudComponent.searchAssignee(user);
|
||||
peopleCloudComponent.checkUserIsDisplayed('Administrator ADF');
|
||||
peopleCloudComponent.selectAssigneeFromList('Administrator ADF');
|
||||
startTask.clickStartButton();
|
||||
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
|
||||
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
|
||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(reassignTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().selectRow(reassignTaskName);
|
||||
expect(taskHeaderCloudPage.getAssignee()).toBe('admin.adf');
|
||||
});
|
||||
|
||||
it('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', () => {
|
||||
|
||||
tasksCloudDemoPage.openNewTaskForm();
|
||||
|
@@ -86,6 +86,16 @@ export class TasksService {
|
||||
return data;
|
||||
}
|
||||
|
||||
async getTaskId(taskName, appName) {
|
||||
const path = '/' + appName + '/query/v1/tasks';
|
||||
const method = 'GET';
|
||||
|
||||
const queryParams = {name: taskName}, postBody = {};
|
||||
|
||||
const data = await this.api.performBpmOperation(path, method, queryParams, postBody);
|
||||
return data.list.entries[0].entry.id;
|
||||
}
|
||||
|
||||
async createStandaloneSubtask(parentTaskId, appName, name) {
|
||||
const path = '/' + appName + '/rb/v1/tasks';
|
||||
const method = 'POST';
|
||||
|
Reference in New Issue
Block a user