diff --git a/lib/testing/src/lib/core/pages/form/form-fields.ts b/lib/testing/src/lib/core/pages/form/form-fields.ts index 7189cb2d86..0839618943 100644 --- a/lib/testing/src/lib/core/pages/form/form-fields.ts +++ b/lib/testing/src/lib/core/pages/form/form-fields.ts @@ -27,9 +27,11 @@ export class FormFields { valueLocator: Locator = by.css('input'); labelLocator: Locator = by.css('label'); noFormMessage: ElementFinder = element(by.css('.adf-empty-content__title')); + noFormTemplate: ElementFinder = element(by.css('adf-empty-content')); completedTaskNoFormMessage: ElementFinder = element(by.css('div[id*="completed-form-message"] p')); attachFormButton: ElementFinder = element(by.id('adf-attach-form-attach-button')); completeButton: ElementFinder = element(by.id('adf-form-complete')); + cancelButton: ElementFinder = element(by.css('#adf-no-form-cancel-button')); errorMessage: Locator = by.css('.adf-error-text-container .adf-error-text'); selectFormDropdown = new DropdownPage(element.all(by.css('adf-attach-form div[class*="mat-select-arrow"]')).first()); @@ -104,6 +106,17 @@ export class FormFields { await BrowserActions.click(this.saveButton); } + async isNoFormTemplateDisplayed(): Promise { + try { + await BrowserVisibility.waitUntilElementIsVisible( + this.noFormTemplate + ); + return true; + } catch (error) { + return false; + } + } + async noFormIsDisplayed(): Promise { await BrowserVisibility.waitUntilElementIsNotVisible(this.formContent); } @@ -153,4 +166,28 @@ export class FormFields { await BrowserVisibility.waitUntilElementIsVisible(this.completeButton); return this.completeButton.getAttribute('disabled'); } + + async isCancelButtonDisplayed(): Promise { + try { + await BrowserVisibility.waitUntilElementIsVisible( + this.cancelButton + ); + return true; + } catch (error) { + return false; + } + } + + async isCancelButtonEnabled(): Promise { + try { + await this.cancelButton.isEnabled(); + return true; + } catch (error) { + return false; + } + } + + async clickCancelButton(): Promise { + await BrowserActions.click(this.cancelButton); + } } diff --git a/lib/testing/src/lib/process-services/pages/task-list.page.ts b/lib/testing/src/lib/process-services/pages/task-list.page.ts index 55edcaeb7d..29ac820eaa 100644 --- a/lib/testing/src/lib/process-services/pages/task-list.page.ts +++ b/lib/testing/src/lib/process-services/pages/task-list.page.ts @@ -21,10 +21,19 @@ import { BrowserActions } from '../../core/utils/browser-actions'; import { element, by, ElementFinder } from 'protractor'; export class TaskListPage { + rootElement: ElementFinder; + dataTable: DataTableComponentPage; + noTasksFound: ElementFinder; - noTasksFound: ElementFinder = element(by.css('div[class="adf-empty-content__title"]')); - taskList: ElementFinder = element(by.css('adf-tasklist')); - dataTable: DataTableComponentPage = new DataTableComponentPage(this.taskList); + constructor( + rootElement: ElementFinder = element.all(by.css('adf-tasklist')).first() + ) { + this.rootElement = rootElement; + this.dataTable = new DataTableComponentPage(this.rootElement); + this.noTasksFound = this.rootElement.element( + by.css('div[class="adf-empty-content__title"]') + ); + } getDataTable() { return this.dataTable; @@ -43,7 +52,7 @@ export class TaskListPage { } async checkTaskListIsLoaded(): Promise { - await BrowserVisibility.waitUntilElementIsVisible(this.taskList); + await BrowserVisibility.waitUntilElementIsVisible(this.rootElement); } getNoTasksFoundMessage(): Promise {