mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-3780]Implement task list cloud component tests (#4111)
This commit is contained in:
committed by
Eugenio Romano
parent
c17241fedc
commit
aa6ba28427
@@ -28,13 +28,14 @@ export class Tasks {
|
||||
await this.api.login(username, password);
|
||||
}
|
||||
|
||||
async createStandaloneTask(taskName, appName) {
|
||||
async createStandaloneTask(taskName, appName, options?) {
|
||||
const path = '/' + appName + '-rb/v1/tasks';
|
||||
const method = 'POST';
|
||||
|
||||
const queryParams = {}, postBody = {
|
||||
'name': taskName,
|
||||
'payloadType': 'CreateTaskPayload'
|
||||
'payloadType': 'CreateTaskPayload',
|
||||
...options
|
||||
};
|
||||
|
||||
const data = await this.api.performBpmOperation(path, method, queryParams, postBody);
|
||||
@@ -61,4 +62,21 @@ export class Tasks {
|
||||
return data;
|
||||
}
|
||||
|
||||
async deleteTask(taskId, appName) {
|
||||
const path = '/' + appName + '-rb/v1/tasks/' + taskId;
|
||||
const method = 'DELETE';
|
||||
|
||||
const queryParams = {}, postBody = {};
|
||||
|
||||
const data = await this.api.performBpmOperation(path, method, queryParams, postBody);
|
||||
return data;
|
||||
}
|
||||
|
||||
async createAndCompleteTask (taskName, appName) {
|
||||
let task = await this.createStandaloneTask(taskName, appName);
|
||||
await this.claimTask(task.entry.id, appName);
|
||||
await this.completeTask(task.entry.id, appName);
|
||||
return task;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -35,11 +35,9 @@ export class DataTablePage {
|
||||
reset = element(by.xpath(`//span[contains(text(),'Reset to default')]/..`));
|
||||
replaceColumnsElement = element(by.xpath(`//span[contains(text(),'Replace columns')]/..`));
|
||||
createdOnColumn = element(by.css(`div[data-automation-id='auto_id_createdOn']`));
|
||||
pageLoaded = element(by.css(`div[data-automation-id='auto_id_id']`));
|
||||
tableBody = element.all(by.css(`div[class='adf-datatable-body']`)).first();
|
||||
spinner = element(by.css('mat-progress-spinner'));
|
||||
rows = by.css(`adf-datatable div[class*='adf-datatable-body'] div[class*='adf-datatable-row']`);
|
||||
nameColumn = by.css(`adf-datatable div[class*='adf-datatable-body'] div[class*='adf-datatable-row'] div[title='Name'] span`);
|
||||
|
||||
constructor(rootElement: ElementFinder = element(by.css('adf-datatable'))) {
|
||||
this.rootElement = rootElement;
|
||||
@@ -55,7 +53,7 @@ export class DataTablePage {
|
||||
}
|
||||
|
||||
async getAllRowsColumnValues(locator) {
|
||||
let columnLocator = by.css("adf-datatable div[class*='adf-datatable-body'] div[class*='adf-datatable-row'] div[title='" + column + "'] span");
|
||||
let columnLocator = by.css("adf-datatable div[class*='adf-datatable-body'] div[class*='adf-datatable-row'] div[title='" + locator + "'] span");
|
||||
Util.waitUntilElementIsVisible(element.all(columnLocator).first());
|
||||
let initialList = await element.all(columnLocator).getText();
|
||||
return initialList.filter((el) => el);
|
||||
@@ -243,6 +241,10 @@ export class DataTablePage {
|
||||
Util.waitUntilElementIsPresent(this.spinner);
|
||||
}
|
||||
|
||||
checkSpinnerIsNotDisplayed() {
|
||||
Util.waitUntilElementIsNotOnPage(this.spinner);
|
||||
}
|
||||
|
||||
checkRowIsDisplayedByName(filename) {
|
||||
Util.waitUntilElementIsVisible(element.all(by.css(`div[filename="${filename}"]`)).first());
|
||||
}
|
||||
|
@@ -65,7 +65,7 @@ export class ProcessCloudDemoPage {
|
||||
return new ProcessFiltersCloudComponent(element(by.css(`span[data-automation-id="${filterName}_filter"]`)));
|
||||
}
|
||||
|
||||
checkActiveFilterActive() {
|
||||
getActiveFilterName() {
|
||||
Util.waitUntilElementIsVisible(this.activeFilter);
|
||||
return this.activeFilter.getText();
|
||||
}
|
||||
|
@@ -19,6 +19,7 @@ import { Util } from '../../../util/util';
|
||||
|
||||
import { TaskFiltersCloudComponent } from '../process-cloud/taskFiltersCloudComponent';
|
||||
import { TaskListCloudComponent } from '../process-cloud/taskListCloudComponent';
|
||||
import { EditTaskFilterCloudComponent } from '../process-cloud/editTaskFilterCloudComponent';
|
||||
import { element, by } from 'protractor';
|
||||
|
||||
export class TasksCloudDemoPage {
|
||||
@@ -26,6 +27,9 @@ export class TasksCloudDemoPage {
|
||||
myTasks = element(by.css('span[data-automation-id="my-tasks-filter"]'));
|
||||
completedTasks = element(by.css('span[data-automation-id="completed-tasks-filter"]'));
|
||||
activeFilter = element(by.css("mat-list-item[class*='active'] span"));
|
||||
taskFilters = element(by.css("mat-expansion-panel[data-automation-id='Task Filters']"));
|
||||
|
||||
editTaskFilterCloud = new EditTaskFilterCloudComponent();
|
||||
|
||||
taskFiltersCloudComponent(filter) {
|
||||
return new TaskFiltersCloudComponent(filter);
|
||||
@@ -35,6 +39,10 @@ export class TasksCloudDemoPage {
|
||||
return new TaskListCloudComponent();
|
||||
}
|
||||
|
||||
editTaskFilterCloudComponent() {
|
||||
return this.editTaskFilterCloud;
|
||||
}
|
||||
|
||||
myTasksFilter() {
|
||||
return new TaskFiltersCloudComponent(this.myTasks);
|
||||
}
|
||||
@@ -47,9 +55,17 @@ export class TasksCloudDemoPage {
|
||||
return new TaskFiltersCloudComponent(element(by.css(`span[data-automation-id="${filterName}_filter"]`)));
|
||||
}
|
||||
|
||||
checkActiveFilterActive () {
|
||||
getActiveFilterName() {
|
||||
Util.waitUntilElementIsVisible(this.activeFilter);
|
||||
return this.activeFilter.getText();
|
||||
}
|
||||
|
||||
getAllRowsByIdColumn() {
|
||||
return new TaskListCloudComponent().getAllRowsByColumn('Id');
|
||||
}
|
||||
|
||||
clickOnTaskFilters() {
|
||||
Util.waitUntilElementIsVisible(this.taskFilters);
|
||||
return this.taskFilters.click();
|
||||
}
|
||||
}
|
||||
|
81
e2e/pages/adf/process-cloud/editTaskFilterCloudComponent.ts
Normal file
81
e2e/pages/adf/process-cloud/editTaskFilterCloudComponent.ts
Normal file
@@ -0,0 +1,81 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Util } from '../../../util/util';
|
||||
import { by, element, protractor } from 'protractor';
|
||||
|
||||
export class EditTaskFilterCloudComponent {
|
||||
|
||||
customiseFilter = element(by.id('adf-edit-task-filter-title-id'));
|
||||
selectedOption = element(by.css('mat-option[class*="mat-selected"]'));
|
||||
assignment = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-assignment"]'));
|
||||
statusBy = by.css('mat-select[data-automation-id="adf-cloud-edit-task-property-state"]');
|
||||
sortBy = by.css('mat-select[data-automation-id="adf-cloud-edit-task-property-sort"]');
|
||||
orderBy = by.css('mat-select[data-automation-id="adf-cloud-edit-task-property-order"]');
|
||||
|
||||
clickCustomiseFilterHeader() {
|
||||
Util.waitUntilElementIsVisible(this.customiseFilter);
|
||||
this.customiseFilter.click();
|
||||
return this;
|
||||
}
|
||||
|
||||
setStateFilterDropDown(option) {
|
||||
this.clickOnDropDownArrow(this.statusBy);
|
||||
|
||||
let stateElement = element.all(by.cssContainingText('mat-option span', option)).first();
|
||||
Util.waitUntilElementIsClickable(stateElement);
|
||||
Util.waitUntilElementIsVisible(stateElement);
|
||||
stateElement.click();
|
||||
return this;
|
||||
}
|
||||
|
||||
setSortFilterDropDown(option) {
|
||||
this.clickOnDropDownArrow(this.sortBy);
|
||||
|
||||
let sortElement = element.all(by.cssContainingText('mat-option span', option)).first();
|
||||
Util.waitUntilElementIsClickable(sortElement);
|
||||
Util.waitUntilElementIsVisible(sortElement);
|
||||
sortElement.click();
|
||||
return this;
|
||||
}
|
||||
|
||||
setOrderFilterDropDown(option) {
|
||||
this.clickOnDropDownArrow(this.orderBy);
|
||||
|
||||
let orderElement = element.all(by.cssContainingText('mat-option span', option)).first();
|
||||
Util.waitUntilElementIsClickable(orderElement);
|
||||
Util.waitUntilElementIsVisible(orderElement);
|
||||
orderElement.click();
|
||||
return this;
|
||||
}
|
||||
|
||||
clickOnDropDownArrow(option) {
|
||||
let dropDownArrow = element(option);
|
||||
Util.waitUntilElementIsVisible(dropDownArrow);
|
||||
dropDownArrow.click();
|
||||
Util.waitUntilElementIsVisible(this.selectedOption);
|
||||
}
|
||||
|
||||
setAssignment(option) {
|
||||
Util.waitUntilElementIsVisible(this.assignment);
|
||||
this.assignment.clear();
|
||||
this.assignment.sendKeys(option);
|
||||
this.assignment.sendKeys(protractor.Key.ENTER);
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
@@ -40,4 +40,8 @@ export class TaskListCloudComponent {
|
||||
return this.noTasksFound.getText();
|
||||
}
|
||||
|
||||
getAllRowsByColumn(column) {
|
||||
return this.dataTable.getAllRowsColumnValues(column);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -86,34 +86,34 @@ describe('Process filters cloud', () => {
|
||||
it('[C290043] Should display process in Running Processes List when process is started', () => {
|
||||
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
|
||||
processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
|
||||
expect(processCloudDemoPage.checkActiveFilterActive()).toBe('Running Processes');
|
||||
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
|
||||
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsDisplayed(runningProcess.entry.id);
|
||||
|
||||
processCloudDemoPage.completedProcessesFilter().clickProcessFilter();
|
||||
processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed();
|
||||
expect(processCloudDemoPage.checkActiveFilterActive()).toBe('Completed Processes');
|
||||
expect(processCloudDemoPage.getActiveFilterName()).toBe('Completed Processes');
|
||||
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsNotDisplayed(runningProcess.entry.id);
|
||||
|
||||
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
|
||||
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
|
||||
expect(processCloudDemoPage.checkActiveFilterActive()).toBe('All Processes');
|
||||
expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
|
||||
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsDisplayed(runningProcess.entry.id);
|
||||
});
|
||||
|
||||
it('[C290044] Should display process in Completed Processes List when process is completed', () => {
|
||||
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
|
||||
processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
|
||||
expect(processCloudDemoPage.checkActiveFilterActive()).toBe('Running Processes');
|
||||
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
|
||||
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsNotDisplayed(completedProcess.entry.id);
|
||||
|
||||
processCloudDemoPage.completedProcessesFilter().clickProcessFilter();
|
||||
processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed();
|
||||
expect(processCloudDemoPage.checkActiveFilterActive()).toBe('Completed Processes');
|
||||
expect(processCloudDemoPage.getActiveFilterName()).toBe('Completed Processes');
|
||||
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsDisplayed(completedProcess.entry.id);
|
||||
|
||||
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
|
||||
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
|
||||
expect(processCloudDemoPage.checkActiveFilterActive()).toBe('All Processes');
|
||||
expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
|
||||
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsDisplayed(completedProcess.entry.id);
|
||||
});
|
||||
});
|
||||
|
@@ -64,11 +64,11 @@ describe('Task filters cloud', () => {
|
||||
await tasksService.claimTask(task.entry.id, simpleApp);
|
||||
|
||||
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
|
||||
expect(tasksCloudDemoPage.checkActiveFilterActive()).toBe('Completed Tasks');
|
||||
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(newTask);
|
||||
|
||||
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
|
||||
expect(tasksCloudDemoPage.checkActiveFilterActive()).toBe('My Tasks');
|
||||
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
|
||||
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(newTask);
|
||||
});
|
||||
@@ -81,11 +81,11 @@ describe('Task filters cloud', () => {
|
||||
await tasksService.completeTask(task.entry.id, simpleApp);
|
||||
|
||||
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
|
||||
expect(tasksCloudDemoPage.checkActiveFilterActive()).toBe('My Tasks');
|
||||
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(completedTask);
|
||||
|
||||
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
|
||||
expect(tasksCloudDemoPage.checkActiveFilterActive()).toBe('Completed Tasks');
|
||||
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
|
||||
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(completedTask);
|
||||
});
|
||||
|
177
e2e/process-services-cloud/tasks-custom-filters.e2e.ts
Normal file
177
e2e/process-services-cloud/tasks-custom-filters.e2e.ts
Normal file
@@ -0,0 +1,177 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import TestConfig = require('../test.config');
|
||||
import resources = require('../util/resources');
|
||||
|
||||
import { LoginSSOPage } from '../pages/adf/loginSSOPage';
|
||||
import { SettingsPage } from '../pages/adf/settingsPage';
|
||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
import TasksListPage = require('../pages/adf/process_services/tasksListPage');
|
||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/tasksCloudDemoPage';
|
||||
import { AppListCloudComponent } from '../pages/adf/process-cloud/appListCloudComponent';
|
||||
|
||||
import AlfrescoApi = require('alfresco-js-api-node');
|
||||
import { Tasks } from '../actions/APS-cloud/tasks';
|
||||
import { ProcessDefinitions } from '../actions/APS-cloud/process-definitions';
|
||||
import { ProcessInstances } from '../actions/APS-cloud/process-instances';
|
||||
import { Query } from '../actions/APS-cloud/query';
|
||||
import { Util } from '../util/util';
|
||||
|
||||
describe('Task filters cloud', () => {
|
||||
|
||||
describe('Filters', () => {
|
||||
const settingsPage = new SettingsPage();
|
||||
const loginSSOPage = new LoginSSOPage();
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
const appListCloudComponent = new AppListCloudComponent();
|
||||
const tasksCloudDemoPage = new TasksCloudDemoPage();
|
||||
const tasksService: Tasks = new Tasks();
|
||||
const processDefinitionService: ProcessDefinitions = new ProcessDefinitions();
|
||||
const processInstancesService: ProcessInstances = new ProcessInstances();
|
||||
const queryService: Query = new Query();
|
||||
|
||||
let silentLogin;
|
||||
const createdTaskName = Util.generateRandomString(), completedTaskName = Util.generateRandomString(),
|
||||
assignedTaskName = Util.generateRandomString(), deletedTaskName = Util.generateRandomString();
|
||||
const simpleApp = 'simple-app';
|
||||
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
|
||||
let createdTask, assignedTask, completedTask, deletedTask;
|
||||
let orderByNameAndPriority = ['cCreatedTask', 'dCreatedTask', 'eCreatedTask'];
|
||||
let suspendedTasks, cancelledTasks;
|
||||
let priority = 30, nrOfTasks = 3;
|
||||
|
||||
beforeAll(async () => {
|
||||
silentLogin = false;
|
||||
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, silentLogin);
|
||||
loginSSOPage.clickOnSSOButton();
|
||||
loginSSOPage.loginAPS(user, password);
|
||||
|
||||
await tasksService.init(user, password);
|
||||
createdTask = await tasksService.createStandaloneTask(createdTaskName, simpleApp);
|
||||
|
||||
assignedTask = await tasksService.createStandaloneTask(assignedTaskName, simpleApp);
|
||||
await tasksService.claimTask(assignedTask.entry.id, simpleApp);
|
||||
completedTask = await tasksService.createAndCompleteTask(completedTaskName, simpleApp);
|
||||
deletedTask = await tasksService.createStandaloneTask(deletedTaskName, simpleApp);
|
||||
await tasksService.deleteTask(deletedTask.entry.id, simpleApp);
|
||||
for ( let i = 0; i < nrOfTasks; i++ ) {
|
||||
await tasksService.createStandaloneTask(orderByNameAndPriority[i], simpleApp, {priority: priority});
|
||||
priority = priority + 20;
|
||||
}
|
||||
|
||||
await processDefinitionService.init(user, password);
|
||||
let processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
|
||||
await processInstancesService.init(user, password);
|
||||
let processInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
|
||||
let secondProcessInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
|
||||
await queryService.init(user, password);
|
||||
suspendedTasks = await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp);
|
||||
cancelledTasks = await queryService.getProcessInstanceTasks(secondProcessInstance.entry.id, simpleApp);
|
||||
await processInstancesService.suspendProcessInstance(processInstance.entry.id, simpleApp);
|
||||
await processInstancesService.deleteProcessInstance(secondProcessInstance.entry.id, simpleApp);
|
||||
await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp);
|
||||
});
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await navigationBarPage.navigateToProcessServicesCloudPage();
|
||||
appListCloudComponent.checkApsContainer();
|
||||
await appListCloudComponent.goToApp(simpleApp);
|
||||
done();
|
||||
});
|
||||
|
||||
it('[C290045] Should display only tasks with Assigned state when Assigned is selected from state dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStateFilterDropDown('ASSIGNED');
|
||||
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(assignedTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(createdTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(completedTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(deletedTaskName);
|
||||
});
|
||||
|
||||
it('[C290061] Should display only tasks with Completed state when Completed is selected from state dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStateFilterDropDown('COMPLETED');
|
||||
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(completedTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(assignedTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(createdTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(deletedTaskName);
|
||||
});
|
||||
|
||||
it('[C290139] Should display only tasks with all states when All is selected from state dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setAssignment(' ')
|
||||
.setStateFilterDropDown('ALL');
|
||||
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(deletedTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(assignedTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(createdTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(completedTaskName);
|
||||
});
|
||||
|
||||
it('[C290069] Should display tasks ordered by name when Name is selected from sort dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStateFilterDropDown('ASSIGNED')
|
||||
.setSortFilterDropDown('NAME').setOrderFilterDropDown('ASC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().getAllRowsNameColumn().then( (list) => {
|
||||
|
||||
let initialList = list.slice(0);
|
||||
list.sort();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().getAllRowsNameColumn().then( (list) => {
|
||||
let initialList = list.slice(0);
|
||||
list.sort();
|
||||
list.reverse();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
});
|
||||
|
||||
it('[C290156] Should display tasks ordered by id when Id is selected from sort dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStateFilterDropDown('ASSIGNED')
|
||||
.setSortFilterDropDown('ID').setOrderFilterDropDown('ASC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
|
||||
tasksCloudDemoPage.getAllRowsByIdColumn().then( (list) => {
|
||||
let initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
tasksCloudDemoPage.getAllRowsByIdColumn().then( (list) => {
|
||||
let initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
list.reverse();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
Reference in New Issue
Block a user