@umbraco/playwright-testhelpers 17.1.0-beta.2 → 17.1.0-beta.4
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/BasePage.js +1 -1
- package/dist/lib/helpers/BasePage.js.map +1 -1
- package/dist/lib/helpers/ContentUiHelper.d.ts +6 -0
- package/dist/lib/helpers/ContentUiHelper.js +33 -2
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +4 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.js +121 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.js +3 -0
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/ProfilingUiHelper.js +1 -1
- package/dist/lib/helpers/ProfilingUiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.js +2 -1
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ContentUiHelper.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 ContentUiHelper extends UiBaseLocators {\n private readonly contentNameTxt: Locator;\n private readonly saveAndPublishBtn: Locator;\n private readonly publishBtn: Locator;\n private readonly unpublishBtn: Locator;\n private readonly actionMenuForContentBtn: Locator;\n private readonly textstringTxt: Locator;\n private readonly infoTab: Locator;\n private readonly linkContent: Locator;\n private readonly historyItems: Locator;\n private readonly generalItem: Locator;\n private readonly documentState: Locator;\n private readonly createdDate: Locator;\n private readonly editDocumentTypeBtn: Locator;\n private readonly addTemplateBtn: Locator;\n private readonly id: Locator;\n private readonly cultureAndHostnamesBtn: Locator;\n private readonly cultureLanguageDropdownBox: Locator;\n private readonly addNewHostnameBtn: Locator;\n private readonly hostnameTxt: Locator;\n private readonly hostnameLanguageDropdownBox: Locator;\n private readonly deleteHostnameBtn: Locator;\n private readonly reloadChildrenThreeDotsBtn: Locator;\n private readonly contentTree: Locator;\n private readonly richTextAreaTxt: Locator;\n private readonly textAreaTxt: Locator;\n private readonly plusIconBtn: Locator;\n private readonly enterTagTxt: Locator;\n private readonly menuItemTree: Locator;\n private readonly hostnameComboBox: Locator;\n private readonly confirmToUnpublishBtn: Locator;\n private readonly saveModalBtn: Locator;\n private readonly dropdown: Locator;\n private readonly setADateTxt: Locator;\n private readonly chooseMediaPickerBtn: Locator;\n private readonly chooseMemberPickerBtn: Locator;\n private readonly numericTxt: Locator;\n private readonly resetFocalPointBtn: Locator;\n private readonly addMultiURLPickerBtn: Locator;\n private readonly linkTxt: Locator;\n private readonly anchorQuerystringTxt: Locator;\n private readonly linkTitleTxt: Locator;\n private readonly tagItems: Locator;\n private readonly removeFilesBtn: Locator;\n private readonly toggleBtn: Locator;\n private readonly toggleInput: Locator;\n private readonly documentTypeWorkspace: Locator;\n private readonly addMultipleTextStringBtn: Locator;\n private readonly multipleTextStringValueTxt: Locator;\n private readonly sliderInput: Locator;\n private readonly tabItems: Locator;\n private readonly documentWorkspace: Locator;\n private readonly searchTxt: Locator;\n private readonly selectAVariantBtn: Locator;\n private readonly variantAddModeBtn: Locator;\n private readonly saveAndCloseBtn: Locator;\n private readonly enterNameInContainerTxt: Locator;\n private readonly listView: Locator;\n private readonly nameBtn: Locator;\n private readonly listViewTableRow: Locator;\n private readonly publishSelectedListItems: Locator;\n private readonly unpublishSelectedListItems: Locator;\n private readonly duplicateToSelectedListItems: Locator;\n private readonly moveToSelectedListItems: Locator;\n private readonly trashSelectedListItems: Locator;\n private readonly modalContent: Locator;\n private readonly trashBtn: Locator;\n private readonly documentListView: Locator;\n private readonly documentGridView: Locator;\n private readonly documentTreeItem: Locator;\n private readonly documentLanguageSelect: Locator;\n private readonly documentLanguageSelectPopover: Locator;\n private readonly documentReadOnly: Locator;\n private readonly documentWorkspaceEditor: Locator;\n private readonly documentBlueprintModal: Locator;\n private readonly documentBlueprintModalEnterNameTxt: Locator;\n private readonly documentBlueprintSaveBtn: Locator;\n private readonly exactTrashBtn: Locator;\n private readonly emptyRecycleBinBtn: Locator;\n private readonly confirmEmptyRecycleBinBtn: Locator;\n private readonly duplicateToBtn: Locator;\n private readonly moveToBtn: Locator;\n private readonly duplicateBtn: Locator;\n private readonly contentTreeRefreshBtn: Locator;\n private readonly sortChildrenBtn: Locator;\n private readonly rollbackBtn: Locator;\n private readonly rollbackContainerBtn: Locator;\n private readonly publicAccessBtn: Locator;\n private readonly uuiCheckbox: Locator;\n private readonly sortBtn: Locator;\n private readonly containerSaveBtn: Locator\n private readonly groupBasedProtectionBtn: Locator;\n private readonly chooseMemberGroupBtn: Locator;\n private readonly selectLoginPageDocument: Locator;\n private readonly selectErrorPageDocument: Locator;\n private readonly rollbackItem: Locator;\n private readonly actionsMenu: Locator;\n private readonly linkToDocumentBtn: Locator;\n private readonly linkToMediaBtn: Locator;\n private readonly linkToManualBtn: Locator;\n private readonly umbDocumentCollection: Locator;\n private readonly documentTableColumnName: Locator;\n private readonly addBlockElementBtn: Locator;\n private readonly formValidationMessage: Locator;\n private readonly blockName: Locator;\n private readonly addBlockSettingsTabBtn: Locator;\n private readonly editBlockEntryBtn: Locator;\n private readonly copyBlockEntryBtn: Locator;\n private readonly deleteBlockEntryBtn: Locator;\n private readonly blockGridEntry: Locator;\n private readonly blockListEntry: Locator;\n private readonly tipTapPropertyEditor: Locator;\n private readonly tipTapEditor: Locator;\n private readonly uploadedSvgThumbnail: Locator;\n private readonly linkPickerModal: Locator;\n private readonly pasteFromClipboardBtn: Locator;\n private readonly pasteBtn: Locator;\n private readonly closeBtn: Locator;\n private readonly workspaceEditTab: Locator;\n private readonly workspaceEditProperties: Locator;\n private readonly exactCopyBtn: Locator;\n private readonly openActionsMenu: Locator;\n private readonly replaceExactBtn: Locator;\n private readonly clipboardEntryPicker: Locator;\n private readonly blockWorkspaceEditTab: Locator;\n private readonly insertBlockBtn: Locator;\n private readonly blockWorkspace: Locator;\n private readonly saveContentBtn: Locator;\n private readonly splitView: Locator;\n private readonly tiptapInput: Locator;\n private readonly rteBlockInline: Locator;\n private readonly backofficeModalContainer: Locator;\n private readonly rteBlock: Locator;\n private readonly workspaceActionMenu: Locator;\n private readonly workspaceActionMenuItem: Locator;\n private readonly viewMoreOptionsBtn: Locator;\n private readonly schedulePublishBtn: Locator;\n private readonly schedulePublishModalBtn: Locator;\n private readonly documentScheduleModal: Locator;\n private readonly publishAtFormLayout: Locator;\n private readonly unpublishAtFormLayout: Locator;\n private readonly publishAtValidationMessage: Locator;\n private readonly unpublishAtValidationMessage: Locator;\n private readonly lastPublished: Locator;\n private readonly publishAt: Locator;\n private readonly blockGridAreasContainer: Locator;\n private readonly blockGridBlock: Locator;\n private readonly blockGridEntries: Locator;\n private readonly inlineCreateBtn: Locator;\n private readonly removeAt: Locator;\n private readonly selectAllCheckbox: Locator;\n private readonly confirmToPublishBtn: Locator;\n private readonly tiptapStatusbarWordCount: Locator;\n private readonly tiptapStatusbarElementPath: Locator;\n private readonly publishWithDescendantsBtn: Locator;\n private readonly documentPublishWithDescendantsModal: Locator;\n private readonly includeUnpublishedDescendantsToggle: Locator;\n private readonly publishWithDescendantsModalBtn: Locator;\n private readonly documentVariantLanguagePicker: Locator;\n private readonly documentVariantLanguageItem: Locator;\n private readonly styleSelectBtn: Locator;\n private readonly cascadingMenuContainer: Locator;\n private readonly modalFormValidationMessage: Locator;\n private readonly treePickerSearchTxt: Locator;\n private readonly mediaPickerSearchTxt: Locator;\n private readonly memberPickerSearchTxt: Locator;\n private readonly documentCreateOptionsModal: Locator;\n private readonly refListBlock: Locator;\n private readonly propertyActionMenu: Locator;\n private readonly listViewCustomRows: Locator;\n private readonly collectionMenu: Locator;\n private readonly entityPickerTree: Locator;\n private readonly hostNameItem: Locator;\n private readonly languageToggle: Locator;\n private readonly contentVariantDropdown: Locator;\n private readonly blockProperty: Locator;\n\n constructor(page: Page) {\n super(page);\n this.saveContentBtn = page.getByTestId('workspace-action:Umb.WorkspaceAction.Document.Save');\n this.saveAndPublishBtn = page.getByTestId('workspace-action:Umb.WorkspaceAction.Document.SaveAndPublish');\n this.closeBtn = page.getByRole('button', {name: 'Close', exact: true});\n this.linkPickerModal = page.locator('umb-link-picker-modal');\n this.contentNameTxt = page.locator('#name-input input');\n this.publishBtn = page.getByLabel(/^Publish(…)?$/);\n this.unpublishBtn = page.getByLabel(/^Unpublish(…)?$/);\n this.actionMenuForContentBtn = page.locator('#header').getByTestId('open-dropdown');\n this.textstringTxt = page.locator('umb-property-editor-ui-text-box #input');\n this.reloadChildrenThreeDotsBtn = page.getByRole('button', {name: 'Reload children…'});\n this.contentTree = page.locator('umb-tree[alias=\"Umb.Tree.Document\"]');\n this.richTextAreaTxt = page.frameLocator('iframe[title=\"Rich Text Area\"]').locator('#tinymce');\n this.textAreaTxt = page.locator('umb-property-editor-ui-textarea textarea');\n this.plusIconBtn = page.locator('#icon-add svg');\n this.enterTagTxt = page.getByPlaceholder('Enter tag');\n this.menuItemTree = page.locator('umb-menu-item-tree-default');\n this.confirmToUnpublishBtn = page.locator('umb-document-unpublish-modal').getByLabel('Unpublish');\n this.dropdown = page.locator('select#native');\n this.splitView = page.locator('#splitViews');\n this.setADateTxt = page.getByLabel('Set a date…');\n this.chooseMediaPickerBtn = page.locator('umb-property-editor-ui-media-picker #btn-add');\n this.chooseMemberPickerBtn = page.locator('umb-property-editor-ui-member-picker #btn-add');\n this.numericTxt = page.locator('umb-property-editor-ui-number input');\n this.addMultiURLPickerBtn = page.locator('umb-property-editor-ui-multi-url-picker #btn-add');\n this.linkTxt = page.getByTestId('input:url').locator('#input');\n this.anchorQuerystringTxt = page.getByLabel('#value or ?key=value');\n this.linkTitleTxt = this.linkPickerModal.getByLabel('Title');\n this.tagItems = page.locator('uui-tag');\n this.removeFilesBtn = page.locator('umb-input-upload-field [label=\"Clear file(s)\"]');\n this.toggleBtn = page.locator('umb-property-editor-ui-toggle #toggle');\n this.toggleInput = page.locator('umb-property-editor-ui-toggle span');\n this.documentTypeWorkspace = this.sidebarModal.locator('umb-document-type-workspace-editor');\n this.addMultipleTextStringBtn = page.locator('umb-input-multiple-text-string').getByLabel('Add');\n this.multipleTextStringValueTxt = page.locator('umb-input-multiple-text-string').getByLabel('Value');\n this.sliderInput = page.locator('umb-property-editor-ui-slider #input');\n this.tabItems = page.locator('uui-tab');\n this.documentWorkspace = page.locator('umb-document-workspace-editor');\n this.searchTxt = this.documentWorkspace.getByLabel('Search', {exact: true});\n this.selectAVariantBtn = page.getByRole('button', {name: 'Open version selector'});\n this.variantAddModeBtn = page.locator('.switch-button.add-mode').locator('.variant-name');\n this.saveAndCloseBtn = page.getByLabel('Save and close');\n this.documentTreeItem = page.locator('umb-document-tree-item');\n this.documentLanguageSelect = page.locator('umb-app-language-select');\n this.documentLanguageSelectPopover = page.locator('umb-popover-layout');\n this.documentReadOnly = this.documentWorkspace.locator('#name-input').getByText('Read-only');\n // Info tab\n this.infoTab = page.getByTestId('workspace:view-link:Umb.WorkspaceView.Document.Info');\n this.linkContent = page.locator('umb-document-links-workspace-info-app');\n this.historyItems = page.locator('umb-history-item');\n this.generalItem = page.locator('.general-item');\n this.documentState = this.generalItem.locator('uui-tag');\n this.createdDate = this.generalItem.filter({hasText: 'Created'}).locator('umb-localize-date');\n this.editDocumentTypeBtn = this.generalItem.filter({hasText: 'Document Type'}).locator('#button');\n this.addTemplateBtn = this.generalItem.filter({hasText: 'Template'}).locator('#button');\n this.id = this.generalItem.filter({hasText: 'Id'}).locator('span');\n this.documentCreateOptionsModal = page.locator('umb-document-create-options-modal');\n // Culture and Hostname\n this.cultureAndHostnamesBtn = page.getByLabel(/^Culture and Hostnames(…)?$/);\n this.hostNameItem = page.locator('.hostname-item');\n this.cultureLanguageDropdownBox = this.page.locator('[label=\"Culture\"]').getByLabel('combobox-input');\n this.hostnameTxt = page.getByLabel('Hostname', {exact: true});\n this.hostnameLanguageDropdownBox = this.hostNameItem.locator('[label=\"Culture\"]').getByLabel('combobox-input');\n this.deleteHostnameBtn = this.hostNameItem.locator('[name=\"icon-trash\"] svg');\n this.hostnameComboBox = this.hostNameItem.locator('[label=\"Culture\"]').locator('uui-combobox-list-option');\n this.saveModalBtn = this.sidebarModal.getByLabel('Save', {exact: true});\n this.resetFocalPointBtn = page.getByLabel('Reset focal point');\n this.addNewHostnameBtn = page.getByLabel('Add new hostname');\n // List View\n this.enterNameInContainerTxt = this.container.getByTestId('input:entity-name').locator('#input');\n this.listView = page.locator('umb-document-table-collection-view');\n this.nameBtn = page.getByRole('button', { name: 'Name', exact: true });\n this.listViewTableRow = this.listView.locator('uui-table-row');\n this.publishSelectedListItems = page.locator('umb-entity-bulk-action').getByText('Publish', {exact: true});\n this.unpublishSelectedListItems = page.locator('umb-entity-bulk-action').getByText('Unpublish', {exact: true});\n this.duplicateToSelectedListItems = page.locator('umb-entity-bulk-action').getByText('Duplicate to', {exact: true});\n this.moveToSelectedListItems = page.locator('umb-entity-bulk-action').getByText('Move to', {exact: true});\n this.trashSelectedListItems = page.locator('umb-entity-bulk-action').getByText('Trash', {exact: true});\n this.modalContent = page.locator('umb-tree-picker-modal');\n this.trashBtn = page.getByLabel(/^Trash(…)?$/);\n this.exactTrashBtn = page.getByRole('button', {name: 'Trash', exact: true});\n this.documentListView = page.locator('umb-document-table-collection-view');\n this.documentGridView = page.locator('umb-document-grid-collection-view');\n this.documentWorkspaceEditor = page.locator('umb-workspace-editor');\n this.documentBlueprintModal = page.locator('umb-create-blueprint-modal');\n this.documentBlueprintModalEnterNameTxt = this.documentBlueprintModal.locator('input');\n this.documentBlueprintSaveBtn = this.documentBlueprintModal.getByLabel('Save');\n this.emptyRecycleBinBtn = page.getByTestId('entity-action:Umb.EntityAction.Document.RecycleBin.Empty').locator('#button');\n this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty Recycle Bin', {exact: true});\n this.duplicateToBtn = page.getByRole('button', {name: 'Duplicate to'});\n this.moveToBtn = page.getByRole('button', {name: 'Move to'});\n this.duplicateBtn = page.getByLabel('Duplicate', {exact: true});\n this.contentTreeRefreshBtn = page.locator('#header').getByLabel('#actions_refreshNode');\n this.sortChildrenBtn = page.getByRole('button', {name: 'Sort children'});\n this.rollbackBtn = page.getByRole('button', { name: 'Rollback…' });\n this.rollbackContainerBtn = this.container.getByLabel('Rollback');\n this.publicAccessBtn = page.getByRole('button', {name: 'Public Access'});\n this.uuiCheckbox = page.locator('uui-checkbox');\n this.sortBtn = page.getByLabel('Sort', {exact: true});\n this.containerSaveBtn = this.container.getByLabel('Save');\n this.groupBasedProtectionBtn = page.locator('span').filter({hasText: 'Group based protection'});\n this.chooseMemberGroupBtn = page.locator('umb-input-member-group').getByLabel('Choose');\n this.selectLoginPageDocument = page.locator('.select-item').filter({hasText: 'Login Page'}).locator('umb-input-document');\n this.selectErrorPageDocument = page.locator('.select-item').filter({hasText: 'Error Page'}).locator('umb-input-document');\n this.rollbackItem = page.locator('.rollback-item');\n this.actionsMenu = page.locator('uui-scroll-container');\n this.linkToDocumentBtn = this.linkPickerModal.getByTestId('action:document').locator('#button');\n this.linkToMediaBtn = this.linkPickerModal.getByTestId('action:media').locator('#button');\n this.linkToManualBtn = this.linkPickerModal.getByTestId('action:external').locator('#button');\n this.umbDocumentCollection = page.locator('umb-document-collection');\n this.documentTableColumnName = this.listView.locator('umb-document-table-column-name');\n //Block Grid - Block List\n this.addBlockElementBtn = page.locator('uui-button-group > uui-button').first().filter({has: page.locator('a#button')});\n this.formValidationMessage = page.locator('#splitViews umb-form-validation-message #messages');\n this.blockName = page.locator('#editor [slot=\"name\"]');\n this.addBlockSettingsTabBtn = page.locator('umb-body-layout').getByRole('tab', {name: 'Settings'});\n this.editBlockEntryBtn = page.locator('[label=\"edit\"] svg');\n this.copyBlockEntryBtn = page.getByLabel('Copy to clipboard');\n this.exactCopyBtn = page.getByRole('button', {name: 'Copy', exact: true});\n this.deleteBlockEntryBtn = page.locator('[label=\"delete\"] svg');\n this.blockGridEntry = page.locator('umb-block-grid-entry');\n this.blockGridBlock = page.locator('umb-block-grid-block');\n this.blockListEntry = page.locator('umb-block-list-entry');\n this.pasteFromClipboardBtn = page.getByLabel('Paste from clipboard');\n this.pasteBtn = page.getByRole('button', {name: 'Paste', exact: true});\n this.workspaceEditTab = page.locator('umb-content-workspace-view-edit-tab');\n this.blockWorkspaceEditTab = page.locator('umb-block-workspace-view-edit-tab');\n this.workspaceEditProperties = page.locator('umb-content-workspace-view-edit-properties');\n this.openActionsMenu = page.locator('#action-menu');\n this.replaceExactBtn = page.getByRole('button', {name: 'Replace', exact: true});\n this.clipboardEntryPicker = page.locator('umb-clipboard-entry-picker');\n this.blockGridAreasContainer = page.locator('umb-block-grid-areas-container');\n this.blockGridEntries = page.locator('umb-block-grid-entries');\n this.inlineCreateBtn = page.locator('uui-button-inline-create');\n this.refListBlock = page.locator('umb-ref-list-block');\n // TipTap\n this.tipTapPropertyEditor = page.locator('umb-property-editor-ui-tiptap');\n this.tipTapEditor = this.tipTapPropertyEditor.locator('#editor .tiptap');\n this.uploadedSvgThumbnail = page.locator('umb-input-upload-field-svg img');\n this.insertBlockBtn = page.getByTestId('action:tiptap-toolbar:Umb.Tiptap.Toolbar.BlockPicker');\n this.blockWorkspace = page.locator('umb-block-workspace-editor');\n this.tiptapInput = page.locator('umb-input-tiptap');\n this.rteBlockInline = page.locator('umb-rte-block-inline');\n this.backofficeModalContainer = page.locator('umb-backoffice-modal-container');\n this.rteBlock = page.locator('umb-rte-block');\n this.tiptapStatusbarWordCount = page.locator('umb-tiptap-statusbar-word-count');\n this.tiptapStatusbarElementPath = page.locator('umb-tiptap-statusbar-element-path');\n // Scheduled Publishing\n this.workspaceActionMenu = page.locator('umb-workspace-action-menu');\n this.workspaceActionMenuItem = page.locator('umb-workspace-action-menu-item');\n this.viewMoreOptionsBtn = this.workspaceActionMenu.locator('#popover-trigger');\n this.schedulePublishBtn = this.workspaceActionMenuItem.getByLabel('Schedule publish', {exact: true});\n this.documentScheduleModal = page.locator('umb-document-schedule-modal');\n this.schedulePublishModalBtn = this.documentScheduleModal.getByLabel('Schedule publish', {exact: true});\n this.publishAtFormLayout = this.documentScheduleModal.locator('uui-form-layout-item').first();\n this.unpublishAtFormLayout = this.documentScheduleModal.locator('uui-form-layout-item').last();\n this.publishAtValidationMessage = this.publishAtFormLayout.locator('#messages');\n this.unpublishAtValidationMessage = this.unpublishAtFormLayout.locator('#messages');\n this.lastPublished = this.generalItem.filter({hasText: 'Last published'}).locator('umb-localize-date');\n this.publishAt = this.generalItem.filter({hasText: 'Publish at'}).locator('umb-localize-date');\n this.removeAt = this.generalItem.filter({hasText: 'Remove at'}).locator('umb-localize-date');\n this.selectAllCheckbox = this.documentScheduleModal.locator('[label=\"Select all\"]');\n this.confirmToPublishBtn = page.locator('umb-document-publish-modal').getByLabel('Publish');\n // Publish with descendants \n this.documentPublishWithDescendantsModal = page.locator('umb-document-publish-with-descendants-modal');\n this.publishWithDescendantsBtn = this.workspaceActionMenuItem.getByLabel('Publish with descendants', {exact: true});\n this.includeUnpublishedDescendantsToggle = this.documentPublishWithDescendantsModal.locator('#includeUnpublishedDescendants');\n this.publishWithDescendantsModalBtn = this.documentPublishWithDescendantsModal.getByLabel('Publish with descendants', {exact: true});\n this.documentVariantLanguagePicker = page.locator('umb-document-variant-language-picker');\n this.documentVariantLanguageItem = this.documentVariantLanguagePicker.locator('uui-menu-item');\n // Tiptap - Style Select\n this.styleSelectBtn = page.locator('uui-button[label=\"Style Select\"]');\n this.cascadingMenuContainer = page.locator('umb-cascading-menu-popover uui-scroll-container');\n this.modalFormValidationMessage = this.sidebarModal.locator('umb-form-validation-message #messages');\n this.treePickerSearchTxt = this.page.locator('umb-tree-picker-modal #input');\n this.mediaPickerSearchTxt = this.page.locator('umb-media-picker-modal #search #input');\n this.memberPickerSearchTxt = this.page.locator('umb-member-picker-modal #input');\n // Property Actions\n this.propertyActionMenu = page.locator('#property-action-popover umb-popover-layout');\n // List view custom\n this.listViewCustomRows = page.locator('table tbody tr');\n // Entity Data Picker\n this.collectionMenu = page.locator('umb-collection-menu');\n this.entityPickerTree = page.locator('umb-tree[alias=\"Umb.Tree.EntityDataPicker\"]');\n this.languageToggle = page.getByTestId('input:entity-name').locator('#toggle');\n this.contentVariantDropdown = page.locator('umb-document-workspace-split-view-variant-selector uui-popover-container #dropdown');\n this.blockProperty = page.locator('umb-block-workspace-view-edit-property');\n }\n\n async enterContentName(name: string) {\n await this.enterText(this.contentNameTxt, name, {verify: true});\n }\n\n async clickSaveAndPublishButton() {\n await this.click(this.saveAndPublishBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async isSuccessStateVisibleForSaveAndPublishButton (isVisible: boolean = true){\n const saveAndPublishBtn = this.workspaceAction.filter({has: this.saveAndPublishBtn});\n await this.isVisible(saveAndPublishBtn.locator(this.successState), isVisible, ConstantHelper.timeout.long);\n }\n\n async clickPublishButton() {\n await this.click(this.publishBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickUnpublishButton() {\n await this.click(this.unpublishBtn);\n }\n\n async clickReloadChildrenThreeDotsButton() {\n await this.click(this.reloadChildrenThreeDotsBtn);\n }\n\n async clickActionsMenuAtRoot() {\n await this.click(this.actionMenuForContentBtn, {force: true});\n }\n\n async goToContentWithName(contentName: string) {\n const contentWithNameLocator = this.menuItemTree.getByText(contentName, {exact: true});\n await this.click(contentWithNameLocator);\n }\n\n async clickActionsMenuForContent(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async openContentCaretButtonForName(name: string) {\n const menuItem = this.menuItemTree.filter({hasText: name}).last()\n const isCaretButtonOpen = await menuItem.getAttribute('show-children');\n\n if (isCaretButtonOpen === null) {\n await this.clickCaretButtonForContentName(name);\n }\n }\n\n async clickCaretButtonForContentName(name: string) {\n await this.click(this.menuItemTree.filter({hasText: name}).last().locator('#caret-button').last());\n }\n\n async waitForModalVisible() {\n await this.openedModal.waitFor({state: 'attached'});\n }\n\n async waitForModalHidden() {\n await this.openedModal.waitFor({state: 'hidden'});\n }\n\n async clickSaveButtonForContent() {\n await this.click(this.saveContentBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async enterTextstring(text: string) {\n await this.enterText(this.textstringTxt, text);\n }\n\n async doesContentTreeHaveName(contentName: string) {\n await this.containsText(this.contentTree, contentName);\n }\n\n async enterRichTextArea(value: string) {\n await this.waitForVisible(this.richTextAreaTxt);\n await this.richTextAreaTxt.fill(value);\n }\n\n async enterTextArea(value: string) {\n await this.page.waitForTimeout(ConstantHelper.wait.minimal);\n await this.enterText(this.textAreaTxt, value);\n }\n\n async clickConfirmToUnpublishButton() {\n await this.click(this.confirmToUnpublishBtn);\n }\n\n async clickCreateDocumentBlueprintButton() {\n await this.click(this.createDocumentBlueprintBtn);\n }\n\n // Info Tab\n async clickInfoTab() {\n await this.click(this.infoTab);\n }\n\n async doesDocumentHaveLink(link: string) {\n await this.containsText(this.linkContent, link);\n }\n\n async doesHistoryHaveText(text: string) {\n await this.hasText(this.historyItems, text);\n }\n\n async doesDocumentStateHaveText(text: string) {\n await this.hasText(this.documentState, text);\n }\n\n async doesCreatedDateHaveText(text: string) {\n await this.hasText(this.createdDate, text);\n }\n\n async doesIdHaveText(text: string) {\n await this.hasText(this.id, text);\n }\n\n async clickEditDocumentTypeButton() {\n await this.click(this.editDocumentTypeBtn);\n }\n\n async clickAddTemplateButton() {\n await this.click(this.addTemplateBtn);\n }\n\n async waitForContentToBeCreated() {\n await this.waitForLoadState();\n }\n\n async waitForContentToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForContentToBeRenamed() {\n await this.waitForLoadState();\n }\n\n async waitForDomainToBeCreated() {\n await this.waitForLoadState();\n }\n\n async waitForDomainToBeUpdated() {\n await this.waitForLoadState();\n }\n\n async waitForDomainToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForContentToBeTrashed() {\n await this.waitForLoadState();\n }\n\n async clickDocumentTypeByName(documentTypeName: string) {\n await this.click(this.page.locator(`uui-ref-node-document-type[name=\"${documentTypeName}\"]`));\n }\n\n async clickTemplateByName(templateName: string) {\n await this.click(this.page.locator(`uui-ref-node[name=\"${templateName}\"]`));\n }\n\n async isDocumentTypeModalVisible(documentTypeName: string) {\n await this.isVisible(this.documentTypeWorkspace.filter({hasText: documentTypeName}));\n }\n\n async isTemplateModalVisible(templateName: string) {\n await this.isVisible(this.breadcrumbsTemplateModal.getByText(templateName));\n }\n\n async clickEditTemplateByName(templateName: string) {\n await this.click(this.page.locator(`uui-ref-node[name=\"${templateName}\"]`).getByLabel('Choose'));\n }\n\n async changeTemplate(oldTemplate: string, newTemplate: string) {\n await this.clickEditTemplateByName(oldTemplate);\n await this.click(this.sidebarModal.getByLabel(newTemplate));\n await this.clickChooseModalButton();\n }\n\n async isTemplateNameDisabled(templateName: string) {\n await this.isVisible(this.sidebarModal.getByLabel(templateName));\n await this.isDisabled(this.sidebarModal.getByLabel(templateName));\n }\n\n // Culture and Hostnames\n async clickCultureAndHostnamesButton() {\n await this.click(this.cultureAndHostnamesBtn);\n }\n\n async clickAddNewHostnameButton(){\n await this.click(this.addNewHostnameBtn);\n }\n\n async selectCultureLanguageOption(option: string) {\n await this.click(this.cultureLanguageDropdownBox);\n await this.click(this.page.getByText(option, {exact: true}));\n }\n\n async selectHostnameLanguageOption(option: string, index: number = 0) {\n await this.click(this.hostnameLanguageDropdownBox.nth(index));\n await this.click(this.hostnameComboBox.getByText(option).nth(index));\n }\n\n async enterDomain(value: string, index: number = 0) {\n await this.enterText(this.hostnameTxt.nth(index), value, {verify: true});\n }\n\n async clickDeleteHostnameButton() {\n await this.click(this.deleteHostnameBtn.first());\n }\n\n async clickSaveModalButton() {\n await this.click(this.saveModalBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async chooseDocumentType(documentTypeName: string) {\n await this.click(this.documentTypeNode.filter({hasText: documentTypeName}));\n }\n\n // Approved Color\n async clickApprovedColorByValue(value: string) {\n await this.click(this.page.locator(`uui-color-swatch[value=\"#${value}\"] #swatch`));\n }\n\n // Checkbox list\n async chooseCheckboxListOption(optionValue: string) {\n await this.click(this.page.locator(`uui-checkbox[value=\"${optionValue}\"] svg`));\n }\n\n // Content Picker\n async addContentPicker(contentName: string) {\n await this.clickChooseButton();\n await this.click(this.sidebarModal.getByText(contentName));\n await this.click(this.chooseModalBtn);\n }\n\n async isOpenButtonVisibleInContentPicker(contentPickerName: string, isVisible: boolean = true) {\n return await this.isVisible(this.page.getByLabel('Open ' + contentPickerName), isVisible);\n }\n\n async clickContentPickerOpenButton(contentPickerName: string) {\n await this.click(this.page.getByLabel('Open ' + contentPickerName));\n }\n\n async isNodeOpenForContentPicker(contentPickerName: string) {\n return await this.isVisible(this.openedModal.getByText(contentPickerName));\n }\n\n async isContentNameVisible(contentName: string, isVisible: boolean = true) {\n return await this.isVisible(this.sidebarModal.getByText(contentName), isVisible);\n }\n\n async isContentInTreeVisible(name: string, isVisible: boolean = true) {\n await this.isVisible(this.documentTreeItem.getByLabel(name, {exact: true}).first(), isVisible);\n }\n\n async isChildContentInTreeVisible(parentName: string, childName: string, isVisible: boolean = true) {\n await this.isVisible(this.documentTreeItem.locator('[label=\"' + parentName + '\"]').locator('uui-menu-item[label=\"' + childName + '\"]'), isVisible);\n }\n\n async removeContentPicker(contentPickerName: string) {\n const contentPickerLocator = this.entityItem.filter({has: this.page.locator(`[name=\"${contentPickerName}\"]`)});\n await this.hoverAndClick(contentPickerLocator, contentPickerLocator.getByLabel('Remove'));\n await this.clickConfirmRemoveButton();\n }\n\n // Dropdown\n async chooseDropdownOption(optionValues: string[]) {\n await this.selectMultiple(this.dropdown, optionValues);\n }\n\n // Date Picker\n async enterADate(date: string) {\n await this.setADateTxt.fill(date);\n }\n\n // Media Picker\n async clickChooseMediaPickerButton() {\n await this.click(this.chooseMediaPickerBtn);\n }\n\n async clickChooseButtonAndSelectMediaWithName(mediaName: string) {\n await this.clickChooseMediaPickerButton();\n await this.selectMediaWithName(mediaName);\n }\n\n async clickChooseButtonAndSelectMediaWithKey(mediaKey: string) {\n await this.clickChooseMediaPickerButton();\n await this.selectMediaWithTestId(mediaKey);\n }\n\n async removeMediaPickerByName(mediaPickerName: string) {\n await this.click(this.page.locator(`[name=\"${mediaPickerName}\"] [label=\"Remove\"] svg`));\n await this.clickConfirmRemoveButton();\n }\n\n async isMediaNameVisible(mediaName: string, isVisible: boolean = true) {\n return await this.isVisible(this.mediaCardItems.filter({hasText: mediaName}), isVisible);\n }\n\n async clickResetFocalPointButton() {\n await this.click(this.resetFocalPointBtn);\n }\n\n async setFocalPoint(widthPercentage: number = 50, heightPercentage: number = 50) {\n await this.page.waitForTimeout(ConstantHelper.wait.medium);\n const element = await this.page.locator('#image').boundingBox();\n if (!element) {\n throw new Error('Element not found');\n }\n\n const centerX = element.x + element.width / 2;\n const centerY = element.y + element.height / 2;\n\n const x = element.x + (element.width * widthPercentage) / 100;\n const y = element.y + (element.height * heightPercentage) / 100;\n\n await this.page.waitForTimeout(ConstantHelper.wait.minimal);\n await this.page.mouse.move(centerX, centerY, {steps: 5});\n await this.page.waitForTimeout(ConstantHelper.wait.minimal);\n await this.page.mouse.down();\n await this.page.waitForTimeout(ConstantHelper.wait.minimal);\n await this.page.mouse.move(x, y);\n await this.page.waitForTimeout(ConstantHelper.wait.minimal);\n await this.page.mouse.up();\n }\n\n // Member Picker\n async clickChooseMemberPickerButton() {\n await this.click(this.chooseMemberPickerBtn);\n }\n\n async selectMemberByName(memberName: string) {\n await this.click(this.sidebarModal.getByText(memberName, {exact: true}));\n }\n\n async removeMemberPickerByName(memberName: string) {\n const mediaPickerLocator = this.entityItem.filter({has: this.page.locator(`[name=\"${memberName}\"]`)});\n await this.hoverAndClick(mediaPickerLocator, mediaPickerLocator.getByLabel('Remove'));\n await this.clickConfirmRemoveButton();\n }\n\n // Numeric\n async enterNumeric(number: number) {\n await this.enterText(this.numericTxt, number.toString());\n }\n\n // Radiobox\n async chooseRadioboxOption(optionValue: string) {\n await this.click(this.page.locator(`uui-radio[value=\"${optionValue}\"] #button`));\n }\n\n // Tags\n async clickPlusIconButton() {\n await this.click(this.plusIconBtn);\n }\n\n async enterTag(tagName: string) {\n await this.enterText(this.enterTagTxt, tagName);\n await this.pressKey(this.enterTagTxt, 'Enter');\n }\n\n async removeTagByName(tagName: string) {\n await this.click(this.tagItems.filter({hasText: tagName}).locator('svg'));\n }\n\n // Multi URL Picker\n async clickAddMultiURLPickerButton() {\n await this.click(this.addMultiURLPickerBtn);\n }\n\n async selectLinkByName(linkName: string) {\n await this.click(this.sidebarModal.getByText(linkName, {exact: true}));\n }\n\n async enterLink(value: string, toPress: boolean = false) {\n if (toPress) {\n await this.enterText(this.linkTxt, '');\n await this.pressKey(this.linkTxt, value);\n } else {\n await this.enterText(this.linkTxt, value);\n }\n }\n\n async enterAnchorOrQuerystring(value: string, toPress: boolean = false) {\n if (toPress) {\n await this.enterText(this.anchorQuerystringTxt, '');\n await this.pressKey(this.anchorQuerystringTxt, value);\n } else {\n await this.enterText(this.anchorQuerystringTxt, value);\n }\n }\n\n async enterLinkTitle(value: string, toPress: boolean = false) {\n if (toPress) {\n await this.enterText(this.linkTitleTxt, '');\n await this.pressKey(this.linkTitleTxt, value);\n } else {\n await this.enterText(this.linkTitleTxt, value);\n }\n }\n\n async removeUrlPickerByName(linkName: string) {\n await this.click(this.page.locator(`[name=\"${linkName}\"]`).getByLabel('Remove'));\n await this.clickConfirmRemoveButton();\n }\n\n async clickEditUrlPickerButtonByName(linkName: string) {\n await this.click(this.page.locator(`[name=\"${linkName}\"]`).getByLabel('Edit'));\n }\n\n // Upload\n async clickRemoveFilesButton() {\n await this.click(this.removeFilesBtn);\n }\n\n // True/false\n async clickToggleButton() {\n await this.click(this.toggleBtn, {force: true});\n }\n\n async doesToggleHaveLabel(label: string) {\n await this.hasText(this.toggleInput, label);\n }\n\n // Multiple Text String\n async clickAddMultipleTextStringButton() {\n await this.click(this.addMultipleTextStringBtn);\n }\n\n async enterMultipleTextStringValue(value: string) {\n await this.enterText(this.multipleTextStringValueTxt, value);\n }\n\n async addMultipleTextStringItem(value: string) {\n await this.clickAddMultipleTextStringButton();\n await this.enterMultipleTextStringValue(value);\n }\n\n // Code Editor\n async enterCodeEditorValue(value: string) {\n await this.enterMonacoEditorValue(value);\n }\n\n // Markdown Editor\n async enterMarkdownEditorValue(value: string) {\n await this.enterMonacoEditorValue(value);\n }\n\n // Slider\n async changeSliderValue(value: string) {\n await this.sliderInput.fill(value);\n }\n\n async isDocumentTypeNameVisible(contentName: string, isVisible: boolean = true) {\n return await this.isVisible(this.sidebarModal.getByText(contentName), isVisible); \n }\n\n async doesModalHaveText(text: string) {\n await this.containsText(this.openedModal, text);\n }\n\n // Collection tab\n async isTabNameVisible(tabName: string) {\n return await this.isVisible(this.tabItems.filter({hasText: tabName}));\n }\n\n async doesDocumentHaveName(name: string) {\n await this.hasValue(this.enterAName, name);\n }\n\n async doesDocumentTableColumnNameValuesMatch(expectedValues: string[]) {\n await this.waitForVisible(this.documentListView);\n return expectedValues.forEach((text, index) => {\n expect(this.documentTableColumnName.nth(index)).toHaveText(text);\n });\n }\n\n async searchByKeywordInCollection(keyword: string) {\n await this.enterText(this.searchTxt, keyword);\n await this.pressKey(this.searchTxt, 'Enter');\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickSelectVariantButton() {\n await this.click(this.selectAVariantBtn);\n }\n\n async clickVariantAddModeButtonForLanguageName(language: string) {\n await this.click(this.variantAddModeBtn.getByText(language));\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickSaveAndCloseButton() {\n await this.click(this.saveAndCloseBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n // List View\n async clickCreateContentWithName(name: string) {\n await this.click(this.page.getByLabel(`Create ${name}`));\n }\n\n async enterNameInContainer(name: string) {\n await this.enterText(this.enterNameInContainerTxt, name);\n }\n\n async goToContentInListViewWithName(contentName: string) {\n await this.click(this.listView.getByLabel(contentName));\n }\n\n async doesListViewHaveNoItemsInList() {\n await this.isVisible(this.listView.filter({hasText: 'There are no items to show in the list.'}));\n }\n\n async doesContentListHaveNoItemsInList() {\n await this.isVisible(this.umbDocumentCollection.filter({hasText: 'No items'}));\n }\n\n async clickNameButtonInListView() {\n await this.click(this.nameBtn);\n }\n\n async doesFirstItemInListViewHaveName(name: string) {\n await expect(this.listViewTableRow.first()).toContainText(name);\n }\n\n async doesListViewContainCount(count: number) {\n await this.hasCount(this.listViewTableRow, count);\n }\n\n async selectContentWithNameInListView(name: string) {\n await this.click(this.listViewTableRow.filter({hasText: name}));\n }\n\n async clickPublishSelectedListItems() {\n await this.click(this.publishSelectedListItems);\n }\n\n async clickUnpublishSelectedListItems() {\n await this.click(this.unpublishSelectedListItems);\n }\n\n async clickDuplicateToSelectedListItems() {\n // Force click is needed\n await this.click(this.duplicateToSelectedListItems, {force: true});\n }\n\n async clickMoveToSelectedListItems() {\n // Force click is needed\n await this.click(this.moveToSelectedListItems, {force: true});\n }\n\n async clickTrashSelectedListItems() {\n await this.click(this.trashSelectedListItems);\n }\n\n async selectDocumentWithNameAtRoot(name: string) {\n await this.openCaretButtonForName('Content');\n await this.click(this.modalContent.getByLabel(name));\n await this.clickChooseButton();\n }\n\n async clickTrashButton() {\n await this.click(this.trashBtn);\n }\n\n async clickExactTrashButton() {\n await this.click(this.exactTrashBtn);\n }\n\n async isDocumentListViewVisible(isVisible: boolean = true) {\n await this.isVisible(this.documentListView, isVisible);\n }\n\n async isDocumentGridViewVisible(isVisible: boolean = true) {\n await this.isVisible(this.documentGridView, isVisible);\n }\n\n async changeDocumentSectionLanguage(newLanguageName: string) {\n await this.click(this.documentLanguageSelect);\n // Force click is needed\n await this.click(this.documentLanguageSelectPopover.getByText(newLanguageName), {force: true});\n }\n\n async doesDocumentSectionHaveLanguageSelected(languageName: string) {\n await this.hasText(this.documentLanguageSelect, languageName);\n }\n\n async isDocumentReadOnly(isVisible: boolean = true) {\n await this.isVisible(this.documentReadOnly, isVisible);\n }\n\n async isDocumentNameInputEditable(isEditable: boolean = true) {\n await this.waitForVisible(this.contentNameTxt);\n await expect(this.contentNameTxt).toBeEditable({editable: isEditable});\n }\n\n async isActionsMenuForRecycleBinVisible(isVisible: boolean = true) {\n await this.isActionsMenuForNameVisible('Recycle Bin', isVisible);\n }\n\n async isActionsMenuForRootVisible(isVisible: boolean = true) {\n await this.isActionsMenuForNameVisible('Content', isVisible);\n }\n\n async clickEmptyRecycleBinButton() {\n await this.hover(this.recycleBinMenuItem);\n // Force click is needed\n await this.click(this.emptyRecycleBinBtn, {force: true});\n }\n\n async clickConfirmEmptyRecycleBinButton() {\n await this.click(this.confirmEmptyRecycleBinBtn);\n }\n\n async isDocumentPropertyEditable(propertyName: string, isEditable: boolean = true) {\n const propertyLocator = this.documentWorkspace.locator(this.property).filter({hasText: propertyName}).locator('#input');\n await this.waitForVisible(propertyLocator);\n await expect(propertyLocator).toBeEditable({editable: isEditable});\n }\n\n async doesDocumentPropertyHaveValue(propertyName: string, value: string) {\n const propertyLocator = this.documentWorkspace.locator(this.property).filter({hasText: propertyName}).locator('#input');\n await this.hasValue(propertyLocator, value);\n }\n\n async clickContentTab() {\n await this.click(this.splitView.getByRole('tab', {name: 'Content'}));\n }\n\n async isDocumentTreeEmpty() {\n await this.hasCount(this.documentTreeItem, 0);\n }\n\n async doesDocumentWorkspaceContainName(name: string) {\n await expect(this.documentWorkspaceEditor.locator('#input')).toHaveValue(name);\n }\n\n async doesDocumentWorkspaceHaveText(text: string) {\n await this.containsText(this.documentWorkspace, text);\n }\n\n async enterDocumentBlueprintName(name: string) {\n await this.enterText(this.documentBlueprintModalEnterNameTxt, name);\n }\n \n async clickSaveDocumentBlueprintButton() {\n await this.click(this.documentBlueprintSaveBtn);\n }\n\n async clickDuplicateToButton() {\n await this.click(this.duplicateToBtn);\n }\n\n async clickDuplicateButton() {\n await this.click(this.duplicateBtn);\n }\n\n async clickMoveToButton() {\n await this.click(this.moveToBtn);\n }\n\n async moveToContentWithName(parentNames: string[], moveTo: string) {\n for (const contentName of parentNames) {\n await this.click(this.container.getByLabel(`Expand child items for ${contentName}`));\n }\n await this.click(this.container.getByLabel(moveTo));\n await this.clickChooseContainerButton();\n }\n\n async isCaretButtonVisibleForContentName(contentName: string, isVisible: boolean = true) {\n await this.isVisible(this.page.locator(`[label=\"${contentName}\"]`).getByLabel('Expand child items for '), isVisible);\n }\n\n async reloadContentTree() {\n // Force click is needed\n await this.click(this.contentTreeRefreshBtn, {force: true});\n }\n\n async clickSortChildrenButton() {\n await this.click(this.sortChildrenBtn);\n }\n\n async clickRollbackButton() {\n await this.click(this.rollbackBtn);\n }\n\n async clickRollbackContainerButton() {\n await this.click(this.rollbackContainerBtn);\n }\n\n async clickLatestRollBackItem() {\n await this.click(this.rollbackItem.last());\n }\n\n async clickPublicAccessButton() {\n await this.click(this.publicAccessBtn);\n }\n\n async addGroupBasedPublicAccess(memberGroupName: string, documentName: string) {\n await this.click(this.groupBasedProtectionBtn);\n await this.clickNextButton();\n await this.click(this.chooseMemberGroupBtn);\n await this.click(this.page.getByLabel(memberGroupName));\n await this.clickChooseModalButton();\n await this.click(this.selectLoginPageDocument);\n await this.click(this.container.getByLabel(documentName, {exact: true}));\n await this.clickChooseModalButton();\n await this.click(this.selectErrorPageDocument);\n await this.click(this.container.getByLabel(documentName, {exact: true}));\n await this.clickChooseModalButton();\n await this.click(this.containerSaveBtn);\n }\n\n async sortChildrenDragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset: number = 0, horizontalOffset: number = 0, steps: number = 5) {\n await this.waitForVisible(dragFromSelector);\n await this.waitForVisible(dragToSelector);\n const targetLocation = await dragToSelector.boundingBox();\n const elementCenterX = targetLocation!.x + targetLocation!.width / 2;\n const elementCenterY = targetLocation!.y + targetLocation!.height / 2;\n await this.hover(dragFromSelector);\n await this.page.mouse.move(10, 10);\n await this.hover(dragFromSelector);\n await this.page.mouse.down();\n await this.page.waitForTimeout(ConstantHelper.wait.debounce);\n await this.page.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, {steps: steps});\n await this.page.waitForTimeout(ConstantHelper.wait.debounce);\n // If we do not have this, the drag and drop will not work\n await this.hover(dragToSelector);\n await this.page.mouse.up();\n }\n\n async clickSortButton() {\n await this.click(this.sortBtn);\n }\n\n async doesIndexDocumentInTreeContainName(parentName: string, childName: string, index: number) {\n await expect(this.documentTreeItem.locator(`[label=\"${parentName}\"]`).locator('umb-tree-item').nth(index).locator('#label')).toHaveText(childName);\n }\n\n async selectMemberGroup(memberGroupName: string) {\n await this.click(this.uuiCheckbox.getByLabel(memberGroupName));\n }\n\n async isPermissionInActionsMenuVisible(permissionName: string, isVisible: boolean = true) {\n await this.isVisible(this.actionsMenu.getByRole('button', {\n name: permissionName,\n exact: true\n }), isVisible);\n }\n\n async clickDocumentLinkButton() {\n await this.click(this.linkToDocumentBtn);\n }\n\n async clickMediaLinkButton() {\n await this.click(this.linkToMediaBtn);\n }\n\n async clickManualLinkButton() {\n await this.click(this.linkToManualBtn);\n }\n\n // Block Grid - Block List\n async clickAddBlockElementButton() {\n await this.click(this.addBlockElementBtn);\n }\n\n async clickAddBlockWithNameButton(name: string) {\n await this.click(this.page.getByLabel(`Add ${name}`));\n }\n\n async clickCreateForModalWithHeadline(headline: string) {\n await this.click(this.page.locator(`[headline=\"${headline}\"]`).getByLabel('Create'));\n }\n \n async isAddBlockElementButtonVisible(isVisible: boolean = true) {\n await this.isVisible(this.addBlockElementBtn, isVisible);\n }\n\n async isAddBlockElementButtonWithLabelVisible(blockName: string, label: string, isVisible: boolean = true) {\n await this.isVisible(this.property.filter({hasText: blockName}).locator(this.addBlockElementBtn).filter({hasText: label}), isVisible);\n }\n\n async doesFormValidationMessageContainText(text: string) {\n await this.containsText(this.formValidationMessage, text);\n }\n\n async doesBlockElementHaveName(name: string) {\n await this.containsText(this.blockName, name);\n }\n\n async clickAddBlockSettingsTabButton() {\n await this.click(this.addBlockSettingsTabBtn);\n }\n\n async clickEditBlockGridBlockButton() {\n await this.hoverAndClick(this.blockGridEntry, this.editBlockEntryBtn);\n }\n\n async clickDeleteBlockGridBlockButton() {\n await this.hoverAndClick(this.blockGridEntry, this.deleteBlockEntryBtn);\n }\n\n async clickEditBlockListBlockButton() {\n await this.hoverAndClick(this.blockListEntry, this.editBlockEntryBtn);\n }\n\n async clickDeleteBlockListBlockButton() {\n await this.hoverAndClick(this.blockListEntry, this.deleteBlockEntryBtn);\n }\n\n async clickCopyBlockListBlockButton(groupName: string, propertyName: string, blockName: string, index: number = 0) {\n const blockListBlock = this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName}).locator(this.blockListEntry).nth(index).filter({hasText: blockName});\n await this.hoverAndClick(blockListBlock, blockListBlock.locator(this.copyBlockEntryBtn), {force: true});\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickCopyBlockGridBlockButton(groupName: string, propertyName: string, blockName: string, index: number = 0) {\n const blockGridBlock = this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName}).locator(this.blockGridEntry).nth(index).filter({hasText: blockName});\n await this.hoverAndClick(blockGridBlock, blockGridBlock.locator(this.copyBlockEntryBtn), {force: true});\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickPasteFromClipboardButtonForProperty(groupName: string, propertyName: string) {\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n const property = this.workspaceEditTab.filter({hasText: groupName}).locator(this.property).filter({hasText: propertyName});\n await this.click(property.locator(this.pasteFromClipboardBtn), {force: true});\n }\n\n async clickActionsMenuForProperty(groupName: string, propertyName: string) {\n const property = this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName});\n await this.hoverAndClick(property, property.locator(this.openActionsMenu), {force: true});\n }\n\n async clickAddBlockGridElementWithName(elementTypeName: string) {\n await this.click(this.page.getByRole('link', {name: `Add ${elementTypeName}`, exact: true}));\n }\n\n async clickEditBlockListEntryWithName(blockListElementName: string) {\n await this.click(this.blockListEntry.filter({hasText: blockListElementName}).getByLabel('edit'), {force: true});\n }\n\n async clickSelectBlockElementWithName(elementTypeName: string) {\n await this.click(this.page.getByRole('button', {name: elementTypeName, exact: true}));\n }\n\n async clickSelectBlockElementInAreaWithName(elementTypeName: string) {\n await this.click(this.container.getByRole('button', {name: elementTypeName, exact: true}));\n }\n\n async clickBlockElementWithName(elementTypeName: string) {\n await this.click(this.page.getByRole('link', {name: elementTypeName, exact: true}), {force: true});\n }\n\n async enterPropertyValue(propertyName: string, value: string) {\n const property = this.property.filter({hasText: propertyName});\n await this.enterText(property.locator('input'), value);\n }\n\n async doesBlockContainBlockInAreaWithName(blockWithAreaName: string, areaName: string, blockInAreaName: string, index: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: blockWithAreaName})).nth(index);\n const area = blockWithArea.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n const blockInArea = area.locator(this.blockGridEntry.filter({hasText: blockInAreaName}));\n await this.waitForVisible(blockInArea);\n }\n\n async doesBlockContainBlockCountInArea(blockWithAreaName: string, areaName: string, blocksInAreaCount: number, index: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: blockWithAreaName})).nth(index);\n const area = blockWithArea.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n const blocks = area.locator(this.blockGridEntry);\n await this.hasCount(blocks, blocksInAreaCount);\n }\n\n async doesBlockContainCountOfBlockInArea(blockWithAreaName: string, areaName: string, blockInAreaName: string, count: number, index: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: blockWithAreaName})).nth(index);\n const area = blockWithArea.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n const blockInArea = area.locator(this.blockGridEntry.filter({hasText: blockInAreaName}));\n await this.hasCount(blockInArea, count);\n }\n\n async getBlockAtRootDataElementKey(blockName: string, index: number = 0) {\n const blockGridEntrySelector = 'umb-block-grid-entry';\n return this.blockGridEntries.locator(`.umb-block-grid__layout-container > ${blockGridEntrySelector}`).filter({hasText: blockName}).nth(index).getAttribute('data-element-key');\n }\n\n async getBlockAreaKeyFromParentBlockDataElementKey(parentKey: string, index: number = 0) {\n const block = this.page.locator(`[data-element-key=\"${parentKey}\"]`);\n return block.locator(this.blockGridAreasContainer).locator('.umb-block-grid__area-container > umb-block-grid-entries').nth(index).getAttribute('area-key');\n }\n\n async getBlockDataElementKeyInArea(parentBlockName: string, areaName: string, blockName: string, parentIndex: number = 0, childIndex: number = 0) {\n const parentBlock = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: parentBlockName})).nth(parentIndex);\n const area = parentBlock.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n const block = area.locator(this.blockGridEntry.filter({hasText: blockName})).nth(childIndex);\n return block.getAttribute('data-element-key');\n }\n\n async removeBlockFromArea(parentBlockName: string, areaName: string, blockName: string, parentIndex: number = 0, childIndex: number = 0) {\n const parentBlock = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: parentBlockName})).nth(parentIndex);\n const area = parentBlock.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n const block = area.locator(this.blockGridEntry.filter({hasText: blockName})).nth(childIndex);\n await this.hoverAndClick(block, block.getByLabel('delete'), {force: true});\n }\n\n async doesBlockAreaContainColumnSpan(blockWithAreaName: string, areaName: string, columnSpan: number, index: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: blockWithAreaName})).nth(index);\n const area = blockWithArea.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n await this.hasAttribute(area, 'data-area-col-span', columnSpan.toString());\n }\n\n async doesBlockAreaContainRowSpan(blockWithAreaName: string, areaName: string, rowSpan: number, index: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: blockWithAreaName})).nth(index);\n const area = blockWithArea.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n await this.hasAttribute(area, 'data-area-row-span', rowSpan.toString());\n }\n\n async clickInlineAddToAreaButton(parentBlockName: string, areaName: string, parentIndex: number = 0, buttonIndex: number = 1) {\n const parentBlock = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: parentBlockName})).nth(parentIndex);\n const area = parentBlock.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n await this.click(area.locator(this.inlineCreateBtn).nth(buttonIndex));\n }\n\n async addBlockToAreasWithExistingBlock(blockWithAreaName: string, areaName: string, parentIndex: number = 0, addToIndex: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock).filter({hasText: blockWithAreaName}).nth(parentIndex);\n await this.hover(blockWithArea);\n const area = blockWithArea.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n const addBlockBtn = area.locator(this.inlineCreateBtn).nth(addToIndex);\n await this.hover(addBlockBtn, {force: true});\n await this.click(addBlockBtn, {force: true});\n }\n\n async doesBlockGridBlockWithAreaContainCreateLabel(blockWithAreaName: string, createLabel: string, index: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: blockWithAreaName})).nth(index);\n return await this.isVisible(blockWithArea.locator(this.blockGridAreasContainer).getByLabel(createLabel));\n }\n\n async doesPropertyContainValue(propertyName: string, value: string) {\n await expect(this.property.filter({hasText: propertyName}).locator('input')).toHaveValue(value);\n }\n\n async clickCreateButtonForModalWithElementTypeNameAndGroupName(headlineName: string, groupName: string) {\n await this.click(this.blockWorkspace.filter({hasText: `Add ${headlineName}`}).filter({hasText: groupName}).getByLabel('Create'));\n }\n\n async clickUpdateButtonForModalWithElementTypeNameAndGroupName(headlineName: string, groupName: string) {\n await this.click(this.blockWorkspace.filter({hasText: `Edit ${headlineName}`}).filter({hasText: groupName}).locator(this.updateBtn));\n }\n\n async clickExactCopyButton() {\n await this.click(this.exactCopyBtn);\n }\n\n async clickExactReplaceButton() {\n await this.click(this.replaceExactBtn);\n }\n\n async doesClipboardHaveCopiedBlockWithName(contentName: string, propertyName: string, blockName: string, index: number = 0) {\n await this.isVisible(this.clipboardEntryPicker.getByLabel(`${contentName} - ${propertyName} - ${blockName}`).nth(index));\n }\n\n async doesClipboardHaveCopiedBlocks(contentName: string, propertyName: string, index: number = 0) {\n await this.isVisible(this.clipboardEntryPicker.getByLabel(`${contentName} - ${propertyName}`).nth(index));\n }\n\n async doesClipboardContainCopiedBlocksCount(count: number) {\n await this.hasCount(this.clipboardEntryPicker.locator(this.menuItem), count);\n }\n\n async selectClipboardEntryWithName(contentName: string, propertyName: string, blockName: string, index: number = 0) {\n await this.doesClipboardHaveCopiedBlockWithName(contentName, propertyName, blockName, index);\n await this.click(this.clipboardEntryPicker.getByLabel(`${contentName} - ${propertyName} - ${blockName}`).nth(index));\n }\n\n async selectClipboardEntriesWithName(contentName: string, propertyName: string, index: number = 0) {\n await this.doesClipboardHaveCopiedBlocks(contentName, propertyName, index);\n await this.click(this.clipboardEntryPicker.getByLabel(`${contentName} - ${propertyName}`).nth(index));\n }\n\n async goToBlockGridBlockWithName(groupName: string, propertyName: string, blockName: string, index: number = 0) {\n const blockGridBlock = this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName}).locator(this.blockGridEntry).nth(index).filter({hasText: blockName});\n await this.click(blockGridBlock);\n }\n\n async goToBlockListBlockWithName(groupName: string, propertyName: string, blockName: string, index: number = 0) {\n const blocklistBlock = this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName}).locator(this.blockListEntry).nth(index).filter({hasText: blockName});\n await this.click(blocklistBlock);\n }\n\n async doesBlockEditorBlockWithNameContainValue(groupName: string, propertyName: string, inputType: string = ConstantHelper.inputTypes.general, value) {\n await expect(this.blockWorkspaceEditTab.filter({hasText: groupName}).locator(this.property).filter({hasText: propertyName}).locator(inputType)).toContainText(value)\n }\n\n async clickCloseButton() {\n await this.click(this.closeBtn);\n }\n\n async clickPasteButton() {\n await this.click(this.pasteBtn, {force: true});\n }\n\n async doesBlockListPropertyHaveBlockAmount(groupName: string, propertyName: string, amount: number) {\n await this.hasCount(this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName}).locator(this.blockListEntry), amount);\n }\n\n async doesBlockGridPropertyHaveBlockAmount(groupName: string, propertyName: string, amount: number) {\n await this.hasCount(this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName}).locator(this.blockGridEntry), amount);\n }\n\n async doesPropertyContainValidationMessage(groupName: string, propertyName: string, message: string) {\n await expect(this.blockWorkspaceEditTab.filter({hasText: groupName}).locator(this.property).filter({hasText: propertyName}).locator(this.validationMessage)).toContainText(message);\n }\n\n async clickInsertBlockButton() {\n await this.click(this.insertBlockBtn);\n }\n\n // TipTap\n async enterRTETipTapEditor(value: string) {\n await this.enterText(this.tipTapEditor, value);\n }\n\n async enterRTETipTapEditorWithName(name: string , value: string){\n const tipTapEditorLocator = this.page.locator(`[data-mark=\"property:${name}\"]`).locator(this.tipTapEditor);\n await this.enterText(tipTapEditorLocator, value);\n }\n\n async clickTipTapToolbarIconWithTitle(iconTitle: string) {\n await this.click(this.tipTapPropertyEditor.getByTitle(iconTitle, {exact: true}).locator('svg'));\n }\n\n async doesUploadedSvgThumbnailHaveSrc(imageSrc: string) {\n await this.hasAttribute(this.uploadedSvgThumbnail, 'src', imageSrc);\n }\n\n async doesRichTextEditorBlockContainLabel(richTextEditorAlias: string, label: string) {\n await expect(this.page.getByTestId(`property:${richTextEditorAlias}`).locator(this.rteBlock)).toContainText(label);\n }\n\n async doesBlockEditorModalContainEditorSize(editorSize: string, elementName: string) {\n await this.isVisible(this.backofficeModalContainer.locator(`[size=\"${editorSize}\"]`).locator(`[headline=\"Add ${elementName}\"]`));\n }\n\n async doesBlockEditorModalContainInline(richTextEditorAlias: string, elementName: string) {\n await this.containsText(this.page.getByTestId(`property:${richTextEditorAlias}`).locator(this.tiptapInput).locator(this.rteBlockInline), elementName);\n }\n\n async doesBlockHaveBackgroundColor(elementName: string, backgroundColor: string) {\n await this.isVisible(this.page.locator('umb-block-type-card', {hasText: elementName}).locator(`[style=\"background-color:${backgroundColor};\"]`));\n }\n\n async doesBlockHaveIconColor(elementName: string, backgroundColor: string) {\n await this.isVisible(this.page.locator('umb-block-type-card', {hasText: elementName}).locator(`[color=\"${backgroundColor}\"]`));\n }\n\n async addDocumentDomain(domainName: string, languageName: string) {\n await this.clickCultureAndHostnamesButton();\n await this.clickAddNewHostnameButton();\n await this.enterDomain(domainName);\n await this.selectHostnameLanguageOption(languageName);\n await this.clickSaveModalButton();\n }\n\n // Scheduled Publishing\n async clickViewMoreOptionsButton() {\n await this.click(this.viewMoreOptionsBtn);\n }\n\n async clickSchedulePublishButton() {\n await this.click(this.schedulePublishBtn);\n }\n\n async clickSchedulePublishModalButton() {\n await this.click(this.schedulePublishModalBtn);\n }\n\n async enterPublishTime(time: string, index: number = 0) {\n const publishAtTxt = this.documentScheduleModal.locator('.publish-date').nth(index).locator('uui-form-layout-item').first().locator('#input');\n await this.enterText(publishAtTxt, time);\n }\n\n async enterUnpublishTime(time: string, index: number = 0) {\n const unpublishAtTxt = this.documentScheduleModal.locator('.publish-date').nth(index).locator('uui-form-layout-item').last().locator('#input');\n await this.enterText(unpublishAtTxt, time);\n }\n\n async doesPublishAtValidationMessageContainText(text: string) {\n await this.containsText(this.publishAtValidationMessage, text);\n }\n\n async doesUnpublishAtValidationMessageContainText(text: string) {\n await this.containsText(this.unpublishAtValidationMessage, text);\n }\n\n async doesLastPublishedContainText(text: string) {\n await this.containsText(this.lastPublished, text);\n }\n\n async doesPublishAtContainText(text: string) {\n await this.containsText(this.publishAt, text);\n }\n\n async doesRemoveAtContainText(text: string) {\n await this.containsText(this.removeAt, text);\n }\n\n async clickSelectAllCheckbox() {\n await this.click(this.selectAllCheckbox);\n }\n\n async doesSchedulePublishModalButtonContainDisabledTag(hasDisabledTag: boolean = false) {\n if (!hasDisabledTag) {\n await expect(this.schedulePublishModalBtn).not.toHaveAttribute('disabled', '');\n } else {\n await this.hasAttribute(this.schedulePublishModalBtn, 'disabled', '');\n }\n }\n\n async clickInlineBlockCaretButtonForName(blockEditorName: string, index: number = 0) {\n const caretButtonLocator = this.blockListEntry.filter({hasText: blockEditorName}).nth(index).locator('uui-symbol-expand svg');\n await this.click(caretButtonLocator);\n }\n\n async doesTiptapHaveWordCount(count: number) {\n await this.hasText(this.tiptapStatusbarWordCount, `${count} words`);\n }\n\n async doesTiptapHaveCharacterCount(count: number) {\n await this.hasText(this.tiptapStatusbarWordCount, `${count} characters`);\n }\n\n async clickTiptapWordCountButton() {\n await this.click(this.tiptapStatusbarWordCount);\n }\n\n async doesElementPathHaveText(text: string) {\n await this.hasText(this.tiptapStatusbarElementPath, text);\n }\n\n async clickConfirmToPublishButton() {\n await this.click(this.confirmToPublishBtn);\n // Extra wait to ensure publish process starts\n await this.waitForTimeout(ConstantHelper.wait.medium);\n }\n\n async clickPublishWithDescendantsButton() {\n await this.click(this.publishWithDescendantsBtn);\n }\n\n async clickIncludeUnpublishedDescendantsToggle() {\n await this.click(this.includeUnpublishedDescendantsToggle);\n }\n\n async clickPublishWithDescendantsModalButton() {\n await this.click(this.publishWithDescendantsModalBtn);\n }\n\n async doesDocumentVariantLanguageItemHaveCount(count: number) {\n await this.hasCount(this.documentVariantLanguageItem, count);\n }\n\n async doesDocumentVariantLanguageItemHaveName(name: string) {\n await this.containsText(this.documentVariantLanguagePicker, name);\n }\n\n async clickSchedulePublishLanguageButton(languageName: string) {\n await this.click(this.page.getByRole('menu').filter({hasText: languageName}));\n }\n\n async clickBlockCardWithName(name: string, toForce: boolean = false) {\n const blockWithNameLocator = this.page.locator('uui-card-block-type', {hasText: name});\n await this.click(blockWithNameLocator, {force: toForce});\n }\n\n async clickStyleSelectButton() {\n await this.click(this.styleSelectBtn);\n }\n\n async clickCascadingMenuItemWithName(name: string) {\n const menuItemLocator = this.cascadingMenuContainer.locator(`uui-menu-item[label=\"${name}\"]`);\n await this.click(menuItemLocator);\n }\n\n async hoverCascadingMenuItemWithName(name: string) {\n const menuItemLocator = this.cascadingMenuContainer.locator(`uui-menu-item[label=\"${name}\"]`);\n await this.hover(menuItemLocator);\n }\n\n async selectAllRTETipTapEditorText() {\n await this.click(this.tipTapEditor);\n await this.pressKey(this.tipTapEditor, 'Control+A');\n }\n\n async waitForContentToBePublished() {\n await this.waitForLoadState();\n }\n\n async waitForRecycleBinToBeEmptied() {\n await this.waitForLoadState();\n }\n\n async clearTipTapEditor() {\n await this.waitForVisible(this.tipTapEditor);\n // We use the middle mouse button click so we don't accidentally open a block in the RTE. This solution avoids that.\n await this.tipTapEditor.click({button: \"middle\"});\n await this.pressKey(this.tipTapEditor, 'Control+A');\n await this.pressKey(this.tipTapEditor, 'Backspace');\n }\n\n async clickBlockElementInRTEWithName(elementTypeName: string) {\n const blockElementLocator = this.page.locator('uui-ref-node umb-ufm-render').filter({hasText: elementTypeName});\n await this.click(blockElementLocator, {force: true});\n }\n\n async doesModalFormValidationMessageContainText(text: string) {\n await this.containsText(this.modalFormValidationMessage, text);\n }\n\n async enterSearchKeywordInTreePickerModal(keyword: string) {\n await this.enterText(this.treePickerSearchTxt, keyword);\n await this.pressKey(this.treePickerSearchTxt, 'Enter');\n }\n\n async enterSearchKeywordInMediaPickerModal(keyword: string) {\n await this.enterText(this.mediaPickerSearchTxt, keyword);\n await this.pressKey(this.mediaPickerSearchTxt, 'Enter');\n }\n\n async enterSearchKeywordInMemberPickerModal(keyword: string) {\n await this.enterText(this.memberPickerSearchTxt, keyword);\n await this.pressKey(this.memberPickerSearchTxt, 'Enter');\n }\n \n async isContentNameReadOnly() {\n await expect(this.contentNameTxt).toHaveAttribute('readonly');\n }\n\n // Block Custom View\n async isBlockCustomViewVisible(blockCustomViewLocator: string, isVisible: boolean = true) {\n await this.isVisible(this.page.locator(blockCustomViewLocator), isVisible);\n }\n\n async isSingleBlockElementVisible(isVisible: boolean = true) {\n const count = await this.refListBlock.count();\n if (isVisible) {\n expect(count, `Expected only one element, but found ${count}`).toBe(1);\n } else {\n expect(count, `Expected only one element, but found ${count}`).toBe(0);\n }\n await this.isVisible(this.refListBlock, isVisible);\n }\n\n async doesBlockCustomViewHaveValue(customBlockViewLocator: string, valueText: string) {\n const locator = this.page.locator(`${customBlockViewLocator} p`);\n await this.waitForVisible(locator);\n await this.hasText(locator, valueText);\n }\n\n async clickPropertyActionWithName(name: string) {\n const actionLocator = this.propertyActionMenu.locator(`umb-property-action uui-menu-item[label=\"${name}\"]`);\n await this.click(actionLocator);\n }\n \n async isContentWithNameVisibleInList(contentName: string, isVisible: boolean = true) {\n await this.isVisible(this.documentTableColumnName.filter({hasText: contentName}), isVisible);\n }\n \n async selectDocumentBlueprintWithName(blueprintName: string) {\n await this.click(this.documentCreateOptionsModal.locator('uui-menu-item', {hasText: blueprintName}));\n }\n\n async doesDocumentModalHaveText(text: string) {\n await this.containsText(this.documentCreateOptionsModal, text);\n }\n\n async doesListViewItemsHaveCount(pageSize: number){\n await this.hasCount(this.listViewCustomRows, pageSize);\n }\n\n async isListViewItemWithNameVisible(itemName: string, index: number = 0){\n await expect(this.listViewCustomRows.nth(index)).toContainText(itemName);\n }\n\n async clickPaginationNextButton(){\n await this.click(this.nextPaginationBtn);\n }\n\n // Entity Data Picker\n async chooseCollectionMenuItemWithName(name: string) {\n await this.clickChooseButton();\n await this.click(this.collectionMenu.locator('umb-collection-menu-item', {hasText: name}));\n await this.clickChooseContainerButton();\n }\n\n async chooseTreeMenuItemWithName(name: string, parentNames: string[] = []) {\n await this.clickChooseButton();\n for (const itemName of parentNames) {\n await this.click(this.entityPickerTree.locator('umb-tree-item').getByLabel(`Expand child items for ${itemName}`));\n }\n await this.click(this.container.getByLabel(name));\n await this.clickChooseContainerButton();\n }\n \n async isChooseButtonVisible(isVisible: boolean = true) {\n await this.isVisible(this.chooseBtn, isVisible);\n }\n\n async clickDocumentNotificationOptionWithName(name: string) {\n const notificationOptionLocator = this.page.locator(`umb-document-notifications-modal [id$=\"${name}\"]`).locator('#toggle');\n await this.click(notificationOptionLocator);\n }\n\n async switchLanguage(languageName: string) {\n await this.click(this.languageToggle);\n const languageOptionLocator = this.contentVariantDropdown.locator('.culture-variant').filter({hasText: languageName});\n await this.click(languageOptionLocator);\n await expect(languageOptionLocator).toContainClass('selected');\n }\n\n async clickAddBlockListElementWithName(blockName: string) {\n const createNewButtonLocator = this.page.getByTestId(`property:${blockName.toLowerCase()}`).getByLabel('Create new');\n await this.click(createNewButtonLocator);\n }\n\n async isAddBlockListElementWithNameDisabled(blockName: string) {\n const createNewButtonLocator = this.page.getByTestId(`property:${blockName.toLowerCase()}`).locator('uui-button[label=\"Create new\"]');\n await expect(createNewButtonLocator).toHaveAttribute('disabled');\n }\n\n async isAddBlockListElementWithNameVisible(blockName: string) {\n const createNewButtonLocator = this.page.getByTestId(`property:${blockName.toLowerCase()}`).locator('uui-button[label=\"Create new\"]');\n await this.waitForVisible(createNewButtonLocator);\n await expect(createNewButtonLocator).not.toHaveAttribute('disabled');\n }\n\n async enterBlockPropertyValue(propertyName: string, value: string) {\n const property = this.blockProperty.filter({hasText: propertyName});\n await this.enterText(property.locator('input'), value);\n }\n\n async isBlockPropertyEditable(propertyName: string, isEditable: boolean = true) {\n const propertyLocator = this.blockProperty.filter({hasText: propertyName}).locator('#input');\n await this.waitForVisible(propertyLocator);\n await expect(propertyLocator).toBeEditable({editable: isEditable});\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"ContentUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ContentUiHelper.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 ContentUiHelper extends UiBaseLocators {\n private readonly contentNameTxt: Locator;\n private readonly saveAndPublishBtn: Locator;\n private readonly publishBtn: Locator;\n private readonly unpublishBtn: Locator;\n private readonly actionMenuForContentBtn: Locator;\n private readonly textstringTxt: Locator;\n private readonly infoTab: Locator;\n private readonly linkContent: Locator;\n private readonly historyItems: Locator;\n private readonly generalItem: Locator;\n private readonly documentState: Locator;\n private readonly createdDate: Locator;\n private readonly editDocumentTypeBtn: Locator;\n private readonly addTemplateBtn: Locator;\n private readonly id: Locator;\n private readonly cultureAndHostnamesBtn: Locator;\n private readonly cultureLanguageDropdownBox: Locator;\n private readonly addNewHostnameBtn: Locator;\n private readonly hostnameTxt: Locator;\n private readonly hostnameLanguageDropdownBox: Locator;\n private readonly deleteHostnameBtn: Locator;\n private readonly reloadChildrenThreeDotsBtn: Locator;\n private readonly contentTree: Locator;\n private readonly richTextAreaTxt: Locator;\n private readonly textAreaTxt: Locator;\n private readonly plusIconBtn: Locator;\n private readonly enterTagTxt: Locator;\n private readonly menuItemTree: Locator;\n private readonly hostnameComboBox: Locator;\n private readonly confirmToUnpublishBtn: Locator;\n private readonly saveModalBtn: Locator;\n private readonly dropdown: Locator;\n private readonly setADateTxt: Locator;\n private readonly chooseMediaPickerBtn: Locator;\n private readonly chooseMemberPickerBtn: Locator;\n private readonly numericTxt: Locator;\n private readonly resetFocalPointBtn: Locator;\n private readonly addMultiURLPickerBtn: Locator;\n private readonly linkTxt: Locator;\n private readonly anchorQuerystringTxt: Locator;\n private readonly linkTitleTxt: Locator;\n private readonly tagItems: Locator;\n private readonly removeFilesBtn: Locator;\n private readonly toggleBtn: Locator;\n private readonly toggleInput: Locator;\n private readonly documentTypeWorkspace: Locator;\n private readonly addMultipleTextStringBtn: Locator;\n private readonly multipleTextStringValueTxt: Locator;\n private readonly sliderInput: Locator;\n private readonly tabItems: Locator;\n private readonly documentWorkspace: Locator;\n private readonly searchTxt: Locator;\n private readonly selectAVariantBtn: Locator;\n private readonly variantAddModeBtn: Locator;\n private readonly saveAndCloseBtn: Locator;\n private readonly enterNameInContainerTxt: Locator;\n private readonly listView: Locator;\n private readonly nameBtn: Locator;\n private readonly listViewTableRow: Locator;\n private readonly publishSelectedListItems: Locator;\n private readonly unpublishSelectedListItems: Locator;\n private readonly duplicateToSelectedListItems: Locator;\n private readonly moveToSelectedListItems: Locator;\n private readonly trashSelectedListItems: Locator;\n private readonly modalContent: Locator;\n private readonly trashBtn: Locator;\n private readonly documentListView: Locator;\n private readonly documentGridView: Locator;\n private readonly documentTreeItem: Locator;\n private readonly documentLanguageSelect: Locator;\n private readonly documentLanguageSelectPopover: Locator;\n private readonly documentReadOnly: Locator;\n private readonly documentWorkspaceEditor: Locator;\n private readonly documentBlueprintModal: Locator;\n private readonly documentBlueprintModalEnterNameTxt: Locator;\n private readonly documentBlueprintSaveBtn: Locator;\n private readonly exactTrashBtn: Locator;\n private readonly emptyRecycleBinBtn: Locator;\n private readonly confirmEmptyRecycleBinBtn: Locator;\n private readonly duplicateToBtn: Locator;\n private readonly moveToBtn: Locator;\n private readonly duplicateBtn: Locator;\n private readonly contentTreeRefreshBtn: Locator;\n private readonly sortChildrenBtn: Locator;\n private readonly rollbackBtn: Locator;\n private readonly rollbackContainerBtn: Locator;\n private readonly publicAccessBtn: Locator;\n private readonly uuiCheckbox: Locator;\n private readonly sortBtn: Locator;\n private readonly containerSaveBtn: Locator\n private readonly groupBasedProtectionBtn: Locator;\n private readonly chooseMemberGroupBtn: Locator;\n private readonly selectLoginPageDocument: Locator;\n private readonly selectErrorPageDocument: Locator;\n private readonly rollbackItem: Locator;\n private readonly actionsMenu: Locator;\n private readonly linkToDocumentBtn: Locator;\n private readonly linkToMediaBtn: Locator;\n private readonly linkToManualBtn: Locator;\n private readonly umbDocumentCollection: Locator;\n private readonly documentTableColumnName: Locator;\n private readonly addBlockElementBtn: Locator;\n private readonly formValidationMessage: Locator;\n private readonly blockName: Locator;\n private readonly addBlockSettingsTabBtn: Locator;\n private readonly editBlockEntryBtn: Locator;\n private readonly copyBlockEntryBtn: Locator;\n private readonly deleteBlockEntryBtn: Locator;\n private readonly blockGridEntry: Locator;\n private readonly blockListEntry: Locator;\n private readonly tipTapPropertyEditor: Locator;\n private readonly tipTapEditor: Locator;\n private readonly uploadedSvgThumbnail: Locator;\n private readonly linkPickerModal: Locator;\n private readonly pasteFromClipboardBtn: Locator;\n private readonly pasteBtn: Locator;\n private readonly closeBtn: Locator;\n private readonly workspaceEditTab: Locator;\n private readonly workspaceEditProperties: Locator;\n private readonly exactCopyBtn: Locator;\n private readonly openActionsMenu: Locator;\n private readonly replaceExactBtn: Locator;\n private readonly clipboardEntryPicker: Locator;\n private readonly blockWorkspaceEditTab: Locator;\n private readonly insertBlockBtn: Locator;\n private readonly blockWorkspace: Locator;\n private readonly saveContentBtn: Locator;\n private readonly splitView: Locator;\n private readonly tiptapInput: Locator;\n private readonly rteBlockInline: Locator;\n private readonly backofficeModalContainer: Locator;\n private readonly rteBlock: Locator;\n private readonly workspaceActionMenu: Locator;\n private readonly workspaceActionMenuItem: Locator;\n private readonly viewMoreOptionsBtn: Locator;\n private readonly schedulePublishBtn: Locator;\n private readonly schedulePublishModalBtn: Locator;\n private readonly documentScheduleModal: Locator;\n private readonly publishAtFormLayout: Locator;\n private readonly unpublishAtFormLayout: Locator;\n private readonly publishAtValidationMessage: Locator;\n private readonly unpublishAtValidationMessage: Locator;\n private readonly lastPublished: Locator;\n private readonly publishAt: Locator;\n private readonly blockGridAreasContainer: Locator;\n private readonly blockGridBlock: Locator;\n private readonly blockGridEntries: Locator;\n private readonly inlineCreateBtn: Locator;\n private readonly removeAt: Locator;\n private readonly selectAllCheckbox: Locator;\n private readonly confirmToPublishBtn: Locator;\n private readonly tiptapStatusbarWordCount: Locator;\n private readonly tiptapStatusbarElementPath: Locator;\n private readonly publishWithDescendantsBtn: Locator;\n private readonly documentPublishWithDescendantsModal: Locator;\n private readonly includeUnpublishedDescendantsToggle: Locator;\n private readonly publishWithDescendantsModalBtn: Locator;\n private readonly documentVariantLanguagePicker: Locator;\n private readonly documentVariantLanguageItem: Locator;\n private readonly styleSelectBtn: Locator;\n private readonly cascadingMenuContainer: Locator;\n private readonly modalFormValidationMessage: Locator;\n private readonly treePickerSearchTxt: Locator;\n private readonly mediaPickerSearchTxt: Locator;\n private readonly memberPickerSearchTxt: Locator;\n private readonly documentCreateOptionsModal: Locator;\n private readonly refListBlock: Locator;\n private readonly propertyActionMenu: Locator;\n private readonly listViewCustomRows: Locator;\n private readonly collectionMenu: Locator;\n private readonly entityPickerTree: Locator;\n private readonly hostNameItem: Locator;\n private readonly languageToggle: Locator;\n private readonly contentVariantDropdown: Locator;\n private readonly blockProperty: Locator;\n\n constructor(page: Page) {\n super(page);\n this.saveContentBtn = page.getByTestId('workspace-action:Umb.WorkspaceAction.Document.Save');\n this.saveAndPublishBtn = page.getByTestId('workspace-action:Umb.WorkspaceAction.Document.SaveAndPublish');\n this.closeBtn = page.getByRole('button', {name: 'Close', exact: true});\n this.linkPickerModal = page.locator('umb-link-picker-modal');\n this.contentNameTxt = page.locator('#name-input input');\n this.publishBtn = page.getByLabel(/^Publish(…)?$/);\n this.unpublishBtn = page.getByLabel(/^Unpublish(…)?$/);\n this.actionMenuForContentBtn = page.locator('#header').getByTestId('open-dropdown');\n this.textstringTxt = page.locator('umb-property-editor-ui-text-box #input');\n this.reloadChildrenThreeDotsBtn = page.getByRole('button', {name: 'Reload children…'});\n this.contentTree = page.locator('umb-tree[alias=\"Umb.Tree.Document\"]');\n this.richTextAreaTxt = page.frameLocator('iframe[title=\"Rich Text Area\"]').locator('#tinymce');\n this.textAreaTxt = page.locator('umb-property-editor-ui-textarea textarea');\n this.plusIconBtn = page.locator('#icon-add svg');\n this.enterTagTxt = page.getByPlaceholder('Enter tag');\n this.menuItemTree = page.locator('umb-menu-item-tree-default');\n this.confirmToUnpublishBtn = page.locator('umb-document-unpublish-modal').getByLabel('Unpublish');\n this.dropdown = page.locator('select#native');\n this.splitView = page.locator('#splitViews');\n this.setADateTxt = page.getByLabel('Set a date…');\n this.chooseMediaPickerBtn = page.locator('umb-property-editor-ui-media-picker #btn-add');\n this.chooseMemberPickerBtn = page.locator('umb-property-editor-ui-member-picker #btn-add');\n this.numericTxt = page.locator('umb-property-editor-ui-number input');\n this.addMultiURLPickerBtn = page.locator('umb-property-editor-ui-multi-url-picker #btn-add');\n this.linkTxt = page.getByTestId('input:url').locator('#input');\n this.anchorQuerystringTxt = page.getByLabel('#value or ?key=value');\n this.linkTitleTxt = this.linkPickerModal.getByLabel('Title');\n this.tagItems = page.locator('uui-tag');\n this.removeFilesBtn = page.locator('umb-input-upload-field [label=\"Clear file(s)\"]');\n this.toggleBtn = page.locator('umb-property-editor-ui-toggle #toggle');\n this.toggleInput = page.locator('umb-property-editor-ui-toggle span');\n this.documentTypeWorkspace = this.sidebarModal.locator('umb-document-type-workspace-editor');\n this.addMultipleTextStringBtn = page.locator('umb-input-multiple-text-string').getByLabel('Add');\n this.multipleTextStringValueTxt = page.locator('umb-input-multiple-text-string').getByLabel('Value');\n this.sliderInput = page.locator('umb-property-editor-ui-slider #input');\n this.tabItems = page.locator('uui-tab');\n this.documentWorkspace = page.locator('umb-document-workspace-editor');\n this.searchTxt = this.documentWorkspace.getByLabel('Search', {exact: true});\n this.selectAVariantBtn = page.getByRole('button', {name: 'Open version selector'});\n this.variantAddModeBtn = page.locator('.switch-button.add-mode').locator('.variant-name');\n this.saveAndCloseBtn = page.getByLabel('Save and close');\n this.documentTreeItem = page.locator('umb-document-tree-item');\n this.documentLanguageSelect = page.locator('umb-app-language-select');\n this.documentLanguageSelectPopover = page.locator('umb-popover-layout');\n this.documentReadOnly = this.documentWorkspace.locator('#name-input').getByText('Read-only');\n // Info tab\n this.infoTab = page.getByTestId('workspace:view-link:Umb.WorkspaceView.Document.Info');\n this.linkContent = page.locator('umb-document-links-workspace-info-app');\n this.historyItems = page.locator('umb-history-item');\n this.generalItem = page.locator('.general-item');\n this.documentState = this.generalItem.locator('uui-tag');\n this.createdDate = this.generalItem.filter({hasText: 'Created'}).locator('umb-localize-date');\n this.editDocumentTypeBtn = this.generalItem.filter({hasText: 'Document Type'}).locator('#button');\n this.addTemplateBtn = this.generalItem.filter({hasText: 'Template'}).locator('#button');\n this.id = this.generalItem.filter({hasText: 'Id'}).locator('span');\n this.documentCreateOptionsModal = page.locator('umb-document-create-options-modal');\n // Culture and Hostname\n this.cultureAndHostnamesBtn = page.getByLabel(/^Culture and Hostnames(…)?$/);\n this.hostNameItem = page.locator('.hostname-item');\n this.cultureLanguageDropdownBox = this.page.locator('[label=\"Culture\"]').getByLabel('combobox-input');\n this.hostnameTxt = page.getByLabel('Hostname', {exact: true});\n this.hostnameLanguageDropdownBox = this.hostNameItem.locator('[label=\"Culture\"]').getByLabel('combobox-input');\n this.deleteHostnameBtn = this.hostNameItem.locator('[name=\"icon-trash\"] svg');\n this.hostnameComboBox = this.hostNameItem.locator('[label=\"Culture\"]').locator('uui-combobox-list-option');\n this.saveModalBtn = this.sidebarModal.getByLabel('Save', {exact: true});\n this.resetFocalPointBtn = page.getByLabel('Reset focal point');\n this.addNewHostnameBtn = page.locator('umb-property-layout[label=\"Hostnames\"]').locator('[label=\"Add new hostname\"]');\n // List View\n this.enterNameInContainerTxt = this.container.getByTestId('input:entity-name').locator('#input');\n this.listView = page.locator('umb-document-table-collection-view');\n this.nameBtn = page.getByRole('button', { name: 'Name', exact: true });\n this.listViewTableRow = this.listView.locator('uui-table-row');\n this.publishSelectedListItems = page.locator('umb-entity-bulk-action').getByText('Publish', {exact: true});\n this.unpublishSelectedListItems = page.locator('umb-entity-bulk-action').getByText('Unpublish', {exact: true});\n this.duplicateToSelectedListItems = page.locator('umb-entity-bulk-action').getByText('Duplicate to', {exact: true});\n this.moveToSelectedListItems = page.locator('umb-entity-bulk-action').getByText('Move to', {exact: true});\n this.trashSelectedListItems = page.locator('umb-entity-bulk-action').getByText('Trash', {exact: true});\n this.modalContent = page.locator('umb-tree-picker-modal');\n this.trashBtn = page.getByLabel(/^Trash(…)?$/);\n this.exactTrashBtn = page.getByRole('button', {name: 'Trash', exact: true});\n this.documentListView = page.locator('umb-document-table-collection-view');\n this.documentGridView = page.locator('umb-document-grid-collection-view');\n this.documentWorkspaceEditor = page.locator('umb-workspace-editor');\n this.documentBlueprintModal = page.locator('umb-create-blueprint-modal');\n this.documentBlueprintModalEnterNameTxt = this.documentBlueprintModal.locator('input');\n this.documentBlueprintSaveBtn = this.documentBlueprintModal.getByLabel('Save');\n this.emptyRecycleBinBtn = page.getByTestId('entity-action:Umb.EntityAction.Document.RecycleBin.Empty').locator('#button');\n this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty Recycle Bin', {exact: true});\n this.duplicateToBtn = page.getByRole('button', {name: 'Duplicate to'});\n this.moveToBtn = page.getByRole('button', {name: 'Move to'});\n this.duplicateBtn = page.getByLabel('Duplicate', {exact: true});\n this.contentTreeRefreshBtn = page.locator('#header').getByLabel('#actions_refreshNode');\n this.sortChildrenBtn = page.getByRole('button', {name: 'Sort children'});\n this.rollbackBtn = page.getByRole('button', { name: 'Rollback…' });\n this.rollbackContainerBtn = this.container.getByLabel('Rollback');\n this.publicAccessBtn = page.getByRole('button', {name: 'Public Access'});\n this.uuiCheckbox = page.locator('uui-checkbox');\n this.sortBtn = page.getByLabel('Sort', {exact: true});\n this.containerSaveBtn = this.container.getByLabel('Save');\n this.groupBasedProtectionBtn = page.locator('span').filter({hasText: 'Group based protection'});\n this.chooseMemberGroupBtn = page.locator('umb-input-member-group').getByLabel('Choose');\n this.selectLoginPageDocument = page.locator('.select-item').filter({hasText: 'Login Page'}).locator('umb-input-document');\n this.selectErrorPageDocument = page.locator('.select-item').filter({hasText: 'Error Page'}).locator('umb-input-document');\n this.rollbackItem = page.locator('.rollback-item');\n this.actionsMenu = page.locator('uui-scroll-container');\n this.linkToDocumentBtn = this.linkPickerModal.getByTestId('action:document').locator('#button');\n this.linkToMediaBtn = this.linkPickerModal.getByTestId('action:media').locator('#button');\n this.linkToManualBtn = this.linkPickerModal.getByTestId('action:external').locator('#button');\n this.umbDocumentCollection = page.locator('umb-document-collection');\n this.documentTableColumnName = this.listView.locator('umb-document-table-column-name');\n //Block Grid - Block List\n this.addBlockElementBtn = page.locator('uui-button-group > uui-button').first().filter({has: page.locator('a#button')});\n this.formValidationMessage = page.locator('#splitViews umb-form-validation-message #messages');\n this.blockName = page.locator('#editor [slot=\"name\"]');\n this.addBlockSettingsTabBtn = page.locator('umb-body-layout').getByRole('tab', {name: 'Settings'});\n this.editBlockEntryBtn = page.locator('[label=\"edit\"] svg');\n this.copyBlockEntryBtn = page.getByLabel('Copy to clipboard');\n this.exactCopyBtn = page.getByRole('button', {name: 'Copy', exact: true});\n this.deleteBlockEntryBtn = page.locator('[label=\"delete\"] svg');\n this.blockGridEntry = page.locator('umb-block-grid-entry');\n this.blockGridBlock = page.locator('umb-block-grid-block');\n this.blockListEntry = page.locator('umb-block-list-entry');\n this.pasteFromClipboardBtn = page.getByLabel('Paste from clipboard');\n this.pasteBtn = page.getByRole('button', {name: 'Paste', exact: true});\n this.workspaceEditTab = page.locator('umb-content-workspace-view-edit-tab');\n this.blockWorkspaceEditTab = page.locator('umb-block-workspace-view-edit-tab');\n this.workspaceEditProperties = page.locator('umb-content-workspace-view-edit-properties');\n this.openActionsMenu = page.locator('#action-menu');\n this.replaceExactBtn = page.getByRole('button', {name: 'Replace', exact: true});\n this.clipboardEntryPicker = page.locator('umb-clipboard-entry-picker');\n this.blockGridAreasContainer = page.locator('umb-block-grid-areas-container');\n this.blockGridEntries = page.locator('umb-block-grid-entries');\n this.inlineCreateBtn = page.locator('uui-button-inline-create');\n this.refListBlock = page.locator('umb-ref-list-block');\n // TipTap\n this.tipTapPropertyEditor = page.locator('umb-property-editor-ui-tiptap');\n this.tipTapEditor = this.tipTapPropertyEditor.locator('#editor .tiptap');\n this.uploadedSvgThumbnail = page.locator('umb-input-upload-field-svg img');\n this.insertBlockBtn = page.getByTestId('action:tiptap-toolbar:Umb.Tiptap.Toolbar.BlockPicker');\n this.blockWorkspace = page.locator('umb-block-workspace-editor');\n this.tiptapInput = page.locator('umb-input-tiptap');\n this.rteBlockInline = page.locator('umb-rte-block-inline');\n this.backofficeModalContainer = page.locator('umb-backoffice-modal-container');\n this.rteBlock = page.locator('umb-rte-block');\n this.tiptapStatusbarWordCount = page.locator('umb-tiptap-statusbar-word-count');\n this.tiptapStatusbarElementPath = page.locator('umb-tiptap-statusbar-element-path');\n // Scheduled Publishing\n this.workspaceActionMenu = page.locator('umb-workspace-action-menu');\n this.workspaceActionMenuItem = page.locator('umb-workspace-action-menu-item');\n this.viewMoreOptionsBtn = this.workspaceActionMenu.locator('#popover-trigger');\n this.schedulePublishBtn = this.workspaceActionMenuItem.getByLabel('Schedule publish', {exact: true});\n this.documentScheduleModal = page.locator('umb-document-schedule-modal');\n this.schedulePublishModalBtn = this.documentScheduleModal.getByLabel('Schedule publish', {exact: true});\n this.publishAtFormLayout = this.documentScheduleModal.locator('uui-form-layout-item').first();\n this.unpublishAtFormLayout = this.documentScheduleModal.locator('uui-form-layout-item').last();\n this.publishAtValidationMessage = this.publishAtFormLayout.locator('#messages');\n this.unpublishAtValidationMessage = this.unpublishAtFormLayout.locator('#messages');\n this.lastPublished = this.generalItem.filter({hasText: 'Last published'}).locator('umb-localize-date');\n this.publishAt = this.generalItem.filter({hasText: 'Publish at'}).locator('umb-localize-date');\n this.removeAt = this.generalItem.filter({hasText: 'Remove at'}).locator('umb-localize-date');\n this.selectAllCheckbox = this.documentScheduleModal.locator('[label=\"Select all\"]');\n this.confirmToPublishBtn = page.locator('umb-document-publish-modal').getByLabel('Publish');\n // Publish with descendants \n this.documentPublishWithDescendantsModal = page.locator('umb-document-publish-with-descendants-modal');\n this.publishWithDescendantsBtn = this.workspaceActionMenuItem.getByLabel('Publish with descendants', {exact: true});\n this.includeUnpublishedDescendantsToggle = this.documentPublishWithDescendantsModal.locator('#includeUnpublishedDescendants');\n this.publishWithDescendantsModalBtn = this.documentPublishWithDescendantsModal.getByLabel('Publish with descendants', {exact: true});\n this.documentVariantLanguagePicker = page.locator('umb-document-variant-language-picker');\n this.documentVariantLanguageItem = this.documentVariantLanguagePicker.locator('uui-menu-item');\n // Tiptap - Style Select\n this.styleSelectBtn = page.locator('uui-button[label=\"Style Select\"]');\n this.cascadingMenuContainer = page.locator('umb-cascading-menu-popover uui-scroll-container');\n this.modalFormValidationMessage = this.sidebarModal.locator('umb-form-validation-message #messages');\n this.treePickerSearchTxt = this.page.locator('umb-tree-picker-modal #input');\n this.mediaPickerSearchTxt = this.page.locator('umb-media-picker-modal #search #input');\n this.memberPickerSearchTxt = this.page.locator('umb-member-picker-modal #input');\n // Property Actions\n this.propertyActionMenu = page.locator('#property-action-popover umb-popover-layout');\n // List view custom\n this.listViewCustomRows = page.locator('table tbody tr');\n // Entity Data Picker\n this.collectionMenu = page.locator('umb-collection-menu');\n this.entityPickerTree = page.locator('umb-tree[alias=\"Umb.Tree.EntityDataPicker\"]');\n this.languageToggle = page.getByTestId('input:entity-name').locator('#toggle');\n this.contentVariantDropdown = page.locator('umb-document-workspace-split-view-variant-selector uui-popover-container #dropdown');\n this.blockProperty = page.locator('umb-block-workspace-view-edit-property');\n }\n\n async enterContentName(name: string) {\n await this.enterText(this.contentNameTxt, name, {verify: true});\n }\n\n async clickSaveAndPublishButton() {\n await this.click(this.saveAndPublishBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async isSuccessStateVisibleForSaveAndPublishButton (isVisible: boolean = true){\n const saveAndPublishBtn = this.workspaceAction.filter({has: this.saveAndPublishBtn});\n await this.isVisible(saveAndPublishBtn.locator(this.successState), isVisible, ConstantHelper.timeout.long);\n }\n\n async clickPublishButton() {\n await this.click(this.publishBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickUnpublishButton() {\n await this.click(this.unpublishBtn);\n }\n\n async clickReloadChildrenThreeDotsButton() {\n await this.click(this.reloadChildrenThreeDotsBtn);\n }\n\n async clickActionsMenuAtRoot() {\n await this.click(this.actionMenuForContentBtn, {force: true});\n }\n\n async goToContentWithName(contentName: string) {\n const contentWithNameLocator = this.menuItemTree.getByText(contentName, {exact: true});\n await this.click(contentWithNameLocator, {timeout: ConstantHelper.timeout.long});\n }\n\n async clickActionsMenuForContent(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async openContentCaretButtonForName(name: string) {\n const menuItem = this.menuItemTree.filter({hasText: name}).last()\n const isCaretButtonOpen = await menuItem.getAttribute('show-children');\n\n if (isCaretButtonOpen === null) {\n await this.clickCaretButtonForContentName(name);\n }\n }\n\n async clickCaretButtonForContentName(name: string) {\n await this.click(this.menuItemTree.filter({hasText: name}).last().locator('#caret-button').last());\n }\n\n async waitForModalVisible() {\n await this.openedModal.waitFor({state: 'attached'});\n }\n\n async waitForModalHidden() {\n await this.openedModal.waitFor({state: 'hidden'});\n }\n\n async clickSaveButtonForContent() {\n await this.click(this.saveContentBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async enterTextstring(text: string) {\n await this.enterText(this.textstringTxt, text);\n }\n\n async isTextstringPropertyVisible(isVisible: boolean = true) {\n if (isVisible) {\n await expect(this.textstringTxt).toBeVisible();\n } else {\n await expect(this.textstringTxt).not.toBeVisible();\n }\n }\n\n async doesContentTreeHaveName(contentName: string) {\n await this.containsText(this.contentTree, contentName);\n }\n\n async enterRichTextArea(value: string) {\n await this.waitForVisible(this.richTextAreaTxt);\n await this.richTextAreaTxt.fill(value);\n }\n\n async enterTextArea(value: string) {\n await this.page.waitForTimeout(ConstantHelper.wait.minimal);\n await this.enterText(this.textAreaTxt, value);\n }\n\n async clickConfirmToUnpublishButton() {\n await this.click(this.confirmToUnpublishBtn);\n }\n\n async clickCreateDocumentBlueprintButton() {\n await this.click(this.createDocumentBlueprintBtn);\n }\n\n // Info Tab\n async clickInfoTab() {\n await this.click(this.infoTab);\n }\n\n async doesDocumentHaveLink(link: string) {\n await this.containsText(this.linkContent, link);\n }\n\n async doesHistoryHaveText(text: string) {\n await this.hasText(this.historyItems, text);\n }\n\n async doesDocumentStateHaveText(text: string) {\n await this.hasText(this.documentState, text);\n }\n\n async doesCreatedDateHaveText(text: string) {\n await this.hasText(this.createdDate, text);\n }\n\n async doesIdHaveText(text: string) {\n await this.hasText(this.id, text);\n }\n\n async clickEditDocumentTypeButton() {\n await this.click(this.editDocumentTypeBtn);\n }\n\n async clickAddTemplateButton() {\n await this.click(this.addTemplateBtn);\n }\n\n async waitForContentToBeCreated() {\n await this.waitForLoadState();\n // Extra wait as content creation seems to take a bit longer sometimes\n await this.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async waitForContentToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForContentToBeRenamed() {\n await this.waitForLoadState();\n }\n\n async waitForDomainToBeCreated() {\n await this.waitForLoadState();\n }\n\n async waitForDomainToBeUpdated() {\n await this.waitForLoadState();\n }\n\n async waitForDomainToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForContentToBeTrashed() {\n await this.waitForLoadState();\n }\n\n async clickDocumentTypeByName(documentTypeName: string) {\n await this.click(this.page.locator(`uui-ref-node-document-type[name=\"${documentTypeName}\"]`));\n }\n\n async clickTemplateByName(templateName: string) {\n await this.click(this.page.locator(`uui-ref-node[name=\"${templateName}\"]`));\n }\n\n async isDocumentTypeModalVisible(documentTypeName: string) {\n await this.isVisible(this.documentTypeWorkspace.filter({hasText: documentTypeName}));\n }\n\n async isTemplateModalVisible(templateName: string) {\n await this.isVisible(this.breadcrumbsTemplateModal.getByText(templateName));\n }\n\n async clickEditTemplateByName(templateName: string) {\n await this.click(this.page.locator(`uui-ref-node[name=\"${templateName}\"]`).getByLabel('Choose'));\n }\n\n async changeTemplate(oldTemplate: string, newTemplate: string) {\n await this.clickEditTemplateByName(oldTemplate);\n await this.click(this.sidebarModal.getByLabel(newTemplate));\n await this.clickChooseModalButton();\n }\n\n async isTemplateNameDisabled(templateName: string) {\n await this.isVisible(this.sidebarModal.getByLabel(templateName));\n await this.isDisabled(this.sidebarModal.getByLabel(templateName));\n }\n\n // Culture and Hostnames\n async clickCultureAndHostnamesButton() {\n await this.click(this.cultureAndHostnamesBtn);\n }\n\n async clickAddNewHostnameButton(){\n await this.click(this.addNewHostnameBtn);\n }\n\n async selectCultureLanguageOption(option: string) {\n await this.click(this.cultureLanguageDropdownBox);\n await this.click(this.page.getByText(option, {exact: true}));\n }\n\n async selectHostnameLanguageOption(option: string, index: number = 0) {\n await this.click(this.hostnameLanguageDropdownBox.nth(index));\n await this.click(this.hostnameComboBox.getByText(option).nth(index));\n }\n\n async enterDomain(value: string, index: number = 0) {\n await this.enterText(this.hostnameTxt.nth(index), value, {verify: true});\n }\n\n async clickDeleteHostnameButton() {\n await this.click(this.deleteHostnameBtn.first());\n }\n\n async clickSaveModalButton() {\n await this.click(this.saveModalBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async chooseDocumentType(documentTypeName: string) {\n await this.click(this.documentTypeNode.filter({hasText: documentTypeName}));\n }\n\n // Approved Color\n async clickApprovedColorByValue(value: string) {\n await this.click(this.page.locator(`uui-color-swatch[value=\"#${value}\"] #swatch`));\n }\n\n // Checkbox list\n async chooseCheckboxListOption(optionValue: string) {\n await this.click(this.page.locator(`uui-checkbox[value=\"${optionValue}\"] svg`));\n }\n\n // Content Picker\n async addContentPicker(contentName: string) {\n await this.clickChooseButton();\n await this.click(this.sidebarModal.getByText(contentName));\n await this.click(this.chooseModalBtn);\n }\n\n async isOpenButtonVisibleInContentPicker(contentPickerName: string, isVisible: boolean = true) {\n return await this.isVisible(this.page.getByLabel('Open ' + contentPickerName), isVisible);\n }\n\n async clickContentPickerOpenButton(contentPickerName: string) {\n await this.click(this.page.getByLabel('Open ' + contentPickerName));\n }\n\n async isNodeOpenForContentPicker(contentPickerName: string) {\n return await this.isVisible(this.openedModal.getByText(contentPickerName));\n }\n\n async isContentNameVisible(contentName: string, isVisible: boolean = true) {\n return await this.isVisible(this.sidebarModal.getByText(contentName), isVisible);\n }\n\n async isContentInTreeVisible(name: string, isVisible: boolean = true) {\n await this.isVisible(this.documentTreeItem.getByLabel(name, {exact: true}).first(), isVisible);\n }\n\n async isChildContentInTreeVisible(parentName: string, childName: string, isVisible: boolean = true) {\n await this.isVisible(this.documentTreeItem.locator('[label=\"' + parentName + '\"]').locator('uui-menu-item[label=\"' + childName + '\"]'), isVisible);\n }\n\n async removeContentPicker(contentPickerName: string) {\n const contentPickerLocator = this.entityItem.filter({has: this.page.locator(`[name=\"${contentPickerName}\"]`)});\n await this.hoverAndClick(contentPickerLocator, contentPickerLocator.getByLabel('Remove'));\n await this.clickConfirmRemoveButton();\n }\n\n // Dropdown\n async chooseDropdownOption(optionValues: string[]) {\n await this.selectMultiple(this.dropdown, optionValues);\n }\n\n // Date Picker\n async enterADate(date: string) {\n await this.setADateTxt.fill(date);\n }\n\n // Media Picker\n async clickChooseMediaPickerButton() {\n await this.click(this.chooseMediaPickerBtn);\n }\n\n async clickChooseButtonAndSelectMediaWithName(mediaName: string) {\n await this.clickChooseMediaPickerButton();\n await this.selectMediaWithName(mediaName);\n }\n\n async clickChooseButtonAndSelectMediaWithKey(mediaKey: string) {\n await this.clickChooseMediaPickerButton();\n await this.selectMediaWithTestId(mediaKey);\n }\n\n async removeMediaPickerByName(mediaPickerName: string) {\n await this.click(this.page.locator(`[name=\"${mediaPickerName}\"] [label=\"Remove\"] svg`));\n await this.clickConfirmRemoveButton();\n }\n\n async isMediaNameVisible(mediaName: string, isVisible: boolean = true) {\n return await this.isVisible(this.mediaCardItems.filter({hasText: mediaName}), isVisible);\n }\n\n async clickResetFocalPointButton() {\n await this.click(this.resetFocalPointBtn);\n }\n\n async setFocalPoint(widthPercentage: number = 50, heightPercentage: number = 50) {\n await this.page.waitForTimeout(ConstantHelper.wait.medium);\n const element = await this.page.locator('#image').boundingBox();\n if (!element) {\n throw new Error('Element not found');\n }\n\n const centerX = element.x + element.width / 2;\n const centerY = element.y + element.height / 2;\n\n const x = element.x + (element.width * widthPercentage) / 100;\n const y = element.y + (element.height * heightPercentage) / 100;\n\n await this.page.waitForTimeout(ConstantHelper.wait.minimal);\n await this.page.mouse.move(centerX, centerY, {steps: 5});\n await this.page.waitForTimeout(ConstantHelper.wait.minimal);\n await this.page.mouse.down();\n await this.page.waitForTimeout(ConstantHelper.wait.minimal);\n await this.page.mouse.move(x, y);\n await this.page.waitForTimeout(ConstantHelper.wait.minimal);\n await this.page.mouse.up();\n }\n\n // Member Picker\n async clickChooseMemberPickerButton() {\n await this.click(this.chooseMemberPickerBtn);\n }\n\n async selectMemberByName(memberName: string) {\n await this.click(this.sidebarModal.getByText(memberName, {exact: true}));\n }\n\n async removeMemberPickerByName(memberName: string) {\n const mediaPickerLocator = this.entityItem.filter({has: this.page.locator(`[name=\"${memberName}\"]`)});\n await this.hoverAndClick(mediaPickerLocator, mediaPickerLocator.getByLabel('Remove'));\n await this.clickConfirmRemoveButton();\n }\n\n // Numeric\n async enterNumeric(number: number) {\n await this.enterText(this.numericTxt, number.toString());\n }\n\n // Radiobox\n async chooseRadioboxOption(optionValue: string) {\n await this.click(this.page.locator(`uui-radio[value=\"${optionValue}\"] #button`));\n }\n\n // Tags\n async clickPlusIconButton() {\n await this.click(this.plusIconBtn);\n }\n\n async enterTag(tagName: string) {\n await this.enterText(this.enterTagTxt, tagName);\n await this.pressKey(this.enterTagTxt, 'Enter');\n }\n\n async removeTagByName(tagName: string) {\n await this.click(this.tagItems.filter({hasText: tagName}).locator('svg'));\n }\n\n // Multi URL Picker\n async clickAddMultiURLPickerButton() {\n await this.click(this.addMultiURLPickerBtn);\n }\n\n async selectLinkByName(linkName: string) {\n await this.click(this.sidebarModal.getByText(linkName, {exact: true}));\n }\n\n async enterLink(value: string, toPress: boolean = false) {\n if (toPress) {\n await this.enterText(this.linkTxt, '');\n await this.pressKey(this.linkTxt, value);\n } else {\n await this.enterText(this.linkTxt, value);\n }\n }\n\n async enterAnchorOrQuerystring(value: string, toPress: boolean = false) {\n if (toPress) {\n await this.enterText(this.anchorQuerystringTxt, '');\n await this.pressKey(this.anchorQuerystringTxt, value);\n } else {\n await this.enterText(this.anchorQuerystringTxt, value);\n }\n }\n\n async enterLinkTitle(value: string, toPress: boolean = false) {\n if (toPress) {\n await this.enterText(this.linkTitleTxt, '');\n await this.pressKey(this.linkTitleTxt, value);\n } else {\n await this.enterText(this.linkTitleTxt, value);\n }\n }\n\n async removeUrlPickerByName(linkName: string) {\n await this.click(this.page.locator(`[name=\"${linkName}\"]`).getByLabel('Remove'));\n await this.clickConfirmRemoveButton();\n }\n\n async clickEditUrlPickerButtonByName(linkName: string) {\n await this.click(this.page.locator(`[name=\"${linkName}\"]`).getByLabel('Edit'));\n }\n\n // Upload\n async clickRemoveFilesButton() {\n await this.click(this.removeFilesBtn);\n }\n\n // True/false\n async clickToggleButton() {\n await this.click(this.toggleBtn, {force: true});\n }\n\n async doesToggleHaveLabel(label: string) {\n await this.hasText(this.toggleInput, label);\n }\n\n // Multiple Text String\n async clickAddMultipleTextStringButton() {\n await this.click(this.addMultipleTextStringBtn);\n }\n\n async enterMultipleTextStringValue(value: string) {\n await this.enterText(this.multipleTextStringValueTxt, value);\n }\n\n async addMultipleTextStringItem(value: string) {\n await this.clickAddMultipleTextStringButton();\n await this.enterMultipleTextStringValue(value);\n }\n\n // Code Editor\n async enterCodeEditorValue(value: string) {\n await this.enterMonacoEditorValue(value);\n }\n\n // Markdown Editor\n async enterMarkdownEditorValue(value: string) {\n await this.enterMonacoEditorValue(value);\n }\n\n // Slider\n async changeSliderValue(value: string) {\n await this.sliderInput.fill(value);\n }\n\n async isDocumentTypeNameVisible(contentName: string, isVisible: boolean = true) {\n return await this.isVisible(this.sidebarModal.getByText(contentName), isVisible); \n }\n\n async doesModalHaveText(text: string) {\n await this.containsText(this.openedModal, text);\n }\n\n // Collection tab\n async isTabNameVisible(tabName: string) {\n return await this.isVisible(this.tabItems.filter({hasText: tabName}));\n }\n\n async clickTabWithName(tabName: string) {\n const tabLocator = this.tabItems.filter({hasText: tabName});\n await this.click(tabLocator);\n }\n\n async doesDocumentHaveName(name: string) {\n await this.hasValue(this.enterAName, name);\n }\n\n async doesDocumentTableColumnNameValuesMatch(expectedValues: string[]) {\n await this.waitForVisible(this.documentListView);\n return expectedValues.forEach((text, index) => {\n expect(this.documentTableColumnName.nth(index)).toHaveText(text);\n });\n }\n\n async searchByKeywordInCollection(keyword: string) {\n await this.enterText(this.searchTxt, keyword);\n await this.pressKey(this.searchTxt, 'Enter');\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickSelectVariantButton() {\n await this.click(this.selectAVariantBtn);\n }\n\n async clickVariantAddModeButtonForLanguageName(language: string) {\n await this.click(this.variantAddModeBtn.getByText(language));\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickSaveAndCloseButton() {\n await this.click(this.saveAndCloseBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n // List View\n async clickCreateContentWithName(name: string) {\n await this.click(this.page.getByLabel(`Create ${name}`));\n }\n\n async enterNameInContainer(name: string) {\n await this.enterText(this.enterNameInContainerTxt, name);\n }\n\n async goToContentInListViewWithName(contentName: string) {\n await this.click(this.listView.getByLabel(contentName));\n }\n\n async doesListViewHaveNoItemsInList() {\n await this.isVisible(this.listView.filter({hasText: 'There are no items to show in the list.'}));\n }\n\n async doesContentListHaveNoItemsInList() {\n await this.isVisible(this.umbDocumentCollection.filter({hasText: 'No items'}));\n }\n\n async clickNameButtonInListView() {\n await this.click(this.nameBtn);\n }\n\n async doesFirstItemInListViewHaveName(name: string) {\n await expect(this.listViewTableRow.first()).toContainText(name);\n }\n\n async doesListViewContainCount(count: number) {\n await this.hasCount(this.listViewTableRow, count);\n }\n\n async selectContentWithNameInListView(name: string) {\n await this.click(this.listViewTableRow.filter({hasText: name}));\n }\n\n async clickPublishSelectedListItems() {\n await this.click(this.publishSelectedListItems);\n }\n\n async clickUnpublishSelectedListItems() {\n await this.click(this.unpublishSelectedListItems);\n }\n\n async clickDuplicateToSelectedListItems() {\n // Force click is needed\n await this.click(this.duplicateToSelectedListItems, {force: true});\n }\n\n async clickMoveToSelectedListItems() {\n // Force click is needed\n await this.click(this.moveToSelectedListItems, {force: true});\n }\n\n async clickTrashSelectedListItems() {\n await this.click(this.trashSelectedListItems);\n }\n\n async selectDocumentWithNameAtRoot(name: string) {\n await this.openCaretButtonForName('Content');\n await this.click(this.modalContent.getByLabel(name));\n await this.clickChooseButton();\n }\n\n async clickTrashButton() {\n await this.click(this.trashBtn);\n }\n\n async clickExactTrashButton() {\n await this.click(this.exactTrashBtn);\n }\n\n async isDocumentListViewVisible(isVisible: boolean = true) {\n await this.isVisible(this.documentListView, isVisible);\n }\n\n async isDocumentGridViewVisible(isVisible: boolean = true) {\n await this.isVisible(this.documentGridView, isVisible);\n }\n\n async changeDocumentSectionLanguage(newLanguageName: string) {\n await this.click(this.documentLanguageSelect);\n // Force click is needed\n await this.click(this.documentLanguageSelectPopover.getByText(newLanguageName), {force: true});\n }\n\n async doesDocumentSectionHaveLanguageSelected(languageName: string) {\n await this.hasText(this.documentLanguageSelect, languageName);\n }\n\n async isDocumentReadOnly(isVisible: boolean = true) {\n await this.isVisible(this.documentReadOnly, isVisible);\n }\n\n async isDocumentNameInputEditable(isEditable: boolean = true) {\n await this.waitForVisible(this.contentNameTxt);\n await expect(this.contentNameTxt).toBeEditable({editable: isEditable});\n }\n\n async isActionsMenuForRecycleBinVisible(isVisible: boolean = true) {\n await this.isActionsMenuForNameVisible('Recycle Bin', isVisible);\n }\n\n async isActionsMenuForRootVisible(isVisible: boolean = true) {\n await this.isActionsMenuForNameVisible('Content', isVisible);\n }\n\n async clickEmptyRecycleBinButton() {\n await this.hover(this.recycleBinMenuItem);\n // Force click is needed\n await this.click(this.emptyRecycleBinBtn, {force: true});\n }\n\n async clickConfirmEmptyRecycleBinButton() {\n await this.click(this.confirmEmptyRecycleBinBtn);\n }\n\n async isDocumentPropertyEditable(propertyName: string, isEditable: boolean = true) {\n const propertyLocator = this.documentWorkspace.locator(this.property).filter({hasText: propertyName}).locator('#input');\n await this.waitForVisible(propertyLocator);\n await expect(propertyLocator).toBeEditable({editable: isEditable});\n }\n\n async doesDocumentPropertyHaveValue(propertyName: string, value: string) {\n const propertyLocator = this.documentWorkspace.locator(this.property).filter({hasText: propertyName}).locator('#input');\n await this.hasValue(propertyLocator, value);\n }\n\n async clickContentTab() {\n await this.click(this.splitView.getByRole('tab', {name: 'Content'}));\n }\n\n async isDocumentTreeEmpty() {\n await this.hasCount(this.documentTreeItem, 0);\n }\n\n async doesDocumentWorkspaceContainName(name: string) {\n await expect(this.documentWorkspaceEditor.locator('#input')).toHaveValue(name);\n }\n\n async doesDocumentWorkspaceHaveText(text: string) {\n await this.containsText(this.documentWorkspace, text);\n }\n\n async enterDocumentBlueprintName(name: string) {\n await this.enterText(this.documentBlueprintModalEnterNameTxt, name);\n }\n \n async clickSaveDocumentBlueprintButton() {\n await this.click(this.documentBlueprintSaveBtn);\n }\n\n async clickDuplicateToButton() {\n await this.click(this.duplicateToBtn);\n }\n\n async clickDuplicateButton() {\n await this.click(this.duplicateBtn);\n }\n\n async clickMoveToButton() {\n await this.click(this.moveToBtn);\n }\n\n async moveToContentWithName(parentNames: string[], moveTo: string) {\n for (const contentName of parentNames) {\n await this.click(this.container.getByLabel(`Expand child items for ${contentName}`));\n }\n await this.click(this.container.getByLabel(moveTo));\n await this.clickChooseContainerButton();\n }\n\n async isCaretButtonVisibleForContentName(contentName: string, isVisible: boolean = true) {\n await this.isVisible(this.page.locator(`[label=\"${contentName}\"]`).getByLabel('Expand child items for '), isVisible);\n }\n\n async reloadContentTree() {\n // Force click is needed\n await this.click(this.contentTreeRefreshBtn, {force: true});\n }\n\n async clickSortChildrenButton() {\n await this.click(this.sortChildrenBtn);\n }\n\n async clickRollbackButton() {\n await this.click(this.rollbackBtn);\n }\n\n async clickRollbackContainerButton() {\n await this.click(this.rollbackContainerBtn);\n }\n\n async clickLatestRollBackItem() {\n await this.click(this.rollbackItem.last());\n }\n\n async clickPublicAccessButton() {\n await this.click(this.publicAccessBtn);\n }\n\n async addGroupBasedPublicAccess(memberGroupName: string, documentName: string) {\n await this.click(this.groupBasedProtectionBtn);\n await this.clickNextButton();\n await this.click(this.chooseMemberGroupBtn);\n await this.click(this.page.getByLabel(memberGroupName));\n await this.clickChooseModalButton();\n await this.click(this.selectLoginPageDocument);\n await this.click(this.container.getByLabel(documentName, {exact: true}));\n await this.clickChooseModalButton();\n await this.click(this.selectErrorPageDocument);\n await this.click(this.container.getByLabel(documentName, {exact: true}));\n await this.clickChooseModalButton();\n await this.click(this.containerSaveBtn);\n }\n\n async sortChildrenDragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset: number = 0, horizontalOffset: number = 0, steps: number = 5) {\n await this.waitForVisible(dragFromSelector);\n await this.waitForVisible(dragToSelector);\n const targetLocation = await dragToSelector.boundingBox();\n const elementCenterX = targetLocation!.x + targetLocation!.width / 2;\n const elementCenterY = targetLocation!.y + targetLocation!.height / 2;\n await this.hover(dragFromSelector);\n await this.page.mouse.move(10, 10);\n await this.hover(dragFromSelector);\n await this.page.mouse.down();\n await this.page.waitForTimeout(ConstantHelper.wait.debounce);\n await this.page.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, {steps: steps});\n await this.page.waitForTimeout(ConstantHelper.wait.debounce);\n // If we do not have this, the drag and drop will not work\n await this.hover(dragToSelector);\n await this.page.mouse.up();\n }\n\n async clickSortButton() {\n await this.click(this.sortBtn);\n }\n\n async doesIndexDocumentInTreeContainName(parentName: string, childName: string, index: number) {\n await expect(this.documentTreeItem.locator(`[label=\"${parentName}\"]`).locator('umb-tree-item').nth(index).locator('#label')).toHaveText(childName);\n }\n\n async selectMemberGroup(memberGroupName: string) {\n await this.click(this.uuiCheckbox.getByLabel(memberGroupName));\n }\n\n async isPermissionInActionsMenuVisible(permissionName: string, isVisible: boolean = true) {\n await this.isVisible(this.actionsMenu.getByRole('button', {\n name: permissionName,\n exact: true\n }), isVisible);\n }\n\n async clickDocumentLinkButton() {\n await this.click(this.linkToDocumentBtn);\n }\n\n async clickMediaLinkButton() {\n await this.click(this.linkToMediaBtn);\n }\n\n async clickManualLinkButton() {\n await this.click(this.linkToManualBtn);\n }\n\n // Block Grid - Block List\n async clickAddBlockElementButton() {\n await this.click(this.addBlockElementBtn);\n }\n\n async clickAddBlockWithNameButton(name: string) {\n await this.click(this.page.getByLabel(`Add ${name}`));\n }\n\n async clickCreateForModalWithHeadline(headline: string) {\n await this.click(this.page.locator(`[headline=\"${headline}\"]`).getByLabel('Create'));\n }\n \n async isAddBlockElementButtonVisible(isVisible: boolean = true) {\n await this.isVisible(this.addBlockElementBtn, isVisible);\n }\n\n async isAddBlockElementButtonWithLabelVisible(blockName: string, label: string, isVisible: boolean = true) {\n await this.isVisible(this.property.filter({hasText: blockName}).locator(this.addBlockElementBtn).filter({hasText: label}), isVisible);\n }\n\n async doesFormValidationMessageContainText(text: string) {\n await this.containsText(this.formValidationMessage, text);\n }\n\n async doesBlockElementHaveName(name: string) {\n await this.containsText(this.blockName, name);\n }\n\n async clickAddBlockSettingsTabButton() {\n await this.click(this.addBlockSettingsTabBtn);\n }\n\n async clickEditBlockGridBlockButton() {\n await this.hoverAndClick(this.blockGridEntry, this.editBlockEntryBtn);\n }\n\n async clickDeleteBlockGridBlockButton() {\n await this.hoverAndClick(this.blockGridEntry, this.deleteBlockEntryBtn);\n }\n\n async clickEditBlockListBlockButton() {\n await this.hoverAndClick(this.blockListEntry, this.editBlockEntryBtn);\n }\n\n async clickDeleteBlockListBlockButton() {\n await this.hoverAndClick(this.blockListEntry, this.deleteBlockEntryBtn);\n }\n\n async clickCopyBlockListBlockButton(groupName: string, propertyName: string, blockName: string, index: number = 0) {\n const blockListBlock = this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName}).locator(this.blockListEntry).nth(index).filter({hasText: blockName});\n await this.hoverAndClick(blockListBlock, blockListBlock.locator(this.copyBlockEntryBtn), {force: true});\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickCopyBlockGridBlockButton(groupName: string, propertyName: string, blockName: string, index: number = 0) {\n const blockGridBlock = this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName}).locator(this.blockGridEntry).nth(index).filter({hasText: blockName});\n await this.hoverAndClick(blockGridBlock, blockGridBlock.locator(this.copyBlockEntryBtn), {force: true});\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickPasteFromClipboardButtonForProperty(groupName: string, propertyName: string) {\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n const property = this.workspaceEditTab.filter({hasText: groupName}).locator(this.property).filter({hasText: propertyName});\n await this.click(property.locator(this.pasteFromClipboardBtn), {force: true});\n }\n\n async clickActionsMenuForProperty(groupName: string, propertyName: string) {\n const property = this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName});\n await this.hoverAndClick(property, property.locator(this.openActionsMenu), {force: true});\n }\n\n async clickAddBlockGridElementWithName(elementTypeName: string) {\n await this.click(this.page.getByRole('link', {name: `Add ${elementTypeName}`, exact: true}));\n }\n\n async clickEditBlockListEntryWithName(blockListElementName: string) {\n await this.click(this.blockListEntry.filter({hasText: blockListElementName}).getByLabel('edit'), {force: true});\n }\n\n async clickSelectBlockElementWithName(elementTypeName: string) {\n await this.click(this.page.getByRole('button', {name: elementTypeName, exact: true}));\n }\n\n async clickSelectBlockElementInAreaWithName(elementTypeName: string) {\n await this.click(this.container.getByRole('button', {name: elementTypeName, exact: true}));\n }\n\n async clickBlockElementWithName(elementTypeName: string) {\n await this.click(this.page.getByRole('link', {name: elementTypeName, exact: true}), {force: true});\n }\n\n async enterPropertyValue(propertyName: string, value: string) {\n const property = this.property.filter({hasText: propertyName});\n await this.enterText(property.locator('input'), value);\n }\n\n async doesBlockContainBlockInAreaWithName(blockWithAreaName: string, areaName: string, blockInAreaName: string, index: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: blockWithAreaName})).nth(index);\n const area = blockWithArea.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n const blockInArea = area.locator(this.blockGridEntry.filter({hasText: blockInAreaName}));\n await this.waitForVisible(blockInArea);\n }\n\n async doesBlockContainBlockCountInArea(blockWithAreaName: string, areaName: string, blocksInAreaCount: number, index: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: blockWithAreaName})).nth(index);\n const area = blockWithArea.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n const blocks = area.locator(this.blockGridEntry);\n await this.hasCount(blocks, blocksInAreaCount);\n }\n\n async doesBlockContainCountOfBlockInArea(blockWithAreaName: string, areaName: string, blockInAreaName: string, count: number, index: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: blockWithAreaName})).nth(index);\n const area = blockWithArea.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n const blockInArea = area.locator(this.blockGridEntry.filter({hasText: blockInAreaName}));\n await this.hasCount(blockInArea, count);\n }\n\n async getBlockAtRootDataElementKey(blockName: string, index: number = 0) {\n const blockGridEntrySelector = 'umb-block-grid-entry';\n return this.blockGridEntries.locator(`.umb-block-grid__layout-container > ${blockGridEntrySelector}`).filter({hasText: blockName}).nth(index).getAttribute('data-element-key');\n }\n\n async getBlockAreaKeyFromParentBlockDataElementKey(parentKey: string, index: number = 0) {\n const block = this.page.locator(`[data-element-key=\"${parentKey}\"]`);\n return block.locator(this.blockGridAreasContainer).locator('.umb-block-grid__area-container > umb-block-grid-entries').nth(index).getAttribute('area-key');\n }\n\n async getBlockDataElementKeyInArea(parentBlockName: string, areaName: string, blockName: string, parentIndex: number = 0, childIndex: number = 0) {\n const parentBlock = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: parentBlockName})).nth(parentIndex);\n const area = parentBlock.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n const block = area.locator(this.blockGridEntry.filter({hasText: blockName})).nth(childIndex);\n return block.getAttribute('data-element-key');\n }\n\n async removeBlockFromArea(parentBlockName: string, areaName: string, blockName: string, parentIndex: number = 0, childIndex: number = 0) {\n const parentBlock = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: parentBlockName})).nth(parentIndex);\n const area = parentBlock.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n const block = area.locator(this.blockGridEntry.filter({hasText: blockName})).nth(childIndex);\n await this.hoverAndClick(block, block.getByLabel('delete'), {force: true});\n }\n\n async doesBlockAreaContainColumnSpan(blockWithAreaName: string, areaName: string, columnSpan: number, index: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: blockWithAreaName})).nth(index);\n const area = blockWithArea.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n await this.hasAttribute(area, 'data-area-col-span', columnSpan.toString());\n }\n\n async doesBlockAreaContainRowSpan(blockWithAreaName: string, areaName: string, rowSpan: number, index: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: blockWithAreaName})).nth(index);\n const area = blockWithArea.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n await this.hasAttribute(area, 'data-area-row-span', rowSpan.toString());\n }\n\n async clickInlineAddToAreaButton(parentBlockName: string, areaName: string, parentIndex: number = 0, buttonIndex: number = 1) {\n const parentBlock = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: parentBlockName})).nth(parentIndex);\n const area = parentBlock.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n await this.click(area.locator(this.inlineCreateBtn).nth(buttonIndex));\n }\n\n async addBlockToAreasWithExistingBlock(blockWithAreaName: string, areaName: string, parentIndex: number = 0, addToIndex: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock).filter({hasText: blockWithAreaName}).nth(parentIndex);\n await this.hover(blockWithArea);\n const area = blockWithArea.locator(this.blockGridAreasContainer).locator(`[data-area-alias=\"${areaName}\"]`);\n const addBlockBtn = area.locator(this.inlineCreateBtn).nth(addToIndex);\n await this.hover(addBlockBtn, {force: true});\n await this.click(addBlockBtn, {force: true});\n }\n\n async doesBlockGridBlockWithAreaContainCreateLabel(blockWithAreaName: string, createLabel: string, index: number = 0) {\n const blockWithArea = this.blockGridEntry.locator(this.blockGridBlock.filter({hasText: blockWithAreaName})).nth(index);\n return await this.isVisible(blockWithArea.locator(this.blockGridAreasContainer).getByLabel(createLabel));\n }\n\n async doesPropertyContainValue(propertyName: string, value: string) {\n await expect(this.property.filter({hasText: propertyName}).locator('input')).toHaveValue(value);\n }\n\n async clickCreateButtonForModalWithElementTypeNameAndGroupName(headlineName: string, groupName: string) {\n await this.click(this.blockWorkspace.filter({hasText: `Add ${headlineName}`}).filter({hasText: groupName}).getByLabel('Create'));\n }\n\n async clickUpdateButtonForModalWithElementTypeNameAndGroupName(headlineName: string, groupName: string) {\n await this.click(this.blockWorkspace.filter({hasText: `Edit ${headlineName}`}).filter({hasText: groupName}).locator(this.updateBtn));\n }\n\n async clickExactCopyButton() {\n await this.click(this.exactCopyBtn);\n }\n\n async clickExactReplaceButton() {\n await this.click(this.replaceExactBtn);\n }\n\n async doesClipboardHaveCopiedBlockWithName(contentName: string, propertyName: string, blockName: string, index: number = 0) {\n await this.isVisible(this.clipboardEntryPicker.getByLabel(`${contentName} - ${propertyName} - ${blockName}`).nth(index));\n }\n\n async doesClipboardHaveCopiedBlocks(contentName: string, propertyName: string, index: number = 0) {\n await this.isVisible(this.clipboardEntryPicker.getByLabel(`${contentName} - ${propertyName}`).nth(index));\n }\n\n async doesClipboardContainCopiedBlocksCount(count: number) {\n await this.hasCount(this.clipboardEntryPicker.locator(this.menuItem), count);\n }\n\n async selectClipboardEntryWithName(contentName: string, propertyName: string, blockName: string, index: number = 0) {\n await this.doesClipboardHaveCopiedBlockWithName(contentName, propertyName, blockName, index);\n await this.click(this.clipboardEntryPicker.getByLabel(`${contentName} - ${propertyName} - ${blockName}`).nth(index));\n }\n\n async selectClipboardEntriesWithName(contentName: string, propertyName: string, index: number = 0) {\n await this.doesClipboardHaveCopiedBlocks(contentName, propertyName, index);\n await this.click(this.clipboardEntryPicker.getByLabel(`${contentName} - ${propertyName}`).nth(index));\n }\n\n async goToBlockGridBlockWithName(groupName: string, propertyName: string, blockName: string, index: number = 0) {\n const blockGridBlock = this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName}).locator(this.blockGridEntry).nth(index).filter({hasText: blockName});\n await this.click(blockGridBlock);\n }\n\n async goToBlockListBlockWithName(groupName: string, propertyName: string, blockName: string, index: number = 0) {\n const blocklistBlock = this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName}).locator(this.blockListEntry).nth(index).filter({hasText: blockName});\n await this.click(blocklistBlock);\n }\n\n async doesBlockEditorBlockWithNameContainValue(groupName: string, propertyName: string, inputType: string = ConstantHelper.inputTypes.general, value) {\n await expect(this.blockWorkspaceEditTab.filter({hasText: groupName}).locator(this.property).filter({hasText: propertyName}).locator(inputType)).toContainText(value)\n }\n\n async clickCloseButton() {\n await this.click(this.closeBtn);\n }\n\n async clickPasteButton() {\n await this.click(this.pasteBtn, {force: true});\n }\n\n async doesBlockListPropertyHaveBlockAmount(groupName: string, propertyName: string, amount: number) {\n await this.hasCount(this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName}).locator(this.blockListEntry), amount);\n }\n\n async doesBlockGridPropertyHaveBlockAmount(groupName: string, propertyName: string, amount: number) {\n await this.hasCount(this.workspaceEditTab.filter({hasText: groupName}).locator(this.workspaceEditProperties).filter({hasText: propertyName}).locator(this.blockGridEntry), amount);\n }\n\n async doesPropertyContainValidationMessage(groupName: string, propertyName: string, message: string) {\n await expect(this.blockWorkspaceEditTab.filter({hasText: groupName}).locator(this.property).filter({hasText: propertyName}).locator(this.validationMessage)).toContainText(message);\n }\n\n async clickInsertBlockButton() {\n await this.click(this.insertBlockBtn);\n }\n\n // TipTap\n async enterRTETipTapEditor(value: string) {\n await this.enterText(this.tipTapEditor, value);\n }\n\n async enterRTETipTapEditorWithName(name: string , value: string){\n const tipTapEditorLocator = this.page.locator(`[data-mark=\"property:${name}\"]`).locator(this.tipTapEditor);\n await this.enterText(tipTapEditorLocator, value);\n }\n\n async clickTipTapToolbarIconWithTitle(iconTitle: string) {\n await this.click(this.tipTapPropertyEditor.getByTitle(iconTitle, {exact: true}).locator('svg'));\n }\n\n async doesUploadedSvgThumbnailHaveSrc(imageSrc: string) {\n await this.hasAttribute(this.uploadedSvgThumbnail, 'src', imageSrc);\n }\n\n async doesRichTextEditorBlockContainLabel(richTextEditorAlias: string, label: string) {\n await expect(this.page.getByTestId(`property:${richTextEditorAlias}`).locator(this.rteBlock)).toContainText(label);\n }\n\n async doesBlockEditorModalContainEditorSize(editorSize: string, elementName: string) {\n await this.isVisible(this.backofficeModalContainer.locator(`[size=\"${editorSize}\"]`).locator(`[headline=\"Add ${elementName}\"]`));\n }\n\n async doesBlockEditorModalContainInline(richTextEditorAlias: string, elementName: string) {\n await this.containsText(this.page.getByTestId(`property:${richTextEditorAlias}`).locator(this.tiptapInput).locator(this.rteBlockInline), elementName);\n }\n\n async doesBlockHaveBackgroundColor(elementName: string, backgroundColor: string) {\n await this.isVisible(this.page.locator('umb-block-type-card', {hasText: elementName}).locator(`[style=\"background-color:${backgroundColor};\"]`));\n }\n\n async doesBlockHaveIconColor(elementName: string, backgroundColor: string) {\n await this.isVisible(this.page.locator('umb-block-type-card', {hasText: elementName}).locator(`[color=\"${backgroundColor}\"]`));\n }\n\n async addDocumentDomain(domainName: string, languageName: string) {\n await this.clickCultureAndHostnamesButton();\n await this.clickAddNewHostnameButton();\n await this.enterDomain(domainName);\n await this.selectHostnameLanguageOption(languageName);\n await this.clickSaveModalButton();\n }\n\n // Scheduled Publishing\n async clickViewMoreOptionsButton() {\n await this.click(this.viewMoreOptionsBtn);\n }\n\n async clickSchedulePublishButton() {\n await this.click(this.schedulePublishBtn);\n }\n\n async clickSchedulePublishModalButton() {\n await this.click(this.schedulePublishModalBtn);\n }\n\n async enterPublishTime(time: string, index: number = 0) {\n const publishAtTxt = this.documentScheduleModal.locator('.publish-date').nth(index).locator('uui-form-layout-item').first().locator('#input');\n await this.enterText(publishAtTxt, time);\n }\n\n async enterUnpublishTime(time: string, index: number = 0) {\n const unpublishAtTxt = this.documentScheduleModal.locator('.publish-date').nth(index).locator('uui-form-layout-item').last().locator('#input');\n await this.enterText(unpublishAtTxt, time);\n }\n\n async doesPublishAtValidationMessageContainText(text: string) {\n await this.containsText(this.publishAtValidationMessage, text);\n }\n\n async doesUnpublishAtValidationMessageContainText(text: string) {\n await this.containsText(this.unpublishAtValidationMessage, text);\n }\n\n async doesLastPublishedContainText(text: string) {\n await this.containsText(this.lastPublished, text);\n }\n\n async doesPublishAtContainText(text: string) {\n await this.containsText(this.publishAt, text);\n }\n\n async doesRemoveAtContainText(text: string) {\n await this.containsText(this.removeAt, text);\n }\n\n async clickSelectAllCheckbox() {\n await this.click(this.selectAllCheckbox);\n }\n\n async doesSchedulePublishModalButtonContainDisabledTag(hasDisabledTag: boolean = false) {\n if (!hasDisabledTag) {\n await expect(this.schedulePublishModalBtn).not.toHaveAttribute('disabled', '');\n } else {\n await this.hasAttribute(this.schedulePublishModalBtn, 'disabled', '');\n }\n }\n\n async clickInlineBlockCaretButtonForName(blockEditorName: string, index: number = 0) {\n const caretButtonLocator = this.blockListEntry.filter({hasText: blockEditorName}).nth(index).locator('uui-symbol-expand svg');\n await this.click(caretButtonLocator);\n }\n\n async doesTiptapHaveWordCount(count: number) {\n await this.hasText(this.tiptapStatusbarWordCount, `${count} words`);\n }\n\n async doesTiptapHaveCharacterCount(count: number) {\n await this.hasText(this.tiptapStatusbarWordCount, `${count} characters`);\n }\n\n async clickTiptapWordCountButton() {\n await this.click(this.tiptapStatusbarWordCount);\n }\n\n async doesElementPathHaveText(text: string) {\n await this.hasText(this.tiptapStatusbarElementPath, text);\n }\n\n async clickConfirmToPublishButton() {\n await this.click(this.confirmToPublishBtn);\n // Extra wait to ensure publish process starts\n await this.waitForTimeout(ConstantHelper.wait.medium);\n }\n\n async clickPublishWithDescendantsButton() {\n await this.click(this.publishWithDescendantsBtn);\n }\n\n async clickIncludeUnpublishedDescendantsToggle() {\n await this.click(this.includeUnpublishedDescendantsToggle);\n }\n\n async clickPublishWithDescendantsModalButton() {\n await this.click(this.publishWithDescendantsModalBtn);\n }\n\n async doesDocumentVariantLanguageItemHaveCount(count: number) {\n await this.hasCount(this.documentVariantLanguageItem, count);\n }\n\n async doesDocumentVariantLanguageItemHaveName(name: string) {\n await this.containsText(this.documentVariantLanguagePicker, name);\n }\n\n async clickSchedulePublishLanguageButton(languageName: string) {\n await this.click(this.page.getByRole('menu').filter({hasText: languageName}));\n }\n\n async clickBlockCardWithName(name: string, toForce: boolean = false) {\n const blockWithNameLocator = this.page.locator('uui-card-block-type', {hasText: name});\n await this.click(blockWithNameLocator, {force: toForce});\n }\n\n async clickStyleSelectButton() {\n await this.click(this.styleSelectBtn);\n }\n\n async clickCascadingMenuItemWithName(name: string) {\n const menuItemLocator = this.cascadingMenuContainer.locator(`uui-menu-item[label=\"${name}\"]`);\n await this.click(menuItemLocator);\n }\n\n async hoverCascadingMenuItemWithName(name: string) {\n const menuItemLocator = this.cascadingMenuContainer.locator(`uui-menu-item[label=\"${name}\"]`);\n await this.hover(menuItemLocator);\n }\n\n async selectAllRTETipTapEditorText() {\n await this.click(this.tipTapEditor);\n await this.pressKey(this.tipTapEditor, 'Control+A');\n }\n\n async waitForContentToBePublished() {\n await this.waitForLoadState();\n }\n\n async waitForRecycleBinToBeEmptied() {\n await this.waitForLoadState();\n }\n\n async clearTipTapEditor() {\n await this.waitForVisible(this.tipTapEditor);\n // We use the middle mouse button click so we don't accidentally open a block in the RTE. This solution avoids that.\n await this.tipTapEditor.click({button: \"middle\"});\n await this.pressKey(this.tipTapEditor, 'Control+A');\n await this.pressKey(this.tipTapEditor, 'Backspace');\n }\n\n async clickBlockElementInRTEWithName(elementTypeName: string) {\n const blockElementLocator = this.page.locator('uui-ref-node umb-ufm-render').filter({hasText: elementTypeName});\n await this.click(blockElementLocator, {force: true});\n }\n\n async doesModalFormValidationMessageContainText(text: string) {\n await this.containsText(this.modalFormValidationMessage, text);\n }\n\n async enterSearchKeywordInTreePickerModal(keyword: string) {\n await this.enterText(this.treePickerSearchTxt, keyword);\n await this.pressKey(this.treePickerSearchTxt, 'Enter');\n }\n\n async enterSearchKeywordInMediaPickerModal(keyword: string) {\n await this.enterText(this.mediaPickerSearchTxt, keyword);\n await this.pressKey(this.mediaPickerSearchTxt, 'Enter');\n }\n\n async enterSearchKeywordInMemberPickerModal(keyword: string) {\n await this.enterText(this.memberPickerSearchTxt, keyword);\n await this.pressKey(this.memberPickerSearchTxt, 'Enter');\n }\n \n async isContentNameReadOnly() {\n await expect(this.contentNameTxt).toHaveAttribute('readonly');\n }\n\n // Block Custom View\n async isBlockCustomViewVisible(blockCustomViewLocator: string, isVisible: boolean = true) {\n await this.isVisible(this.page.locator(blockCustomViewLocator), isVisible);\n }\n\n async isSingleBlockElementVisible(isVisible: boolean = true) {\n const count = await this.refListBlock.count();\n if (isVisible) {\n expect(count, `Expected only one element, but found ${count}`).toBe(1);\n } else {\n expect(count, `Expected only one element, but found ${count}`).toBe(0);\n }\n await this.isVisible(this.refListBlock, isVisible);\n }\n\n async doesBlockCustomViewHaveValue(customBlockViewLocator: string, valueText: string) {\n const locator = this.page.locator(`${customBlockViewLocator} p`);\n await this.waitForVisible(locator);\n await this.hasText(locator, valueText);\n }\n\n async clickPropertyActionWithName(name: string) {\n const actionLocator = this.propertyActionMenu.locator(`umb-property-action uui-menu-item[label=\"${name}\"]`);\n await this.click(actionLocator);\n }\n \n async isContentWithNameVisibleInList(contentName: string, isVisible: boolean = true) {\n await this.isVisible(this.documentTableColumnName.filter({hasText: contentName}), isVisible);\n }\n \n async selectDocumentBlueprintWithName(blueprintName: string) {\n await this.click(this.documentCreateOptionsModal.locator('uui-menu-item', {hasText: blueprintName}));\n }\n\n async doesDocumentModalHaveText(text: string) {\n await this.containsText(this.documentCreateOptionsModal, text);\n }\n\n async doesListViewItemsHaveCount(pageSize: number){\n await this.hasCount(this.listViewCustomRows, pageSize);\n }\n\n async isListViewItemWithNameVisible(itemName: string, index: number = 0){\n await expect(this.listViewCustomRows.nth(index)).toContainText(itemName);\n }\n\n async clickPaginationNextButton(){\n await this.click(this.nextPaginationBtn);\n }\n\n // Entity Data Picker\n async chooseCollectionMenuItemWithName(name: string) {\n await this.clickChooseButton();\n await this.click(this.collectionMenu.locator('umb-collection-menu-item', {hasText: name}));\n await this.clickChooseContainerButton();\n }\n\n async chooseTreeMenuItemWithName(name: string, parentNames: string[] = []) {\n await this.clickChooseButton();\n for (const itemName of parentNames) {\n await this.click(this.entityPickerTree.locator('umb-tree-item').getByLabel(`Expand child items for ${itemName}`));\n }\n await this.click(this.container.getByLabel(name));\n await this.clickChooseContainerButton();\n }\n \n async isChooseButtonVisible(isVisible: boolean = true) {\n await this.isVisible(this.chooseBtn, isVisible);\n }\n\n async clickDocumentNotificationOptionWithName(name: string) {\n const notificationOptionLocator = this.page.locator(`umb-document-notifications-modal [id$=\"${name}\"]`).locator('#toggle');\n await this.click(notificationOptionLocator);\n }\n\n async switchLanguage(languageName: string) {\n await this.click(this.languageToggle);\n const languageOptionLocator = this.contentVariantDropdown.locator('.culture-variant').filter({hasText: languageName});\n await this.click(languageOptionLocator);\n await expect(languageOptionLocator).toContainClass('selected');\n }\n\n async clickAddBlockListElementWithName(blockName: string) {\n const createNewButtonLocator = this.page.getByTestId(`property:${blockName.toLowerCase()}`).getByLabel('Create new');\n await this.click(createNewButtonLocator);\n }\n\n async isAddBlockListElementWithNameDisabled(blockName: string) {\n const createNewButtonLocator = this.page.getByTestId(`property:${blockName.toLowerCase()}`).locator('uui-button[label=\"Create new\"]');\n await expect(createNewButtonLocator).toHaveAttribute('disabled');\n }\n\n async isAddBlockListElementWithNameVisible(blockName: string) {\n const createNewButtonLocator = this.page.getByTestId(`property:${blockName.toLowerCase()}`).locator('uui-button[label=\"Create new\"]');\n await this.waitForVisible(createNewButtonLocator);\n await expect(createNewButtonLocator).not.toHaveAttribute('disabled');\n }\n\n async enterBlockPropertyValue(propertyName: string, value: string) {\n const property = this.blockProperty.filter({hasText: propertyName});\n await this.enterText(property.locator('input'), value);\n }\n\n async isBlockPropertyEditable(propertyName: string, isEditable: boolean = true) {\n const propertyLocator = this.blockProperty.filter({hasText: propertyName}).locator('#input');\n await this.waitForVisible(propertyLocator);\n await expect(propertyLocator).toBeEditable({editable: isEditable});\n }\n\n async isInlineBlockPropertyVisible(propertyName: string, isVisible: boolean = true) {\n const propertyLocator = this.blockListEntry.locator(this.blockProperty).filter({hasText: propertyName});\n await this.isVisible(propertyLocator, isVisible);\n }\n\n async isInlineBlockPropertyVisibleForBlockWithName(blockName: string, propertyName: string, isVisible: boolean = true, index: number = 0) {\n const blockEntryLocator = this.blockListEntry.filter({hasText: blockName}).nth(index);\n const propertyLocator = blockEntryLocator.locator(this.blockProperty).filter({hasText: propertyName});\n await this.isVisible(propertyLocator, isVisible);\n }\n\n async enterInlineBlockPropertyValue(propertyName: string, value: string, index: number = 0) {\n const propertyLocator = this.blockListEntry.nth(index).locator(this.blockProperty).filter({hasText: propertyName});\n await this.enterText(propertyLocator.locator('input'), value);\n }\n\n async doesInlineBlockPropertyHaveValue(propertyName: string, value: string, index: number = 0) {\n const propertyLocator = this.blockListEntry.nth(index).locator(this.blockProperty).filter({hasText: propertyName}).locator('input');\n await this.hasValue(propertyLocator, value);\n }\n}"]}
|