@umbraco/playwright-testhelpers 15.0.11 → 15.0.12
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/ContentUiHelper.d.ts +5 -2
- package/dist/lib/helpers/ContentUiHelper.js +44 -7
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.d.ts +4 -2
- package/dist/lib/helpers/DataTypeUiHelper.js +111 -18
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DictionaryUiHelper.js +2 -1
- package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.js +11 -5
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/LanguageUiHelper.js +2 -2
- package/dist/lib/helpers/LanguageUiHelper.js.map +1 -1
- package/dist/lib/helpers/LogViewerUiHelper.js +1 -0
- package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaUiHelper.js +2 -2
- package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberUiHelper.js +1 -1
- package/dist/lib/helpers/MemberUiHelper.js.map +1 -1
- package/dist/lib/helpers/PartialViewUiHelper.js +5 -0
- package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
- package/dist/lib/helpers/StylesheetUiHelper.js +1 -1
- package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateUiHelper.js +2 -0
- package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +6 -0
- package/dist/lib/helpers/UiBaseLocators.js +54 -6
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UserGroupUiHelper.js +17 -3
- package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -105,6 +105,7 @@ export declare class ContentUiHelper extends UiBaseLocators {
|
|
|
105
105
|
private readonly actionsMenu;
|
|
106
106
|
private readonly linkToDocumentBtn;
|
|
107
107
|
private readonly linkToMediaBtn;
|
|
108
|
+
private readonly linkToManualBtn;
|
|
108
109
|
private readonly umbDocumentCollection;
|
|
109
110
|
private readonly documentTableColumnName;
|
|
110
111
|
private readonly addBlockElementBtn;
|
|
@@ -118,6 +119,7 @@ export declare class ContentUiHelper extends UiBaseLocators {
|
|
|
118
119
|
private readonly tipTapPropertyEditor;
|
|
119
120
|
private readonly tipTapEditor;
|
|
120
121
|
private readonly uploadedSvgThumbnail;
|
|
122
|
+
private readonly linkPickerModal;
|
|
121
123
|
constructor(page: Page);
|
|
122
124
|
enterContentName(name: string): Promise<void>;
|
|
123
125
|
clickSaveAndPublishButton(): Promise<void>;
|
|
@@ -262,8 +264,9 @@ export declare class ContentUiHelper extends UiBaseLocators {
|
|
|
262
264
|
doesIndexDocumentInTreeContainName(parentName: string, childName: string, index: number): Promise<void>;
|
|
263
265
|
selectMemberGroup(memberGroupName: string): Promise<void>;
|
|
264
266
|
isPermissionInActionsMenuVisible(permissionName: string, isVisible?: boolean): Promise<void>;
|
|
265
|
-
|
|
266
|
-
|
|
267
|
+
clickDocumentLinkButton(): Promise<void>;
|
|
268
|
+
clickMediaLinkButton(): Promise<void>;
|
|
269
|
+
clickManualLinkButton(): Promise<void>;
|
|
267
270
|
clickAddBlockElementButton(): Promise<void>;
|
|
268
271
|
isAddBlockElementButtonVisible(isVisible?: boolean): Promise<void>;
|
|
269
272
|
isAddBlockElementButtonWithLabelVisible(label: string, isVisible?: boolean): Promise<void>;
|
|
@@ -108,6 +108,7 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
108
108
|
actionsMenu;
|
|
109
109
|
linkToDocumentBtn;
|
|
110
110
|
linkToMediaBtn;
|
|
111
|
+
linkToManualBtn;
|
|
111
112
|
umbDocumentCollection;
|
|
112
113
|
documentTableColumnName;
|
|
113
114
|
addBlockElementBtn;
|
|
@@ -121,8 +122,10 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
121
122
|
tipTapPropertyEditor;
|
|
122
123
|
tipTapEditor;
|
|
123
124
|
uploadedSvgThumbnail;
|
|
125
|
+
linkPickerModal;
|
|
124
126
|
constructor(page) {
|
|
125
127
|
super(page);
|
|
128
|
+
this.linkPickerModal = page.locator('umb-link-picker-modal');
|
|
126
129
|
this.contentNameTxt = page.locator('#name-input input');
|
|
127
130
|
this.saveAndPublishBtn = page.getByLabel('Save And Publish');
|
|
128
131
|
this.publishBtn = page.getByLabel(/^Publish(\.\.\.)?$/);
|
|
@@ -144,9 +147,9 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
144
147
|
this.chooseMemberPickerBtn = page.locator('umb-property-editor-ui-member-picker #btn-add');
|
|
145
148
|
this.numericTxt = page.locator('umb-property-editor-ui-number input');
|
|
146
149
|
this.addMultiURLPickerBtn = page.locator('umb-property-editor-ui-multi-url-picker #btn-add');
|
|
147
|
-
this.linkTxt = page.getByLabel('URL', { exact: true });
|
|
150
|
+
this.linkTxt = page.getByLabel('Enter a URL...', { exact: true });
|
|
148
151
|
this.anchorQuerystringTxt = page.getByLabel('#value or ?key=value');
|
|
149
|
-
this.linkTitleTxt =
|
|
152
|
+
this.linkTitleTxt = this.linkPickerModal.getByLabel('Title');
|
|
150
153
|
this.tagItems = page.locator('uui-tag');
|
|
151
154
|
this.removeFilesBtn = page.locator('umb-input-upload-field [label="Remove file(s)"]');
|
|
152
155
|
this.toggleBtn = page.locator('umb-property-editor-ui-toggle #slider');
|
|
@@ -228,8 +231,9 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
228
231
|
this.rollbackItem = page.locator('.rollback-item');
|
|
229
232
|
this.expandChildItemsForContent = page.getByLabel('Expand child items for Content');
|
|
230
233
|
this.actionsMenu = page.locator('uui-scroll-container');
|
|
231
|
-
this.linkToDocumentBtn =
|
|
232
|
-
this.linkToMediaBtn =
|
|
234
|
+
this.linkToDocumentBtn = this.linkPickerModal.getByLabel('Document', { exact: true });
|
|
235
|
+
this.linkToMediaBtn = this.linkPickerModal.getByLabel('Media', { exact: true });
|
|
236
|
+
this.linkToManualBtn = this.linkPickerModal.getByLabel('Manual', { exact: true });
|
|
233
237
|
this.umbDocumentCollection = page.locator('umb-document-collection');
|
|
234
238
|
this.documentTableColumnName = this.listView.locator('umb-document-table-column-name');
|
|
235
239
|
//Block Grid - Block List
|
|
@@ -279,6 +283,7 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
279
283
|
await this.clickActionsMenuForName(name);
|
|
280
284
|
}
|
|
281
285
|
async clickCaretButtonForContentName(name) {
|
|
286
|
+
await (0, test_1.expect)(this.menuItemTree.filter({ hasText: name }).last().locator('#caret-button').last()).toBeVisible();
|
|
282
287
|
await this.menuItemTree.filter({ hasText: name }).last().locator('#caret-button').last().click();
|
|
283
288
|
}
|
|
284
289
|
async waitForModalVisible() {
|
|
@@ -358,6 +363,7 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
358
363
|
await this.clickChooseModalButton();
|
|
359
364
|
}
|
|
360
365
|
async isTemplateNameDisabled(templateName) {
|
|
366
|
+
await (0, test_1.expect)(this.sidebarModal.getByLabel(templateName)).toBeVisible();
|
|
361
367
|
await (0, test_1.expect)(this.sidebarModal.getByLabel(templateName)).toBeDisabled();
|
|
362
368
|
}
|
|
363
369
|
// Culture and Hostnames
|
|
@@ -365,14 +371,17 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
365
371
|
await this.cultureAndHostnamesBtn.click();
|
|
366
372
|
}
|
|
367
373
|
async selectCultureLanguageOption(option) {
|
|
374
|
+
await (0, test_1.expect)(this.cultureLanguageDropdownBox).toBeVisible();
|
|
368
375
|
await this.cultureLanguageDropdownBox.click();
|
|
369
|
-
await this.page.getByText(option).
|
|
376
|
+
await (0, test_1.expect)(this.page.getByText(option, { exact: true })).toBeVisible();
|
|
377
|
+
await this.page.getByText(option, { exact: true }).click();
|
|
370
378
|
}
|
|
371
379
|
async selectDomainLanguageOption(option, index = 0) {
|
|
372
380
|
await this.domainLanguageDropdownBox.nth(index).click();
|
|
373
381
|
await this.domainComboBox.nth(index).getByText(option).click();
|
|
374
382
|
}
|
|
375
383
|
async clickAddNewDomainButton() {
|
|
384
|
+
await (0, test_1.expect)(this.addNewDomainBtn).toBeVisible();
|
|
376
385
|
await this.addNewDomainBtn.click();
|
|
377
386
|
}
|
|
378
387
|
async enterDomain(value, index = 0) {
|
|
@@ -594,6 +603,7 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
594
603
|
return (0, test_1.expect)(this.enterAName).toHaveValue(name);
|
|
595
604
|
}
|
|
596
605
|
async doesDocumentTableColumnNameValuesMatch(expectedValues) {
|
|
606
|
+
await (0, test_1.expect)(this.documentListView).toBeVisible();
|
|
597
607
|
return expectedValues.forEach((text, index) => {
|
|
598
608
|
(0, test_1.expect)(this.documentTableColumnName.nth(index)).toHaveText(text);
|
|
599
609
|
});
|
|
@@ -769,21 +779,27 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
769
779
|
await this.contentTreeRefreshBtn.click({ force: true });
|
|
770
780
|
}
|
|
771
781
|
async clickSortChildrenButton() {
|
|
782
|
+
await (0, test_1.expect)(this.sortChildrenBtn).toBeVisible();
|
|
772
783
|
await this.sortChildrenBtn.click();
|
|
773
784
|
}
|
|
774
785
|
async clickRollbackButton() {
|
|
786
|
+
await (0, test_1.expect)(this.rollbackBtn).toBeVisible();
|
|
775
787
|
await this.rollbackBtn.click();
|
|
776
788
|
}
|
|
777
789
|
async clickRollbackContainerButton() {
|
|
790
|
+
await (0, test_1.expect)(this.rollbackContainerBtn).toBeVisible();
|
|
778
791
|
await this.rollbackContainerBtn.click();
|
|
779
792
|
}
|
|
780
793
|
async clickLatestRollBackItem() {
|
|
794
|
+
await (0, test_1.expect)(this.rollbackItem.last()).toBeVisible();
|
|
781
795
|
await this.rollbackItem.last().click();
|
|
782
796
|
}
|
|
783
797
|
async clickPublicAccessButton() {
|
|
798
|
+
await (0, test_1.expect)(this.publicAccessBtn).toBeVisible();
|
|
784
799
|
await this.publicAccessBtn.click();
|
|
785
800
|
}
|
|
786
801
|
async addGroupBasedPublicAccess(memberGroupName, documentName) {
|
|
802
|
+
await (0, test_1.expect)(this.groupBasedProtectionBtn).toBeVisible();
|
|
787
803
|
await this.groupBasedProtectionBtn.click();
|
|
788
804
|
await this.nextBtn.click();
|
|
789
805
|
await this.chooseMemberGroupBtn.click();
|
|
@@ -815,12 +831,14 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
815
831
|
await this.page.mouse.up();
|
|
816
832
|
}
|
|
817
833
|
async clickSortButton() {
|
|
834
|
+
await (0, test_1.expect)(this.sortBtn).toBeVisible();
|
|
818
835
|
await this.sortBtn.click();
|
|
819
836
|
}
|
|
820
837
|
async doesIndexDocumentInTreeContainName(parentName, childName, index) {
|
|
821
838
|
await (0, test_1.expect)(this.documentTreeItem.locator('[label="' + parentName + '"]').locator('umb-tree-item').nth(index).locator('#label')).toHaveText(childName);
|
|
822
839
|
}
|
|
823
840
|
async selectMemberGroup(memberGroupName) {
|
|
841
|
+
await (0, test_1.expect)(this.uuiCheckbox.getByLabel(memberGroupName)).toBeVisible();
|
|
824
842
|
await this.uuiCheckbox.getByLabel(memberGroupName).click();
|
|
825
843
|
}
|
|
826
844
|
async isPermissionInActionsMenuVisible(permissionName, isVisible = true) {
|
|
@@ -829,14 +847,21 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
829
847
|
exact: true
|
|
830
848
|
})).toBeVisible({ visible: isVisible });
|
|
831
849
|
}
|
|
832
|
-
async
|
|
850
|
+
async clickDocumentLinkButton() {
|
|
851
|
+
await (0, test_1.expect)(this.linkToDocumentBtn).toBeVisible();
|
|
833
852
|
await this.linkToDocumentBtn.click();
|
|
834
853
|
}
|
|
835
|
-
async
|
|
854
|
+
async clickMediaLinkButton() {
|
|
855
|
+
await (0, test_1.expect)(this.linkToMediaBtn).toBeVisible();
|
|
836
856
|
await this.linkToMediaBtn.click();
|
|
837
857
|
}
|
|
858
|
+
async clickManualLinkButton() {
|
|
859
|
+
await (0, test_1.expect)(this.linkToManualBtn).toBeVisible();
|
|
860
|
+
await this.linkToManualBtn.click();
|
|
861
|
+
}
|
|
838
862
|
// Block Grid - Block List
|
|
839
863
|
async clickAddBlockElementButton() {
|
|
864
|
+
await (0, test_1.expect)(this.addBlockElementBtn).toBeVisible();
|
|
840
865
|
await this.addBlockElementBtn.click();
|
|
841
866
|
}
|
|
842
867
|
async isAddBlockElementButtonVisible(isVisible = true) {
|
|
@@ -852,33 +877,45 @@ class ContentUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
852
877
|
await (0, test_1.expect)(this.blockName).toContainText(name);
|
|
853
878
|
}
|
|
854
879
|
async clickAddBlockSettingsTabButton() {
|
|
880
|
+
await (0, test_1.expect)(this.addBlockSettingsTabBtn).toBeVisible();
|
|
855
881
|
await this.addBlockSettingsTabBtn.click();
|
|
856
882
|
}
|
|
857
883
|
async clickEditBlockGridBlockButton() {
|
|
884
|
+
await (0, test_1.expect)(this.blockGridEntry).toBeVisible();
|
|
858
885
|
await this.blockGridEntry.hover();
|
|
886
|
+
await (0, test_1.expect)(this.editBlockEntryBtn).toBeVisible();
|
|
859
887
|
await this.editBlockEntryBtn.click();
|
|
860
888
|
}
|
|
861
889
|
async clickDeleteBlockGridBlockButton() {
|
|
890
|
+
await (0, test_1.expect)(this.blockGridEntry).toBeVisible();
|
|
862
891
|
await this.blockGridEntry.hover();
|
|
892
|
+
await (0, test_1.expect)(this.deleteBlockEntryBtn).toBeVisible();
|
|
863
893
|
await this.deleteBlockEntryBtn.click();
|
|
864
894
|
}
|
|
865
895
|
async clickEditBlockListBlockButton() {
|
|
896
|
+
await (0, test_1.expect)(this.blockListEntry).toBeVisible();
|
|
866
897
|
await this.blockListEntry.hover();
|
|
898
|
+
await (0, test_1.expect)(this.editBlockEntryBtn).toBeVisible();
|
|
867
899
|
await this.editBlockEntryBtn.click();
|
|
868
900
|
}
|
|
869
901
|
async clickDeleteBlockListBlockButton() {
|
|
902
|
+
await (0, test_1.expect)(this.blockListEntry).toBeVisible();
|
|
870
903
|
await this.blockListEntry.hover();
|
|
904
|
+
await (0, test_1.expect)(this.deleteBlockEntryBtn).toBeVisible();
|
|
871
905
|
await this.deleteBlockEntryBtn.click();
|
|
872
906
|
}
|
|
873
907
|
// TipTap
|
|
874
908
|
async enterRTETipTapEditor(value) {
|
|
909
|
+
await (0, test_1.expect)(this.tipTapEditor).toBeVisible();
|
|
875
910
|
await this.tipTapEditor.clear();
|
|
876
911
|
await this.tipTapEditor.fill(value);
|
|
877
912
|
}
|
|
878
913
|
async clickTipTapToolbarIconWithTitle(iconTitle) {
|
|
914
|
+
await (0, test_1.expect)(this.tipTapPropertyEditor.getByTitle(iconTitle, { exact: true }).locator('svg')).toBeVisible();
|
|
879
915
|
await this.tipTapPropertyEditor.getByTitle(iconTitle, { exact: true }).locator('svg').click();
|
|
880
916
|
}
|
|
881
917
|
async doesUploadedSvgThumbnailHaveSrc(imageSrc) {
|
|
918
|
+
await (0, test_1.expect)(this.uploadedSvgThumbnail).toBeVisible();
|
|
882
919
|
await (0, test_1.expect)(this.uploadedSvgThumbnail).toHaveAttribute('src', imageSrc);
|
|
883
920
|
}
|
|
884
921
|
}
|
|
@@ -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\";\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 openedModal: 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 publicationStatus: 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 addNewDomainBtn: Locator;\n private readonly domainTxt: Locator;\n private readonly domainLanguageDropdownBox: Locator;\n private readonly deleteDomainBtn: 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 domainComboBox: 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 markdownTxt: Locator;\n private readonly codeEditorTxt: Locator;\n private readonly sliderInput: Locator;\n private readonly tabItems: Locator;\n private readonly documentWorkspace: Locator;\n private readonly searchTxt: Locator;\n private readonly variantSelectorBtn: 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 modalChooseBtn: Locator;\n private readonly containerSaveBtn: Locator\n private readonly groupBasedProtectionBtn: Locator;\n private readonly nextBtn: Locator;\n private readonly chooseMemberGroupBtn: Locator;\n private readonly selectLoginPageDocument: Locator;\n private readonly selectErrorPageDocument: Locator;\n private readonly rollbackItem: Locator;\n private readonly expandChildItemsForContent: Locator;\n private readonly actionsMenu: Locator;\n private readonly linkToDocumentBtn: Locator;\n private readonly linkToMediaBtn: 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 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\n constructor(page: Page) {\n super(page);\n this.contentNameTxt = page.locator('#name-input input');\n this.saveAndPublishBtn = page.getByLabel('Save And Publish');\n this.publishBtn = page.getByLabel(/^Publish(\\.\\.\\.)?$/);\n this.unpublishBtn = page.getByLabel(/^Unpublish(\\.\\.\\.)?$/);\n this.actionMenuForContentBtn = page.locator('#header [label=\"Open actions menu\"]');\n this.openedModal = page.locator('uui-modal-container[backdrop]');\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.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.getByLabel('URL', {exact: true});\n this.anchorQuerystringTxt = page.getByLabel('#value or ?key=value');\n this.linkTitleTxt = page.getByLabel('Link title');\n this.tagItems = page.locator('uui-tag');\n this.removeFilesBtn = page.locator('umb-input-upload-field [label=\"Remove file(s)\"]');\n this.toggleBtn = page.locator('umb-property-editor-ui-toggle #slider');\n this.toggleInput = page.locator('umb-property-editor-ui-toggle #input');\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.markdownTxt = page.locator('umb-input-markdown textarea');\n this.codeEditorTxt = page.locator('umb-code-editor textarea');\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.variantSelectorBtn = page.locator('#variant-selector-toggle');\n this.variantAddModeBtn = page.locator('.variant-selector-switch-button.add-mode');\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.getByRole('tab', {name: 'Info'});\n this.linkContent = page.locator('.link-item');\n this.historyItems = page.locator('umb-history-item');\n this.generalItem = page.locator('.general-item');\n this.publicationStatus = this.generalItem.filter({hasText: 'Publication Status'}).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 // Culture and Hostname\n this.cultureAndHostnamesBtn = page.getByLabel(/^Culture and Hostnames(\\.\\.\\.)?$/);\n this.cultureLanguageDropdownBox = page.locator('[headline=\"Culture\"]').getByLabel('combobox-input');\n this.addNewDomainBtn = page.getByLabel('Add new domain');\n this.domainTxt = page.getByLabel('Domain', {exact: true});\n this.domainLanguageDropdownBox = page.locator('[headline=\"Domains\"]').getByLabel('combobox-input');\n this.deleteDomainBtn = page.locator('[headline=\"Domains\"] [name=\"icon-trash\"] svg');\n this.domainComboBox = page.locator('#domains uui-combobox');\n this.saveModalBtn = this.sidebarModal.getByLabel('Save', {exact: true});\n this.resetFocalPointBtn = this.page.getByLabel('Reset focal point');\n // List View\n this.enterNameInContainerTxt = this.container.getByLabel('Enter a name...');\n this.listView = page.locator('umb-document-table-collection-view');\n this.nameBtn = page.getByRole('button', {name: 'Name'});\n this.listViewTableRow = this.listView.locator('uui-table-row');\n this.publishSelectedListItems = page.getByRole('button', {name: /^Publish(\\.\\.\\.)?$/});\n this.unpublishSelectedListItems = page.getByRole('button', {name: /^Unpublish(\\.\\.\\.)?$/});\n this.duplicateToSelectedListItems = page.getByRole('button', {name: /^Duplicate to(\\.\\.\\.)?$/});\n this.moveToSelectedListItems = page.getByRole('button', {name: /^Move to(\\.\\.\\.)?$/});\n this.trashSelectedListItems = page.getByRole('button', {name: /^Trash(\\.\\.\\.)?$/});\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.getByLabel('Empty Recycle Bin');\n this.confirmEmptyRecycleBinBtn = this.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.modalChooseBtn = page.locator('umb-tree-picker-modal').getByLabel('Choose');\n this.containerSaveBtn = this.container.getByLabel('Save');\n this.groupBasedProtectionBtn = page.locator('span').filter({hasText: 'Group based protection'});\n this.nextBtn = page.getByLabel('Next');\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.expandChildItemsForContent = page.getByLabel('Expand child items for Content');\n this.actionsMenu = page.locator('uui-scroll-container');\n this.linkToDocumentBtn = page.getByLabel('Link to document');\n this.linkToMediaBtn = page.getByLabel('Link to media');\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();\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.deleteBlockEntryBtn = page.locator('[label=\"delete\"] svg');\n this.blockGridEntry = page.locator('umb-block-grid-entry');\n this.blockListEntry = page.locator('umb-block-list-entry');\n // TipTap\n this.tipTapPropertyEditor = page.locator('umb-property-editor-ui-tiptap');\n this.tipTapEditor = this.tipTapPropertyEditor.locator('#editor .tiptap');\n this.uploadedSvgThumbnail = this.page.locator('umb-input-upload-field-svg img');\n }\n\n async enterContentName(name: string) {\n await expect(this.contentNameTxt).toBeVisible();\n await this.contentNameTxt.clear();\n await this.contentNameTxt.fill(name);\n }\n\n async clickSaveAndPublishButton() {\n await expect(this.saveAndPublishBtn).toBeVisible();\n await this.saveAndPublishBtn.click();\n }\n\n async clickActionsButton() {\n await this.actionsBtn.click();\n }\n\n async clickPublishButton() {\n await this.publishBtn.click();\n }\n\n async clickUnpublishButton() {\n await this.unpublishBtn.click();\n }\n\n async clickReloadChildrenThreeDotsButton() {\n await this.reloadChildrenThreeDotsBtn.click();\n }\n\n async clickActionsMenuAtRoot() {\n await this.actionMenuForContentBtn.click();\n }\n\n async goToContentWithName(contentName: string) {\n const contentWithNameLocator = this.menuItemTree.getByText(contentName, {exact: true});\n await expect(contentWithNameLocator).toBeVisible();\n await contentWithNameLocator.click();\n }\n\n async clickActionsMenuForContent(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickCaretButtonForContentName(name: string) {\n await this.menuItemTree.filter({hasText: name}).last().locator('#caret-button').last().click();\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 enterTextstring(text: string) {\n await expect(this.textstringTxt).toBeVisible();\n await this.textstringTxt.clear();\n await this.textstringTxt.fill(text);\n }\n\n async doesContentTreeHaveName(contentName: string) {\n await expect(this.contentTree).toContainText(contentName);\n }\n\n async enterRichTextArea(value: string) {\n await expect(this.richTextAreaTxt).toBeVisible();\n await this.richTextAreaTxt.fill(value);\n }\n\n async enterTextArea(value: string) {\n await expect(this.textAreaTxt).toBeVisible();\n await this.page.waitForTimeout(200);\n await this.textAreaTxt.clear();\n await this.textAreaTxt.fill(value);\n }\n\n async clickConfirmToUnpublishButton() {\n await this.confirmToUnpublishBtn.click();\n }\n\n async clickCreateDocumentBlueprintButton() {\n await this.createDocumentBlueprintBtn.click();\n }\n\n // Info Tab\n async clickInfoTab() {\n await expect(this.infoTab).toBeVisible();\n await this.infoTab.click();\n }\n\n async doesLinkHaveText(text: string) {\n await expect(this.linkContent).toHaveText(text);\n }\n\n async doesHistoryHaveText(text: string) {\n await expect(this.historyItems).toHaveText(text);\n }\n\n async doesPublicationStatusHaveText(text: string) {\n await expect(this.publicationStatus).toHaveText(text);\n }\n\n async doesCreatedDateHaveText(text: string) {\n await expect(this.createdDate).toHaveText(text);\n }\n\n async doesIdHaveText(text: string) {\n await expect(this.id).toHaveText(text);\n }\n\n async clickEditDocumentTypeButton() {\n await this.editDocumentTypeBtn.click();\n }\n\n async clickAddTemplateButton() {\n await this.addTemplateBtn.click();\n }\n\n async clickDocumentTypeByName(documentTypeName: string) {\n await this.page.locator('uui-ref-node-document-type[name=\"' + documentTypeName + '\"]').click();\n }\n\n async clickTemplateByName(templateName: string) {\n await this.page.locator('uui-ref-node[name=\"' + templateName + '\"]').click();\n }\n\n async isDocumentTypeModalVisible(documentTypeName: string) {\n await expect(this.documentTypeWorkspace.filter({hasText: documentTypeName})).toBeVisible();\n }\n\n async isTemplateModalVisible(templateName: string) {\n await expect(this.breadcrumbsTemplateModal.getByText(templateName)).toBeVisible();\n }\n\n async clickEditTemplateByName(templateName: string) {\n await this.page.locator('uui-ref-node[name=\"' + templateName + '\"]').getByLabel('Choose').click();\n }\n\n async changeTemplate(oldTemplate: string, newTemplate: string) {\n await this.clickEditTemplateByName(oldTemplate);\n await this.sidebarModal.getByLabel(newTemplate).click();\n await this.clickChooseModalButton();\n }\n\n async isTemplateNameDisabled(templateName: string) {\n await expect(this.sidebarModal.getByLabel(templateName)).toBeDisabled();\n }\n\n // Culture and Hostnames\n async clickCultureAndHostnamesButton() {\n await this.cultureAndHostnamesBtn.click();\n }\n\n async selectCultureLanguageOption(option: string) {\n await this.cultureLanguageDropdownBox.click();\n await this.page.getByText(option).click();\n }\n\n async selectDomainLanguageOption(option: string, index: number = 0) {\n await this.domainLanguageDropdownBox.nth(index).click();\n await this.domainComboBox.nth(index).getByText(option).click();\n }\n\n async clickAddNewDomainButton() {\n await this.addNewDomainBtn.click();\n }\n\n async enterDomain(value: string, index: number = 0) {\n await this.domainTxt.nth(index).clear();\n await this.domainTxt.nth(index).fill(value);\n }\n\n async clickDeleteDomainButton() {\n await this.deleteDomainBtn.first().click();\n }\n\n async clickSaveModalButton() {\n await this.saveModalBtn.click();\n }\n\n async chooseDocumentType(documentTypeName: string) {\n await this.documentTypeNode.filter({hasText: documentTypeName}).click();\n }\n\n // Approved Color\n async clickApprovedColorByValue(value: string) {\n await this.page.locator('uui-color-swatch[value=\"#' + value + '\"] #swatch').click();\n }\n\n // Checkbox list\n async chooseCheckboxListOption(optionValue: string) {\n await this.page.locator('uui-checkbox[value=\"' + optionValue + '\"] svg').click();\n }\n\n // Content Picker\n async addContentPicker(contentName: string) {\n await this.clickChooseButton();\n await this.sidebarModal.getByText(contentName).click();\n await this.chooseModalBtn.click();\n }\n\n async isOpenButtonVisibleInContentPicker(contentPickerName: string, isVisible: boolean = true) {\n return expect(this.page.getByLabel('Open ' + contentPickerName)).toBeVisible({visible: isVisible});\n }\n\n async clickContentPickerOpenButton(contentPickerName: string) {\n await this.page.getByLabel('Open ' + contentPickerName).click();\n }\n\n async isNodeOpenForContentPicker(contentPickerName: string) {\n return expect(this.openedModal.getByText(contentPickerName)).toBeVisible();\n }\n\n async isContentNameVisible(contentName: string, isVisible: boolean = true) {\n return expect(this.sidebarModal.getByText(contentName)).toBeVisible({visible: isVisible});\n }\n\n async isContentInTreeVisible(name: string, isVisible: boolean = true) {\n await expect(this.documentTreeItem.getByLabel(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async isChildContentInTreeVisible(parentName: string, childName: string, isVisible: boolean = true) {\n await expect(this.documentTreeItem.locator('[label=\"' + parentName + '\"]').getByLabel(childName)).toBeVisible({visible: isVisible});\n }\n\n async removeContentPicker(contentPickerName: string) {\n const contentPickerLocator = this.page.locator('[name=\"' + contentPickerName + '\"]');\n await contentPickerLocator.hover();\n await contentPickerLocator.getByLabel('Remove').click();\n await this.clickConfirmRemoveButton();\n }\n\n // Dropdown\n async chooseDropdownOption(optionValues: string[]) {\n await this.dropdown.selectOption(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.chooseMediaPickerBtn.click();\n }\n\n async clickChooseButtonAndSelectMediaWithName(mediaName: string) {\n await this.clickChooseMediaPickerButton();\n await this.selectMediaWithName(mediaName);\n }\n\n async removeMediaPickerByName(mediaPickerName: string) {\n await this.page.locator('[name=\"' + mediaPickerName + '\"] [label=\"Remove\"] svg').click();\n await this.clickConfirmRemoveButton();\n }\n\n async isMediaNameVisible(mediaName: string, isVisible: boolean = true) {\n return expect(this.mediaCardItems.filter({hasText: mediaName})).toBeVisible({visible: isVisible});\n }\n\n async clickResetFocalPointButton() {\n await this.resetFocalPointBtn.click();\n }\n\n async setFocalPoint(widthPercentage: number = 50, heightPercentage: number = 50) {\n await this.page.waitForTimeout(1000);\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(200);\n await this.page.mouse.move(centerX, centerY, {steps: 5});\n await this.page.waitForTimeout(200);\n await this.page.mouse.down();\n await this.page.waitForTimeout(200);\n await this.page.mouse.move(x, y);\n await this.page.waitForTimeout(200);\n await this.page.mouse.up();\n }\n\n // Member Picker\n async clickChooseMemberPickerButton() {\n await this.chooseMemberPickerBtn.click();\n }\n\n async selectMemberByName(memberName: string) {\n await this.sidebarModal.getByText(memberName, {exact: true}).click();\n }\n\n async removeMemberPickerByName(memberName: string) {\n await this.page.locator('[name=\"' + memberName + '\"]').getByLabel('Remove').click();\n await this.clickConfirmRemoveButton();\n }\n\n // Numeric\n async enterNumeric(number: number) {\n await this.numericTxt.clear();\n await this.numericTxt.fill(number.toString());\n }\n\n // Radiobox\n async chooseRadioboxOption(optionValue: string) {\n await this.page.locator('uui-radio[value=\"' + optionValue + '\"] #button').click();\n }\n\n // Tags\n async clickPlusIconButton() {\n await this.plusIconBtn.click();\n }\n\n async enterTag(tagName: string) {\n await this.enterTagTxt.fill(tagName);\n await this.enterTagTxt.press('Enter');\n }\n\n async removeTagByName(tagName: string) {\n await this.tagItems.filter({hasText: tagName}).locator('svg').click();\n }\n\n // Multi URL Picker\n async clickAddMultiURLPickerButton() {\n await this.addMultiURLPickerBtn.click();\n }\n\n async selectLinkByName(linkName: string) {\n await this.sidebarModal.getByText(linkName, {exact: true}).click();\n }\n\n async enterLink(value: string, toPress: boolean = false) {\n await this.linkTxt.clear();\n if (toPress) {\n await this.linkTxt.press(value);\n } else {\n await this.linkTxt.fill(value);\n } \n }\n\n async enterAnchorOrQuerystring(value: string, toPress: boolean = false) {\n await this.anchorQuerystringTxt.clear();\n if (toPress) {\n await this.anchorQuerystringTxt.press(value);\n } else {\n await this.anchorQuerystringTxt.fill(value);\n } \n }\n\n async enterLinkTitle(value: string, toPress: boolean = false) {\n await this.linkTitleTxt.clear();\n if (toPress) {\n await this.linkTitleTxt.press(value);\n } else {\n await this.linkTitleTxt.fill(value);\n } \n }\n\n async removeUrlPickerByName(linkName: string) {\n await this.page.locator('[name=\"' + linkName + '\"]').getByLabel('Remove').click();\n await this.clickConfirmRemoveButton();\n }\n\n async clickEditUrlPickerButtonByName(linkName: string) {\n await this.page.locator('[name=\"' + linkName + '\"]').getByLabel('Edit').click();\n }\n\n // Upload\n async clickRemoveFilesButton() {\n await this.removeFilesBtn.click();\n }\n\n // True/false\n async clickToggleButton() {\n await this.toggleBtn.click();\n }\n\n async doesToggleHaveLabel(label: string) {\n return await expect(this.toggleInput).toHaveAttribute('aria-label', label);\n }\n\n // Multiple Text String\n async clickAddMultipleTextStringButton() {\n await this.addMultipleTextStringBtn.click();\n }\n\n async enterMultipleTextStringValue(value: string) {\n await this.multipleTextStringValueTxt.clear();\n await this.multipleTextStringValueTxt.fill(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.codeEditorTxt.clear();\n await this.codeEditorTxt.fill(value);\n }\n\n // Markdown Editor\n async enterMarkdownEditorValue(value: string) {\n await this.markdownTxt.clear();\n await this.markdownTxt.fill(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 expect(this.sidebarModal.getByText(contentName)).toBeVisible({visible: isVisible});\n }\n\n async doesModalHaveText(text: string) {\n return expect(this.sidebarModal).toContainText(text);\n }\n\n // Collection tab\n async isTabNameVisible(tabName: string) {\n return expect(this.tabItems.filter({hasText: tabName})).toBeVisible();\n }\n\n async doesDocumentHaveName(name: string) {\n return expect(this.enterAName).toHaveValue(name);\n }\n\n async doesDocumentTableColumnNameValuesMatch(expectedValues: string[]) {\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.searchTxt.clear();\n await this.searchTxt.fill(keyword);\n await this.searchTxt.press('Enter');\n await this.page.waitForTimeout(500);\n }\n\n async clickVariantSelectorButton() {\n await this.variantSelectorBtn.click();\n }\n\n async clickVariantAddModeButton() {\n await this.variantAddModeBtn.first().click();\n await this.page.waitForTimeout(500);\n }\n\n async clickSaveAndCloseButton() {\n await this.saveAndCloseBtn.click();\n }\n\n // List View\n async clickCreateContentWithName(name: string) {\n await expect(this.page.getByLabel('Create ' + name)).toBeVisible();\n await this.page.getByLabel('Create ' + name).click();\n }\n\n async enterNameInContainer(name: string) {\n await expect(this.enterNameInContainerTxt).toBeVisible();\n await this.enterNameInContainerTxt.clear();\n await this.enterNameInContainerTxt.fill(name);\n }\n\n async goToContentInListViewWithName(contentName: string) {\n await this.listView.getByLabel(contentName).click();\n }\n\n async doesListViewHaveNoItemsInList() {\n await expect(this.listView.filter({hasText: 'There are no items to show in the list.'})).toBeVisible();\n }\n\n async doesContentListHaveNoItemsInList() {\n await expect(this.umbDocumentCollection.filter({hasText: 'No items'})).toBeVisible();\n }\n\n async clickNameButtonInListView() {\n await this.nameBtn.click();\n }\n\n async doesFirstItemInListViewHaveName(name: string) {\n await expect(this.listViewTableRow.first()).toContainText(name);\n }\n\n async doesListViewContainCount(count: number) {\n await expect(this.listViewTableRow).toHaveCount(count);\n }\n\n async selectContentWithNameInListView(name: string) {\n const contentInListViewLocator = this.listViewTableRow.filter({hasText: name});\n await expect(contentInListViewLocator).toBeVisible();\n await contentInListViewLocator.click();\n }\n\n async clickPublishSelectedListItems() {\n await this.publishSelectedListItems.click();\n }\n\n async clickUnpublishSelectedListItems() {\n await this.unpublishSelectedListItems.click();\n }\n\n async clickDuplicateToSelectedListItems() {\n await expect(this.duplicateToSelectedListItems).toBeVisible();\n // This force click is needed \n await this.duplicateToSelectedListItems.click({force: true});\n }\n\n async clickMoveToSelectedListItems() {\n await expect(this.moveToSelectedListItems).toBeVisible();\n // This force click is needed\n await this.moveToSelectedListItems.click({force: true});\n }\n\n async clickTrashSelectedListItems() {\n await this.trashSelectedListItems.click();\n }\n\n async selectDocumentWithNameAtRoot(name: string) {\n await this.clickCaretButtonForName('Content');\n const documentWithNameLocator = this.modalContent.getByLabel(name);\n await expect(documentWithNameLocator).toBeVisible();\n await documentWithNameLocator.click();\n await this.clickChooseButton();\n }\n\n async clickTrashButton() {\n await expect(this.trashBtn).toBeVisible();\n await this.trashBtn.click();\n }\n\n async clickExactTrashButton() {\n await this.exactTrashBtn.click();\n }\n\n async isDocumentListViewVisible(isVisible: boolean = true) {\n await expect(this.documentListView).toBeVisible({visible: isVisible});\n }\n\n async isDocumentGridViewVisible(isVisible: boolean = true) {\n await expect(this.documentGridView).toBeVisible({visible: isVisible});\n }\n\n async changeDocumentSectionLanguage(newLanguageName: string) {\n await this.documentLanguageSelect.click();\n const documentSectionLanguageLocator = this.documentLanguageSelectPopover.getByLabel(newLanguageName);\n await expect(documentSectionLanguageLocator).toBeVisible();\n // Force click is needed\n await documentSectionLanguageLocator.click({force: true});\n }\n\n async doesDocumentSectionHaveLanguageSelected(languageName: string) {\n await expect(this.documentLanguageSelect).toHaveText(languageName);\n }\n\n async isDocumentReadOnly(isVisible: boolean = true) {\n await expect(this.documentReadOnly).toBeVisible({visible: isVisible});\n }\n\n async isDocumentNameInputEditable(isEditable: boolean = true) {\n await expect(this.contentNameTxt).toBeVisible();\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.recycleBinMenuItem.hover();\n await expect(this.emptyRecycleBinBtn).toBeVisible();\n // Force click is needed\n await this.emptyRecycleBinBtn.click({force: true});\n }\n\n async clickConfirmEmptyRecycleBinButton() {\n await this.confirmEmptyRecycleBinBtn.click();\n }\n\n async isDocumentPropertyEditable(propertyName: string, isEditable: boolean = true) {\n const propertyLocator = this.documentWorkspace.locator('umb-property').filter({hasText: propertyName}).locator('#input');\n await expect(propertyLocator).toBeVisible();\n await expect(propertyLocator).toBeEditable({editable: isEditable});\n }\n\n async doesDocumentPropertyHaveValue(propertyName: string, value: string) {\n const propertyLocator = this.documentWorkspace.locator('umb-property').filter({hasText: propertyName}).locator('#input');\n await expect(propertyLocator).toHaveValue(value);\n }\n\n async isDocumentTreeEmpty() {\n await expect(this.documentTreeItem).toHaveCount(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 return expect(this.documentWorkspace).toContainText(text);\n }\n\n async enterDocumentBlueprintName(name: string) {\n await this.documentBlueprintModalEnterNameTxt.clear();\n await this.documentBlueprintModalEnterNameTxt.fill(name);\n }\n\n async clickSaveDocumentBlueprintButton() {\n await this.documentBlueprintSaveBtn.click();\n }\n\n async clickDuplicateToButton() {\n await this.duplicateToBtn.click();\n }\n\n async clickDuplicateButton() {\n await this.duplicateBtn.click();\n }\n\n async clickMoveToButton() {\n await this.moveToBtn.click();\n }\n\n async moveToContentWithName(parentNames: string[], moveTo: string) {\n await this.expandChildItemsForContent.click();\n for (const contentName of parentNames) {\n await this.container.getByLabel('Expand child items for ' + contentName).click();\n }\n await this.container.getByLabel(moveTo).click();\n await this.clickChooseContainerButton();\n }\n\n async isCaretButtonVisibleForContentName(contentName: string, isVisible: boolean = true) {\n await expect(this.page.locator('[label=\"' + contentName + '\"]').getByLabel('Expand child items for ')).toBeVisible({visible: isVisible});\n }\n\n async reloadContentTree() {\n await expect(this.contentTreeRefreshBtn).toBeVisible();\n // Force click is needed\n await this.contentTreeRefreshBtn.click({force: true});\n }\n\n async clickSortChildrenButton() {\n await this.sortChildrenBtn.click();\n }\n\n async clickRollbackButton() {\n await this.rollbackBtn.click();\n }\n\n async clickRollbackContainerButton() {\n await this.rollbackContainerBtn.click();\n }\n\n async clickLatestRollBackItem() {\n await this.rollbackItem.last().click();\n }\n\n async clickPublicAccessButton() {\n await this.publicAccessBtn.click();\n }\n\n async addGroupBasedPublicAccess(memberGroupName: string, documentName: string) {\n await this.groupBasedProtectionBtn.click();\n await this.nextBtn.click();\n await this.chooseMemberGroupBtn.click();\n await this.page.getByLabel(memberGroupName).click();\n await this.clickSubmitButton();\n await this.selectLoginPageDocument.click();\n await this.container.getByLabel(documentName, {exact: true}).click();\n await this.modalChooseBtn.click();\n await this.selectErrorPageDocument.click();\n await this.container.getByLabel(documentName, {exact: true}).click();\n await this.modalChooseBtn.click();\n await this.containerSaveBtn.click();\n }\n\n async sortChildrenDragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset: number = 0, horizontalOffset: number = 0, steps: number = 5) {\n await expect(dragFromSelector).toBeVisible();\n await expect(dragToSelector).toBeVisible();\n const targetLocation = await dragToSelector.boundingBox();\n const elementCenterX = targetLocation!.x + targetLocation!.width / 2;\n const elementCenterY = targetLocation!.y + targetLocation!.height / 2;\n await dragFromSelector.hover();\n await this.page.mouse.move(10, 10);\n await dragFromSelector.hover();\n await this.page.mouse.down();\n await this.page.waitForTimeout(400);\n await this.page.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, {steps: steps});\n await this.page.waitForTimeout(400);\n // If we do not have this, the drag and drop will not work\n await dragToSelector.hover();\n await this.page.mouse.up();\n }\n\n async clickSortButton() {\n await this.sortBtn.click();\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.uuiCheckbox.getByLabel(memberGroupName).click();\n }\n\n async isPermissionInActionsMenuVisible(permissionName: string, isVisible: boolean = true) {\n await expect(this.actionsMenu.getByRole('button', {\n name: permissionName,\n exact: true\n })).toBeVisible({visible: isVisible});\n }\n\n async clickLinkToDocumentButton() {\n await this.linkToDocumentBtn.click();\n }\n\n async clickLinkToMediaButton() {\n await this.linkToMediaBtn.click();\n }\n \n // Block Grid - Block List\n async clickAddBlockElementButton() {\n await this.addBlockElementBtn.click();\n }\n\n async isAddBlockElementButtonVisible(isVisible: boolean = true) {\n await expect(this.addBlockElementBtn).toBeVisible({visible: isVisible});\n }\n\n async isAddBlockElementButtonWithLabelVisible(label: string, isVisible: boolean = true) {\n await expect(this.addBlockElementBtn.getByLabel(label)).toBeVisible({visible: isVisible});\n }\n\n async doesFormValidationMessageContainText(text: string) {\n await expect(this.formValidationMessage).toContainText(text);\n }\n\n async doesBlockElementHaveName(name: string) {\n await expect(this.blockName).toContainText(name);\n }\n\n async clickAddBlockSettingsTabButton() {\n await this.addBlockSettingsTabBtn.click();\n }\n\n async clickEditBlockGridBlockButton() {\n await this.blockGridEntry.hover();\n await this.editBlockEntryBtn.click();\n }\n\n async clickDeleteBlockGridBlockButton() {\n await this.blockGridEntry.hover();\n await this.deleteBlockEntryBtn.click();\n }\n\n async clickEditBlockListBlockButton() {\n await this.blockListEntry.hover();\n await this.editBlockEntryBtn.click();\n }\n\n async clickDeleteBlockListBlockButton() {\n await this.blockListEntry.hover();\n await this.deleteBlockEntryBtn.click();\n }\n\n // TipTap\n async enterRTETipTapEditor(value: string) {\n await this.tipTapEditor.clear();\n await this.tipTapEditor.fill(value);\n }\n\n async clickTipTapToolbarIconWithTitle(iconTitle: string) {\n await this.tipTapPropertyEditor.getByTitle(iconTitle, {exact: true}).locator('svg').click();\n }\n\n async doesUploadedSvgThumbnailHaveSrc(imageSrc: string) {\n await expect(this.uploadedSvgThumbnail).toHaveAttribute('src', imageSrc);\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\";\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 openedModal: 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 publicationStatus: 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 addNewDomainBtn: Locator;\n private readonly domainTxt: Locator;\n private readonly domainLanguageDropdownBox: Locator;\n private readonly deleteDomainBtn: 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 domainComboBox: 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 markdownTxt: Locator;\n private readonly codeEditorTxt: Locator;\n private readonly sliderInput: Locator;\n private readonly tabItems: Locator;\n private readonly documentWorkspace: Locator;\n private readonly searchTxt: Locator;\n private readonly variantSelectorBtn: 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 modalChooseBtn: Locator;\n private readonly containerSaveBtn: Locator\n private readonly groupBasedProtectionBtn: Locator;\n private readonly nextBtn: Locator;\n private readonly chooseMemberGroupBtn: Locator;\n private readonly selectLoginPageDocument: Locator;\n private readonly selectErrorPageDocument: Locator;\n private readonly rollbackItem: Locator;\n private readonly expandChildItemsForContent: 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 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\n constructor(page: Page) {\n super(page);\n this.linkPickerModal = page.locator('umb-link-picker-modal');\n this.contentNameTxt = page.locator('#name-input input');\n this.saveAndPublishBtn = page.getByLabel('Save And Publish');\n this.publishBtn = page.getByLabel(/^Publish(\\.\\.\\.)?$/);\n this.unpublishBtn = page.getByLabel(/^Unpublish(\\.\\.\\.)?$/);\n this.actionMenuForContentBtn = page.locator('#header [label=\"Open actions menu\"]');\n this.openedModal = page.locator('uui-modal-container[backdrop]');\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.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.getByLabel('Enter a URL...', {exact: true});\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=\"Remove file(s)\"]');\n this.toggleBtn = page.locator('umb-property-editor-ui-toggle #slider');\n this.toggleInput = page.locator('umb-property-editor-ui-toggle #input');\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.markdownTxt = page.locator('umb-input-markdown textarea');\n this.codeEditorTxt = page.locator('umb-code-editor textarea');\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.variantSelectorBtn = page.locator('#variant-selector-toggle');\n this.variantAddModeBtn = page.locator('.variant-selector-switch-button.add-mode');\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.getByRole('tab', {name: 'Info'});\n this.linkContent = page.locator('.link-item');\n this.historyItems = page.locator('umb-history-item');\n this.generalItem = page.locator('.general-item');\n this.publicationStatus = this.generalItem.filter({hasText: 'Publication Status'}).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 // Culture and Hostname\n this.cultureAndHostnamesBtn = page.getByLabel(/^Culture and Hostnames(\\.\\.\\.)?$/);\n this.cultureLanguageDropdownBox = page.locator('[headline=\"Culture\"]').getByLabel('combobox-input');\n this.addNewDomainBtn = page.getByLabel('Add new domain');\n this.domainTxt = page.getByLabel('Domain', {exact: true});\n this.domainLanguageDropdownBox = page.locator('[headline=\"Domains\"]').getByLabel('combobox-input');\n this.deleteDomainBtn = page.locator('[headline=\"Domains\"] [name=\"icon-trash\"] svg');\n this.domainComboBox = page.locator('#domains uui-combobox');\n this.saveModalBtn = this.sidebarModal.getByLabel('Save', {exact: true});\n this.resetFocalPointBtn = this.page.getByLabel('Reset focal point');\n // List View\n this.enterNameInContainerTxt = this.container.getByLabel('Enter a name...');\n this.listView = page.locator('umb-document-table-collection-view');\n this.nameBtn = page.getByRole('button', {name: 'Name'});\n this.listViewTableRow = this.listView.locator('uui-table-row');\n this.publishSelectedListItems = page.getByRole('button', {name: /^Publish(\\.\\.\\.)?$/});\n this.unpublishSelectedListItems = page.getByRole('button', {name: /^Unpublish(\\.\\.\\.)?$/});\n this.duplicateToSelectedListItems = page.getByRole('button', {name: /^Duplicate to(\\.\\.\\.)?$/});\n this.moveToSelectedListItems = page.getByRole('button', {name: /^Move to(\\.\\.\\.)?$/});\n this.trashSelectedListItems = page.getByRole('button', {name: /^Trash(\\.\\.\\.)?$/});\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.getByLabel('Empty Recycle Bin');\n this.confirmEmptyRecycleBinBtn = this.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.modalChooseBtn = page.locator('umb-tree-picker-modal').getByLabel('Choose');\n this.containerSaveBtn = this.container.getByLabel('Save');\n this.groupBasedProtectionBtn = page.locator('span').filter({hasText: 'Group based protection'});\n this.nextBtn = page.getByLabel('Next');\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.expandChildItemsForContent = page.getByLabel('Expand child items for Content');\n this.actionsMenu = page.locator('uui-scroll-container');\n this.linkToDocumentBtn = this.linkPickerModal.getByLabel('Document', {exact: true});\n this.linkToMediaBtn = this.linkPickerModal.getByLabel('Media', {exact: true});\n this.linkToManualBtn = this.linkPickerModal.getByLabel('Manual', {exact: true});\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();\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.deleteBlockEntryBtn = page.locator('[label=\"delete\"] svg');\n this.blockGridEntry = page.locator('umb-block-grid-entry');\n this.blockListEntry = page.locator('umb-block-list-entry');\n // TipTap\n this.tipTapPropertyEditor = page.locator('umb-property-editor-ui-tiptap');\n this.tipTapEditor = this.tipTapPropertyEditor.locator('#editor .tiptap');\n this.uploadedSvgThumbnail = this.page.locator('umb-input-upload-field-svg img');\n }\n\n async enterContentName(name: string) {\n await expect(this.contentNameTxt).toBeVisible();\n await this.contentNameTxt.clear();\n await this.contentNameTxt.fill(name);\n }\n\n async clickSaveAndPublishButton() {\n await expect(this.saveAndPublishBtn).toBeVisible();\n await this.saveAndPublishBtn.click();\n }\n\n async clickActionsButton() {\n await this.actionsBtn.click();\n }\n\n async clickPublishButton() {\n await this.publishBtn.click();\n }\n\n async clickUnpublishButton() {\n await this.unpublishBtn.click();\n }\n\n async clickReloadChildrenThreeDotsButton() {\n await this.reloadChildrenThreeDotsBtn.click();\n }\n\n async clickActionsMenuAtRoot() {\n await this.actionMenuForContentBtn.click();\n }\n\n async goToContentWithName(contentName: string) {\n const contentWithNameLocator = this.menuItemTree.getByText(contentName, {exact: true});\n await expect(contentWithNameLocator).toBeVisible();\n await contentWithNameLocator.click();\n }\n\n async clickActionsMenuForContent(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickCaretButtonForContentName(name: string) {\n await expect(this.menuItemTree.filter({hasText: name}).last().locator('#caret-button').last()).toBeVisible();\n await this.menuItemTree.filter({hasText: name}).last().locator('#caret-button').last().click();\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 enterTextstring(text: string) {\n await expect(this.textstringTxt).toBeVisible();\n await this.textstringTxt.clear();\n await this.textstringTxt.fill(text);\n }\n\n async doesContentTreeHaveName(contentName: string) {\n await expect(this.contentTree).toContainText(contentName);\n }\n\n async enterRichTextArea(value: string) {\n await expect(this.richTextAreaTxt).toBeVisible();\n await this.richTextAreaTxt.fill(value);\n }\n\n async enterTextArea(value: string) {\n await expect(this.textAreaTxt).toBeVisible();\n await this.page.waitForTimeout(200);\n await this.textAreaTxt.clear();\n await this.textAreaTxt.fill(value);\n }\n\n async clickConfirmToUnpublishButton() {\n await this.confirmToUnpublishBtn.click();\n }\n\n async clickCreateDocumentBlueprintButton() {\n await this.createDocumentBlueprintBtn.click();\n }\n\n // Info Tab\n async clickInfoTab() {\n await expect(this.infoTab).toBeVisible();\n await this.infoTab.click();\n }\n\n async doesLinkHaveText(text: string) {\n await expect(this.linkContent).toHaveText(text);\n }\n\n async doesHistoryHaveText(text: string) {\n await expect(this.historyItems).toHaveText(text);\n }\n\n async doesPublicationStatusHaveText(text: string) {\n await expect(this.publicationStatus).toHaveText(text);\n }\n\n async doesCreatedDateHaveText(text: string) {\n await expect(this.createdDate).toHaveText(text);\n }\n\n async doesIdHaveText(text: string) {\n await expect(this.id).toHaveText(text);\n }\n\n async clickEditDocumentTypeButton() {\n await this.editDocumentTypeBtn.click();\n }\n\n async clickAddTemplateButton() {\n await this.addTemplateBtn.click();\n }\n\n async clickDocumentTypeByName(documentTypeName: string) {\n await this.page.locator('uui-ref-node-document-type[name=\"' + documentTypeName + '\"]').click();\n }\n\n async clickTemplateByName(templateName: string) {\n await this.page.locator('uui-ref-node[name=\"' + templateName + '\"]').click();\n }\n\n async isDocumentTypeModalVisible(documentTypeName: string) {\n await expect(this.documentTypeWorkspace.filter({hasText: documentTypeName})).toBeVisible();\n }\n\n async isTemplateModalVisible(templateName: string) {\n await expect(this.breadcrumbsTemplateModal.getByText(templateName)).toBeVisible();\n }\n\n async clickEditTemplateByName(templateName: string) {\n await this.page.locator('uui-ref-node[name=\"' + templateName + '\"]').getByLabel('Choose').click();\n }\n\n async changeTemplate(oldTemplate: string, newTemplate: string) {\n await this.clickEditTemplateByName(oldTemplate);\n await this.sidebarModal.getByLabel(newTemplate).click();\n await this.clickChooseModalButton();\n }\n\n async isTemplateNameDisabled(templateName: string) {\n await expect(this.sidebarModal.getByLabel(templateName)).toBeVisible();\n await expect(this.sidebarModal.getByLabel(templateName)).toBeDisabled();\n }\n\n // Culture and Hostnames\n async clickCultureAndHostnamesButton() {\n await this.cultureAndHostnamesBtn.click();\n }\n\n async selectCultureLanguageOption(option: string) {\n await expect(this.cultureLanguageDropdownBox).toBeVisible();\n await this.cultureLanguageDropdownBox.click();\n await expect(this.page.getByText(option, {exact: true})).toBeVisible();\n await this.page.getByText(option, {exact: true}).click();\n }\n\n async selectDomainLanguageOption(option: string, index: number = 0) {\n await this.domainLanguageDropdownBox.nth(index).click();\n await this.domainComboBox.nth(index).getByText(option).click();\n }\n\n async clickAddNewDomainButton() {\n await expect(this.addNewDomainBtn).toBeVisible();\n await this.addNewDomainBtn.click();\n }\n\n async enterDomain(value: string, index: number = 0) {\n await this.domainTxt.nth(index).clear();\n await this.domainTxt.nth(index).fill(value);\n }\n\n async clickDeleteDomainButton() {\n await this.deleteDomainBtn.first().click();\n }\n\n async clickSaveModalButton() {\n await this.saveModalBtn.click();\n }\n\n async chooseDocumentType(documentTypeName: string) {\n await this.documentTypeNode.filter({hasText: documentTypeName}).click();\n }\n\n // Approved Color\n async clickApprovedColorByValue(value: string) {\n await this.page.locator('uui-color-swatch[value=\"#' + value + '\"] #swatch').click();\n }\n\n // Checkbox list\n async chooseCheckboxListOption(optionValue: string) {\n await this.page.locator('uui-checkbox[value=\"' + optionValue + '\"] svg').click();\n }\n\n // Content Picker\n async addContentPicker(contentName: string) {\n await this.clickChooseButton();\n await this.sidebarModal.getByText(contentName).click();\n await this.chooseModalBtn.click();\n }\n\n async isOpenButtonVisibleInContentPicker(contentPickerName: string, isVisible: boolean = true) {\n return expect(this.page.getByLabel('Open ' + contentPickerName)).toBeVisible({visible: isVisible});\n }\n\n async clickContentPickerOpenButton(contentPickerName: string) {\n await this.page.getByLabel('Open ' + contentPickerName).click();\n }\n\n async isNodeOpenForContentPicker(contentPickerName: string) {\n return expect(this.openedModal.getByText(contentPickerName)).toBeVisible();\n }\n\n async isContentNameVisible(contentName: string, isVisible: boolean = true) {\n return expect(this.sidebarModal.getByText(contentName)).toBeVisible({visible: isVisible});\n }\n\n async isContentInTreeVisible(name: string, isVisible: boolean = true) {\n await expect(this.documentTreeItem.getByLabel(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async isChildContentInTreeVisible(parentName: string, childName: string, isVisible: boolean = true) {\n await expect(this.documentTreeItem.locator('[label=\"' + parentName + '\"]').getByLabel(childName)).toBeVisible({visible: isVisible});\n }\n\n async removeContentPicker(contentPickerName: string) {\n const contentPickerLocator = this.page.locator('[name=\"' + contentPickerName + '\"]');\n await contentPickerLocator.hover();\n await contentPickerLocator.getByLabel('Remove').click();\n await this.clickConfirmRemoveButton();\n }\n\n // Dropdown\n async chooseDropdownOption(optionValues: string[]) {\n await this.dropdown.selectOption(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.chooseMediaPickerBtn.click();\n }\n\n async clickChooseButtonAndSelectMediaWithName(mediaName: string) {\n await this.clickChooseMediaPickerButton();\n await this.selectMediaWithName(mediaName);\n }\n\n async removeMediaPickerByName(mediaPickerName: string) {\n await this.page.locator('[name=\"' + mediaPickerName + '\"] [label=\"Remove\"] svg').click();\n await this.clickConfirmRemoveButton();\n }\n\n async isMediaNameVisible(mediaName: string, isVisible: boolean = true) {\n return expect(this.mediaCardItems.filter({hasText: mediaName})).toBeVisible({visible: isVisible});\n }\n\n async clickResetFocalPointButton() {\n await this.resetFocalPointBtn.click();\n }\n\n async setFocalPoint(widthPercentage: number = 50, heightPercentage: number = 50) {\n await this.page.waitForTimeout(1000);\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(200);\n await this.page.mouse.move(centerX, centerY, {steps: 5});\n await this.page.waitForTimeout(200);\n await this.page.mouse.down();\n await this.page.waitForTimeout(200);\n await this.page.mouse.move(x, y);\n await this.page.waitForTimeout(200);\n await this.page.mouse.up();\n }\n\n // Member Picker\n async clickChooseMemberPickerButton() {\n await this.chooseMemberPickerBtn.click();\n }\n\n async selectMemberByName(memberName: string) {\n await this.sidebarModal.getByText(memberName, {exact: true}).click();\n }\n\n async removeMemberPickerByName(memberName: string) {\n await this.page.locator('[name=\"' + memberName + '\"]').getByLabel('Remove').click();\n await this.clickConfirmRemoveButton();\n }\n\n // Numeric\n async enterNumeric(number: number) {\n await this.numericTxt.clear();\n await this.numericTxt.fill(number.toString());\n }\n\n // Radiobox\n async chooseRadioboxOption(optionValue: string) {\n await this.page.locator('uui-radio[value=\"' + optionValue + '\"] #button').click();\n }\n\n // Tags\n async clickPlusIconButton() {\n await this.plusIconBtn.click();\n }\n\n async enterTag(tagName: string) {\n await this.enterTagTxt.fill(tagName);\n await this.enterTagTxt.press('Enter');\n }\n\n async removeTagByName(tagName: string) {\n await this.tagItems.filter({hasText: tagName}).locator('svg').click();\n }\n\n // Multi URL Picker\n async clickAddMultiURLPickerButton() {\n await this.addMultiURLPickerBtn.click();\n }\n\n async selectLinkByName(linkName: string) {\n await this.sidebarModal.getByText(linkName, {exact: true}).click();\n }\n\n async enterLink(value: string, toPress: boolean = false) {\n await this.linkTxt.clear();\n if (toPress) {\n await this.linkTxt.press(value);\n } else {\n await this.linkTxt.fill(value);\n }\n }\n\n async enterAnchorOrQuerystring(value: string, toPress: boolean = false) {\n await this.anchorQuerystringTxt.clear();\n if (toPress) {\n await this.anchorQuerystringTxt.press(value);\n } else {\n await this.anchorQuerystringTxt.fill(value);\n }\n }\n\n async enterLinkTitle(value: string, toPress: boolean = false) {\n await this.linkTitleTxt.clear();\n if (toPress) {\n await this.linkTitleTxt.press(value);\n } else {\n await this.linkTitleTxt.fill(value);\n }\n }\n\n async removeUrlPickerByName(linkName: string) {\n await this.page.locator('[name=\"' + linkName + '\"]').getByLabel('Remove').click();\n await this.clickConfirmRemoveButton();\n }\n\n async clickEditUrlPickerButtonByName(linkName: string) {\n await this.page.locator('[name=\"' + linkName + '\"]').getByLabel('Edit').click();\n }\n\n // Upload\n async clickRemoveFilesButton() {\n await this.removeFilesBtn.click();\n }\n\n // True/false\n async clickToggleButton() {\n await this.toggleBtn.click();\n }\n\n async doesToggleHaveLabel(label: string) {\n return await expect(this.toggleInput).toHaveAttribute('aria-label', label);\n }\n\n // Multiple Text String\n async clickAddMultipleTextStringButton() {\n await this.addMultipleTextStringBtn.click();\n }\n\n async enterMultipleTextStringValue(value: string) {\n await this.multipleTextStringValueTxt.clear();\n await this.multipleTextStringValueTxt.fill(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.codeEditorTxt.clear();\n await this.codeEditorTxt.fill(value);\n }\n\n // Markdown Editor\n async enterMarkdownEditorValue(value: string) {\n await this.markdownTxt.clear();\n await this.markdownTxt.fill(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 expect(this.sidebarModal.getByText(contentName)).toBeVisible({visible: isVisible});\n }\n\n async doesModalHaveText(text: string) {\n return expect(this.sidebarModal).toContainText(text);\n }\n\n // Collection tab\n async isTabNameVisible(tabName: string) {\n return expect(this.tabItems.filter({hasText: tabName})).toBeVisible();\n }\n\n async doesDocumentHaveName(name: string) {\n return expect(this.enterAName).toHaveValue(name);\n }\n\n async doesDocumentTableColumnNameValuesMatch(expectedValues: string[]) {\n await expect(this.documentListView).toBeVisible();\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.searchTxt.clear();\n await this.searchTxt.fill(keyword);\n await this.searchTxt.press('Enter');\n await this.page.waitForTimeout(500);\n }\n\n async clickVariantSelectorButton() {\n await this.variantSelectorBtn.click();\n }\n\n async clickVariantAddModeButton() {\n await this.variantAddModeBtn.first().click();\n await this.page.waitForTimeout(500);\n }\n\n async clickSaveAndCloseButton() {\n await this.saveAndCloseBtn.click();\n }\n\n // List View\n async clickCreateContentWithName(name: string) {\n await expect(this.page.getByLabel('Create ' + name)).toBeVisible();\n await this.page.getByLabel('Create ' + name).click();\n }\n\n async enterNameInContainer(name: string) {\n await expect(this.enterNameInContainerTxt).toBeVisible();\n await this.enterNameInContainerTxt.clear();\n await this.enterNameInContainerTxt.fill(name);\n }\n\n async goToContentInListViewWithName(contentName: string) {\n await this.listView.getByLabel(contentName).click();\n }\n\n async doesListViewHaveNoItemsInList() {\n await expect(this.listView.filter({hasText: 'There are no items to show in the list.'})).toBeVisible();\n }\n\n async doesContentListHaveNoItemsInList() {\n await expect(this.umbDocumentCollection.filter({hasText: 'No items'})).toBeVisible();\n }\n\n async clickNameButtonInListView() {\n await this.nameBtn.click();\n }\n\n async doesFirstItemInListViewHaveName(name: string) {\n await expect(this.listViewTableRow.first()).toContainText(name);\n }\n\n async doesListViewContainCount(count: number) {\n await expect(this.listViewTableRow).toHaveCount(count);\n }\n\n async selectContentWithNameInListView(name: string) {\n const contentInListViewLocator = this.listViewTableRow.filter({hasText: name});\n await expect(contentInListViewLocator).toBeVisible();\n await contentInListViewLocator.click();\n }\n\n async clickPublishSelectedListItems() {\n await this.publishSelectedListItems.click();\n }\n\n async clickUnpublishSelectedListItems() {\n await this.unpublishSelectedListItems.click();\n }\n\n async clickDuplicateToSelectedListItems() {\n await expect(this.duplicateToSelectedListItems).toBeVisible();\n // This force click is needed \n await this.duplicateToSelectedListItems.click({force: true});\n }\n\n async clickMoveToSelectedListItems() {\n await expect(this.moveToSelectedListItems).toBeVisible();\n // This force click is needed\n await this.moveToSelectedListItems.click({force: true});\n }\n\n async clickTrashSelectedListItems() {\n await this.trashSelectedListItems.click();\n }\n\n async selectDocumentWithNameAtRoot(name: string) {\n await this.clickCaretButtonForName('Content');\n const documentWithNameLocator = this.modalContent.getByLabel(name);\n await expect(documentWithNameLocator).toBeVisible();\n await documentWithNameLocator.click();\n await this.clickChooseButton();\n }\n\n async clickTrashButton() {\n await expect(this.trashBtn).toBeVisible();\n await this.trashBtn.click();\n }\n\n async clickExactTrashButton() {\n await this.exactTrashBtn.click();\n }\n\n async isDocumentListViewVisible(isVisible: boolean = true) {\n await expect(this.documentListView).toBeVisible({visible: isVisible});\n }\n\n async isDocumentGridViewVisible(isVisible: boolean = true) {\n await expect(this.documentGridView).toBeVisible({visible: isVisible});\n }\n\n async changeDocumentSectionLanguage(newLanguageName: string) {\n await this.documentLanguageSelect.click();\n const documentSectionLanguageLocator = this.documentLanguageSelectPopover.getByLabel(newLanguageName);\n await expect(documentSectionLanguageLocator).toBeVisible();\n // Force click is needed\n await documentSectionLanguageLocator.click({force: true});\n }\n\n async doesDocumentSectionHaveLanguageSelected(languageName: string) {\n await expect(this.documentLanguageSelect).toHaveText(languageName);\n }\n\n async isDocumentReadOnly(isVisible: boolean = true) {\n await expect(this.documentReadOnly).toBeVisible({visible: isVisible});\n }\n\n async isDocumentNameInputEditable(isEditable: boolean = true) {\n await expect(this.contentNameTxt).toBeVisible();\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.recycleBinMenuItem.hover();\n await expect(this.emptyRecycleBinBtn).toBeVisible();\n // Force click is needed\n await this.emptyRecycleBinBtn.click({force: true});\n }\n\n async clickConfirmEmptyRecycleBinButton() {\n await this.confirmEmptyRecycleBinBtn.click();\n }\n\n async isDocumentPropertyEditable(propertyName: string, isEditable: boolean = true) {\n const propertyLocator = this.documentWorkspace.locator('umb-property').filter({hasText: propertyName}).locator('#input');\n await expect(propertyLocator).toBeVisible();\n await expect(propertyLocator).toBeEditable({editable: isEditable});\n }\n\n async doesDocumentPropertyHaveValue(propertyName: string, value: string) {\n const propertyLocator = this.documentWorkspace.locator('umb-property').filter({hasText: propertyName}).locator('#input');\n await expect(propertyLocator).toHaveValue(value);\n }\n\n async isDocumentTreeEmpty() {\n await expect(this.documentTreeItem).toHaveCount(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 return expect(this.documentWorkspace).toContainText(text);\n }\n\n async enterDocumentBlueprintName(name: string) {\n await this.documentBlueprintModalEnterNameTxt.clear();\n await this.documentBlueprintModalEnterNameTxt.fill(name);\n }\n\n async clickSaveDocumentBlueprintButton() {\n await this.documentBlueprintSaveBtn.click();\n }\n\n async clickDuplicateToButton() {\n await this.duplicateToBtn.click();\n }\n\n async clickDuplicateButton() {\n await this.duplicateBtn.click();\n }\n\n async clickMoveToButton() {\n await this.moveToBtn.click();\n }\n\n async moveToContentWithName(parentNames: string[], moveTo: string) {\n await this.expandChildItemsForContent.click();\n for (const contentName of parentNames) {\n await this.container.getByLabel('Expand child items for ' + contentName).click();\n }\n await this.container.getByLabel(moveTo).click();\n await this.clickChooseContainerButton();\n }\n\n async isCaretButtonVisibleForContentName(contentName: string, isVisible: boolean = true) {\n await expect(this.page.locator('[label=\"' + contentName + '\"]').getByLabel('Expand child items for ')).toBeVisible({visible: isVisible});\n }\n\n async reloadContentTree() {\n await expect(this.contentTreeRefreshBtn).toBeVisible();\n // Force click is needed\n await this.contentTreeRefreshBtn.click({force: true});\n }\n\n async clickSortChildrenButton() {\n await expect(this.sortChildrenBtn).toBeVisible();\n await this.sortChildrenBtn.click();\n }\n\n async clickRollbackButton() {\n await expect(this.rollbackBtn).toBeVisible();\n await this.rollbackBtn.click();\n }\n\n async clickRollbackContainerButton() {\n await expect(this.rollbackContainerBtn).toBeVisible();\n await this.rollbackContainerBtn.click();\n }\n\n async clickLatestRollBackItem() {\n await expect(this.rollbackItem.last()).toBeVisible();\n await this.rollbackItem.last().click();\n }\n\n async clickPublicAccessButton() {\n await expect(this.publicAccessBtn).toBeVisible();\n await this.publicAccessBtn.click();\n }\n\n async addGroupBasedPublicAccess(memberGroupName: string, documentName: string) {\n await expect(this.groupBasedProtectionBtn).toBeVisible();\n await this.groupBasedProtectionBtn.click();\n await this.nextBtn.click();\n await this.chooseMemberGroupBtn.click();\n await this.page.getByLabel(memberGroupName).click();\n await this.clickSubmitButton();\n await this.selectLoginPageDocument.click();\n await this.container.getByLabel(documentName, {exact: true}).click();\n await this.modalChooseBtn.click();\n await this.selectErrorPageDocument.click();\n await this.container.getByLabel(documentName, {exact: true}).click();\n await this.modalChooseBtn.click();\n await this.containerSaveBtn.click();\n }\n\n async sortChildrenDragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset: number = 0, horizontalOffset: number = 0, steps: number = 5) {\n await expect(dragFromSelector).toBeVisible();\n await expect(dragToSelector).toBeVisible();\n const targetLocation = await dragToSelector.boundingBox();\n const elementCenterX = targetLocation!.x + targetLocation!.width / 2;\n const elementCenterY = targetLocation!.y + targetLocation!.height / 2;\n await dragFromSelector.hover();\n await this.page.mouse.move(10, 10);\n await dragFromSelector.hover();\n await this.page.mouse.down();\n await this.page.waitForTimeout(400);\n await this.page.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, {steps: steps});\n await this.page.waitForTimeout(400);\n // If we do not have this, the drag and drop will not work\n await dragToSelector.hover();\n await this.page.mouse.up();\n }\n\n async clickSortButton() {\n await expect(this.sortBtn).toBeVisible();\n await this.sortBtn.click();\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 expect(this.uuiCheckbox.getByLabel(memberGroupName)).toBeVisible();\n await this.uuiCheckbox.getByLabel(memberGroupName).click();\n }\n\n async isPermissionInActionsMenuVisible(permissionName: string, isVisible: boolean = true) {\n await expect(this.actionsMenu.getByRole('button', {\n name: permissionName,\n exact: true\n })).toBeVisible({visible: isVisible});\n }\n\n async clickDocumentLinkButton() {\n await expect(this.linkToDocumentBtn).toBeVisible();\n await this.linkToDocumentBtn.click();\n }\n\n async clickMediaLinkButton() {\n await expect(this.linkToMediaBtn).toBeVisible();\n await this.linkToMediaBtn.click();\n }\n\n async clickManualLinkButton() {\n await expect(this.linkToManualBtn).toBeVisible();\n await this.linkToManualBtn.click();\n }\n\n // Block Grid - Block List\n async clickAddBlockElementButton() {\n await expect(this.addBlockElementBtn).toBeVisible();\n await this.addBlockElementBtn.click();\n }\n\n async isAddBlockElementButtonVisible(isVisible: boolean = true) {\n await expect(this.addBlockElementBtn).toBeVisible({visible: isVisible});\n }\n\n async isAddBlockElementButtonWithLabelVisible(label: string, isVisible: boolean = true) {\n await expect(this.addBlockElementBtn.getByLabel(label)).toBeVisible({visible: isVisible});\n }\n\n async doesFormValidationMessageContainText(text: string) {\n await expect(this.formValidationMessage).toContainText(text);\n }\n\n async doesBlockElementHaveName(name: string) {\n await expect(this.blockName).toContainText(name);\n }\n\n async clickAddBlockSettingsTabButton() {\n await expect(this.addBlockSettingsTabBtn).toBeVisible();\n await this.addBlockSettingsTabBtn.click();\n }\n\n async clickEditBlockGridBlockButton() {\n await expect(this.blockGridEntry).toBeVisible();\n await this.blockGridEntry.hover();\n await expect(this.editBlockEntryBtn).toBeVisible();\n await this.editBlockEntryBtn.click();\n }\n\n async clickDeleteBlockGridBlockButton() {\n await expect(this.blockGridEntry).toBeVisible();\n await this.blockGridEntry.hover();\n await expect(this.deleteBlockEntryBtn).toBeVisible();\n await this.deleteBlockEntryBtn.click();\n }\n\n async clickEditBlockListBlockButton() {\n await expect(this.blockListEntry).toBeVisible();\n await this.blockListEntry.hover();\n await expect(this.editBlockEntryBtn).toBeVisible();\n await this.editBlockEntryBtn.click();\n }\n\n async clickDeleteBlockListBlockButton() {\n await expect(this.blockListEntry).toBeVisible();\n await this.blockListEntry.hover();\n await expect(this.deleteBlockEntryBtn).toBeVisible();\n await this.deleteBlockEntryBtn.click();\n }\n\n // TipTap\n async enterRTETipTapEditor(value: string) {\n await expect(this.tipTapEditor).toBeVisible();\n await this.tipTapEditor.clear();\n await this.tipTapEditor.fill(value);\n }\n\n async clickTipTapToolbarIconWithTitle(iconTitle: string) {\n await expect(this.tipTapPropertyEditor.getByTitle(iconTitle, {exact: true}).locator('svg')).toBeVisible();\n await this.tipTapPropertyEditor.getByTitle(iconTitle, {exact: true}).locator('svg').click();\n }\n\n async doesUploadedSvgThumbnailHaveSrc(imageSrc: string) {\n await expect(this.uploadedSvgThumbnail).toBeVisible();\n await expect(this.uploadedSvgThumbnail).toHaveAttribute('src', imageSrc);\n }\n}"]}
|