[ADF-3995]Implemented test cases for preserved value for process filter (#4353)

* Implemented test cases for preserved value for process filter

* Update process-custom-filters.e2e.ts
This commit is contained in:
cristinaj
2019-02-27 11:11:14 +02:00
committed by Eugenio Romano
parent 49edeb7468
commit bfe046637a
4 changed files with 157 additions and 1 deletions

View File

@@ -69,4 +69,11 @@ export class ConfigEditorPage {
Util.waitUntilElementIsClickable(button);
return button.click();
}
clickEditProcessCloudConfiguration() {
let button = element(by.id('adf-edit-process-filter-conf'));
Util.waitUntilElementIsVisible(button);
Util.waitUntilElementIsClickable(button);
return button.click();
}
}

View File

@@ -0,0 +1,82 @@
/*!
* @license
* Copyright 2019 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 { by, element } from 'protractor';
import { Util } from '../../../util/util';
export class EditProcessFilterDialog {
componentElement = element(by.css('adf-cloud-process-filter-dialog-cloud'));
title = element(by.id('adf-process-filter-dialog-title'));
filterNameInput = element(by.id('adf-filter-name-id'));
saveButtonLocator = by.id('adf-save-button-id');
cancelButtonLocator = by.id('adf-cancel-button-id');
clickOnSaveButton() {
let saveButton = this.componentElement.element(this.saveButtonLocator);
Util.waitUntilElementIsVisible(saveButton);
saveButton.click();
Util.waitUntilElementIsNotVisible(this.componentElement);
return this;
}
checkSaveButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.componentElement.element(this.saveButtonLocator));
return this.componentElement.element(this.saveButtonLocator).isEnabled();
}
clickOnCancelButton() {
let cancelButton = this.componentElement.element(this.cancelButtonLocator);
Util.waitUntilElementIsVisible(cancelButton);
cancelButton.click();
Util.waitUntilElementIsNotVisible(this.componentElement);
return this;
}
checkCancelButtonIsEnabled() {
Util.waitUntilElementIsVisible(this.componentElement.element(this.cancelButtonLocator));
return this.componentElement.element(this.cancelButtonLocator).isEnabled();
}
getFilterName() {
Util.waitUntilElementIsVisible(this.filterNameInput);
return this.filterNameInput.getAttribute('value');
}
setFilterName(filterName) {
this.clearFilterName();
this.filterNameInput.sendKeys(filterName);
return this;
}
clearFilterName() {
Util.waitUntilElementIsVisible(this.filterNameInput);
this.filterNameInput.click();
this.filterNameInput.getAttribute('value').then((value) => {
for (let i = value.length; i >= 0; i--) {
this.filterNameInput.sendKeys(protractor.Key.BACK_SPACE);
}
});
return this;
}
getTitle() {
Util.waitUntilElementIsVisible(this.title);
return this.title.getText();
}
}

View File

@@ -16,11 +16,19 @@
*/
import { Util } from '../../../util/util';
import { by, element } from 'protractor';
import { EditProcessFilterDialog } from '../dialog/editProcessFilterDialog';
export class EditProcessFilterCloudComponent {
customiseFilter = element(by.id('adf-edit-process-filter-title-id'));
selectedOption = element(by.css('mat-option[class*="mat-selected"]'));
saveAsButton = element(by.css('button[id="adf-save-as-id"]'));
editProcessFilter = new EditProcessFilterDialog();
editProcessFilterDialog() {
return this.editProcessFilter;
}
clickCustomiseFilterHeader() {
Util.waitUntilElementIsVisible(this.customiseFilter);
@@ -59,9 +67,39 @@ export class EditProcessFilterCloudComponent {
}
clickOnDropDownArrow(option) {
let dropDownArrow = element(by.css("mat-form-field[data-automation-id='" + option + "'] div[class*='arrow']"));
let dropDownArrow = element.all(by.css("mat-form-field[data-automation-id='" + option + "'] div[class*='arrow']")).first();
Util.waitUntilElementIsVisible(dropDownArrow);
dropDownArrow.click();
Util.waitUntilElementIsVisible(this.selectedOption);
}
setProcessInstanceId(option) {
return this.setProperty('processInstanceId', option);
}
getProcessInstanceId() {
return this.getProperty('processInstanceId');
}
getProperty(property) {
let locator = element.all(by.css('input[data-automation-id="adf-cloud-edit-process-property-' + property + '"]')).first();
Util.waitUntilElementIsVisible(locator);
return locator.getAttribute('value');
}
setProperty(property, option) {
let locator = element.all(by.css('input[data-automation-id="adf-cloud-edit-process-property-' + property + '"]')).first();
Util.waitUntilElementIsVisible(locator);
locator.clear();
locator.sendKeys(option);
locator.sendKeys(protractor.Key.ENTER);
return this;
}
clickSaveAsButton() {
Util.waitUntilElementIsClickable(this.saveAsButton);
Util.waitUntilElementIsVisible(this.saveAsButton);
this.saveAsButton.click();
return this.editProcessFilter;
}
}

View File

@@ -23,6 +23,7 @@ import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { AppListCloudComponent } from '../pages/adf/process-cloud/appListCloudComponent';
import { ConfigEditorPage } from '../pages/adf/configEditorPage';
import { ProcessDefinitions } from '../actions/APS-cloud/process-definitions';
import { ProcessInstances } from '../actions/APS-cloud/process-instances';
@@ -32,6 +33,7 @@ import { Query } from '../actions/APS-cloud/query';
describe('Process list cloud', () => {
describe('Process List', () => {
const configEditorPage = new ConfigEditorPage();
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
@@ -55,6 +57,16 @@ describe('Process list cloud', () => {
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginAPS(user, password);
navigationBarPage.clickConfigEditorButton();
configEditorPage.clickEditProcessCloudConfiguration();
configEditorPage.clickClearButton();
configEditorPage.enterConfiguration('{' +
'"properties": [' +
'"state",' + '"processInstanceId",' + '"sort",' + '"order"' +
']' +
'}');
configEditorPage.clickSaveButton();
await processDefinitionService.init(user, password);
let processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
await processInstancesService.init(user, password);
@@ -119,6 +131,23 @@ describe('Process list cloud', () => {
});
});
it('[C297697] The value of the filter should be preserved when saving it', async() => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader()
.setProcessInstanceId(completedProcess.entry.id);
processCloudDemoPage.processListCloudComponent().getDataTable().checkSpinnerIsDisplayed().checkSpinnerIsNotDisplayed();
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getAllDisplayedRows()).toBe(1);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(completedProcess.entry.id);
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();
expect(processCloudDemoPage.getActiveFilterName()).toBe('New');
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader();
expect(processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(completedProcess.entry.id);
});
});
});