[ADF-3976] EditTaskComponent - Be able to customise the sorting and actions (#4251)

* [ADF-3841] Improve edit-task-filter-cloud by adding inputs to control filters, sort and actions* Provided an input to pass  sort properties* Provided an input to pass filter actions

* * Provided way to configure sort and action properties from app.config
* Updated unit tests the recent changes

* * Added missing properties* Removed unwanted properties* Provided a way to to show range when the lastModified is passed* Fixed order should be visible if sort as been passed

* * Provided way to show checkbox

* * Changed to state, assignment to status and assignee* Updated Document* Updated unit tests

* * Removed unnecessary mock object

* * Removed FilterActionType * Updated documentation

* * Modified editTaskFilterCLoud component e2e tests to the recent changes

* * Fixed e2e tests

* * Fixed failing e2e test

* * Removed unwanted comment

* * After rebase

* * After rebase

* * After rebase

* * Fixed e2e conflict
This commit is contained in:
siva kumar
2019-03-20 15:49:54 +00:00
committed by Eugenio Romano
parent 355e97ef39
commit dccc6b8127
20 changed files with 609 additions and 533 deletions
@@ -23,7 +23,7 @@ export class EditTaskFilterCloudComponent {
customiseFilter = element(by.id('adf-edit-task-filter-title-id'));
selectedOption = element.all(by.css('mat-option[class*="mat-selected"]')).first();
assignment = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-assignment"]'));
assignee = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-assignee"]'));
priority = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-priority"]'));
taskName = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-taskName"]'));
processDefinitionId = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-processDefinitionId"]'));
@@ -32,9 +32,9 @@ export class EditTaskFilterCloudComponent {
lastModifiedTo = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-lastModifiedTo"]'));
parentTaskId = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-parentTaskId"]'));
owner = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-owner"]'));
saveButton = element(by.css('button[id="adf-save-id"]'));
saveAsButton = element(by.css('button[id="adf-save-as-id"]'));
deleteButton = element(by.css('button[id="adf-delete-id"]'));
saveButton = element(by.css('[data-automation-id="adf-filter-action-save"]'));
saveAsButton = element(by.css('[data-automation-id="adf-filter-action-saveAs"]'));
deleteButton = element(by.css('[data-automation-id="adf-filter-action-delete"]'));
editTaskFilter = new EditTaskFilterDialog();
@@ -48,18 +48,18 @@ export class EditTaskFilterCloudComponent {
return this;
}
setStateFilterDropDown(option) {
this.clickOnDropDownArrow('state');
setStatusFilterDropDown(option) {
this.clickOnDropDownArrow('status');
let stateElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsVisible(stateElement);
Util.waitUntilElementIsClickable(stateElement);
stateElement.click();
let statusElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsVisible(statusElement);
Util.waitUntilElementIsClickable(statusElement);
statusElement.click();
return this;
}
getStateFilterDropDownValue() {
return element.all(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-state'] span")).first().getText();
getStatusFilterDropDownValue() {
return element.all(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-status'] span")).first().getText();
}
setSortFilterDropDown(option) {
@@ -99,12 +99,12 @@ export class EditTaskFilterCloudComponent {
Util.waitUntilElementIsVisible(this.selectedOption);
}
setAssignment(option) {
return this.setProperty('assignment', option);
setAssignee(option) {
return this.setProperty('assignee', option);
}
getAssignment() {
return this.assignment.getText();
getAssignee() {
return this.assignee.getText();
}
setPriority(option) {
@@ -200,8 +200,8 @@ export class EditTaskFilterCloudComponent {
return this;
}
clearAssignment() {
this.clearField(this.assignment);
clearAssignee() {
this.clearField(this.assignee);
return this;
}
@@ -71,7 +71,7 @@ describe('Edit task filters cloud', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getStateFilterDropDownValue()).toEqual('ASSIGNED');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getStatusFilterDropDownValue()).toEqual('ASSIGNED');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Created Date');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName);
@@ -79,7 +79,7 @@ describe('Edit task filters cloud', () => {
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getStateFilterDropDownValue()).toEqual('COMPLETED');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getStatusFilterDropDownValue()).toEqual('COMPLETED');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Created Date');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
@@ -138,8 +138,8 @@ describe('Start Task', () => {
startTask.checkStartButtonIsEnabled();
tasksCloudDemoPage.editTaskFilterCloudComponent()
.clickCustomiseFilterHeader()
.setStateFilterDropDown('CREATED')
.clearAssignment();
.setStatusFilterDropDown('CREATED')
.clearAssignee();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName);
});
@@ -152,8 +152,8 @@ describe('Start Task', () => {
startTask.clickStartButton();
tasksCloudDemoPage.editTaskFilterCloudComponent()
.clickCustomiseFilterHeader()
.clearAssignment()
.setStateFilterDropDown('CREATED');
.clearAssignee()
.setStatusFilterDropDown('CREATED');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName);
let taskId = tasksCloudDemoPage.taskListCloudComponent().getIdCellValue(unassignedTaskName);
@@ -83,7 +83,7 @@ describe('Edit task filters and task list properties', () => {
browser.driver.sleep(5000);
configEditorPage.enterConfiguration('{' +
'"properties": [' +
'"appName",' + '"state",' + '"assignment",' +
'"appName",' + '"status",' + '"assignee",' +
'"taskName",' + '"parentTaskId",' + '"priority",' +
'"standAlone",' + '"owner",' + '"processDefinitionId",' + '"processInstanceId",' +
'"lastModifiedFrom",' + '"lastModifiedTo",' + '"sort",' + '"order"' +
@@ -163,7 +163,7 @@ describe('Edit task filters and task list properties', () => {
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setProcessInstanceId(processInstance.entry.id)
.setStateFilterDropDown('ALL').clearAssignment();
.setStatusFilterDropDown('ALL').clearAssignee();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
@@ -184,7 +184,7 @@ describe('Edit task filters and task list properties', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignment('admin.adf');
tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignee('admin.adf');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notAssigned.entry.name);
@@ -194,7 +194,7 @@ describe('Edit task filters and task list properties', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignment('invalid');
tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignee('invalid');
expect(tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
});
@@ -232,7 +232,7 @@ describe('Edit task filters and task list properties', () => {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setStateFilterDropDown('ALL').clearAssignment().setOwner('admin.adf');
tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ALL').clearAssignee().setOwner('admin.adf');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notAssigned.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
@@ -93,8 +93,8 @@ describe('Task filters cloud', () => {
done();
});
it('[C290045] Should display only tasks with Assigned state when Assigned is selected from state dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStateFilterDropDown('ASSIGNED');
it('[C290045] Should display only tasks with Assigned status when Assigned is selected from status dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('ASSIGNED');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName);
@@ -102,10 +102,10 @@ describe('Task filters cloud', () => {
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
});
it('[C290061] Should display only tasks with Completed state when Completed is selected from state dropdown', () => {
it('[C290061] Should display only tasks with Completed status when Completed is selected from status dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent()
.clickCustomiseFilterHeader()
.setStateFilterDropDown('COMPLETED');
.setStatusFilterDropDown('COMPLETED');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
@@ -113,9 +113,9 @@ describe('Task filters cloud', () => {
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
});
it('[C290139] Should display only tasks with all states when All is selected from state dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignment()
.setStateFilterDropDown('ALL');
it('[C290139] Should display only tasks with all statuses when All is selected from status dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignee()
.setStatusFilterDropDown('ALL');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(deletedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName);
@@ -123,9 +123,9 @@ describe('Task filters cloud', () => {
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
});
it('[C290154] Should display only tasks with suspended states when Suspended is selected from state dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignment()
.setStateFilterDropDown('SUSPENDED');
it('[C290154] Should display only tasks with suspended statuses when Suspended is selected from status dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignee()
.setStatusFilterDropDown('SUSPENDED');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(suspendedTasks.list.entries[0].entry.id);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName);
@@ -133,8 +133,8 @@ describe('Task filters cloud', () => {
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
});
it('[C290060] Should display only tasks with Created state when Created is selected from state dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignment().setStateFilterDropDown('CREATED');
it('[C290060] Should display only tasks with Created status when Created is selected from status dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignee().setStatusFilterDropDown('CREATED');
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
@@ -142,7 +142,7 @@ describe('Task filters cloud', () => {
});
it('[C290069] Should display tasks ordered by name when Name is selected from sort dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStateFilterDropDown('ASSIGNED')
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('ASSIGNED')
.setSortFilterDropDown('NAME').setOrderFilterDropDown('ASC');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
@@ -168,7 +168,7 @@ describe('Task filters cloud', () => {
});
it('[C290156] Should display tasks ordered by id when Id is selected from sort dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStateFilterDropDown('ASSIGNED')
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('ASSIGNED')
.setSortFilterDropDown('ID').setOrderFilterDropDown('ASC');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();