@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormsUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/FormsUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import { UiBaseLocators } from \"./UiBaseLocators\";\nimport { Locator, Page } from \"@playwright/test\";\nimport { ConstantHelper } from \"./ConstantHelper\";\n\nexport class FormsUiHelper extends UiBaseLocators {\n private readonly quickCreateNewBtn: Locator;\n private readonly createNewFormModalBtn: Locator;\n private readonly saveFormBtn: Locator;\n private readonly formNameTxt: Locator;\n private readonly formPageNametxt: Locator;\n private readonly formGroupNameTxt: Locator;\n private readonly formExpandBtn: Locator;\n private readonly formAddNewPageBtn: Locator;\n private readonly formAddNewGroupBtn: Locator;\n private readonly formPage: Locator;\n private readonly formAddQuestionBtn: Locator;\n private readonly formFieldType: Locator;\n private readonly formFieldNameTxt: Locator;\n private readonly formSubmitButtonModal: Locator;\n private readonly formTree: Locator;\n private readonly formActionModal: Locator;\n private readonly formDeleteThreeDotBtn: Locator;\n private readonly formWorkspaceEditor: Locator;\n private readonly formSettingIcon: Locator;\n private readonly formSettingStoreRecordBtn: Locator;\n private readonly formSettingCaptions: Locator;\n private readonly formSettingStyling: Locator;\n private readonly formSettingValidation: Locator;\n private readonly formSettingAutocomplete: Locator;\n private readonly formSettingModeration: Locator;\n private readonly formSettingFieldsDisplayed: Locator;\n private readonly formSettingDataRetention: Locator;\n private readonly formSettingCaptionsLabel: Locator;\n private readonly formSettingStylingLabel: Locator;\n private readonly formSettingValidationLabel: Locator;\n private readonly formSettingAutocompleteLabel: Locator;\n private readonly formSettingModerationLabel: Locator;\n private readonly formSettingFieldsDisplayedLabel: Locator;\n private readonly formSettingDataRetentionLabel: Locator;\n private readonly formWorkflowConfigureBtn: Locator;\n private readonly formWorkflowOnSubmitStage: Locator;\n private readonly formWorkflowAddButtonModal: Locator;\n private readonly formConfigureWorkflowModal: Locator;\n private readonly formEditWorkflowModal: Locator;\n private readonly formEditFieldModal: Locator;\n private readonly formMenuItemForForm: Locator;\n private readonly formInputTxt: Locator;\n private readonly formInputNumber: Locator;\n private readonly formToggleSlider: Locator;\n private readonly formMenuItemForPrevalueSource: Locator;\n private readonly createNewPrevaluesourceModalBtn: Locator;\n private readonly prevalueSourceExpandBtn: Locator;\n private readonly prevalueSourceTree: Locator;\n private readonly prevalueSourceDeleteBtn: Locator;\n private readonly formFieldMandatory: Locator;\n private readonly formFieldRegex: Locator;\n private readonly formWorkflowNameTxt: Locator;\n private readonly prevalueSourceCacheContainer: Locator;\n private readonly prevalueSourceTypeLabel: Locator;\n private readonly formSettingFieldsDisplayedContainer: Locator;\n private readonly formSettingDataRetentionContainer: Locator;\n private readonly formSettingValidationContainer: Locator;\n private readonly formSettingCaptionsContainer: Locator;\n private readonly formSettingStylingContainer: Locator;\n private readonly formSettingAutocompleteContainer: Locator;\n private readonly formSettingModerationContainer: Locator;\n private readonly prevalueSourceOriginModal: Locator;\n\n constructor(page: Page) {\n super(page);\n this.quickCreateNewBtn = page.locator('uui-button[label=\"Create…\"]');\n this.createNewFormModalBtn = page.locator('#menu-item').getByLabel('New Form…');\n this.createNewPrevaluesourceModalBtn = page.locator('umb-ref-item');\n this.saveFormBtn = page.getByLabel('Save', {exact: true});\n this.formNameTxt = page.locator('#nameInput input[aria-label=\"Enter a name…\"]');\n this.formPageNametxt = page.locator('input[type = \"text\"][placeholder = \"Untitled page (optional)\"]');\n this.formGroupNameTxt = page.locator('input[type = \"text\"][placeholder = \"Untitled group (optional)\"]');\n this.formAddNewPageBtn = page.getByLabel('Add new page', {exact: true});\n this.formAddNewGroupBtn = page.getByLabel('Add new group', {exact: true});\n this.formPage = page.locator('forms-form-page');\n this.formAddQuestionBtn = page.getByLabel(\"Add question\", {exact: true});\n this.formEditFieldModal = page.locator(\"form-edit-field-modal\");\n this.formFieldType = page.locator('#btn-item');\n this.formFieldNameTxt = page.locator('#caption input[type=\"text\"][aria-label=\"caption\"]');\n this.formSubmitButtonModal = page.getByLabel('Submit', {exact: true});\n this.formExpandBtn = page.locator('#menu-item button[aria-label=\"Expand child items for Forms\"] svg');\n this.formTree = page.locator('umb-tree[alias=\"Forms.Tree.Forms\"]');\n this.formMenuItemForForm = page.locator('uui-menu-item[label=\"Forms\"]');\n this.formMenuItemForPrevalueSource = page.locator('uui-menu-item[label=\"Prevalue Sources\"]');\n this.formActionModal = page.locator('#action-modal');\n this.formDeleteThreeDotBtn = page.locator('uui-menu-item[label=\"Delete…\"]');\n this.formWorkspaceEditor = page.locator('umb-workspace-editor[alias=\"Forms.Workspace.Form\"]');\n this.formSettingIcon = page.locator('umb-icon[name=\"settings\"]');\n this.formSettingStoreRecordBtn = page.locator('forms-settings-store-records');\n this.formSettingCaptions = page.locator('forms-settings-captions');\n this.formSettingStyling = page.locator('forms-settings-styling');\n this.formSettingValidation = page.locator('forms-settings-validation');\n this.formSettingAutocomplete = page.locator('forms-settings-autocomplete');\n this.formSettingModeration = page.locator('forms-settings-moderation');\n this.formSettingFieldsDisplayed = page.locator('forms-settings-fields-display');\n this.formSettingDataRetention = page.locator('forms-settings-data-retention');\n this.formSettingCaptionsLabel = page.locator('uui-label[title=\"captions\"]');\n this.formSettingStylingLabel = page.locator('uui-label[title=\"styling\"]');\n this.formSettingValidationLabel = page.locator('uui-label[title=\"validation\"]');\n this.formSettingAutocompleteLabel = page.locator('uui-label[title=\"autocomplete\"]');\n this.formSettingModerationLabel = page.locator('uui-label[title=\"manualApproval\"]');\n this.formSettingFieldsDisplayedLabel = page.locator('uui-label[title=\"fieldsDisplayed\"]');\n this.formSettingDataRetentionLabel = page.locator('uui-label[title=\"dataRetention\"]');\n this.formWorkflowConfigureBtn = page.getByLabel('Configure workflow', { exact: true });\n this.formWorkflowOnSubmitStage = page.locator('form-configure-workflow-stage[collectionname=\"onSubmit\"]');\n this.formWorkflowAddButtonModal = page.locator('.stage-block', {hasText: \"Add workflow\"});\n this.formConfigureWorkflowModal = page.locator('form-configure-workflow-modal');\n this.formEditWorkflowModal = page.locator('form-edit-workflow-modal');\n this.formInputTxt = page.locator('input[type = \"text\"]');\n this.formInputNumber = page.locator('input[type = \"number\"]');\n this.formToggleSlider = page.locator('uui-toggle #toggle');\n this.prevalueSourceExpandBtn = page.locator('#menu-item button[aria-label=\"Expand child items for Prevalue Sources\"] svg');\n this.prevalueSourceTree = page.locator('umb-tree[alias=\"Forms.Tree.PrevalueSources\"]');\n this.prevalueSourceDeleteBtn = page.locator('uui-button[label=\"Delete...\"]');\n this.prevalueSourceCacheContainer = this.page.locator('umb-property-layout[alias=\"_cachePrevalues\"]');\n this.prevalueSourceTypeLabel = this.page.locator(\"[label = 'Type']\");\n this.formFieldMandatory = this.page.locator('umb-property-layout[alias=\"mandatory\"]');\n this.formFieldRegex = this.page.locator('umb-property-layout[alias=\"regex\"]');\n this.formWorkflowNameTxt = this.page.locator('umb-property-layout[alias=\"name\"] input[type=text]');\n this.formSettingFieldsDisplayedContainer = this.formSettingFieldsDisplayed.locator(this.formSettingFieldsDisplayedLabel);\n this.formSettingDataRetentionContainer = this.formSettingDataRetention.locator(this.formSettingDataRetentionLabel);\n this.formSettingValidationContainer = this.formSettingValidation.locator(this.formSettingValidationLabel);\n this.formSettingCaptionsContainer = this.formSettingCaptions.locator(this.formSettingCaptionsLabel);\n this.formSettingStylingContainer = this.formSettingStyling.locator(this.formSettingStylingLabel);\n this.formSettingAutocompleteContainer = this.formSettingAutocomplete.locator(this.formSettingAutocompleteLabel);\n this.formSettingModerationContainer = this.formSettingModeration.locator(this.formSettingModerationLabel);\n this.prevalueSourceOriginModal = this.page.locator('umb-body-layout[headline=\"Pick origin\"]');\n }\n\n /*\n * Methods for Forms.\n */\n\n async clickQuickCreateFormButton() {\n await this.hoverAndClick(this.formMenuItemForForm, this.formMenuItemForForm.locator(this.quickCreateNewBtn));\n }\n\n async clickNewFormButton() {\n await this.click(this.createNewFormModalBtn);\n }\n\n async clickSaveFormButton() {\n await this.click(this.saveFormBtn);\n }\n\n async fillFormName(name: string) {\n await this.enterText(this.formNameTxt, name);\n }\n\n async fillFormPageName(position: number, name: string) {\n const nameInput = this.formPageNametxt.nth(position);\n await this.enterText(nameInput, name);\n }\n\n async fillFormGroupName(position: number, name: string) {\n const groupInput = this.formGroupNameTxt.nth(position);\n await this.enterText(groupInput, name);\n }\n\n async fillFormFieldName(name: string) {\n await this.formEditFieldModal.locator(this.formFieldNameTxt).fill(name);\n }\n\n async clickAddNewPageButton() {\n await this.click(this.formAddNewPageBtn);\n }\n\n async clickAddNewGroupButton() {\n await this.click(this.formAddNewGroupBtn);\n }\n\n async clickAddQuestionButton(index: number = 0) {\n const button = this.formPage.nth(index).locator(this.formAddQuestionBtn);\n await this.click(button);\n }\n\n async chooseFormFieldType(type: string) {\n await this.click(this.formFieldType.filter({hasText: type}).nth(0));\n }\n\n async clickExpandFormsTreeButton() {\n await this.click(this.formExpandBtn);\n }\n\n async doesFormTreeHaveFormName(name: string) {\n await this.containsText(this.formTree, name);\n }\n\n async goToFormWithName(name: string) {\n await this.click(this.formTree.getByText(name, {exact: true}));\n }\n\n async clickFormFieldTypeSubmitModal() {\n await this.click(this.formSubmitButtonModal);\n }\n\n async clickActionMenuOnFormMenuItem(name: string) {\n await this.click(this.menuItem.locator(`[label=\"${name}\"] uui-button[label=\"Open actions menu\"]`));\n }\n\n async clickDeleteFormButton() {\n await this.click(this.formActionModal.locator(this.formDeleteThreeDotBtn));\n await this.click(this.deleteExactBtn);\n }\n\n async goToFormSetting() {\n await this.click(this.formWorkspaceEditor.locator(this.formSettingIcon));\n }\n\n async setFormStoreRecordsSetting() {\n await this.waitForVisible(this.formSettingStoreRecordBtn);\n const toggle = this.formSettingStoreRecordBtn.locator(this.formToggleSlider);\n await this.waitForVisible(toggle);\n await toggle.check();\n }\n\n async setFormCaptionsSetting() {\n await this.waitForVisible(this.formSettingCaptionsContainer);\n for (let i = 0; i < 3; i++) {\n const captionInput = this.formSettingCaptions.locator(this.formInputTxt).nth(i);\n await this.enterText(captionInput, `Test Caption ${i + 1}`);\n }\n }\n\n async setFormStylingSetting() {\n await this.waitForVisible(this.formSettingStylingContainer);\n const cssClassInput = this.formSettingStyling.locator(this.formInputTxt);\n await this.enterText(cssClassInput, \"custom-css-class\");\n const disableDefaultStylesheetInput = this.formSettingStyling.locator(this.formToggleSlider);\n await this.click(disableDefaultStylesheetInput);\n }\n\n async setFormValidationSetting() {\n await this.waitForVisible(this.formSettingValidationContainer);\n const requiredErrorMessageInput = this.formSettingValidation.locator(this.formInputTxt).nth(0);\n await this.enterText(requiredErrorMessageInput, \"Required error message\");\n const invalidErrorMessageInput = this.formSettingValidation.locator(this.formInputTxt).nth(1);\n await this.enterText(invalidErrorMessageInput, \"Invalid error message\");\n\n const showValidationSummaryInput = this.formSettingValidation.locator(this.formToggleSlider).nth(0);\n await this.click(showValidationSummaryInput);\n const hideFieldValidationInput = this.formSettingValidation.locator(this.formToggleSlider).nth(1);\n await this.click(hideFieldValidationInput);\n\n const markMandatoryFieldRadioInput = this.formSettingValidation.locator(\"uui-radio[value = 'MarkMandatoryFields']\");\n await this.click(markMandatoryFieldRadioInput);\n\n const indicatorInput = this.formSettingValidation.locator(this.formInputTxt).nth(2);\n await this.enterText(indicatorInput, \"+\");\n }\n\n async setFormAutocompleteSetting() {\n await this.waitForVisible(this.formSettingAutocompleteContainer);\n const autocompleteAttributeRadioInput = this.formSettingAutocomplete.locator('uui-radio[value = \"On\"]');\n await this.click(autocompleteAttributeRadioInput);\n }\n\n async setFormModerationSetting() {\n await this.waitForVisible(this.formSettingModerationContainer);\n const enablePostModerationAttributeToggleInput = this.formSettingModeration.locator(this.formToggleSlider);\n await this.click(enablePostModerationAttributeToggleInput);\n }\n\n async setFormFieldsDisplayedSetting() {\n await this.waitForVisible(this.formSettingFieldsDisplayedContainer);\n const displayDefaultFieldsToggleInput = this.formSettingFieldsDisplayed.locator(this.formToggleSlider);\n await this.click(displayDefaultFieldsToggleInput);\n await this.page.waitForTimeout(ConstantHelper.wait.minimal); // short pause required here otherwise revealed elements are not found\n const displayFieldsSelect = this.formSettingFieldsDisplayed.locator(\"select\");\n await this.selectByValue(displayFieldsSelect, '_system_state');\n const displayFieldsAddButton = this.formSettingFieldsDisplayed.locator(\"button[id='button']\");\n await this.click(displayFieldsAddButton);\n }\n\n async setFormDataRetentionSetting(recordNumber: string) {\n await this.waitForVisible(this.formSettingDataRetentionContainer);\n const retainSubmittedRecordsToggleInput = this.formSettingDataRetention.locator(this.formToggleSlider).nth(0);\n await this.click(retainSubmittedRecordsToggleInput);\n await this.page.waitForTimeout(ConstantHelper.wait.minimal); // short pause required here otherwise revealed elements are not found\n const retainSubmittedRecordsNumberInput = this.formSettingDataRetention.locator(this.formInputNumber).nth(0);\n await this.enterText(retainSubmittedRecordsNumberInput, recordNumber);\n }\n\n async toggleFieldSetting(settingAlias: string) {\n const settingFieldLocator = this.page.locator(`umb-property-layout[alias=\"${settingAlias}\"] #toggle`);\n await this.click(settingFieldLocator);\n }\n\n async applyFieldSettingViaTextInput(settingAlias: string, settingValue: string) {\n const settingFieldLocator = this.page.locator(`umb-property[alias=\"${settingAlias}\"] input`);\n await settingFieldLocator.fill(settingValue);\n }\n\n async applyFieldSettingViaDropDown(settingAlias: string, settingValue: string) {\n const settingFieldLocator = this.page.locator(`umb-property[alias=\"${settingAlias}\"] select`);\n await this.selectByValue(settingFieldLocator, settingValue);\n }\n\n async applyFieldSettingViaSlider(settingAlias: string) {\n const settingFieldLocator = this.page.locator(`umb-property[alias=\"${settingAlias}\"] #toggle`);\n await this.click(settingFieldLocator);\n }\n\n async applyFieldFileUploadSettings(settingAlias: string, allowedProvidedExtensions: Array<string>, allowedCustomExtensions: Array<string>, allowMultiple: boolean) {\n const settingFieldLocator = this.page.locator(`umb-property-layout[alias=\"${settingAlias}\"]`);\n for (var i = 0; i < allowedProvidedExtensions.length; i++) {\n const checkBoxLocator = settingFieldLocator.locator('uui-toggle', {hasText: allowedProvidedExtensions[i].toUpperCase()}).locator('#toggle');\n await this.click(checkBoxLocator);\n }\n\n const addNewExtensionLocator = settingFieldLocator.locator('input[placeholder = \"Add new allowed file type\"]');\n await this.waitForVisible(addNewExtensionLocator);\n const buttonLocator = settingFieldLocator.locator('form svg');\n await this.waitForVisible(buttonLocator);\n for (var i = 0; i < allowedCustomExtensions.length; i++) {\n await addNewExtensionLocator.fill(allowedCustomExtensions[i]);\n await this.click(buttonLocator);\n }\n\n if (allowMultiple) {\n const alias = \"allowMultipleFileUploads\";\n const multipleUploadLocator = this.page.locator(`umb-property-layout[alias=\"${alias}\"] #toggle`);\n await this.click(multipleUploadLocator);\n }\n }\n\n async applyFieldPrevalues(settingAlias: string, prevalues: Array<any>) {\n const settingFieldLocator = this.page.locator(`umb-property-layout[alias=\"${settingAlias}\"]`);\n for (var i = 0; i < prevalues.length; i++) {\n const valueFieldLocator = settingFieldLocator.locator(\"input[placeholder = 'New value']\");\n await this.waitForVisible(valueFieldLocator);\n await valueFieldLocator.fill(prevalues[i].value);\n\n const captionFieldLocator = settingFieldLocator.locator(\"input[placeholder = 'New caption']\");\n await this.enterText(captionFieldLocator, prevalues[i].caption);\n\n const buttonLocator = settingFieldLocator.locator('uui-button[label=\"add\"]');\n await this.click(buttonLocator);\n }\n }\n\n async applyFieldSettingViaTextArea(settingAlias: string, settingValue: string) {\n const settingFieldLocator = this.page.locator(`umb-property[alias=\"${settingAlias}\"] textarea`);\n await settingFieldLocator.fill(settingValue);\n }\n\n async applyFieldSettingViaRichTextInput(settingAlias: string, settingValue: string) {\n const richTextAreaTxt = this.page.locator(`umb-property[alias=\"${settingAlias}\"] umb-property-editor-ui-tiptap`).locator('#editor .tiptap');\n await this.waitForVisible(richTextAreaTxt);\n await richTextAreaTxt.fill(settingValue);\n }\n\n async applyFieldSettingViaRange(settingAlias: string, settingValue: string) {\n const settingFieldLocator = this.page.locator(`umb-property[alias=\"${settingAlias}\"]`);\n await settingFieldLocator.locator('input[type=\"range\"]').fill(settingValue);\n }\n\n async applyFieldSettingViaFieldMappingInput(settingAlias: string, settingValue: Array<any>) {\n const settingFieldLocator = this.page.locator(`umb-property[alias=\"${settingAlias}\"]`);\n await this.waitForVisible(settingFieldLocator);\n\n for (let i = 0; i < settingValue.length; i++) {\n const buttonLocator = settingFieldLocator.locator('uui-button[label=\"add\"]');\n await this.click(buttonLocator);\n\n const aliasInputLocator = settingFieldLocator.locator(\"input[placeholder = 'Alias']\").nth(i);\n await this.waitForVisible(aliasInputLocator);\n await aliasInputLocator.fill(settingValue[i].alias);\n\n const staticValueInputLocator = settingFieldLocator.locator(\"input[placeholder = 'Static value']\").nth(i);\n await this.waitForVisible(staticValueInputLocator);\n await staticValueInputLocator.fill(settingValue[i].staticValue);\n }\n }\n\n async applyFieldSettingViaDocumentMapper(settingAlias: string, settingValue: any) {\n const settingFieldLocator = this.page.locator(`umb-property[alias=\"${settingAlias}\"]`);\n await this.waitForVisible(settingFieldLocator);\n\n const selectLocator = settingFieldLocator.locator(\"forms-document-mapper-property-editor select\");\n await this.selectByValue(selectLocator, settingValue.doctype);\n\n const inputLocator = settingFieldLocator.locator('forms-document-mapper-property-editor input[type = \"text\"]');\n await this.waitForVisible(inputLocator.first());\n const inputLocatorCount = await inputLocator.count();\n for (let i = 0; i < inputLocatorCount; i++) {\n await this.waitForVisible(inputLocator.nth(i));\n await inputLocator.nth(i).fill(settingValue.nameStaticValue);\n }\n }\n\n async applyFieldSettingViaEmailTemplatePicker(settingAlias: string, settingValue: string) {\n const settingFieldLocator = this.page.locator(`umb-property[alias=\"${settingAlias}\"]`);\n await this.waitForVisible(settingFieldLocator);\n\n const buttonLocator = settingFieldLocator.locator(\"#caret-button\");\n await this.click(buttonLocator);\n\n const templateLocator = this.page.locator(\"#label-button\", {hasText: settingValue});\n await this.click(templateLocator);\n }\n\n async applyFieldSettingViaStandardFieldMappingInput(settingAlias: string, settingValue: Array<any>) {\n const settingFieldLocator = this.page.locator(`umb-property[alias=\"${settingAlias}\"]`);\n await this.waitForVisible(settingFieldLocator);\n\n for (let i = 0; i < settingValue.length; i++) {\n if (settingValue[i].include) {\n const includeButtonLocator = settingFieldLocator.locator(`div[data-umb-standard-field-mapping-include=\"${settingValue[i].alias}\"] #toggle`);\n await this.click(includeButtonLocator);\n }\n\n const keyNameButtonLocator = settingFieldLocator.locator(`div[data-umb-standard-field-mapping-key-name=\"${settingValue[i].alias}\"] input[type=\"text\"]`);\n await keyNameButtonLocator.fill(settingValue[0].keyName);\n }\n }\n\n async setFieldMandatory(message: string) {\n await this.click(this.formFieldMandatory.locator(\"#toggle\"));\n await this.page.waitForTimeout(ConstantHelper.wait.medium);\n const inputLocator = this.formFieldMandatory.locator(this.formInputTxt);\n await this.enterText(inputLocator, message);\n }\n\n async setFieldValidation(label: string, message: string) {\n await this.waitForVisible(this.formFieldRegex);\n const selectLocator = this.formFieldRegex.locator(\"select\");\n await this.selectByText(selectLocator, label);\n await this.page.waitForTimeout(ConstantHelper.wait.medium);\n const inputLocator = this.formFieldRegex.locator(\"input\");\n await this.enterText(inputLocator, message);\n }\n\n async clickFormWorkflowConfigureButton() {\n await this.click(this.formWorkflowConfigureBtn);\n }\n\n async clickFormWorkflowEditSubmitButton() {\n await this.click(this.formEditWorkflowModal.locator(this.formSubmitButtonModal));\n }\n\n async clickFormWorkflowConfigureSubmitButton() {\n await this.click(this.formConfigureWorkflowModal.locator(this.formSubmitButtonModal));\n }\n\n async clickFormWorkflowAddButton() {\n await this.click(this.formWorkflowOnSubmitStage.locator(this.formWorkflowAddButtonModal), {force: true});\n }\n\n async selectWorkflowType(workflowType: string) {\n await this.click(this.page.locator(`umb-ref-item[title=\"${workflowType}\"]`));\n }\n\n async fillWorkflowName(workflowName: string) {\n await this.enterText(this.formWorkflowNameTxt, workflowName);\n }\n\n /*\n * Methods for Prevalue Source.\n */\n\n async clickQuickCreatePrevalueSourceButton() {\n await this.hoverAndClick(this.formMenuItemForPrevalueSource, this.formMenuItemForPrevalueSource.locator(this.quickCreateNewBtn));\n }\n\n async clickPrevalueSourceTypeButton(type: string) {\n const button = this.createNewPrevaluesourceModalBtn.locator(\"#name\", {hasText: type});\n await this.click(button);\n }\n\n async clickExpandPrevalueSourceTreeButton() {\n await this.click(this.prevalueSourceExpandBtn);\n }\n\n async goToPrevalueSourceWithName(name: string) {\n await this.click(this.prevalueSourceTree.locator(`uui-menu-item[label=\"${name}\"]`));\n }\n\n async clickDeletePrevalueSourceButton(name: string) {\n const prevalueSource = this.prevalueSourceTree.locator(`uui-menu-item[label=\"${name}\"]`);\n await this.click(prevalueSource.locator(this.prevalueSourceDeleteBtn));\n await this.click(this.deleteExactBtn);\n }\n\n async applyCacheOptions(option: string, timeValue: number = 0, timeUnit: string = \"\") {\n await this.waitForVisible(this.prevalueSourceCacheContainer);\n const optionSelect = this.prevalueSourceCacheContainer.locator(`uui-radio[value = \"${option}\"]`);\n await this.click(optionSelect);\n\n if (option === \"time\") {\n const numberInput = this.prevalueSourceCacheContainer.locator(\"input[type='number']\");\n await this.waitForVisible(numberInput);\n await numberInput.fill(timeValue.toString());\n\n const unitSelect = this.prevalueSourceCacheContainer.locator(\"select\");\n await this.selectByValue(unitSelect, timeUnit);\n }\n }\n\n async applyPrevalueSourceSettingViaNodeSelector(labelText: string, settingValue: string) {\n const container = this.page.locator(`umb-property[alias=\"${labelText}\"]`);\n await this.waitForVisible(container);\n const rootNode = container.locator('uui-button[label=\"Specify root node\"]');\n await this.click(rootNode);\n await this.waitForVisible(this.prevalueSourceOriginModal);\n const value = this.prevalueSourceOriginModal.locator(`umb-ref-item[name=\"${settingValue}\"]`);\n await this.click(value);\n }\n\n async checkPrevalueSourceTypeLabel() {\n await this.waitForVisible(this.prevalueSourceTypeLabel);\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"FormsUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/FormsUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import { UiBaseLocators } from \"./UiBaseLocators\";\nimport { expect, Locator, Page } from \"@playwright/test\"\n\nexport class FormsUiHelper extends UiBaseLocators{\n private readonly quickCreateNewBtn: Locator;\n private readonly createNewFormModalBtn: Locator;\n private readonly saveFormBtn: Locator;\n private readonly formNameTxt: Locator;\n private readonly formPageNametxt: Locator;\n private readonly formGroupNameTxt: Locator;\n private readonly formExpandBtn: Locator;\n private readonly formAddNewPageBtn: Locator;\n private readonly formAddNewGroupBtn: Locator;\n private readonly formPage: Locator;\n private readonly formAddQuestionBtn: Locator;\n private readonly formFieldType: Locator;\n private readonly formFieldNameTxt: Locator;\n private readonly formSubmitButtonModal: Locator;\n private readonly formTree: Locator;\n private readonly formActionModal: Locator;\n private readonly formDeleteThreeDotBtn: Locator;\n private readonly formWorkspaceEditor: Locator;\n private readonly formSettingIcon: Locator;\n private readonly formSettingStoreRecordBtn: Locator;\n private readonly formSettingCaptions: Locator;\n private readonly formSettingStyling: Locator;\n private readonly formSettingValidation: Locator;\n private readonly formSettingAutocomplete: Locator;\n private readonly formSettingModeration: Locator;\n private readonly formSettingFieldsDisplayed: Locator;\n private readonly formSettingDataRetention: Locator;\n private readonly formSettingCaptionsLabel: Locator;\n private readonly formSettingStylingLabel: Locator;\n private readonly formSettingValidationLabel: Locator;\n private readonly formSettingAutocompleteLabel: Locator;\n private readonly formSettingModerationLabel: Locator;\n private readonly formSettingFieldsDisplayedLabel: Locator;\n private readonly formSettingDataRetentionLabel: Locator;\n private readonly formWorkflowConfigureBtn: Locator;\n private readonly formWorkflowOnSubmitStage: Locator;\n private readonly formWorkflowAddButtonModal: Locator;\n private readonly formConfigureWorkflowModal: Locator;\n private readonly formEditWorkflowModal: Locator;\n private readonly formEditFieldModal: Locator;\n private readonly formMenuItemForForm: Locator;\n private readonly formInputTxt: Locator;\n private readonly formInputNumber: Locator;\n private readonly formToggleSlider: Locator;\n private readonly formMenuItemForPrevalueSource: Locator;\n private readonly createNewPrevaluesourceModalBtn: Locator;\n private readonly prevalueSourceExpandBtn: Locator;\n private readonly prevalueSourceTree: Locator;\n private readonly prevalueSourceDeleteBtn: Locator;\n private readonly formFieldMandatory: Locator;\n private readonly formFieldRegex: Locator;\n private readonly formWorkflowNameTxt: Locator;\n private readonly prevalueSourceCacheContainer: Locator;\n private readonly prevalueSourceTypeLabel: Locator;\n private readonly formSettingFieldsDisplayedContainer: Locator;\n private readonly formSettingDataRetentionContainer: Locator;\n private readonly formSettingValidationContainer: Locator;\n private readonly formSettingCaptionsContainer: Locator;\n private readonly formSettingStylingContainer: Locator;\n private readonly formSettingAutocompleteContainer: Locator;\n private readonly formSettingModerationContainer: Locator;\n private readonly prevalueSourceOriginModal: Locator;\n\n constructor(page: Page) {\n super(page);\n this.quickCreateNewBtn = page.locator('uui-button[label=\"Create…\"]');\n this.createNewFormModalBtn = page.locator('#menu-item').getByLabel('New Form…');\n this.createNewPrevaluesourceModalBtn = page.locator('umb-ref-item');\n this.saveFormBtn = page.getByLabel('Save', {exact: true});\n this.formNameTxt = page.locator('#nameInput input[aria-label=\"Enter a name…\"]');\n this.formPageNametxt = page.locator('input[type = \"text\"][placeholder = \"Untitled page (optional)\"]');\n this.formGroupNameTxt = page.locator('input[type = \"text\"][placeholder = \"Untitled group (optional)\"]');\n this.formAddNewPageBtn = page.getByLabel('Add new page', {exact: true});\n this.formAddNewGroupBtn = page.getByLabel('Add new group', {exact: true});\n this.formPage = page.locator('forms-form-page');\n this.formAddQuestionBtn = page.getByLabel(\"Add question\", {exact: true});\n this.formEditFieldModal = page.locator(\"form-edit-field-modal\");\n this.formFieldType = page.locator('#btn-item');\n this.formFieldNameTxt = page.locator('#caption input[type=\"text\"][aria-label=\"caption\"]');\n this.formSubmitButtonModal = page.getByLabel('Submit', {exact: true});\n this.formExpandBtn = page.locator('#menu-item button[aria-label=\"Expand child items for Forms\"] svg');\n this.formTree = page.locator('umb-tree[alias=\"Forms.Tree.Forms\"]');\n this.formMenuItemForForm = page.locator('uui-menu-item[label=\"Forms\"]');\n this.formMenuItemForPrevalueSource = page.locator('uui-menu-item[label=\"Prevalue Sources\"]');\n this.formActionModal = page.locator('#action-modal');\n this.formDeleteThreeDotBtn = page.locator('uui-menu-item[label=\"Delete…\"]');\n this.formWorkspaceEditor = page.locator('umb-workspace-editor[alias=\"Forms.Workspace.Form\"]');\n this.formSettingIcon = page.locator('umb-icon[name=\"settings\"]');\n this.formSettingStoreRecordBtn = page.locator('forms-settings-store-records');\n this.formSettingCaptions = page.locator('forms-settings-captions');\n this.formSettingStyling = page.locator('forms-settings-styling');\n this.formSettingValidation = page.locator('forms-settings-validation');\n this.formSettingAutocomplete = page.locator('forms-settings-autocomplete');\n this.formSettingModeration = page.locator('forms-settings-moderation');\n this.formSettingFieldsDisplayed = page.locator('forms-settings-fields-display');\n this.formSettingDataRetention = page.locator('forms-settings-data-retention');\n this.formSettingCaptionsLabel = page.locator('uui-label[title=\"captions\"]');\n this.formSettingStylingLabel = page.locator('uui-label[title=\"styling\"]');\n this.formSettingValidationLabel = page.locator('uui-label[title=\"validation\"]');\n this.formSettingAutocompleteLabel = page.locator('uui-label[title=\"autocomplete\"]');\n this.formSettingModerationLabel = page.locator('uui-label[title=\"manualApproval\"]');\n this.formSettingFieldsDisplayedLabel = page.locator('uui-label[title=\"fieldsDisplayed\"]');\n this.formSettingDataRetentionLabel = page.locator('uui-label[title=\"dataRetention\"]');\n this.formWorkflowConfigureBtn = page.getByLabel('Configure workflow', { exact: true });\n this.formWorkflowOnSubmitStage = page.locator('form-configure-workflow-stage[collectionname=\"onSubmit\"]');\n this.formWorkflowAddButtonModal = page.locator('.stage-block', {hasText: \"Add workflow\"});\n this.formConfigureWorkflowModal = page.locator('form-configure-workflow-modal');\n this.formEditWorkflowModal = page.locator('form-edit-workflow-modal');\n this.formInputTxt = page.locator('input[type = \"text\"]');\n this.formInputNumber = page.locator('input[type = \"number\"]');\n this.formToggleSlider = page.locator('uui-toggle #toggle');\n this.prevalueSourceExpandBtn = page.locator('#menu-item button[aria-label=\"Expand child items for Prevalue Sources\"] svg');\n this.prevalueSourceTree = page.locator('umb-tree[alias=\"Forms.Tree.PrevalueSources\"]');\n this.prevalueSourceDeleteBtn = page.locator('uui-button[label=\"Delete...\"]');\n this.prevalueSourceCacheContainer = this.page.locator('umb-property-layout[alias=\"_cachePrevalues\"]');\n this.prevalueSourceTypeLabel = this.page.locator(\"[label = 'Type']\");\n this.formFieldMandatory = this.page.locator('umb-property-layout[alias=\"mandatory\"]');\n this.formFieldRegex = this.page.locator('umb-property-layout[alias=\"regex\"]');\n this.formWorkflowNameTxt = this.page.locator('umb-property-layout[alias=\"name\"] input[type=text]');\n this.formSettingFieldsDisplayedContainer = this.formSettingFieldsDisplayed.locator(this.formSettingFieldsDisplayedLabel);\n this.formSettingDataRetentionContainer = this.formSettingDataRetention.locator(this.formSettingDataRetentionLabel);\n this.formSettingValidationContainer = this.formSettingValidation.locator(this.formSettingValidationLabel);\n this.formSettingCaptionsContainer = this.formSettingCaptions.locator(this.formSettingCaptionsLabel);\n this.formSettingStylingContainer = this.formSettingStyling.locator(this.formSettingStylingLabel);\n this.formSettingAutocompleteContainer = this.formSettingAutocomplete.locator(this.formSettingAutocompleteLabel);\n this.formSettingModerationContainer = this.formSettingModeration.locator(this.formSettingModerationLabel);\n this.prevalueSourceOriginModal = this.page.locator('umb-body-layout[headline=\"Pick origin\"]');\n }\n\n /*\n * Methods for Forms.\n */\n\n async clickQuickCreateFormButton() {\n await this.formMenuItemForForm.hover();\n await this.formMenuItemForForm.locator(this.quickCreateNewBtn).click();\n }\n\n async clickNewFormButton() {\n await expect(this.createNewFormModalBtn).toBeVisible();\n await this.createNewFormModalBtn.click();\n }\n\n async clickSaveFormButton(){\n await this.saveFormBtn.click();\n }\n\n async fillFormName(name: string){\n await expect(this.formNameTxt).toBeVisible();\n await this.formNameTxt.fill(name);\n }\n\n async fillFormPageName(position: number, name: string){\n const nameInput = this.formPageNametxt.nth(position);\n await expect(nameInput).toBeVisible();\n await nameInput.fill(name);\n }\n\n async fillFormGroupName(position: number, name: string){\n const groupInput = this.formGroupNameTxt.nth(position);\n await expect(groupInput).toBeVisible();\n await groupInput.fill(name);\n }\n\n async fillFormFieldName(name: string){\n await this.formEditFieldModal.locator(this.formFieldNameTxt).fill(name);\n }\n\n async clickAddNewPageButton(){\n await this.formAddNewPageBtn.click();\n }\n\n async clickAddNewGroupButton(){\n await this.formAddNewGroupBtn.click();\n }\n\n async clickAddQuestionButton(index: number = 0){\n const button = this.formPage.nth(index).locator(this.formAddQuestionBtn);\n await button.click();\n }\n\n async chooseFormFieldType(type: string){\n await this.formFieldType.filter({hasText: type}).nth(0).click();\n }\n\n async clickExpandFormsTreeButton(){\n await this.formExpandBtn.click();\n }\n\n async doesFormTreeHaveFormName(name: string) {\n await expect(this.formTree).toContainText(name);\n }\n\n async goToFormWithName(name: string) {\n await this.formTree.getByText(name, {exact: true}).click();\n }\n\n async clickFormFieldTypeSubmitModal() {\n await this.formSubmitButtonModal.click();\n }\n\n async clickActionMenuOnFormMenuItem(name: string){\n await this.menuItem.locator('[label=\"' + name + '\"] uui-button[label=\"Open actions menu\"]').click();\n }\n\n async clickDeleteFormButton(){\n await this.formActionModal.locator(this.formDeleteThreeDotBtn).click();\n await this.deleteExactBtn.click();\n }\n\n async goToFormSetting(){\n await this.formWorkspaceEditor.locator(this.formSettingIcon).click();\n }\n\n async setFormStoreRecordsSetting(){\n await expect(this.formSettingStoreRecordBtn).toBeVisible();\n const toggle = this.formSettingStoreRecordBtn.locator(this.formToggleSlider);\n await expect(toggle).toBeVisible();\n await toggle.check();\n }\n\n async setFormCaptionsSetting(){\n await expect(this.formSettingCaptionsContainer).toBeVisible();\n for (let i = 0; i < 3; i++) {\n const captionInput = this.formSettingCaptions.locator(this.formInputTxt).nth(i);\n await expect(captionInput).toBeVisible();\n await captionInput.fill(\"Test Caption \" + (i + 1));\n }\n }\n\n async setFormStylingSetting(){\n await expect(this.formSettingStylingContainer).toBeVisible();\n const cssClassInput = this.formSettingStyling.locator(this.formInputTxt);\n await expect(cssClassInput).toBeVisible();\n await cssClassInput.fill(\"custom-css-class\");\n const disableDefaultStylesheetInput = this.formSettingStyling.locator(this.formToggleSlider);\n await expect(disableDefaultStylesheetInput).toBeVisible();\n await disableDefaultStylesheetInput.click();\n }\n\n async setFormValidationSetting(){\n await expect(this.formSettingValidationContainer).toBeVisible();\n const requiredErrorMessageInput = this.formSettingValidation.locator(this.formInputTxt).nth(0);\n await expect(requiredErrorMessageInput).toBeVisible();\n await requiredErrorMessageInput.fill(\"Required error message\");\n const invalidErrorMessageInput = this.formSettingValidation.locator(this.formInputTxt).nth(1);\n await expect(invalidErrorMessageInput).toBeVisible();\n await invalidErrorMessageInput.fill(\"Invalid error message\");\n\n const showValidationSummaryInput = this.formSettingValidation.locator(this.formToggleSlider).nth(0);\n await expect(showValidationSummaryInput).toBeVisible();\n await showValidationSummaryInput.click();\n const hideFieldValidationInput = this.formSettingValidation.locator(this.formToggleSlider).nth(1);\n await expect(hideFieldValidationInput).toBeVisible();\n await hideFieldValidationInput.click();\n\n const markMandatoryFieldRadioInput = this.formSettingValidation.locator(\"uui-radio[value = 'MarkMandatoryFields']\");\n await expect(markMandatoryFieldRadioInput).toBeVisible();\n await markMandatoryFieldRadioInput.click();\n\n const indicatorInput = this.formSettingValidation.locator(this.formInputTxt).nth(2);\n await expect(indicatorInput).toBeVisible();\n await indicatorInput.fill(\"+\");\n }\n\n async setFormAutocompleteSetting(){\n await expect(this.formSettingAutocompleteContainer).toBeVisible();\n const autocompleteAttributeRadioInput = this.formSettingAutocomplete.locator('uui-radio[value = \"On\"]');\n await expect(autocompleteAttributeRadioInput).toBeVisible();\n await autocompleteAttributeRadioInput.click();\n }\n\n async setFormModerationSetting(){\n await expect(this.formSettingModerationContainer).toBeVisible();\n const enablePostModerationAttributeToggleInput = this.formSettingModeration.locator(this.formToggleSlider);\n await expect(enablePostModerationAttributeToggleInput).toBeVisible();\n await enablePostModerationAttributeToggleInput.click();\n }\n\n async setFormFieldsDisplayedSetting(){\n await expect(this.formSettingFieldsDisplayedContainer).toBeVisible();\n const displayDefaultFieldsToggleInput = this.formSettingFieldsDisplayed.locator(this.formToggleSlider);\n await expect(displayDefaultFieldsToggleInput).toBeVisible();\n await displayDefaultFieldsToggleInput.click();\n await this.page.waitForTimeout(100); // short pause required here otherwise revealed elements are not found\n const displayFieldsSelect = this.formSettingFieldsDisplayed.locator(\"select\");\n await expect(displayFieldsSelect).toBeVisible();\n await displayFieldsSelect.selectOption({ value: '_system_state' });\n const displayFieldsAddButton = this.formSettingFieldsDisplayed.locator(\"button[id='button']\");\n await expect(displayFieldsAddButton).toBeVisible();\n await displayFieldsAddButton.click();\n }\n\n async setFormDataRetentionSetting(recordNumber: string){\n await expect(this.formSettingDataRetentionContainer).toBeVisible();\n const retainSubmittedRecordsToggleInput = this.formSettingDataRetention.locator(this.formToggleSlider).nth(0);\n await expect(retainSubmittedRecordsToggleInput).toBeVisible();\n await retainSubmittedRecordsToggleInput.click();\n await this.page.waitForTimeout(100); // short pause required here otherwise revealed elements are not found\n const retainSubmittedRecordsNumberInput = this.formSettingDataRetention.locator(this.formInputNumber).nth(0);\n await expect(retainSubmittedRecordsNumberInput).toBeVisible();\n await retainSubmittedRecordsNumberInput.fill(recordNumber);\n }\n\n async toggleFieldSetting(settingAlias: string) {\n const settingFieldLocator = this.page.locator('umb-property-layout[alias=\"' + settingAlias + '\"] #toggle');\n await expect(settingFieldLocator).toBeVisible();\n await settingFieldLocator.click();\n }\n\n async applyFieldSettingViaTextInput(settingAlias: string, settingValue: string) {\n const settingFieldLocator = this.page.locator('umb-property[alias=\"' + settingAlias + '\"] input');\n await settingFieldLocator.fill(settingValue);\n }\n\n async applyFieldSettingViaDropDown(settingAlias: string, settingValue: string) {\n const settingFieldLocator = this.page.locator('umb-property[alias=\"' + settingAlias + '\"] select');\n await settingFieldLocator.selectOption({ value: settingValue });\n }\n\n async applyFieldSettingViaSlider(settingAlias: string) {\n const settingFieldLocator = this.page.locator('umb-property[alias=\"' + settingAlias + '\"] #toggle');\n await expect(settingFieldLocator).toBeVisible();\n await settingFieldLocator.click();\n }\n\n async applyFieldFileUploadSettings(settingAlias: string, allowedProvidedExtensions: Array<string>, allowedCustomExtensions: Array<string>, allowMultiple: boolean) {\n const settingFieldLocator = this.page.locator('umb-property-layout[alias=\"' + settingAlias + '\"]');\n for (var i = 0; i < allowedProvidedExtensions.length; i++) {\n const checkBoxLocator = settingFieldLocator.locator('uui-toggle', {hasText: allowedProvidedExtensions[i].toUpperCase()}).locator('#toggle');\n await expect(checkBoxLocator).toBeVisible();\n await checkBoxLocator.click();\n }\n \n const addNewExtensionLocator = settingFieldLocator.locator('input[placeholder = \"Add new allowed file type\"]');\n await expect(addNewExtensionLocator).toBeVisible();\n const buttonLocator = settingFieldLocator.locator('form svg');\n await expect(buttonLocator).toBeVisible();\n for (var i = 0; i < allowedCustomExtensions.length; i++) {\n await addNewExtensionLocator.fill(allowedCustomExtensions[i]);\n await buttonLocator.click();\n }\n \n if (allowMultiple) {\n const alias = \"allowMultipleFileUploads\";\n const multipleUploadLocator = this.page.locator('umb-property-layout[alias=\"' + alias + '\"] #toggle');\n await expect(multipleUploadLocator).toBeVisible();\n await multipleUploadLocator.click();\n }\n }\n\n async applyFieldPrevalues(settingAlias: string, prevalues: Array<any>) {\n const settingFieldLocator = this.page.locator('umb-property-layout[alias=\"' + settingAlias + '\"]');\n for (var i = 0; i < prevalues.length; i++) {\n const valueFieldLocator = settingFieldLocator.locator(\"input[placeholder = 'New value']\");\n await expect(valueFieldLocator).toBeVisible();\n await valueFieldLocator.fill(prevalues[i].value);\n \n const captionFieldLocator = settingFieldLocator.locator(\"input[placeholder = 'New caption']\");\n await expect(captionFieldLocator).toBeVisible();\n await captionFieldLocator.fill(prevalues[i].caption);\n \n const buttonLocator = settingFieldLocator.locator('uui-button[label=\"add\"]');\n await expect(buttonLocator).toBeVisible();\n await buttonLocator.click();\n }\n }\n\n async applyFieldSettingViaTextArea(settingAlias: string, settingValue: string) {\n const settingFieldLocator = this.page.locator('umb-property[alias=\"' + settingAlias + '\"] textarea');\n await settingFieldLocator.fill(settingValue);\n }\n\n async applyFieldSettingViaRichTextInput(settingAlias: string, settingValue: string) {\n const richTextAreaTxt = this.page.locator('umb-property[alias=\"' + settingAlias + '\"] umb-property-editor-ui-tiptap').locator('#editor .tiptap');\n await expect(richTextAreaTxt).toBeVisible();\n await richTextAreaTxt.fill(settingValue);\n }\n\n async applyFieldSettingViaRange(settingAlias: string, settingValue: string) {\n const settingFieldLocator = this.page.locator('umb-property[alias=\"' + settingAlias + '\"]');\n await settingFieldLocator.locator('input[type=\"range\"]').fill(settingValue);\n }\n\n async applyFieldSettingViaFieldMappingInput(settingAlias: string, settingValue: Array<any>) {\n const settingFieldLocator = this.page.locator('umb-property[alias=\"' + settingAlias + '\"]');\n await expect(settingFieldLocator).toBeVisible();\n \n for (let i = 0; i < settingValue.length; i++) {\n const buttonLocator = settingFieldLocator.locator('uui-button[label=\"add\"]');\n await expect(buttonLocator).toBeVisible();\n await buttonLocator.click();\n \n const aliasInputLocator = settingFieldLocator.locator(\"input[placeholder = 'Alias']\").nth(i);\n await expect(aliasInputLocator).toBeVisible();\n await aliasInputLocator.fill(settingValue[i].alias);\n \n const staticValueInputLocator = settingFieldLocator.locator(\"input[placeholder = 'Static value']\").nth(i);\n await expect(staticValueInputLocator).toBeVisible();\n await staticValueInputLocator.fill(settingValue[i].staticValue);\n }\n }\n\n async applyFieldSettingViaDocumentMapper(settingAlias: string, settingValue: any) {\n const settingFieldLocator = this.page.locator('umb-property[alias=\"' + settingAlias + '\"]');\n await expect(settingFieldLocator).toBeVisible();\n \n const selectLocator = settingFieldLocator.locator(\"forms-document-mapper-property-editor select\");\n await selectLocator.selectOption({ value : settingValue.doctype });\n \n const inputLocator = settingFieldLocator.locator('forms-document-mapper-property-editor input[type = \"text\"]');\n await expect(inputLocator.first()).toBeVisible();\n const inputLocatorCount = await inputLocator.count();\n for (let i = 0; i < inputLocatorCount; i++) {\n await expect(inputLocator.nth(i)).toBeVisible();\n await inputLocator.nth(i).fill(settingValue.nameStaticValue);\n }\n }\n\n async applyFieldSettingViaEmailTemplatePicker(settingAlias: string, settingValue: string) {\n const settingFieldLocator = this.page.locator('umb-property[alias=\"' + settingAlias + '\"]');\n await expect(settingFieldLocator).toBeVisible();\n \n const buttonLocator = settingFieldLocator.locator(\"#caret-button\");\n await buttonLocator.click();\n \n const templateLocator = this.page.locator(\"#label-button\", {hasText: settingValue});\n await expect(templateLocator).toBeVisible();\n await templateLocator.click();\n }\n\n async applyFieldSettingViaStandardFieldMappingInput(settingAlias: string, settingValue: Array<any>) {\n const settingFieldLocator = this.page.locator('umb-property[alias=\"' + settingAlias + '\"]');\n await expect(settingFieldLocator).toBeVisible();\n \n for (let i = 0; i < settingValue.length; i++) {\n if (settingValue[i].include) {\n const includeButtonLocator = settingFieldLocator.locator('div[data-umb-standard-field-mapping-include=\"' + settingValue[i].alias + '\"] #toggle');\n await includeButtonLocator.click();\n }\n \n const keyNameButtonLocator = settingFieldLocator.locator('div[data-umb-standard-field-mapping-key-name=\"' + settingValue[i].alias + '\"] input[type=\"text\"]');\n await keyNameButtonLocator.fill(settingValue[0].keyName);\n }\n }\n\n async setFieldMandatory(message: string) {\n await expect(this.formFieldMandatory).toBeVisible();\n await this.formFieldMandatory.locator(\"#toggle\").click();\n await this.page.waitForTimeout(1000);\n const inputLocator = this.formFieldMandatory.locator(this.formInputTxt);\n await expect(inputLocator).toBeVisible();\n await inputLocator.fill(message);\n }\n \n async setFieldValidation(label: string, message: string) {\n await expect(this.formFieldRegex).toBeVisible();\n const selectLocator = this.formFieldRegex.locator(\"select\");\n await selectLocator.selectOption({ label: label });\n await this.page.waitForTimeout(1000);\n const inputLocator = this.formFieldRegex.locator(\"input\");\n await expect(inputLocator).toBeVisible();\n await inputLocator.fill(message);\n }\n\n async clickFormWorkflowConfigureButton(){\n await this.formWorkflowConfigureBtn.click();\n }\n\n async clickFormWorkflowEditSubmitButton() {\n await this.formEditWorkflowModal.locator(this.formSubmitButtonModal).click();\n }\n\n async clickFormWorkflowConfigureSubmitButton() {\n await this.formConfigureWorkflowModal.locator(this.formSubmitButtonModal).click();\n }\n\n async clickFormWorkflowAddButton(){\n await this.formWorkflowOnSubmitStage.locator(this.formWorkflowAddButtonModal).click({force: true});\n }\n\n async selectWorkflowType(workflowType: string){\n this.page.locator('umb-ref-item[title=\"' + workflowType + '\"]').click();\n }\n\n async fillWorkflowName(workflowName: string) {\n await expect(this.formWorkflowNameTxt).toBeVisible();\n await this.formWorkflowNameTxt.fill(workflowName);\n }\n\n /*\n * Methods for Prevalue Source.\n */\n\n async clickQuickCreatePrevalueSourceButton() {\n await expect(this.formMenuItemForPrevalueSource).toBeVisible();\n await this.formMenuItemForPrevalueSource.hover();\n await this.formMenuItemForPrevalueSource.locator(this.quickCreateNewBtn).click();\n }\n\n async clickPrevalueSourceTypeButton(type: string) {\n const button = this.createNewPrevaluesourceModalBtn.locator(\"#name\", {hasText: type});\n await expect(button).toBeVisible();\n await button.click();\n }\n\n async clickExpandPrevalueSourceTreeButton(){\n await this.prevalueSourceExpandBtn.click();\n }\n\n async goToPrevalueSourceWithName(name: string) {\n await this.prevalueSourceTree.locator('uui-menu-item[label=\"' + name + '\"]').click();\n }\n\n async clickDeletePrevalueSourceButton(name: string){\n const prevalueSource = await this.prevalueSourceTree.locator('uui-menu-item[label=\"' + name + '\"]');\n await prevalueSource.locator(this.prevalueSourceDeleteBtn).click();\n await this.deleteExactBtn.click();\n }\n\n async applyCacheOptions(option: string, timeValue: number = 0, timeUnit: string = \"\") {\n await expect(this.prevalueSourceCacheContainer).toBeVisible();\n const optionSelect = this.prevalueSourceCacheContainer.locator('uui-radio[value = \"' + option + '\"]');\n await expect(optionSelect).toBeVisible();\n await optionSelect.click();\n \n if (option === \"time\") {\n const numberInput = this.prevalueSourceCacheContainer.locator(\"input[type='number']\");\n await expect(numberInput).toBeVisible();\n await numberInput.fill(timeValue.toString());\n \n const unitSelect = this.prevalueSourceCacheContainer.locator(\"select\");\n await expect(unitSelect).toBeVisible();\n await unitSelect.selectOption({ value: timeUnit });\n }\n }\n\n async applyPrevalueSourceSettingViaNodeSelector(labelText: string, settingValue: string) {\n const container = this.page.locator('umb-property[alias=\"' + labelText + '\"]');\n await expect(container).toBeVisible();\n const rootNode = container.locator('uui-button[label=\"Specify root node\"]');\n await expect(rootNode).toBeVisible();\n await rootNode.click();\n await expect(this.prevalueSourceOriginModal).toBeVisible();\n const value = this.prevalueSourceOriginModal.locator('umb-ref-item[name=\"' + settingValue + '\"]');\n await expect(value).toBeVisible();\n await value.click();\n }\n\n async checkPrevalueSourceTypeLabel(){\n await expect(this.prevalueSourceTypeLabel).toBeVisible();\n }\n}"]}
|
|
@@ -24,20 +24,20 @@ class HealthCheckUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
24
24
|
this.healthCheckGroup = page.locator('umb-dashboard-health-check-group');
|
|
25
25
|
}
|
|
26
26
|
async clickHealthCheckTab() {
|
|
27
|
-
await this.click(
|
|
27
|
+
await this.healthCheckTab.click();
|
|
28
28
|
}
|
|
29
29
|
async checkHealthCheckGroupCount() {
|
|
30
|
-
await
|
|
30
|
+
await (0, test_1.expect)(this.healthCheckGroupBox.first()).toBeVisible();
|
|
31
31
|
return this.healthCheckGroupBox.count();
|
|
32
32
|
}
|
|
33
33
|
async clickPerformanceAllChecksButton() {
|
|
34
|
-
await this.click(
|
|
34
|
+
await this.performanceAllChecksBtn.click();
|
|
35
35
|
}
|
|
36
36
|
async clickHeathCheckGroupByName(groupName) {
|
|
37
|
-
await this.
|
|
37
|
+
await this.page.getByRole('link', { name: groupName }).click();
|
|
38
38
|
}
|
|
39
39
|
async isHealthCheckGroupVisible(groupName) {
|
|
40
|
-
await
|
|
40
|
+
return await (0, test_1.expect)(this.healthCheckGroupBox.getByText(groupName)).toBeVisible();
|
|
41
41
|
}
|
|
42
42
|
async doesHeathCheckGroupHaveSuccessItemsCount(healthCheckGroupName, count) {
|
|
43
43
|
return (0, test_1.expect)(this.healthCheckGroupBox.filter({ has: this.page.getByText(healthCheckGroupName) }).locator(this.positiveTag)).toHaveText(count.toString());
|
|
@@ -49,10 +49,10 @@ class HealthCheckUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
49
49
|
return (0, test_1.expect)(this.healthCheckGroupBox.filter({ has: this.page.getByText(healthCheckGroupName) }).locator(this.dangerTag)).toHaveText(count.toString());
|
|
50
50
|
}
|
|
51
51
|
async isCheckNameVisible(name) {
|
|
52
|
-
return await
|
|
52
|
+
return await (0, test_1.expect)(this.headline.filter({ hasText: name })).toBeVisible();
|
|
53
53
|
}
|
|
54
54
|
async isCheckDescriptionVisible(description) {
|
|
55
|
-
return await
|
|
55
|
+
return await (0, test_1.expect)(this.healthCheckGroup.getByText(description)).toBeVisible();
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
exports.HealthCheckUiHelper = HealthCheckUiHelper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HealthCheckUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/HealthCheckUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAEhD,MAAa,mBAAoB,SAAQ,+BAAc;IACpC,cAAc,CAAU;IACxB,mBAAmB,CAAU;IAC7B,uBAAuB,CAAU;IACjC,WAAW,CAAS;IACpB,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,QAAQ,CAAU;IAClB,gBAAgB,CAAU;IAE3C,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;QAC/E,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,2BAA2B,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,0BAA0B,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,yBAAyB,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"HealthCheckUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/HealthCheckUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class HealthCheckUiHelper extends UiBaseLocators {\n private readonly healthCheckTab: Locator;\n private readonly healthCheckGroupBox: Locator;\n private readonly performanceAllChecksBtn: Locator;\n private readonly positiveTag: string;\n private readonly warningTag: string;\n private readonly dangerTag: string;\n private readonly headline: Locator;\n private readonly healthCheckGroup: Locator;\n\n constructor(page: Page) {\n super(page);\n this.healthCheckTab = page.getByRole('tab', {name: 'Health Check'});\n this.healthCheckGroupBox = page.locator('umb-health-check-group-box-overview');\n this.performanceAllChecksBtn = page.getByLabel('Perform all checks');\n this.positiveTag = 'uui-tag[color=\"positive\"]';\n this.warningTag = 'uui-tag[color=\"warning\"]';\n this.dangerTag = 'uui-tag[color=\"danger\"]';\n this.headline = page.locator('#headline');\n this.healthCheckGroup = page.locator('umb-dashboard-health-check-group');\n }\n\n async clickHealthCheckTab() {\n await this.healthCheckTab.click();\n }\n\n async checkHealthCheckGroupCount() {\n await expect(this.healthCheckGroupBox.first()).toBeVisible();\n return this.healthCheckGroupBox.count();\n }\n\n async clickPerformanceAllChecksButton() {\n await this.performanceAllChecksBtn.click();\n }\n\n async clickHeathCheckGroupByName(groupName: string) {\n await this.page.getByRole('link', { name: groupName }).click();\n }\n\n async isHealthCheckGroupVisible(groupName: string) {\n return await expect(this.healthCheckGroupBox.getByText(groupName)).toBeVisible();\n }\n\n async doesHeathCheckGroupHaveSuccessItemsCount(healthCheckGroupName: string, count: number) {\n return expect(this.healthCheckGroupBox.filter({has: this.page.getByText(healthCheckGroupName)}).locator(this.positiveTag)).toHaveText(count.toString());\n }\n\n async doesHeathCheckGroupHaveWarningItemsCount(healthCheckGroupName: string, count: number) {\n return expect(this.healthCheckGroupBox.filter({has: this.page.getByText(healthCheckGroupName)}).locator(this.warningTag)).toHaveText(count.toString());\n }\n\n async doesHeathCheckGroupHaveErrorItemsCount(healthCheckGroupName: string, count: number) {\n return expect(this.healthCheckGroupBox.filter({has: this.page.getByText(healthCheckGroupName)}).locator(this.dangerTag)).toHaveText(count.toString());\n }\n\n async isCheckNameVisible(name: string) {\n return await expect(this.headline.filter({hasText: name})).toBeVisible();\n }\n\n async isCheckDescriptionVisible(description: string) {\n return await expect(this.healthCheckGroup.getByText(description)).toBeVisible();\n }\n}\n"]}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare class LanguageApiHelper {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
doesExist(isoCode: string): Promise<boolean>;
|
|
7
|
-
create(name: string, isDefault: boolean | undefined, isMandatory: boolean | undefined, isoCode: string, fallbackIsoCode?: string): Promise<string | undefined>;
|
|
8
|
-
update(isoCode: string, language: object): Promise<import("playwright-core").APIResponse>;
|
|
9
|
-
delete(isoCode: string): Promise<import("playwright-core").APIResponse>;
|
|
1
|
+
import { BaseApiHelper } from "./BaseApiHelper";
|
|
2
|
+
export declare class LanguageApiHelper extends BaseApiHelper {
|
|
3
|
+
protected resourcePath: string;
|
|
4
|
+
protected getItemKey(item: any): string;
|
|
5
|
+
getAll(): Promise<any>;
|
|
10
6
|
getByName(name: string): Promise<any>;
|
|
11
|
-
ensureNameNotExists(name: string): Promise<
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
ensureNameNotExists(name: string): Promise<any>;
|
|
8
|
+
createLanguage(name: string, isDefault: boolean | undefined, isMandatory: boolean | undefined, isoCode: string, fallbackIsoCode?: string): Promise<string | undefined>;
|
|
9
|
+
delete(isoCode: string): Promise<any>;
|
|
10
|
+
update(isoCode: string, language: object): Promise<any>;
|
|
11
|
+
ensureIsoCodeNotExists(isoCode: string): Promise<any>;
|
|
14
12
|
createDanishLanguage(): Promise<string | undefined>;
|
|
15
13
|
createVietnameseLanguage(): Promise<string | undefined>;
|
|
16
14
|
}
|
|
@@ -1,38 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LanguageApiHelper = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
const BaseApiHelper_1 = require("./BaseApiHelper");
|
|
5
|
+
class LanguageApiHelper extends BaseApiHelper_1.BaseApiHelper {
|
|
6
|
+
resourcePath = 'language';
|
|
7
|
+
// Override - Language uses isoCode as key instead of id
|
|
8
|
+
getItemKey(item) {
|
|
9
|
+
return item.isoCode;
|
|
8
10
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return json !== null ? json : null;
|
|
13
|
-
}
|
|
14
|
-
async doesExist(isoCode) {
|
|
15
|
-
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/language/' + isoCode);
|
|
16
|
-
return response.status() === 200;
|
|
17
|
-
}
|
|
18
|
-
async create(name, isDefault = false, isMandatory = false, isoCode, fallbackIsoCode = "en-US") {
|
|
19
|
-
const languageData = {
|
|
20
|
-
"name": name,
|
|
21
|
-
"isDefault": isDefault,
|
|
22
|
-
"isMandatory": isMandatory,
|
|
23
|
-
"fallbackIsoCode": fallbackIsoCode,
|
|
24
|
-
"isoCode": isoCode
|
|
25
|
-
};
|
|
26
|
-
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/language', languageData);
|
|
27
|
-
// Returns the id of the created language
|
|
28
|
-
return response.headers().location.split("/").pop();
|
|
29
|
-
}
|
|
30
|
-
async update(isoCode, language) {
|
|
31
|
-
return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/language/' + isoCode, language);
|
|
32
|
-
}
|
|
33
|
-
async delete(isoCode) {
|
|
34
|
-
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/language/' + isoCode);
|
|
11
|
+
// Override - return response object for getAll (backward compatibility)
|
|
12
|
+
async getAll() {
|
|
13
|
+
return await this.api.get(this.buildUrl('?skip=0&take=10000'));
|
|
35
14
|
}
|
|
15
|
+
// Override - getByName needs to parse response.json() since getAll returns response
|
|
36
16
|
async getByName(name) {
|
|
37
17
|
const allLanguages = await this.getAll();
|
|
38
18
|
const jsonLanguages = await allLanguages.json();
|
|
@@ -43,6 +23,7 @@ class LanguageApiHelper {
|
|
|
43
23
|
}
|
|
44
24
|
return null;
|
|
45
25
|
}
|
|
26
|
+
// Override - ensureNameNotExists needs to parse response.json()
|
|
46
27
|
async ensureNameNotExists(name) {
|
|
47
28
|
const allLanguages = await this.getAll();
|
|
48
29
|
const jsonLanguages = await allLanguages.json();
|
|
@@ -53,6 +34,27 @@ class LanguageApiHelper {
|
|
|
53
34
|
}
|
|
54
35
|
return null;
|
|
55
36
|
}
|
|
37
|
+
// Language-specific: create with custom signature
|
|
38
|
+
async createLanguage(name, isDefault = false, isMandatory = false, isoCode, fallbackIsoCode = "en-US") {
|
|
39
|
+
const languageData = {
|
|
40
|
+
"name": name,
|
|
41
|
+
"isDefault": isDefault,
|
|
42
|
+
"isMandatory": isMandatory,
|
|
43
|
+
"fallbackIsoCode": fallbackIsoCode,
|
|
44
|
+
"isoCode": isoCode
|
|
45
|
+
};
|
|
46
|
+
const response = await this.api.post(this.buildUrl(), languageData);
|
|
47
|
+
return response.headers().location.split("/").pop();
|
|
48
|
+
}
|
|
49
|
+
// Override - delete returns response not status
|
|
50
|
+
async delete(isoCode) {
|
|
51
|
+
return await this.api.delete(this.buildUrl('/' + isoCode));
|
|
52
|
+
}
|
|
53
|
+
// Override - update returns response
|
|
54
|
+
async update(isoCode, language) {
|
|
55
|
+
return await this.api.put(this.buildUrl('/' + isoCode), language);
|
|
56
|
+
}
|
|
57
|
+
// Language-specific method
|
|
56
58
|
async ensureIsoCodeNotExists(isoCode) {
|
|
57
59
|
const allLanguages = await this.getAll();
|
|
58
60
|
const jsonLanguages = await allLanguages.json();
|
|
@@ -63,16 +65,13 @@ class LanguageApiHelper {
|
|
|
63
65
|
}
|
|
64
66
|
return null;
|
|
65
67
|
}
|
|
66
|
-
async getAll() {
|
|
67
|
-
return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/language?skip=0&take=10000');
|
|
68
|
-
}
|
|
69
68
|
async createDanishLanguage() {
|
|
70
69
|
await this.ensureNameNotExists('Danish');
|
|
71
|
-
return await this.
|
|
70
|
+
return await this.createLanguage('Danish', false, false, 'da');
|
|
72
71
|
}
|
|
73
72
|
async createVietnameseLanguage() {
|
|
74
73
|
await this.ensureNameNotExists('Vietnamese');
|
|
75
|
-
return await this.
|
|
74
|
+
return await this.createLanguage('Vietnamese', false, false, 'vi');
|
|
76
75
|
}
|
|
77
76
|
}
|
|
78
77
|
exports.LanguageApiHelper = LanguageApiHelper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/LanguageApiHelper.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"LanguageApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/LanguageApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {BaseApiHelper} from \"./BaseApiHelper\";\n\nexport class LanguageApiHelper extends BaseApiHelper {\n protected resourcePath = 'language';\n\n // Override - Language uses isoCode as key instead of id\n protected getItemKey(item: any): string {\n return item.isoCode;\n }\n\n // Override - return response object for getAll (backward compatibility)\n async getAll(): Promise<any> {\n return await this.api.get(this.buildUrl('?skip=0&take=10000'));\n }\n\n // Override - getByName needs to parse response.json() since getAll returns response\n async getByName(name: string): Promise<any> {\n const allLanguages = await this.getAll();\n const jsonLanguages = await allLanguages.json();\n\n for (const language of jsonLanguages.items) {\n if (language.name === name && language.isoCode !== null) {\n return await this.get(language.isoCode);\n }\n }\n return null;\n }\n\n // Override - ensureNameNotExists needs to parse response.json()\n async ensureNameNotExists(name: string): Promise<any> {\n const allLanguages = await this.getAll();\n const jsonLanguages = await allLanguages.json();\n\n for (const language of jsonLanguages.items) {\n if (language.name === name && language.isoCode !== null) {\n return await this.delete(language.isoCode);\n }\n }\n return null;\n }\n\n // Language-specific: create with custom signature\n async createLanguage(name: string, isDefault = false, isMandatory = false, isoCode: string, fallbackIsoCode = \"en-US\") {\n const languageData = {\n \"name\": name,\n \"isDefault\": isDefault,\n \"isMandatory\": isMandatory,\n \"fallbackIsoCode\": fallbackIsoCode,\n \"isoCode\": isoCode\n };\n const response = await this.api.post(this.buildUrl(), languageData);\n return response.headers().location.split(\"/\").pop();\n }\n\n\n // Override - delete returns response not status\n async delete(isoCode: string): Promise<any> {\n return await this.api.delete(this.buildUrl('/' + isoCode));\n }\n\n // Override - update returns response\n async update(isoCode: string, language: object): Promise<any> {\n return await this.api.put(this.buildUrl('/' + isoCode), language);\n }\n\n // Language-specific method\n async ensureIsoCodeNotExists(isoCode: string): Promise<any> {\n const allLanguages = await this.getAll();\n const jsonLanguages = await allLanguages.json();\n\n for (const language of jsonLanguages.items) {\n if (language.isoCode === isoCode) {\n return await this.delete(language.isoCode);\n }\n }\n return null;\n }\n\n async createDanishLanguage() {\n await this.ensureNameNotExists('Danish');\n return await this.createLanguage('Danish', false, false, 'da');\n }\n\n async createVietnameseLanguage() {\n await this.ensureNameNotExists('Vietnamese');\n return await this.createLanguage('Vietnamese', false, false, 'vi');\n }\n}"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LanguageUiHelper = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
4
5
|
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
5
6
|
const ConstantHelper_1 = require("./ConstantHelper");
|
|
6
7
|
class LanguageUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
@@ -26,54 +27,56 @@ class LanguageUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
26
27
|
this.languageCreateBtn = page.getByTestId('collection-action:Umb.CollectionAction.Language.Create');
|
|
27
28
|
}
|
|
28
29
|
async clickLanguageCreateButton() {
|
|
29
|
-
await
|
|
30
|
+
await (0, test_1.expect)(this.languageCreateBtn).toBeVisible();
|
|
31
|
+
await this.languageCreateBtn.click();
|
|
30
32
|
}
|
|
31
33
|
async clickLanguagesMenu() {
|
|
32
|
-
await
|
|
34
|
+
await (0, test_1.expect)(this.languagesMenu).toBeVisible();
|
|
35
|
+
await this.languagesMenu.click();
|
|
33
36
|
}
|
|
34
37
|
async goToLanguages() {
|
|
35
38
|
await this.goToSection(ConstantHelper_1.ConstantHelper.sections.settings);
|
|
36
39
|
await this.clickLanguagesMenu();
|
|
37
40
|
}
|
|
38
41
|
async waitForLanguageToBeCreated() {
|
|
39
|
-
await this.waitForLoadState();
|
|
42
|
+
await this.page.waitForLoadState();
|
|
40
43
|
}
|
|
41
44
|
async waitForLanguageToBeDeleted() {
|
|
42
|
-
await this.waitForLoadState();
|
|
45
|
+
await this.page.waitForLoadState();
|
|
43
46
|
}
|
|
44
47
|
async removeFallbackLanguageByIsoCode(isoCode) {
|
|
45
|
-
|
|
46
|
-
await this.
|
|
47
|
-
await this.click(
|
|
48
|
+
await this.page.locator('umb-entity-item-ref[id="' + isoCode + '"]').hover();
|
|
49
|
+
await this.page.locator('umb-entity-item-ref[id="' + isoCode + '"]').getByLabel('Remove').click();
|
|
50
|
+
await this.confirmToRemoveBtn.click();
|
|
48
51
|
}
|
|
49
52
|
async chooseLanguageByName(name) {
|
|
50
|
-
await this.click(
|
|
51
|
-
await this.
|
|
53
|
+
await this.languageDropdown.click();
|
|
54
|
+
await this.page.locator('umb-input-culture-select').getByText(name, { exact: true }).click();
|
|
52
55
|
}
|
|
53
56
|
async clickLanguageByName(name) {
|
|
54
|
-
await this.
|
|
57
|
+
await this.languageTable.getByText(name, { exact: true }).click();
|
|
55
58
|
}
|
|
56
59
|
async isLanguageNameVisible(name, isVisible = true) {
|
|
57
|
-
return await
|
|
60
|
+
return await (0, test_1.expect)(this.languageTable.getByText(name, { exact: true })).toBeVisible({ visible: isVisible });
|
|
58
61
|
}
|
|
59
62
|
async switchDefaultLanguageOption() {
|
|
60
|
-
await this.click(
|
|
63
|
+
await this.defaultLanguageToggle.click();
|
|
61
64
|
}
|
|
62
65
|
async switchMandatoryLanguageOption() {
|
|
63
|
-
await this.click(
|
|
66
|
+
await this.mandatoryLanguageToggle.click();
|
|
64
67
|
}
|
|
65
68
|
async clickAddFallbackLanguageButton() {
|
|
66
|
-
await this.click(
|
|
69
|
+
await this.addFallbackLanguageBtn.click();
|
|
67
70
|
}
|
|
68
71
|
async clickRemoveLanguageByName(name) {
|
|
69
|
-
await this.
|
|
72
|
+
await this.page.locator('uui-table-row').filter({ has: this.page.getByText(name, { exact: true }) }).locator(this.deleteLanguageEntityAction).click({ force: true });
|
|
70
73
|
}
|
|
71
74
|
async removeLanguageByName(name) {
|
|
72
75
|
await this.clickRemoveLanguageByName(name);
|
|
73
76
|
await this.clickConfirmToDeleteButton();
|
|
74
77
|
}
|
|
75
78
|
async selectFallbackLanguageByName(name) {
|
|
76
|
-
await this.
|
|
79
|
+
await this.page.locator('umb-language-picker-modal').getByLabel(name).click();
|
|
77
80
|
await this.clickSubmitButton();
|
|
78
81
|
}
|
|
79
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/LanguageUiHelper.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"LanguageUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/LanguageUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class LanguageUiHelper extends UiBaseLocators {\n private readonly languagesMenu: Locator;\n private readonly languageDropdown: Locator;\n private readonly defaultLanguageToggle: Locator;\n private readonly mandatoryLanguageToggle: Locator;\n private readonly addFallbackLanguageBtn: Locator;\n private readonly languageTable: Locator;\n private readonly deleteLanguageEntityAction: Locator;\n private readonly languageCreateBtn: Locator;\n private readonly settingsSidebar: Locator;\n\n constructor(page: Page) {\n super(page);\n this.settingsSidebar = page.getByTestId('section-sidebar:Umb.SectionSidebarMenu.Settings');\n this.languagesMenu = this.settingsSidebar.getByRole('link', {name: 'Languages'});\n this.languageDropdown = page.locator('umb-input-culture-select #expand-symbol-wrapper');\n this.defaultLanguageToggle = page.locator('uui-toggle').filter({hasText: /Default language/}).locator('#toggle');\n this.mandatoryLanguageToggle = page.locator('uui-toggle').filter({hasText: /Mandatory language/}).locator('#toggle');\n this.addFallbackLanguageBtn = page.locator('#add-button');\n this.languageTable = page.locator('umb-language-table-collection-view');\n this.deleteLanguageEntityAction = page.getByTestId('entity-action:Umb.EntityAction.Language.Delete');\n this.languageCreateBtn = page.getByTestId('collection-action:Umb.CollectionAction.Language.Create');\n }\n\n async clickLanguageCreateButton() {\n await expect(this.languageCreateBtn).toBeVisible();\n await this.languageCreateBtn.click();\n }\n\n async clickLanguagesMenu() {\n await expect(this.languagesMenu).toBeVisible();\n await this.languagesMenu.click();\n }\n\n async goToLanguages() {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.clickLanguagesMenu();\n }\n\n async waitForLanguageToBeCreated() {\n await this.page.waitForLoadState();\n }\n\n async waitForLanguageToBeDeleted() {\n await this.page.waitForLoadState();\n }\n \n async removeFallbackLanguageByIsoCode(isoCode: string) {\n await this.page.locator('umb-entity-item-ref[id=\"' + isoCode + '\"]').hover();\n await this.page.locator('umb-entity-item-ref[id=\"' + isoCode + '\"]').getByLabel('Remove').click();\n await this.confirmToRemoveBtn.click();\n }\n\n async chooseLanguageByName(name: string) {\n await this.languageDropdown.click();\n await this.page.locator('umb-input-culture-select').getByText(name, {exact: true}).click();\n }\n\n async clickLanguageByName(name: string) {\n await this.languageTable.getByText(name, {exact: true}).click();\n }\n\n async isLanguageNameVisible(name: string, isVisible = true) {\n return await expect(this.languageTable.getByText(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async switchDefaultLanguageOption() {\n await this.defaultLanguageToggle.click();\n }\n\n async switchMandatoryLanguageOption() {\n await this.mandatoryLanguageToggle.click();\n }\n\n async clickAddFallbackLanguageButton() {\n await this.addFallbackLanguageBtn.click();\n }\n\n async clickRemoveLanguageByName(name: string) {\n await this.page.locator('uui-table-row').filter({has: this.page.getByText(name, {exact: true})}).locator(this.deleteLanguageEntityAction).click({force: true});\n }\n\n async removeLanguageByName(name: string) {\n await this.clickRemoveLanguageByName(name);\n await this.clickConfirmToDeleteButton();\n }\n\n async selectFallbackLanguageByName(name: string) {\n await this.page.locator('umb-language-picker-modal').getByLabel(name).click();\n await this.clickSubmitButton();\n }\n}"]}
|