@umbraco/playwright-testhelpers 17.1.0-beta.5 → 17.1.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/helpers/BaseApiHelper.d.ts +19 -0
- package/dist/lib/helpers/BaseApiHelper.js +87 -0
- package/dist/lib/helpers/BaseApiHelper.js.map +1 -0
- package/dist/lib/helpers/ConstantHelper.d.ts +0 -17
- package/dist/lib/helpers/ConstantHelper.js +0 -17
- package/dist/lib/helpers/ConstantHelper.js.map +1 -1
- package/dist/lib/helpers/ContentRenderUiHelper.js +3 -3
- package/dist/lib/helpers/ContentRenderUiHelper.js.map +1 -1
- package/dist/lib/helpers/ContentUiHelper.js +487 -353
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/CurrentUserProfileUiHelper.js +10 -4
- package/dist/lib/helpers/CurrentUserProfileUiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.d.ts +9 -21
- package/dist/lib/helpers/DataTypeApiHelper.js +32 -125
- package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.js +332 -193
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DictionaryApiHelper.d.ts +8 -15
- package/dist/lib/helpers/DictionaryApiHelper.js +49 -77
- package/dist/lib/helpers/DictionaryApiHelper.js.map +1 -1
- package/dist/lib/helpers/DictionaryUiHelper.js +23 -17
- package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentBlueprintApiHelper.d.ts +7 -13
- package/dist/lib/helpers/DocumentBlueprintApiHelper.js +44 -69
- package/dist/lib/helpers/DocumentBlueprintApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentBlueprintUiHelper.js +10 -8
- package/dist/lib/helpers/DocumentBlueprintUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +4 -18
- package/dist/lib/helpers/DocumentTypeApiHelper.js +4 -134
- package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.js +34 -22
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/ExamineManagementUiHelper.js +6 -5
- package/dist/lib/helpers/ExamineManagementUiHelper.js.map +1 -1
- package/dist/lib/helpers/FormsUiHelper.js +159 -119
- package/dist/lib/helpers/FormsUiHelper.js.map +1 -1
- package/dist/lib/helpers/HealthCheckUiHelper.js +7 -7
- package/dist/lib/helpers/HealthCheckUiHelper.js.map +1 -1
- package/dist/lib/helpers/LanguageApiHelper.d.ts +10 -12
- package/dist/lib/helpers/LanguageApiHelper.js +34 -35
- package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
- package/dist/lib/helpers/LanguageUiHelper.js +19 -16
- package/dist/lib/helpers/LanguageUiHelper.js.map +1 -1
- package/dist/lib/helpers/LogViewerUiHelper.js +31 -22
- package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
- package/dist/lib/helpers/LoginUiHelper.js +7 -4
- package/dist/lib/helpers/LoginUiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeApiHelper.d.ts +4 -18
- package/dist/lib/helpers/MediaTypeApiHelper.js +4 -134
- package/dist/lib/helpers/MediaTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeUiHelper.js +17 -11
- package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaUiHelper.js +45 -36
- package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberApiHelper.d.ts +4 -12
- package/dist/lib/helpers/MemberApiHelper.js +6 -54
- package/dist/lib/helpers/MemberApiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberGroupApiHelper.d.ts +6 -11
- package/dist/lib/helpers/MemberGroupApiHelper.js +20 -35
- package/dist/lib/helpers/MemberGroupApiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberGroupUiHelper.js +16 -13
- package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberTypeApiHelper.d.ts +5 -12
- package/dist/lib/helpers/MemberTypeApiHelper.js +16 -49
- package/dist/lib/helpers/MemberTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberTypeUiHelper.js +3 -2
- package/dist/lib/helpers/MemberTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberUiHelper.js +43 -25
- package/dist/lib/helpers/MemberUiHelper.js.map +1 -1
- package/dist/lib/helpers/ModelsBuilderUiHelper.js +3 -2
- package/dist/lib/helpers/ModelsBuilderUiHelper.js.map +1 -1
- package/dist/lib/helpers/PackageApiHelper.d.ts +5 -4
- package/dist/lib/helpers/PackageApiHelper.js +47 -75
- package/dist/lib/helpers/PackageApiHelper.js.map +1 -1
- package/dist/lib/helpers/PackageUiHelper.js +36 -30
- package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
- package/dist/lib/helpers/PartialViewApiHelper.d.ts +5 -20
- package/dist/lib/helpers/PartialViewApiHelper.js +12 -146
- package/dist/lib/helpers/PartialViewApiHelper.js.map +1 -1
- package/dist/lib/helpers/PartialViewUiHelper.js +17 -14
- package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
- package/dist/lib/helpers/PathBasedTreeApiHelper.d.ts +32 -0
- package/dist/lib/helpers/PathBasedTreeApiHelper.js +164 -0
- package/dist/lib/helpers/PathBasedTreeApiHelper.js.map +1 -0
- package/dist/lib/helpers/ProfilingUiHelper.js +5 -3
- package/dist/lib/helpers/ProfilingUiHelper.js.map +1 -1
- package/dist/lib/helpers/PublishedStatusUiHelper.js +8 -7
- package/dist/lib/helpers/PublishedStatusUiHelper.js.map +1 -1
- package/dist/lib/helpers/RedirectManagementUiHelper.js +12 -7
- package/dist/lib/helpers/RedirectManagementUiHelper.js.map +1 -1
- package/dist/lib/helpers/RelationTypeApiHelper.d.ts +7 -12
- package/dist/lib/helpers/RelationTypeApiHelper.js +28 -49
- package/dist/lib/helpers/RelationTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/RelationTypeUiHelper.js +16 -13
- package/dist/lib/helpers/RelationTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/ScriptApiHelper.d.ts +6 -22
- package/dist/lib/helpers/ScriptApiHelper.js +12 -165
- package/dist/lib/helpers/ScriptApiHelper.js.map +1 -1
- package/dist/lib/helpers/ScriptUiHelper.js +13 -9
- package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
- package/dist/lib/helpers/StylesheetApiHelper.d.ts +5 -20
- package/dist/lib/helpers/StylesheetApiHelper.js +13 -154
- package/dist/lib/helpers/StylesheetApiHelper.js.map +1 -1
- package/dist/lib/helpers/StylesheetUiHelper.js +14 -9
- package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
- package/dist/lib/helpers/TelemetryDataUiHelper.js +3 -2
- package/dist/lib/helpers/TelemetryDataUiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateApiHelper.d.ts +8 -15
- package/dist/lib/helpers/TemplateApiHelper.js +51 -83
- package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateUiHelper.js +25 -19
- package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
- package/dist/lib/helpers/TreeApiHelper.d.ts +15 -0
- package/dist/lib/helpers/TreeApiHelper.js +116 -0
- package/dist/lib/helpers/TreeApiHelper.js.map +1 -0
- package/dist/lib/helpers/UiBaseLocators.d.ts +228 -230
- package/dist/lib/helpers/UiBaseLocators.js +871 -832
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UserGroupApiHelper.d.ts +3 -13
- package/dist/lib/helpers/UserGroupApiHelper.js +3 -69
- package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserGroupUiHelper.js +49 -32
- package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
- package/dist/lib/helpers/UserUiHelper.js +46 -43
- package/dist/lib/helpers/UserUiHelper.js.map +1 -1
- package/dist/lib/helpers/VariantBasedApiHelper.d.ts +23 -0
- package/dist/lib/helpers/VariantBasedApiHelper.js +81 -0
- package/dist/lib/helpers/VariantBasedApiHelper.js.map +1 -0
- package/dist/lib/helpers/WebhookApiHelper.d.ts +1 -0
- package/dist/lib/helpers/WebhookApiHelper.js +10 -11
- package/dist/lib/helpers/WebhookApiHelper.js.map +1 -1
- package/dist/lib/helpers/WebhookUiHelper.js +27 -11
- package/dist/lib/helpers/WebhookUiHelper.js.map +1 -1
- package/dist/lib/helpers/WelcomeDashboardUiHelper.js +1 -1
- package/dist/lib/helpers/WelcomeDashboardUiHelper.js.map +1 -1
- package/dist/lib/helpers/differentAppSettingsHelpers/ExternalLoginUiHelpers.js +9 -4
- package/dist/lib/helpers/differentAppSettingsHelpers/ExternalLoginUiHelpers.js.map +1 -1
- package/dist/lib/helpers/differentAppSettingsHelpers/InstallUiHelper.js +10 -5
- package/dist/lib/helpers/differentAppSettingsHelpers/InstallUiHelper.js.map +1 -1
- package/dist/lib/helpers/index.d.ts +4 -1
- package/dist/lib/helpers/index.js +9 -3
- package/dist/lib/helpers/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/lib/helpers/BasePage.d.ts +0 -449
- package/dist/lib/helpers/BasePage.js +0 -547
- package/dist/lib/helpers/BasePage.js.map +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FormsUiHelper = void 0;
|
|
4
4
|
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
5
|
-
const
|
|
5
|
+
const test_1 = require("@playwright/test");
|
|
6
6
|
class FormsUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
7
7
|
quickCreateNewBtn;
|
|
8
8
|
createNewFormModalBtn;
|
|
@@ -135,310 +135,350 @@ class FormsUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
135
135
|
* Methods for Forms.
|
|
136
136
|
*/
|
|
137
137
|
async clickQuickCreateFormButton() {
|
|
138
|
-
await this.
|
|
138
|
+
await this.formMenuItemForForm.hover();
|
|
139
|
+
await this.formMenuItemForForm.locator(this.quickCreateNewBtn).click();
|
|
139
140
|
}
|
|
140
141
|
async clickNewFormButton() {
|
|
141
|
-
await
|
|
142
|
+
await (0, test_1.expect)(this.createNewFormModalBtn).toBeVisible();
|
|
143
|
+
await this.createNewFormModalBtn.click();
|
|
142
144
|
}
|
|
143
145
|
async clickSaveFormButton() {
|
|
144
|
-
await this.click(
|
|
146
|
+
await this.saveFormBtn.click();
|
|
145
147
|
}
|
|
146
148
|
async fillFormName(name) {
|
|
147
|
-
await
|
|
149
|
+
await (0, test_1.expect)(this.formNameTxt).toBeVisible();
|
|
150
|
+
await this.formNameTxt.fill(name);
|
|
148
151
|
}
|
|
149
152
|
async fillFormPageName(position, name) {
|
|
150
153
|
const nameInput = this.formPageNametxt.nth(position);
|
|
151
|
-
await
|
|
154
|
+
await (0, test_1.expect)(nameInput).toBeVisible();
|
|
155
|
+
await nameInput.fill(name);
|
|
152
156
|
}
|
|
153
157
|
async fillFormGroupName(position, name) {
|
|
154
158
|
const groupInput = this.formGroupNameTxt.nth(position);
|
|
155
|
-
await
|
|
159
|
+
await (0, test_1.expect)(groupInput).toBeVisible();
|
|
160
|
+
await groupInput.fill(name);
|
|
156
161
|
}
|
|
157
162
|
async fillFormFieldName(name) {
|
|
158
163
|
await this.formEditFieldModal.locator(this.formFieldNameTxt).fill(name);
|
|
159
164
|
}
|
|
160
165
|
async clickAddNewPageButton() {
|
|
161
|
-
await this.click(
|
|
166
|
+
await this.formAddNewPageBtn.click();
|
|
162
167
|
}
|
|
163
168
|
async clickAddNewGroupButton() {
|
|
164
|
-
await this.click(
|
|
169
|
+
await this.formAddNewGroupBtn.click();
|
|
165
170
|
}
|
|
166
171
|
async clickAddQuestionButton(index = 0) {
|
|
167
172
|
const button = this.formPage.nth(index).locator(this.formAddQuestionBtn);
|
|
168
|
-
await
|
|
173
|
+
await button.click();
|
|
169
174
|
}
|
|
170
175
|
async chooseFormFieldType(type) {
|
|
171
|
-
await this.
|
|
176
|
+
await this.formFieldType.filter({ hasText: type }).nth(0).click();
|
|
172
177
|
}
|
|
173
178
|
async clickExpandFormsTreeButton() {
|
|
174
|
-
await this.click(
|
|
179
|
+
await this.formExpandBtn.click();
|
|
175
180
|
}
|
|
176
181
|
async doesFormTreeHaveFormName(name) {
|
|
177
|
-
await
|
|
182
|
+
await (0, test_1.expect)(this.formTree).toContainText(name);
|
|
178
183
|
}
|
|
179
184
|
async goToFormWithName(name) {
|
|
180
|
-
await this.
|
|
185
|
+
await this.formTree.getByText(name, { exact: true }).click();
|
|
181
186
|
}
|
|
182
187
|
async clickFormFieldTypeSubmitModal() {
|
|
183
|
-
await this.click(
|
|
188
|
+
await this.formSubmitButtonModal.click();
|
|
184
189
|
}
|
|
185
190
|
async clickActionMenuOnFormMenuItem(name) {
|
|
186
|
-
await this.
|
|
191
|
+
await this.menuItem.locator('[label="' + name + '"] uui-button[label="Open actions menu"]').click();
|
|
187
192
|
}
|
|
188
193
|
async clickDeleteFormButton() {
|
|
189
|
-
await this.
|
|
190
|
-
await this.click(
|
|
194
|
+
await this.formActionModal.locator(this.formDeleteThreeDotBtn).click();
|
|
195
|
+
await this.deleteExactBtn.click();
|
|
191
196
|
}
|
|
192
197
|
async goToFormSetting() {
|
|
193
|
-
await this.
|
|
198
|
+
await this.formWorkspaceEditor.locator(this.formSettingIcon).click();
|
|
194
199
|
}
|
|
195
200
|
async setFormStoreRecordsSetting() {
|
|
196
|
-
await
|
|
201
|
+
await (0, test_1.expect)(this.formSettingStoreRecordBtn).toBeVisible();
|
|
197
202
|
const toggle = this.formSettingStoreRecordBtn.locator(this.formToggleSlider);
|
|
198
|
-
await
|
|
203
|
+
await (0, test_1.expect)(toggle).toBeVisible();
|
|
199
204
|
await toggle.check();
|
|
200
205
|
}
|
|
201
206
|
async setFormCaptionsSetting() {
|
|
202
|
-
await
|
|
207
|
+
await (0, test_1.expect)(this.formSettingCaptionsContainer).toBeVisible();
|
|
203
208
|
for (let i = 0; i < 3; i++) {
|
|
204
209
|
const captionInput = this.formSettingCaptions.locator(this.formInputTxt).nth(i);
|
|
205
|
-
await
|
|
210
|
+
await (0, test_1.expect)(captionInput).toBeVisible();
|
|
211
|
+
await captionInput.fill("Test Caption " + (i + 1));
|
|
206
212
|
}
|
|
207
213
|
}
|
|
208
214
|
async setFormStylingSetting() {
|
|
209
|
-
await
|
|
215
|
+
await (0, test_1.expect)(this.formSettingStylingContainer).toBeVisible();
|
|
210
216
|
const cssClassInput = this.formSettingStyling.locator(this.formInputTxt);
|
|
211
|
-
await
|
|
217
|
+
await (0, test_1.expect)(cssClassInput).toBeVisible();
|
|
218
|
+
await cssClassInput.fill("custom-css-class");
|
|
212
219
|
const disableDefaultStylesheetInput = this.formSettingStyling.locator(this.formToggleSlider);
|
|
213
|
-
await
|
|
220
|
+
await (0, test_1.expect)(disableDefaultStylesheetInput).toBeVisible();
|
|
221
|
+
await disableDefaultStylesheetInput.click();
|
|
214
222
|
}
|
|
215
223
|
async setFormValidationSetting() {
|
|
216
|
-
await
|
|
224
|
+
await (0, test_1.expect)(this.formSettingValidationContainer).toBeVisible();
|
|
217
225
|
const requiredErrorMessageInput = this.formSettingValidation.locator(this.formInputTxt).nth(0);
|
|
218
|
-
await
|
|
226
|
+
await (0, test_1.expect)(requiredErrorMessageInput).toBeVisible();
|
|
227
|
+
await requiredErrorMessageInput.fill("Required error message");
|
|
219
228
|
const invalidErrorMessageInput = this.formSettingValidation.locator(this.formInputTxt).nth(1);
|
|
220
|
-
await
|
|
229
|
+
await (0, test_1.expect)(invalidErrorMessageInput).toBeVisible();
|
|
230
|
+
await invalidErrorMessageInput.fill("Invalid error message");
|
|
221
231
|
const showValidationSummaryInput = this.formSettingValidation.locator(this.formToggleSlider).nth(0);
|
|
222
|
-
await
|
|
232
|
+
await (0, test_1.expect)(showValidationSummaryInput).toBeVisible();
|
|
233
|
+
await showValidationSummaryInput.click();
|
|
223
234
|
const hideFieldValidationInput = this.formSettingValidation.locator(this.formToggleSlider).nth(1);
|
|
224
|
-
await
|
|
235
|
+
await (0, test_1.expect)(hideFieldValidationInput).toBeVisible();
|
|
236
|
+
await hideFieldValidationInput.click();
|
|
225
237
|
const markMandatoryFieldRadioInput = this.formSettingValidation.locator("uui-radio[value = 'MarkMandatoryFields']");
|
|
226
|
-
await
|
|
238
|
+
await (0, test_1.expect)(markMandatoryFieldRadioInput).toBeVisible();
|
|
239
|
+
await markMandatoryFieldRadioInput.click();
|
|
227
240
|
const indicatorInput = this.formSettingValidation.locator(this.formInputTxt).nth(2);
|
|
228
|
-
await
|
|
241
|
+
await (0, test_1.expect)(indicatorInput).toBeVisible();
|
|
242
|
+
await indicatorInput.fill("+");
|
|
229
243
|
}
|
|
230
244
|
async setFormAutocompleteSetting() {
|
|
231
|
-
await
|
|
245
|
+
await (0, test_1.expect)(this.formSettingAutocompleteContainer).toBeVisible();
|
|
232
246
|
const autocompleteAttributeRadioInput = this.formSettingAutocomplete.locator('uui-radio[value = "On"]');
|
|
233
|
-
await
|
|
247
|
+
await (0, test_1.expect)(autocompleteAttributeRadioInput).toBeVisible();
|
|
248
|
+
await autocompleteAttributeRadioInput.click();
|
|
234
249
|
}
|
|
235
250
|
async setFormModerationSetting() {
|
|
236
|
-
await
|
|
251
|
+
await (0, test_1.expect)(this.formSettingModerationContainer).toBeVisible();
|
|
237
252
|
const enablePostModerationAttributeToggleInput = this.formSettingModeration.locator(this.formToggleSlider);
|
|
238
|
-
await
|
|
253
|
+
await (0, test_1.expect)(enablePostModerationAttributeToggleInput).toBeVisible();
|
|
254
|
+
await enablePostModerationAttributeToggleInput.click();
|
|
239
255
|
}
|
|
240
256
|
async setFormFieldsDisplayedSetting() {
|
|
241
|
-
await
|
|
257
|
+
await (0, test_1.expect)(this.formSettingFieldsDisplayedContainer).toBeVisible();
|
|
242
258
|
const displayDefaultFieldsToggleInput = this.formSettingFieldsDisplayed.locator(this.formToggleSlider);
|
|
243
|
-
await
|
|
244
|
-
await
|
|
259
|
+
await (0, test_1.expect)(displayDefaultFieldsToggleInput).toBeVisible();
|
|
260
|
+
await displayDefaultFieldsToggleInput.click();
|
|
261
|
+
await this.page.waitForTimeout(100); // short pause required here otherwise revealed elements are not found
|
|
245
262
|
const displayFieldsSelect = this.formSettingFieldsDisplayed.locator("select");
|
|
246
|
-
await
|
|
263
|
+
await (0, test_1.expect)(displayFieldsSelect).toBeVisible();
|
|
264
|
+
await displayFieldsSelect.selectOption({ value: '_system_state' });
|
|
247
265
|
const displayFieldsAddButton = this.formSettingFieldsDisplayed.locator("button[id='button']");
|
|
248
|
-
await
|
|
266
|
+
await (0, test_1.expect)(displayFieldsAddButton).toBeVisible();
|
|
267
|
+
await displayFieldsAddButton.click();
|
|
249
268
|
}
|
|
250
269
|
async setFormDataRetentionSetting(recordNumber) {
|
|
251
|
-
await
|
|
270
|
+
await (0, test_1.expect)(this.formSettingDataRetentionContainer).toBeVisible();
|
|
252
271
|
const retainSubmittedRecordsToggleInput = this.formSettingDataRetention.locator(this.formToggleSlider).nth(0);
|
|
253
|
-
await
|
|
254
|
-
await
|
|
272
|
+
await (0, test_1.expect)(retainSubmittedRecordsToggleInput).toBeVisible();
|
|
273
|
+
await retainSubmittedRecordsToggleInput.click();
|
|
274
|
+
await this.page.waitForTimeout(100); // short pause required here otherwise revealed elements are not found
|
|
255
275
|
const retainSubmittedRecordsNumberInput = this.formSettingDataRetention.locator(this.formInputNumber).nth(0);
|
|
256
|
-
await
|
|
276
|
+
await (0, test_1.expect)(retainSubmittedRecordsNumberInput).toBeVisible();
|
|
277
|
+
await retainSubmittedRecordsNumberInput.fill(recordNumber);
|
|
257
278
|
}
|
|
258
279
|
async toggleFieldSetting(settingAlias) {
|
|
259
|
-
const settingFieldLocator = this.page.locator(
|
|
260
|
-
await
|
|
280
|
+
const settingFieldLocator = this.page.locator('umb-property-layout[alias="' + settingAlias + '"] #toggle');
|
|
281
|
+
await (0, test_1.expect)(settingFieldLocator).toBeVisible();
|
|
282
|
+
await settingFieldLocator.click();
|
|
261
283
|
}
|
|
262
284
|
async applyFieldSettingViaTextInput(settingAlias, settingValue) {
|
|
263
|
-
const settingFieldLocator = this.page.locator(
|
|
285
|
+
const settingFieldLocator = this.page.locator('umb-property[alias="' + settingAlias + '"] input');
|
|
264
286
|
await settingFieldLocator.fill(settingValue);
|
|
265
287
|
}
|
|
266
288
|
async applyFieldSettingViaDropDown(settingAlias, settingValue) {
|
|
267
|
-
const settingFieldLocator = this.page.locator(
|
|
268
|
-
await
|
|
289
|
+
const settingFieldLocator = this.page.locator('umb-property[alias="' + settingAlias + '"] select');
|
|
290
|
+
await settingFieldLocator.selectOption({ value: settingValue });
|
|
269
291
|
}
|
|
270
292
|
async applyFieldSettingViaSlider(settingAlias) {
|
|
271
|
-
const settingFieldLocator = this.page.locator(
|
|
272
|
-
await
|
|
293
|
+
const settingFieldLocator = this.page.locator('umb-property[alias="' + settingAlias + '"] #toggle');
|
|
294
|
+
await (0, test_1.expect)(settingFieldLocator).toBeVisible();
|
|
295
|
+
await settingFieldLocator.click();
|
|
273
296
|
}
|
|
274
297
|
async applyFieldFileUploadSettings(settingAlias, allowedProvidedExtensions, allowedCustomExtensions, allowMultiple) {
|
|
275
|
-
const settingFieldLocator = this.page.locator(
|
|
298
|
+
const settingFieldLocator = this.page.locator('umb-property-layout[alias="' + settingAlias + '"]');
|
|
276
299
|
for (var i = 0; i < allowedProvidedExtensions.length; i++) {
|
|
277
300
|
const checkBoxLocator = settingFieldLocator.locator('uui-toggle', { hasText: allowedProvidedExtensions[i].toUpperCase() }).locator('#toggle');
|
|
278
|
-
await
|
|
301
|
+
await (0, test_1.expect)(checkBoxLocator).toBeVisible();
|
|
302
|
+
await checkBoxLocator.click();
|
|
279
303
|
}
|
|
280
304
|
const addNewExtensionLocator = settingFieldLocator.locator('input[placeholder = "Add new allowed file type"]');
|
|
281
|
-
await
|
|
305
|
+
await (0, test_1.expect)(addNewExtensionLocator).toBeVisible();
|
|
282
306
|
const buttonLocator = settingFieldLocator.locator('form svg');
|
|
283
|
-
await
|
|
307
|
+
await (0, test_1.expect)(buttonLocator).toBeVisible();
|
|
284
308
|
for (var i = 0; i < allowedCustomExtensions.length; i++) {
|
|
285
309
|
await addNewExtensionLocator.fill(allowedCustomExtensions[i]);
|
|
286
|
-
await
|
|
310
|
+
await buttonLocator.click();
|
|
287
311
|
}
|
|
288
312
|
if (allowMultiple) {
|
|
289
313
|
const alias = "allowMultipleFileUploads";
|
|
290
|
-
const multipleUploadLocator = this.page.locator(
|
|
291
|
-
await
|
|
314
|
+
const multipleUploadLocator = this.page.locator('umb-property-layout[alias="' + alias + '"] #toggle');
|
|
315
|
+
await (0, test_1.expect)(multipleUploadLocator).toBeVisible();
|
|
316
|
+
await multipleUploadLocator.click();
|
|
292
317
|
}
|
|
293
318
|
}
|
|
294
319
|
async applyFieldPrevalues(settingAlias, prevalues) {
|
|
295
|
-
const settingFieldLocator = this.page.locator(
|
|
320
|
+
const settingFieldLocator = this.page.locator('umb-property-layout[alias="' + settingAlias + '"]');
|
|
296
321
|
for (var i = 0; i < prevalues.length; i++) {
|
|
297
322
|
const valueFieldLocator = settingFieldLocator.locator("input[placeholder = 'New value']");
|
|
298
|
-
await
|
|
323
|
+
await (0, test_1.expect)(valueFieldLocator).toBeVisible();
|
|
299
324
|
await valueFieldLocator.fill(prevalues[i].value);
|
|
300
325
|
const captionFieldLocator = settingFieldLocator.locator("input[placeholder = 'New caption']");
|
|
301
|
-
await
|
|
326
|
+
await (0, test_1.expect)(captionFieldLocator).toBeVisible();
|
|
327
|
+
await captionFieldLocator.fill(prevalues[i].caption);
|
|
302
328
|
const buttonLocator = settingFieldLocator.locator('uui-button[label="add"]');
|
|
303
|
-
await
|
|
329
|
+
await (0, test_1.expect)(buttonLocator).toBeVisible();
|
|
330
|
+
await buttonLocator.click();
|
|
304
331
|
}
|
|
305
332
|
}
|
|
306
333
|
async applyFieldSettingViaTextArea(settingAlias, settingValue) {
|
|
307
|
-
const settingFieldLocator = this.page.locator(
|
|
334
|
+
const settingFieldLocator = this.page.locator('umb-property[alias="' + settingAlias + '"] textarea');
|
|
308
335
|
await settingFieldLocator.fill(settingValue);
|
|
309
336
|
}
|
|
310
337
|
async applyFieldSettingViaRichTextInput(settingAlias, settingValue) {
|
|
311
|
-
const richTextAreaTxt = this.page.locator(
|
|
312
|
-
await
|
|
338
|
+
const richTextAreaTxt = this.page.locator('umb-property[alias="' + settingAlias + '"] umb-property-editor-ui-tiptap').locator('#editor .tiptap');
|
|
339
|
+
await (0, test_1.expect)(richTextAreaTxt).toBeVisible();
|
|
313
340
|
await richTextAreaTxt.fill(settingValue);
|
|
314
341
|
}
|
|
315
342
|
async applyFieldSettingViaRange(settingAlias, settingValue) {
|
|
316
|
-
const settingFieldLocator = this.page.locator(
|
|
343
|
+
const settingFieldLocator = this.page.locator('umb-property[alias="' + settingAlias + '"]');
|
|
317
344
|
await settingFieldLocator.locator('input[type="range"]').fill(settingValue);
|
|
318
345
|
}
|
|
319
346
|
async applyFieldSettingViaFieldMappingInput(settingAlias, settingValue) {
|
|
320
|
-
const settingFieldLocator = this.page.locator(
|
|
321
|
-
await
|
|
347
|
+
const settingFieldLocator = this.page.locator('umb-property[alias="' + settingAlias + '"]');
|
|
348
|
+
await (0, test_1.expect)(settingFieldLocator).toBeVisible();
|
|
322
349
|
for (let i = 0; i < settingValue.length; i++) {
|
|
323
350
|
const buttonLocator = settingFieldLocator.locator('uui-button[label="add"]');
|
|
324
|
-
await
|
|
351
|
+
await (0, test_1.expect)(buttonLocator).toBeVisible();
|
|
352
|
+
await buttonLocator.click();
|
|
325
353
|
const aliasInputLocator = settingFieldLocator.locator("input[placeholder = 'Alias']").nth(i);
|
|
326
|
-
await
|
|
354
|
+
await (0, test_1.expect)(aliasInputLocator).toBeVisible();
|
|
327
355
|
await aliasInputLocator.fill(settingValue[i].alias);
|
|
328
356
|
const staticValueInputLocator = settingFieldLocator.locator("input[placeholder = 'Static value']").nth(i);
|
|
329
|
-
await
|
|
357
|
+
await (0, test_1.expect)(staticValueInputLocator).toBeVisible();
|
|
330
358
|
await staticValueInputLocator.fill(settingValue[i].staticValue);
|
|
331
359
|
}
|
|
332
360
|
}
|
|
333
361
|
async applyFieldSettingViaDocumentMapper(settingAlias, settingValue) {
|
|
334
|
-
const settingFieldLocator = this.page.locator(
|
|
335
|
-
await
|
|
362
|
+
const settingFieldLocator = this.page.locator('umb-property[alias="' + settingAlias + '"]');
|
|
363
|
+
await (0, test_1.expect)(settingFieldLocator).toBeVisible();
|
|
336
364
|
const selectLocator = settingFieldLocator.locator("forms-document-mapper-property-editor select");
|
|
337
|
-
await
|
|
365
|
+
await selectLocator.selectOption({ value: settingValue.doctype });
|
|
338
366
|
const inputLocator = settingFieldLocator.locator('forms-document-mapper-property-editor input[type = "text"]');
|
|
339
|
-
await
|
|
367
|
+
await (0, test_1.expect)(inputLocator.first()).toBeVisible();
|
|
340
368
|
const inputLocatorCount = await inputLocator.count();
|
|
341
369
|
for (let i = 0; i < inputLocatorCount; i++) {
|
|
342
|
-
await
|
|
370
|
+
await (0, test_1.expect)(inputLocator.nth(i)).toBeVisible();
|
|
343
371
|
await inputLocator.nth(i).fill(settingValue.nameStaticValue);
|
|
344
372
|
}
|
|
345
373
|
}
|
|
346
374
|
async applyFieldSettingViaEmailTemplatePicker(settingAlias, settingValue) {
|
|
347
|
-
const settingFieldLocator = this.page.locator(
|
|
348
|
-
await
|
|
375
|
+
const settingFieldLocator = this.page.locator('umb-property[alias="' + settingAlias + '"]');
|
|
376
|
+
await (0, test_1.expect)(settingFieldLocator).toBeVisible();
|
|
349
377
|
const buttonLocator = settingFieldLocator.locator("#caret-button");
|
|
350
|
-
await
|
|
378
|
+
await buttonLocator.click();
|
|
351
379
|
const templateLocator = this.page.locator("#label-button", { hasText: settingValue });
|
|
352
|
-
await
|
|
380
|
+
await (0, test_1.expect)(templateLocator).toBeVisible();
|
|
381
|
+
await templateLocator.click();
|
|
353
382
|
}
|
|
354
383
|
async applyFieldSettingViaStandardFieldMappingInput(settingAlias, settingValue) {
|
|
355
|
-
const settingFieldLocator = this.page.locator(
|
|
356
|
-
await
|
|
384
|
+
const settingFieldLocator = this.page.locator('umb-property[alias="' + settingAlias + '"]');
|
|
385
|
+
await (0, test_1.expect)(settingFieldLocator).toBeVisible();
|
|
357
386
|
for (let i = 0; i < settingValue.length; i++) {
|
|
358
387
|
if (settingValue[i].include) {
|
|
359
|
-
const includeButtonLocator = settingFieldLocator.locator(
|
|
360
|
-
await
|
|
388
|
+
const includeButtonLocator = settingFieldLocator.locator('div[data-umb-standard-field-mapping-include="' + settingValue[i].alias + '"] #toggle');
|
|
389
|
+
await includeButtonLocator.click();
|
|
361
390
|
}
|
|
362
|
-
const keyNameButtonLocator = settingFieldLocator.locator(
|
|
391
|
+
const keyNameButtonLocator = settingFieldLocator.locator('div[data-umb-standard-field-mapping-key-name="' + settingValue[i].alias + '"] input[type="text"]');
|
|
363
392
|
await keyNameButtonLocator.fill(settingValue[0].keyName);
|
|
364
393
|
}
|
|
365
394
|
}
|
|
366
395
|
async setFieldMandatory(message) {
|
|
367
|
-
await
|
|
368
|
-
await this.
|
|
396
|
+
await (0, test_1.expect)(this.formFieldMandatory).toBeVisible();
|
|
397
|
+
await this.formFieldMandatory.locator("#toggle").click();
|
|
398
|
+
await this.page.waitForTimeout(1000);
|
|
369
399
|
const inputLocator = this.formFieldMandatory.locator(this.formInputTxt);
|
|
370
|
-
await
|
|
400
|
+
await (0, test_1.expect)(inputLocator).toBeVisible();
|
|
401
|
+
await inputLocator.fill(message);
|
|
371
402
|
}
|
|
372
403
|
async setFieldValidation(label, message) {
|
|
373
|
-
await
|
|
404
|
+
await (0, test_1.expect)(this.formFieldRegex).toBeVisible();
|
|
374
405
|
const selectLocator = this.formFieldRegex.locator("select");
|
|
375
|
-
await
|
|
376
|
-
await this.page.waitForTimeout(
|
|
406
|
+
await selectLocator.selectOption({ label: label });
|
|
407
|
+
await this.page.waitForTimeout(1000);
|
|
377
408
|
const inputLocator = this.formFieldRegex.locator("input");
|
|
378
|
-
await
|
|
409
|
+
await (0, test_1.expect)(inputLocator).toBeVisible();
|
|
410
|
+
await inputLocator.fill(message);
|
|
379
411
|
}
|
|
380
412
|
async clickFormWorkflowConfigureButton() {
|
|
381
|
-
await this.click(
|
|
413
|
+
await this.formWorkflowConfigureBtn.click();
|
|
382
414
|
}
|
|
383
415
|
async clickFormWorkflowEditSubmitButton() {
|
|
384
|
-
await this.
|
|
416
|
+
await this.formEditWorkflowModal.locator(this.formSubmitButtonModal).click();
|
|
385
417
|
}
|
|
386
418
|
async clickFormWorkflowConfigureSubmitButton() {
|
|
387
|
-
await this.
|
|
419
|
+
await this.formConfigureWorkflowModal.locator(this.formSubmitButtonModal).click();
|
|
388
420
|
}
|
|
389
421
|
async clickFormWorkflowAddButton() {
|
|
390
|
-
await this.
|
|
422
|
+
await this.formWorkflowOnSubmitStage.locator(this.formWorkflowAddButtonModal).click({ force: true });
|
|
391
423
|
}
|
|
392
424
|
async selectWorkflowType(workflowType) {
|
|
393
|
-
|
|
425
|
+
this.page.locator('umb-ref-item[title="' + workflowType + '"]').click();
|
|
394
426
|
}
|
|
395
427
|
async fillWorkflowName(workflowName) {
|
|
396
|
-
await
|
|
428
|
+
await (0, test_1.expect)(this.formWorkflowNameTxt).toBeVisible();
|
|
429
|
+
await this.formWorkflowNameTxt.fill(workflowName);
|
|
397
430
|
}
|
|
398
431
|
/*
|
|
399
432
|
* Methods for Prevalue Source.
|
|
400
433
|
*/
|
|
401
434
|
async clickQuickCreatePrevalueSourceButton() {
|
|
402
|
-
await
|
|
435
|
+
await (0, test_1.expect)(this.formMenuItemForPrevalueSource).toBeVisible();
|
|
436
|
+
await this.formMenuItemForPrevalueSource.hover();
|
|
437
|
+
await this.formMenuItemForPrevalueSource.locator(this.quickCreateNewBtn).click();
|
|
403
438
|
}
|
|
404
439
|
async clickPrevalueSourceTypeButton(type) {
|
|
405
440
|
const button = this.createNewPrevaluesourceModalBtn.locator("#name", { hasText: type });
|
|
406
|
-
await
|
|
441
|
+
await (0, test_1.expect)(button).toBeVisible();
|
|
442
|
+
await button.click();
|
|
407
443
|
}
|
|
408
444
|
async clickExpandPrevalueSourceTreeButton() {
|
|
409
|
-
await this.click(
|
|
445
|
+
await this.prevalueSourceExpandBtn.click();
|
|
410
446
|
}
|
|
411
447
|
async goToPrevalueSourceWithName(name) {
|
|
412
|
-
await this.
|
|
448
|
+
await this.prevalueSourceTree.locator('uui-menu-item[label="' + name + '"]').click();
|
|
413
449
|
}
|
|
414
450
|
async clickDeletePrevalueSourceButton(name) {
|
|
415
|
-
const prevalueSource = this.prevalueSourceTree.locator(
|
|
416
|
-
await
|
|
417
|
-
await this.click(
|
|
451
|
+
const prevalueSource = await this.prevalueSourceTree.locator('uui-menu-item[label="' + name + '"]');
|
|
452
|
+
await prevalueSource.locator(this.prevalueSourceDeleteBtn).click();
|
|
453
|
+
await this.deleteExactBtn.click();
|
|
418
454
|
}
|
|
419
455
|
async applyCacheOptions(option, timeValue = 0, timeUnit = "") {
|
|
420
|
-
await
|
|
421
|
-
const optionSelect = this.prevalueSourceCacheContainer.locator(
|
|
422
|
-
await
|
|
456
|
+
await (0, test_1.expect)(this.prevalueSourceCacheContainer).toBeVisible();
|
|
457
|
+
const optionSelect = this.prevalueSourceCacheContainer.locator('uui-radio[value = "' + option + '"]');
|
|
458
|
+
await (0, test_1.expect)(optionSelect).toBeVisible();
|
|
459
|
+
await optionSelect.click();
|
|
423
460
|
if (option === "time") {
|
|
424
461
|
const numberInput = this.prevalueSourceCacheContainer.locator("input[type='number']");
|
|
425
|
-
await
|
|
462
|
+
await (0, test_1.expect)(numberInput).toBeVisible();
|
|
426
463
|
await numberInput.fill(timeValue.toString());
|
|
427
464
|
const unitSelect = this.prevalueSourceCacheContainer.locator("select");
|
|
428
|
-
await
|
|
465
|
+
await (0, test_1.expect)(unitSelect).toBeVisible();
|
|
466
|
+
await unitSelect.selectOption({ value: timeUnit });
|
|
429
467
|
}
|
|
430
468
|
}
|
|
431
469
|
async applyPrevalueSourceSettingViaNodeSelector(labelText, settingValue) {
|
|
432
|
-
const container = this.page.locator(
|
|
433
|
-
await
|
|
470
|
+
const container = this.page.locator('umb-property[alias="' + labelText + '"]');
|
|
471
|
+
await (0, test_1.expect)(container).toBeVisible();
|
|
434
472
|
const rootNode = container.locator('uui-button[label="Specify root node"]');
|
|
435
|
-
await
|
|
436
|
-
await
|
|
437
|
-
|
|
438
|
-
|
|
473
|
+
await (0, test_1.expect)(rootNode).toBeVisible();
|
|
474
|
+
await rootNode.click();
|
|
475
|
+
await (0, test_1.expect)(this.prevalueSourceOriginModal).toBeVisible();
|
|
476
|
+
const value = this.prevalueSourceOriginModal.locator('umb-ref-item[name="' + settingValue + '"]');
|
|
477
|
+
await (0, test_1.expect)(value).toBeVisible();
|
|
478
|
+
await value.click();
|
|
439
479
|
}
|
|
440
480
|
async checkPrevalueSourceTypeLabel() {
|
|
441
|
-
await
|
|
481
|
+
await (0, test_1.expect)(this.prevalueSourceTypeLabel).toBeVisible();
|
|
442
482
|
}
|
|
443
483
|
}
|
|
444
484
|
exports.FormsUiHelper = FormsUiHelper;
|