[ADF-4809] Automation for non-editable task details when completed (#5001)

This commit is contained in:
Marouan Bentaleb 2019-08-19 21:55:25 +01:00 committed by Eugenio Romano
parent 9960a37e9a
commit 023476e14f
2 changed files with 54 additions and 1 deletions

View File

@ -64,6 +64,31 @@ export class TaskDetailsPage {
attachFormName: ElementFinder = element(by.css('span[class="adf-form-title ng-star-inserted"]')); attachFormName: ElementFinder = element(by.css('span[class="adf-form-title ng-star-inserted"]'));
emptyTaskDetails: ElementFinder = element(by.css('adf-task-details > div > div')); emptyTaskDetails: ElementFinder = element(by.css('adf-task-details > div > div'));
async checkEditableAssigneeIsNotDisplayed(): Promise<void> {
const editableAssignee = element(by.css('span[data-automation-id="card-textitem-value-assignee"][class*="clickable"]'));
await BrowserVisibility.waitUntilElementIsNotVisible(editableAssignee);
}
async checkEditableFormIsNotDisplayed(): Promise<void> {
const editableForm = element(by.css('span[data-automation-id="card-textitem-value-formName"][class*="clickable"]'));
await BrowserVisibility.waitUntilElementIsNotVisible(editableForm);
}
async checkEditDescriptionButtonIsNotDisplayed(): Promise<void> {
const editDescriptionButton = element(by.css('mat-icon[data-automation-id="card-textitem-edit-icon-description"]'));
await BrowserVisibility.waitUntilElementIsNotVisible(editDescriptionButton);
}
async checkEditPriorityButtonIsNotDisplayed(): Promise<void> {
const editPriorityButton = element(by.css('mat-icon[data-automation-id="card-textitem-edit-icon-priority"]'));
await BrowserVisibility.waitUntilElementIsNotVisible(editPriorityButton);
}
async checkDueDatePickerButtonIsNotDisplayed(): Promise<void> {
const dueDatePickerButton = element(by.css('mat-datetimepicker-toggle[data-automation-id="datepickertoggle-dueDate"]'));
await BrowserVisibility.waitUntilElementIsNotVisible(dueDatePickerButton);
}
getTaskDetailsTitle(): Promise<string> { getTaskDetailsTitle(): Promise<string> {
return BrowserActions.getText(this.taskDetailsTitle); return BrowserActions.getText(this.taskDetailsTitle);
} }

View File

@ -28,7 +28,7 @@ import resources = require('../util/resources');
import CONSTANTS = require('../util/constants'); import CONSTANTS = require('../util/constants');
import dateFormat = require('dateformat'); import dateFormat = require('dateformat');
import { LoginPage, BrowserActions } from '@alfresco/adf-testing'; import { LoginPage, BrowserActions, StringUtil } from '@alfresco/adf-testing';
import { TasksPage } from '../pages/adf/process-services/tasksPage'; import { TasksPage } from '../pages/adf/process-services/tasksPage';
import { browser } from 'protractor'; import { browser } from 'protractor';
@ -42,6 +42,13 @@ describe('Task Details component', () => {
let formModel; let formModel;
let apps; let apps;
const taskFormModel = {
'name': StringUtil.generateRandomString(),
'description': '',
'modelType': 2,
'stencilSet': 0
};
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const taskPage = new TasksPage(); const taskPage = new TasksPage();
@ -317,4 +324,25 @@ describe('Task Details component', () => {
await expect(await taskPage.taskDetails().getStatus()).toEqual(CONSTANTS.TASK_STATUS.COMPLETED); await expect(await taskPage.taskDetails().getStatus()).toEqual(CONSTANTS.TASK_STATUS.COMPLETED);
}); });
it('[C260321] Should not be able to edit a completed task\'s details', async () => {
const taskName = 'TaskCompleted';
const form = await this.alfrescoJsApi.activiti.modelsApi.createModel(taskFormModel);
const task = await this.alfrescoJsApi.activiti.taskApi.createNewTask({ 'name': taskName });
await this.alfrescoJsApi.activiti.taskApi.attachForm(task.id, { 'formId': form.id });
await this.alfrescoJsApi.activiti.taskApi.completeTaskForm(task.id, { values: { label: null } });
await (await processServices.goToTaskApp()).clickTasksButton();
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
await taskPage.tasksListPage().checkContentIsDisplayed(taskName);
await taskPage.tasksListPage().selectRow(taskName);
await taskPage.taskDetails().checkEditableAssigneeIsNotDisplayed();
await taskPage.taskDetails().checkEditableFormIsNotDisplayed();
await taskPage.taskDetails().checkEditDescriptionButtonIsNotDisplayed();
await taskPage.taskDetails().checkEditPriorityButtonIsNotDisplayed();
await taskPage.taskDetails().checkDueDatePickerButtonIsNotDisplayed();
});
}); });