e2e: Improve cloud custom filters

* Improve cloud custom filters
This commit is contained in:
Cristina Jalba
2021-05-25 16:30:54 +03:00
committed by GitHub
parent bbbdcbdaa5
commit 12c3fec51a
10 changed files with 64 additions and 65 deletions

View File

@@ -32,6 +32,7 @@ export interface FilterProps {
export class EditProcessFilterCloudComponentPage {
rootElement = element.all(by.css('adf-cloud-edit-process-filter')).first();
customiseFilter = element(by.id('adf-edit-process-filter-sub-title-id'));
saveButton = element(by.css('button[data-automation-id="adf-filter-action-save"]'));
saveAsButton = element(by.css('button[data-automation-id="adf-filter-action-saveAs"]'));
@@ -43,6 +44,8 @@ export class EditProcessFilterCloudComponentPage {
private locatorSortDropdown = element(by.css(`mat-select[data-automation-id='adf-cloud-edit-process-property-sort']`));
private locatorOrderDropdown = element(by.css(`mat-select[data-automation-id='adf-cloud-edit-process-property-order']`));
private locatorProcessDefinitionNameDropdown = element(by.css(`mat-select[data-automation-id='adf-cloud-edit-process-property-processDefinitionName']`));
private expansionPanelExtended = this.rootElement.element(by.css('mat-expansion-panel-header.mat-expanded'));
private content = this.rootElement.element(by.css('div.mat-expansion-panel-content[style*="visible"]'));
appNameDropdown = new DropdownPage(this.locatorAppNameDropdown);
statusDropdown = new DropdownPage(this.locatorStatusDropdown);
@@ -62,22 +65,24 @@ export class EditProcessFilterCloudComponentPage {
}
async openFilter(): Promise<void> {
await this.isFilterDisplayed();
await BrowserActions.click(this.customiseFilter);
await browser.driver.sleep(5000);
}
async expandFilter(): Promise<void> {
await this.isFilterDisplayed();
await BrowserActions.click(this.customiseFilter);
await this.checkHeaderIsExpanded();
}
async checkHeaderIsExpanded(): Promise<void> {
const expansionPanelExtended = element.all(by.css('mat-expansion-panel-header.mat-expanded')).first();
await BrowserVisibility.waitUntilElementIsVisible(expansionPanelExtended);
const content = element.all(by.css('div.mat-expansion-panel-content[style*="visible"]')).first();
await BrowserVisibility.waitUntilElementIsVisible(content);
await BrowserVisibility.waitUntilElementIsVisible(this.expansionPanelExtended);
await BrowserVisibility.waitUntilElementIsVisible(this.content);
}
async closeFilter(): Promise<void> {
await BrowserActions.click(this.customiseFilter);
await this.checkHeaderIsCollapsed();
}
async checkHeaderIsCollapsed(): Promise<void> {
await BrowserVisibility.waitUntilElementIsNotVisible(this.expansionPanelExtended, 1000);
await BrowserVisibility.waitUntilElementIsNotVisible(this.content, 1000);
}
setStatusFilterDropDown(option: string): Promise<void> {
@@ -224,13 +229,13 @@ export class EditProcessFilterCloudComponentPage {
}
async setFilter(props: FilterProps): Promise<void> {
await this.expandFilter();
await this.openFilter();
if (props.name) { await this.setProcessName(props.name); }
if (props.status) { await this.setStatusFilterDropDown(props.status); }
if (props.sort) { await this.setSortFilterDropDown(props.sort); }
if (props.order) { await this.setOrderFilterDropDown(props.order); }
if (props.initiator) { await this.setInitiator(props.initiator); }
if (props.processName) { await this.setProcessName(props.processName); }
await this.openFilter();
await this.closeFilter();
}
}

View File

@@ -28,6 +28,7 @@ export type StatusType = 'All' | 'Created' | 'Assigned' | 'Cancelled' | 'Suspend
export class EditTaskFilterCloudComponentPage {
rootElement = element.all(by.css('adf-cloud-edit-task-filter')).first();
customiseFilter = element(by.id('adf-edit-task-filter-sub-title-id'));
assignee = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-assignee"]'));
priority = element(by.css('[data-automation-id="adf-cloud-edit-task-property-priority"]'));
@@ -50,6 +51,8 @@ export class EditTaskFilterCloudComponentPage {
private locatorOrderDropdown = element(by.css(`mat-select[data-automation-id='adf-cloud-edit-task-property-order']`));
private locatorCompletedDateDropdown = element(by.css(`mat-select[data-automation-id="adf-cloud-edit-process-property-completedDateRange"]`));
private locatorAssignmentDropdown = element(by.css(`.adf-task-assignment-filter`));
private expansionPanelExtended = this.rootElement.element(by.css('mat-expansion-panel-header.mat-expanded'));
private content = this.rootElement.element(by.css('div.mat-expansion-panel-content[style*="visible"]'));
appNameDropdown = new DropdownPage(this.locatorAppNameDropdown);
statusDropdown = new DropdownPage(this.locatorStatusDropdown);
@@ -74,21 +77,24 @@ export class EditTaskFilterCloudComponentPage {
}
async openFilter(): Promise<void> {
await BrowserActions.click(this.customiseFilter);
await browser.driver.sleep(1000);
}
async expandFilter(): Promise<void> {
await this.isFilterDisplayed();
await BrowserActions.click(this.customiseFilter);
await this.checkHeaderIsExpanded();
}
async closeFilter(): Promise<void> {
await BrowserActions.click(this.customiseFilter);
await this.checkHeaderIsCollapsed();
}
async checkHeaderIsExpanded(): Promise<void> {
const expansionPanelExtended = element.all(by.css('mat-expansion-panel-header.mat-expanded')).first();
await BrowserVisibility.waitUntilElementIsVisible(expansionPanelExtended);
const content = element.all(by.css('div.mat-expansion-panel-content[style*="visible"]')).first();
await BrowserVisibility.waitUntilElementIsVisible(content);
await BrowserVisibility.waitUntilElementIsVisible(this.expansionPanelExtended);
await BrowserVisibility.waitUntilElementIsVisible(this.content);
}
async checkHeaderIsCollapsed(): Promise<void> {
await BrowserVisibility.waitUntilElementIsNotVisible(this.expansionPanelExtended, 1000);
await BrowserVisibility.waitUntilElementIsNotVisible(this.content, 1000);
}
async setStatusFilterDropDown(option: StatusType): Promise<void> {