From 9276333352cdabfd3baaf711e5b043b3ac3a3e77 Mon Sep 17 00:00:00 2001 From: Alexandra Abrudan <55090252+AleAb25@users.noreply.github.com> Date: Thu, 6 Feb 2020 01:18:30 +0000 Subject: [PATCH] [AAE-1453] added e2e tests for checking different configurations for people/group cloud widgets (#5446) --- .../process-services/formDemoPage.ts | 3 +- .../form-field/date-widget.e2e.ts | 5 +- .../form-field/people-group-of-people.e2e.ts | 54 ++++++-- .../visibility-condition-tabs.e2e.ts | 5 +- .../form-field/visibility-condition.e2e.ts | 5 +- ...on.ts => people-group-formwidget-mocks.ts} | 118 ++++++++++++++++-- .../src/lib/core/pages/config-editor-page.ts | 3 +- lib/testing/src/lib/core/pages/public-api.ts | 1 + .../pages/form-cloud-component.page.ts | 7 +- .../pages/group-cloud-component.page.ts | 26 +++- .../pages/people-cloud-component.page.ts | 27 +++- .../pages/public-api.ts | 1 + 12 files changed, 213 insertions(+), 42 deletions(-) rename e2e/resources/forms/{people-group-formwidget-json.ts => people-group-formwidget-mocks.ts} (74%) rename e2e/pages/adf/configEditorPage.ts => lib/testing/src/lib/core/pages/config-editor-page.ts (93%) rename e2e/pages/adf/demo-shell/process-services-cloud/cloudFormDemoPage.ts => lib/testing/src/lib/process-services-cloud/pages/form-cloud-component.page.ts (86%) diff --git a/e2e/pages/adf/demo-shell/process-services/formDemoPage.ts b/e2e/pages/adf/demo-shell/process-services/formDemoPage.ts index 634355e3d5..363a56507f 100644 --- a/e2e/pages/adf/demo-shell/process-services/formDemoPage.ts +++ b/e2e/pages/adf/demo-shell/process-services/formDemoPage.ts @@ -15,8 +15,7 @@ * limitations under the License. */ -import { ConfigEditorPage } from '../../configEditorPage'; -import { BrowserActions, BrowserVisibility } from '@alfresco/adf-testing'; +import { BrowserActions, BrowserVisibility, ConfigEditorPage } from '@alfresco/adf-testing'; import { by, element, ElementFinder } from 'protractor'; export class FormDemoPage { diff --git a/e2e/process-services-cloud/form-field/date-widget.e2e.ts b/e2e/process-services-cloud/form-field/date-widget.e2e.ts index be0fa9d9bb..26acee9155 100644 --- a/e2e/process-services-cloud/form-field/date-widget.e2e.ts +++ b/e2e/process-services-cloud/form-field/date-widget.e2e.ts @@ -17,18 +17,17 @@ import { LoginSSOPage, - BrowserActions, FormPage, ProcessCloudWidgetPage + BrowserActions, FormPage, ProcessCloudWidgetPage, FormCloudComponentPage } from '@alfresco/adf-testing'; import { browser } from 'protractor'; import { customDateFormAPS2 } from '../../resources/forms/custom-date-form'; -import { FormCloudDemoPage } from '../../pages/adf/demo-shell/process-services-cloud/cloudFormDemoPage'; describe('Form Field Component - Dropdown Widget', () => { const loginSSOPage = new LoginSSOPage(); const widget = new ProcessCloudWidgetPage(); const dateWidget = widget.dateWidget(); - const formDemoPage = new FormCloudDemoPage(); + const formDemoPage = new FormCloudComponentPage(); const formJson = JSON.parse(customDateFormAPS2); const formPage = new FormPage(); diff --git a/e2e/process-services-cloud/form-field/people-group-of-people.e2e.ts b/e2e/process-services-cloud/form-field/people-group-of-people.e2e.ts index 2589445e25..e871a8b5f1 100644 --- a/e2e/process-services-cloud/form-field/people-group-of-people.e2e.ts +++ b/e2e/process-services-cloud/form-field/people-group-of-people.e2e.ts @@ -16,20 +16,29 @@ */ import { + FormCloudComponentPage, FormPage, LoginSSOPage, ProcessCloudWidgetPage } from '@alfresco/adf-testing'; import { browser } from 'protractor'; -import { FormCloudDemoPage } from '../../pages/adf/demo-shell/process-services-cloud/cloudFormDemoPage'; -import { peopleJson, peopleMultipleModeJson, peopleRequiredJson, groupSingleJson, groupMultipleJson, groupRequiredJson } from '../../resources/forms/people-group-formwidget-json'; +import { + peopleSingleModeFormMock, + peopleMultipleModeFormMock, + peopleRequiredFormMock, + groupSingleModeFormMock, + groupMultipleModeFormMock, + groupRequiredFormMock, + peopleReadOnlyFormMock, + groupReadOnlyFormMock +} from '../../resources/forms/people-group-formwidget-mocks'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; describe('People and Group of people Widgets', () => { const loginSSOPage = new LoginSSOPage(); const navigationBarPage = new NavigationBarPage(); - const formCloudDemoPage = new FormCloudDemoPage(); + const formCloudComponentPage = new FormCloudComponentPage(); const widget = new ProcessCloudWidgetPage(); const peopleCloudWidget = widget.peopleCloudWidget(); const groupCloudWidget = widget.groupCloudWidget(); @@ -72,7 +81,8 @@ describe('People and Group of people Widgets', () => { }); it('[C325002] Should be able to add a user in People field when Single mode is chosen', async () => { - await formCloudDemoPage.setConfigToEditor(peopleJson); + await formCloudComponentPage.setConfigToEditor(peopleSingleModeFormMock); + await peopleCloudWidget.clickPeopleInput(widgets.peopleCloudWidgetSingleModeId); await peopleCloudWidget.isPeopleWidgetVisible(peopleValueString.peopleCloudWidgetSingleModeField); const peopleSingleMode = await peopleCloudWidget.getFieldValue(widgets.peopleCloudWidgetSingleModeId); @@ -83,7 +93,8 @@ describe('People and Group of people Widgets', () => { }); it('[C325122] Should be able to add multiple users in People field when Multiple mode is chosen', async () => { - await formCloudDemoPage.setConfigToEditor(peopleMultipleModeJson); + await formCloudComponentPage.setConfigToEditor(peopleMultipleModeFormMock); + await peopleCloudWidget.clickPeopleInput(widgets.peopleCloudWidgetMultipleModeId); await peopleCloudWidget.isPeopleWidgetVisible(peopleValueString.peopleCloudWidgetMultipleModeField); const peopleMultipleMode = await peopleCloudWidget.getFieldValue(widgets.peopleCloudWidgetMultipleModeId); @@ -95,8 +106,19 @@ describe('People and Group of people Widgets', () => { await peopleCloudWidget.checkSelectedPeople('Sales User'); }); + it('[C325182] Should not be able to type in the People field if the readOnly option is checked', async () => { + await formCloudComponentPage.setConfigToEditor(peopleReadOnlyFormMock); + + const readOnlyAttribute = await peopleCloudWidget.checkPeopleWidgetIsReadOnly(); + const activePeopleField = await peopleCloudWidget.checkPeopleActiveField('HR User'); + + await expect (readOnlyAttribute).toBe(true); + await expect (activePeopleField).toBe(false); + }); + it('[C325004] Should be able to save only for valid input in the People field if the Required option is selected ', async () => { - await formCloudDemoPage.setConfigToEditor(peopleRequiredJson); + await formCloudComponentPage.setConfigToEditor(peopleRequiredFormMock); + await peopleCloudWidget.isPeopleWidgetVisible(peopleValueString.peopleCloudWidgetRequiredField); await expect(await formPage.isSaveButtonDisabled()).toBe(true); await expect(await formPage.isValidationIconRed()).toBe(true); @@ -111,7 +133,8 @@ describe('People and Group of people Widgets', () => { }); it('[C325003] Should be able to add a user in Group of people field when Single mode is chosen', async () => { - await formCloudDemoPage.setConfigToEditor(groupSingleJson); + await formCloudComponentPage.setConfigToEditor(groupSingleModeFormMock); + await groupCloudWidget.isGroupWidgetVisible(groupValueString.groupCloudWidgetSingleModeField); const groupSingleMode = await groupCloudWidget.getGroupsFieldContent(); await expect(groupSingleMode).toEqual(''); @@ -122,7 +145,8 @@ describe('People and Group of people Widgets', () => { }); it('[C325123] Should be able to add multiple users in Group of people field when Multiple mode is chosen', async () => { - await formCloudDemoPage.setConfigToEditor(groupMultipleJson); + await formCloudComponentPage.setConfigToEditor(groupMultipleModeFormMock); + await groupCloudWidget.isGroupWidgetVisible(groupValueString.groupCloudWidgetMultipleModeField); const groupSingleMode = await groupCloudWidget.getGroupsFieldContent(); await expect(groupSingleMode).toEqual(''); @@ -135,8 +159,19 @@ describe('People and Group of people Widgets', () => { await groupCloudWidget.checkSelectedGroup('sales'); }); + it('[C325183] Should not be able to type in the Group field if the readOnly option is checked', async () => { + await formCloudComponentPage.setConfigToEditor(groupReadOnlyFormMock); + + const readOnlyGroupAttribute = await groupCloudWidget.checkGroupWidgetIsReadOnly(); + const activeGroupField = await groupCloudWidget.checkGroupActiveField('hr'); + + await expect (readOnlyGroupAttribute).toBe(true); + await expect (activeGroupField).toBe(false); + }); + it('[C325005] Should be able to save only for valid input in the Group of people field if the Required option is selected', async () => { - await formCloudDemoPage.setConfigToEditor(groupRequiredJson); + await formCloudComponentPage.setConfigToEditor(groupRequiredFormMock); + await groupCloudWidget.isGroupWidgetVisible(groupValueString.groupCloudWidgetRequiredField); await expect(await formPage.isSaveButtonDisabled()).toBe(true); await expect(await formPage.isValidationIconRed()).toBe(true); @@ -150,4 +185,5 @@ describe('People and Group of people Widgets', () => { await expect(await formPage.isSaveButtonDisabled()).toBe(false); await expect(await formPage.isValidationIconBlue()).toBe(true); }); + }); diff --git a/e2e/process-services-cloud/form-field/visibility-condition-tabs.e2e.ts b/e2e/process-services-cloud/form-field/visibility-condition-tabs.e2e.ts index c09333dc70..483a302157 100644 --- a/e2e/process-services-cloud/form-field/visibility-condition-tabs.e2e.ts +++ b/e2e/process-services-cloud/form-field/visibility-condition-tabs.e2e.ts @@ -15,12 +15,11 @@ * limitations under the License. */ -import { LoginSSOPage, ProcessCloudWidgetPage } from '@alfresco/adf-testing'; +import { FormCloudComponentPage, LoginSSOPage, ProcessCloudWidgetPage } from '@alfresco/adf-testing'; import { browser } from 'protractor'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; -import { FormCloudDemoPage } from '../../pages/adf/demo-shell/process-services-cloud/cloudFormDemoPage'; import { tabFieldValueVisibilityJson, tabVarValueVisibilityJson, tabVarFieldVisibilityJson, tabFieldFieldVisibilityJson, tabFieldVarVisibilityJson, tabVarVarVisibilityJson, tabNextOperatorsVisibilityJson } from '../../resources/forms/tab-visibility-conditions'; @@ -30,7 +29,7 @@ describe('Visibility conditions on tabs - cloud', () => { const loginSSOPage = new LoginSSOPage(); const navigationBarPage = new NavigationBarPage(); - const formCloudDemoPage = new FormCloudDemoPage(); + const formCloudDemoPage = new FormCloudComponentPage(); const widget = new ProcessCloudWidgetPage(); const widgets = { diff --git a/e2e/process-services-cloud/form-field/visibility-condition.e2e.ts b/e2e/process-services-cloud/form-field/visibility-condition.e2e.ts index 9aaf18540f..0c12d60d8b 100644 --- a/e2e/process-services-cloud/form-field/visibility-condition.e2e.ts +++ b/e2e/process-services-cloud/form-field/visibility-condition.e2e.ts @@ -15,12 +15,11 @@ * limitations under the License. */ -import { LoginSSOPage, ProcessCloudWidgetPage } from '@alfresco/adf-testing'; +import { FormCloudComponentPage, LoginSSOPage, ProcessCloudWidgetPage } from '@alfresco/adf-testing'; import { browser } from 'protractor'; import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; -import { FormCloudDemoPage } from '../../pages/adf/demo-shell/process-services-cloud/cloudFormDemoPage'; import { checkboxVisibilityFormJson, multipleCheckboxVisibilityFormJson } from '../../resources/forms/checkbox-visibility-condition'; import { multipleVisibilityFormJson } from '../../resources/forms/multiple-visibility-conditions'; import { displayValueTextJson } from '../../resources/forms/displayValue-visibilityConditions'; @@ -30,7 +29,7 @@ describe('Visibility conditions - cloud', () => { const loginSSOPage = new LoginSSOPage(); const navigationBarPage = new NavigationBarPage(); - const formCloudDemoPage = new FormCloudDemoPage(); + const formCloudDemoPage = new FormCloudComponentPage(); const widget = new ProcessCloudWidgetPage(); let visibleCheckbox; diff --git a/e2e/resources/forms/people-group-formwidget-json.ts b/e2e/resources/forms/people-group-formwidget-mocks.ts similarity index 74% rename from e2e/resources/forms/people-group-formwidget-json.ts rename to e2e/resources/forms/people-group-formwidget-mocks.ts index b579c74e09..3fec3ae095 100644 --- a/e2e/resources/forms/people-group-formwidget-json.ts +++ b/e2e/resources/forms/people-group-formwidget-mocks.ts @@ -16,7 +16,7 @@ */ /* tslint:disable */ -export const peopleJson = { +export const peopleSingleModeFormMock = { "formRepresentation": { "id": "form-d74a4136-af83-4333-ac37-a6a74ac7aa84", "name": "singlepeople", @@ -60,7 +60,7 @@ export const peopleJson = { } }; -export const peopleMultipleModeJson = { +export const peopleMultipleModeFormMock = { "formRepresentation": { "id": "form-0fec4293-a33a-4408-923c-ba2d0645459c", "name": "people", @@ -111,7 +111,7 @@ export const peopleMultipleModeJson = { } }; -export const peopleRequiredJson = { +export const peopleRequiredFormMock = { "formRepresentation": { "id": "form-0fec4293-a33a-4408-923c-ba2d0645459c", "name": "people", @@ -162,7 +162,7 @@ export const peopleRequiredJson = { } }; -export const groupSingleJson = { +export const groupSingleModeFormMock = { "formRepresentation": { "id": "form-0fec4293-a33a-4408-923c-ba2d0645459c", "name": "people", @@ -213,7 +213,7 @@ export const groupSingleJson = { } }; -export const groupMultipleJson = { +export const groupMultipleModeFormMock = { "formRepresentation": { "id": "form-0fec4293-a33a-4408-923c-ba2d0645459c", "name": "people", @@ -262,9 +262,9 @@ export const groupMultipleJson = { ] } } -} +}; -export const groupRequiredJson = { +export const groupRequiredFormMock = { "formRepresentation": { "id": "form-0fec4293-a33a-4408-923c-ba2d0645459c", "name": "people", @@ -313,4 +313,106 @@ export const groupRequiredJson = { ] } } -} +}; + +export const peopleReadOnlyFormMock = { + "formRepresentation": { + "id": "form-0fec4293-a33a-4408-923c-ba2d0645459c", + "name": "people", + "description": "", + "version": 0, + "standAlone": true, + "formDefinition": { + "tabs": [], + "fields": [ + { + "id": "44e485d4-c286-425a-b488-3fda1707d319", + "name": "Label", + "type": "container", + "tab": null, + "numberOfColumns": 2, + "fields": { + "1": [ + { + "id": "PeopleReadOnly", + "name": "People", + "type": "people", + "readOnly": true, + "required": false, + "colspan": 1, + "optionType": "single", + "visibilityCondition": null, + "params": { + "existingColspan": 1, + "maxColspan": 2 + } + } + ], + "2": [] + } + } + ], + "outcomes": [], + "metadata": {}, + "variables": [ + { + "id": "d6060d6b-1cb0-45dc-a18b-4d7898a9a5ad", + "name": "people", + "type": "string", + "value": "user1" + } + ] + } + } +}; + +export const groupReadOnlyFormMock = { + "formRepresentation": { + "id": "form-0fec4293-a33a-4408-923c-ba2d0645459c", + "name": "people", + "description": "", + "version": 0, + "standAlone": true, + "formDefinition": { + "tabs": [], + "fields": [ + { + "id": "abccf2c9-b526-45c7-abd4-b969bdf8ce15", + "name": "Label", + "type": "container", + "tab": null, + "numberOfColumns": 2, + "fields": { + "1": [ + { + "id": "GroupReadOnly", + "name": "Group of people", + "type": "functional-group", + "readOnly": true, + "required": false, + "colspan": 1, + "optionType": "single", + "visibilityCondition": null, + "params": { + "existingColspan": 1, + "maxColspan": 2 + } + } + ], + "2": [] + } + } + ], + "outcomes": [], + "metadata": {}, + "variables": [ + { + "id": "d6060d6b-1cb0-45dc-a18b-4d7898a9a5ad", + "name": "people", + "type": "string", + "value": "user1" + } + ] + } + } +}; diff --git a/e2e/pages/adf/configEditorPage.ts b/lib/testing/src/lib/core/pages/config-editor-page.ts similarity index 93% rename from e2e/pages/adf/configEditorPage.ts rename to lib/testing/src/lib/core/pages/config-editor-page.ts index b5f71a3946..ab0da2c2b2 100644 --- a/e2e/pages/adf/configEditorPage.ts +++ b/lib/testing/src/lib/core/pages/config-editor-page.ts @@ -16,7 +16,8 @@ */ import { element, by, browser, ElementFinder } from 'protractor'; -import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing'; +import { BrowserVisibility } from '../utils/browser-visibility'; +import { BrowserActions } from '../utils/browser-actions'; export class ConfigEditorPage { diff --git a/lib/testing/src/lib/core/pages/public-api.ts b/lib/testing/src/lib/core/pages/public-api.ts index bdfa857c8e..7e982a72f0 100644 --- a/lib/testing/src/lib/core/pages/public-api.ts +++ b/lib/testing/src/lib/core/pages/public-api.ts @@ -29,3 +29,4 @@ export * from './notification-history.page'; export * from './form/public-api'; export * from './card-view/public-api'; export * from './viewerPage'; +export * from './config-editor-page'; diff --git a/e2e/pages/adf/demo-shell/process-services-cloud/cloudFormDemoPage.ts b/lib/testing/src/lib/process-services-cloud/pages/form-cloud-component.page.ts similarity index 86% rename from e2e/pages/adf/demo-shell/process-services-cloud/cloudFormDemoPage.ts rename to lib/testing/src/lib/process-services-cloud/pages/form-cloud-component.page.ts index c41feebcfd..b9d426124f 100644 --- a/e2e/pages/adf/demo-shell/process-services-cloud/cloudFormDemoPage.ts +++ b/lib/testing/src/lib/process-services-cloud/pages/form-cloud-component.page.ts @@ -15,11 +15,12 @@ * limitations under the License. */ -import { ConfigEditorPage } from '../../configEditorPage'; -import { BrowserActions, BrowserVisibility } from '@alfresco/adf-testing'; import { by, element, ElementFinder } from 'protractor'; +import { BrowserVisibility } from '../../core/utils/browser-visibility'; +import { BrowserActions } from '../../core/utils/browser-actions'; +import { ConfigEditorPage } from '../../core/pages/config-editor-page'; -export class FormCloudDemoPage { +export class FormCloudComponentPage { formCloudEditor: ElementFinder = element.all(by.css('.mat-tab-list .mat-tab-label')).get(1); formCloudRender: ElementFinder = element.all(by.css('.mat-tab-list .mat-tab-label')).get(0); diff --git a/lib/testing/src/lib/process-services-cloud/pages/group-cloud-component.page.ts b/lib/testing/src/lib/process-services-cloud/pages/group-cloud-component.page.ts index 6ae4764a6d..923a6ec20d 100644 --- a/lib/testing/src/lib/process-services-cloud/pages/group-cloud-component.page.ts +++ b/lib/testing/src/lib/process-services-cloud/pages/group-cloud-component.page.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { browser, by, element, ElementFinder } from 'protractor'; +import { by, element, ElementFinder } from 'protractor'; import { BrowserVisibility } from '../../core/utils/browser-visibility'; import { BrowserActions } from '../../core/utils/browser-actions'; import { FormFields } from '../../core/pages/form/formFields'; @@ -26,8 +26,6 @@ export class GroupCloudComponentPage { formFields: FormFields = new FormFields(); async searchGroups(name: string): Promise { - await BrowserVisibility.waitUntilElementIsVisible(this.groupCloudSearch); - await browser.sleep(1000); await BrowserActions.clearSendKeys(this.groupCloudSearch, name); } @@ -42,7 +40,7 @@ export class GroupCloudComponentPage { async selectGroupFromList(name: string): Promise { const groupRow = element.all(by.cssContainingText('mat-option span', name)).first(); - await browser.sleep(1000); + await BrowserActions.click(groupRow); await BrowserVisibility.waitUntilElementIsNotVisible(groupRow); } @@ -79,4 +77,24 @@ export class GroupCloudComponentPage { } } + async checkGroupWidgetIsReadOnly (): Promise { + const readOnlyGroup = element(by.css('group-cloud-widget .adf-readonly')); + try { + await BrowserVisibility.waitUntilElementIsVisible(readOnlyGroup); + return true; + } catch { + return false; + } + } + + async checkGroupActiveField(name): Promise { + const activeGroupField = element(by.css('group-cloud-widget .adf-readonly')); + try { + await BrowserActions.clearSendKeys(activeGroupField, name); + return true; + } catch { + return false; + } + } + } diff --git a/lib/testing/src/lib/process-services-cloud/pages/people-cloud-component.page.ts b/lib/testing/src/lib/process-services-cloud/pages/people-cloud-component.page.ts index cf973d0917..40e89a8085 100644 --- a/lib/testing/src/lib/process-services-cloud/pages/people-cloud-component.page.ts +++ b/lib/testing/src/lib/process-services-cloud/pages/people-cloud-component.page.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { browser, by, element, ElementFinder, Locator, protractor } from 'protractor'; +import { by, element, ElementFinder, Locator, protractor } from 'protractor'; import { BrowserVisibility } from '../../core/utils/browser-visibility'; import { BrowserActions } from '../../core/utils/browser-actions'; import { FormFields } from '../../core/pages/form/formFields'; @@ -44,9 +44,6 @@ export class PeopleCloudComponentPage { } async searchAssignee(name: string): Promise { - await BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudSearch); - await BrowserVisibility.waitUntilElementIsClickable(this.peopleCloudSearch); - await browser.sleep(1000); await BrowserActions.clearSendKeys(this.peopleCloudSearch, name); } @@ -56,7 +53,6 @@ export class PeopleCloudComponentPage { async selectAssigneeFromList(name: string): Promise { const assigneeRow = element(by.cssContainingText('mat-option span.adf-people-label-name', name)); - await browser.sleep(2000); await BrowserActions.click(assigneeRow); await BrowserVisibility.waitUntilElementIsNotVisible(assigneeRow); } @@ -82,7 +78,6 @@ export class PeopleCloudComponentPage { async getAssigneeFieldContent(): Promise { await BrowserVisibility.waitUntilElementIsVisible(this.assigneeField); - await browser.sleep(1000); return this.assigneeField.getAttribute('value'); } @@ -118,4 +113,24 @@ export class PeopleCloudComponentPage { await BrowserActions.click(peopleInput); } + async checkPeopleWidgetIsReadOnly (): Promise { + const readOnlyAttribute = element(by.css('people-cloud-widget .adf-readonly')); + try { + await BrowserVisibility.waitUntilElementIsVisible(readOnlyAttribute); + return true; + } catch { + return false; + } + } + + async checkPeopleActiveField(name): Promise { + const activePeopleField = element(by.css('people-cloud-widget .adf-readonly')); + try { + await BrowserActions.clearSendKeys(activePeopleField, name); + return true; + } catch { + return false; + } + } + } diff --git a/lib/testing/src/lib/process-services-cloud/pages/public-api.ts b/lib/testing/src/lib/process-services-cloud/pages/public-api.ts index 5f11f1e54d..517a91bc92 100644 --- a/lib/testing/src/lib/process-services-cloud/pages/public-api.ts +++ b/lib/testing/src/lib/process-services-cloud/pages/public-api.ts @@ -28,5 +28,6 @@ export * from './task-filters-cloud-component.page'; export * from './task-list-cloud-component.page'; export * from './start-process-cloud-component.page'; export * from './task-form-cloud-component.page'; +export * from './form-cloud-component.page'; export * from './dialog/public-api'; export * from './form/public-api';