@umbraco/playwright-testhelpers 2.0.0-beta.43 → 2.0.0-beta.45
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/ApiHelpers.d.ts +2 -0
- package/dist/lib/helpers/ApiHelpers.js +3 -0
- package/dist/lib/helpers/ApiHelpers.js.map +1 -1
- package/dist/lib/helpers/ContentUiHelper.d.ts +58 -0
- package/dist/lib/helpers/ContentUiHelper.js +156 -0
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -0
- package/dist/lib/helpers/DocumentTypeApiHelper.js +1 -0
- package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +0 -14
- package/dist/lib/helpers/DocumentTypeUiHelper.js +0 -41
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeApiHelper.d.ts +9 -0
- package/dist/lib/helpers/MediaTypeApiHelper.js +190 -0
- package/dist/lib/helpers/MediaTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/RedirectManagementApiHelper.d.ts +10 -0
- package/dist/lib/helpers/RedirectManagementApiHelper.js +30 -0
- package/dist/lib/helpers/RedirectManagementApiHelper.js.map +1 -0
- package/dist/lib/helpers/RedirectManagementUiHelper.d.ts +15 -0
- package/dist/lib/helpers/RedirectManagementUiHelper.js +37 -0
- package/dist/lib/helpers/RedirectManagementUiHelper.js.map +1 -0
- package/dist/lib/helpers/TemplateUiHelper.js +2 -0
- package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +15 -2
- package/dist/lib/helpers/UiBaseLocators.js +55 -9
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UiHelpers.d.ts +4 -0
- package/dist/lib/helpers/UiHelpers.js +6 -0
- package/dist/lib/helpers/UiHelpers.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -85,6 +85,10 @@ export declare class UiBaseLocators {
|
|
|
85
85
|
readonly queryResults: Locator;
|
|
86
86
|
readonly reloadBtn: Locator;
|
|
87
87
|
readonly confirmToRemoveBtn: Locator;
|
|
88
|
+
private readonly propertySettingsModal;
|
|
89
|
+
private readonly typeGroups;
|
|
90
|
+
private readonly allowedChildNodesModal;
|
|
91
|
+
private readonly configureAsACollectionBtn;
|
|
88
92
|
readonly errorNotification: Locator;
|
|
89
93
|
readonly successNotification: Locator;
|
|
90
94
|
private readonly leftArrowBtn;
|
|
@@ -155,9 +159,9 @@ export declare class UiBaseLocators {
|
|
|
155
159
|
clickCreateButton(): Promise<void>;
|
|
156
160
|
clickAddButton(): Promise<void>;
|
|
157
161
|
clickNewFolderThreeDotsButton(): Promise<void>;
|
|
158
|
-
clickEditorSettingsButton(): Promise<void>;
|
|
162
|
+
clickEditorSettingsButton(index?: number): Promise<void>;
|
|
159
163
|
enterDescription(description: string): Promise<void>;
|
|
160
|
-
doesDescriptionHaveValue(value: string): Promise<void>;
|
|
164
|
+
doesDescriptionHaveValue(value: string, index?: number): Promise<void>;
|
|
161
165
|
clickStructureTab(): Promise<void>;
|
|
162
166
|
clickAllowAtRootButton(): Promise<void>;
|
|
163
167
|
clickIAmDoneReorderingButton(): Promise<void>;
|
|
@@ -173,6 +177,7 @@ export declare class UiBaseLocators {
|
|
|
173
177
|
searchForTypeToFilterValue(searchValue: string): Promise<void>;
|
|
174
178
|
addPropertyEditor(propertyEditorName: string, index?: number): Promise<void>;
|
|
175
179
|
updatePropertyEditor(propertyEditorName: string): Promise<void>;
|
|
180
|
+
enterPropertyEditorDescription(description: string): Promise<void>;
|
|
176
181
|
clickAddGroupButton(): Promise<void>;
|
|
177
182
|
enterGroupName(groupName: string, index?: number): Promise<void>;
|
|
178
183
|
doesGroupHaveValue(value: string): Promise<void>;
|
|
@@ -182,11 +187,19 @@ export declare class UiBaseLocators {
|
|
|
182
187
|
clickCreateLink(): Promise<void>;
|
|
183
188
|
insertSystemFieldValue(fieldValue: string): Promise<void>;
|
|
184
189
|
insertPartialView(partialViewName: string): Promise<void>;
|
|
190
|
+
deletePropertyEditorWithName(name: string): Promise<void>;
|
|
185
191
|
clickRenameButton(): Promise<void>;
|
|
186
192
|
clickDeleteAndConfirmButton(): Promise<void>;
|
|
187
193
|
clickQueryBuilderButton(): Promise<void>;
|
|
188
194
|
chooseRootContentInQueryBuilder(contentName: string): Promise<void>;
|
|
195
|
+
reorderTwoGroups(): Promise<{
|
|
196
|
+
firstGroupValue: string;
|
|
197
|
+
secondGroupValue: string;
|
|
198
|
+
}>;
|
|
199
|
+
clickAllowedChildNodesButton(): Promise<void>;
|
|
200
|
+
clickConfigureAsACollectionButton(): Promise<void>;
|
|
189
201
|
doesReturnedItemsHaveCount(itemCount: number): Promise<void>;
|
|
190
202
|
doesQueryResultHaveContentName(contentName: string): Promise<void>;
|
|
203
|
+
deleteGroup(groupName: string, forceClick?: boolean): Promise<void>;
|
|
191
204
|
clickLeftArrowButton(): Promise<void>;
|
|
192
205
|
}
|
|
@@ -89,6 +89,10 @@ class UiBaseLocators {
|
|
|
89
89
|
queryResults;
|
|
90
90
|
reloadBtn;
|
|
91
91
|
confirmToRemoveBtn;
|
|
92
|
+
propertySettingsModal;
|
|
93
|
+
typeGroups;
|
|
94
|
+
allowedChildNodesModal;
|
|
95
|
+
configureAsACollectionBtn;
|
|
92
96
|
errorNotification;
|
|
93
97
|
successNotification;
|
|
94
98
|
leftArrowBtn;
|
|
@@ -156,7 +160,7 @@ class UiBaseLocators {
|
|
|
156
160
|
this.deleteThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete...');
|
|
157
161
|
this.removeExactBtn = page.getByLabel('Remove', { exact: true });
|
|
158
162
|
this.confirmBtn = page.getByLabel('Confirm');
|
|
159
|
-
this.disableBtn = page.getByLabel('Disable');
|
|
163
|
+
this.disableBtn = page.getByLabel('Disable', { exact: true });
|
|
160
164
|
this.confirmDisableBtn = page.locator('#confirm').getByLabel('Disable');
|
|
161
165
|
this.enableBtn = page.getByLabel('Enable');
|
|
162
166
|
this.confirmEnableBtn = page.locator('#confirm').getByLabel('Enable');
|
|
@@ -176,8 +180,12 @@ class UiBaseLocators {
|
|
|
176
180
|
this.returnedItemsCount = page.locator('#results-count');
|
|
177
181
|
this.chooseRootContentBtn = page.getByLabel('Choose root document');
|
|
178
182
|
this.queryResults = page.locator('query-results');
|
|
179
|
-
this.reloadBtn = page.
|
|
183
|
+
this.reloadBtn = page.getByRole('button', { name: 'Reload' });
|
|
180
184
|
this.confirmToRemoveBtn = page.locator('#confirm').getByLabel('Remove');
|
|
185
|
+
this.propertySettingsModal = page.locator('umb-property-type-settings-modal');
|
|
186
|
+
this.typeGroups = page.locator('umb-content-type-design-editor-group');
|
|
187
|
+
this.allowedChildNodesModal = page.locator('umb-tree-picker-modal');
|
|
188
|
+
this.configureAsACollectionBtn = page.getByLabel('Configure as a collection');
|
|
181
189
|
this.errorNotification = page.locator('uui-toast-notification >> [color="danger"]');
|
|
182
190
|
this.successNotification = page.locator('uui-toast-notification >> [color="positive"]');
|
|
183
191
|
this.leftArrowBtn = page.locator('[name="icon-arrow-left"] svg');
|
|
@@ -429,13 +437,13 @@ class UiBaseLocators {
|
|
|
429
437
|
await this.page.getByRole('button', { name: name }).click({ force: true });
|
|
430
438
|
}
|
|
431
439
|
async isSuccessNotificationVisible() {
|
|
432
|
-
return await (0, test_1.expect)(this.successNotification).toBeVisible();
|
|
440
|
+
return await (0, test_1.expect)(this.successNotification.first()).toBeVisible();
|
|
433
441
|
}
|
|
434
442
|
async doesSuccessNotificationsHaveCount(count) {
|
|
435
443
|
return await (0, test_1.expect)(this.successNotification).toHaveCount(count);
|
|
436
444
|
}
|
|
437
445
|
async isErrorNotificationVisible() {
|
|
438
|
-
return await (0, test_1.expect)(this.errorNotification).toBeVisible();
|
|
446
|
+
return await (0, test_1.expect)(this.errorNotification.first()).toBeVisible();
|
|
439
447
|
}
|
|
440
448
|
async clickCreateThreeDotsButton() {
|
|
441
449
|
await this.createThreeDotsBtn.click();
|
|
@@ -451,14 +459,14 @@ class UiBaseLocators {
|
|
|
451
459
|
async clickNewFolderThreeDotsButton() {
|
|
452
460
|
await this.newFolderThreeDotsBtn.click();
|
|
453
461
|
}
|
|
454
|
-
clickEditorSettingsButton() {
|
|
455
|
-
return this.editorSettingsBtn.click();
|
|
462
|
+
async clickEditorSettingsButton(index = 0) {
|
|
463
|
+
return this.editorSettingsBtn.nth(index).click();
|
|
456
464
|
}
|
|
457
465
|
async enterDescription(description) {
|
|
458
466
|
await this.enterDescriptionTxt.fill(description);
|
|
459
467
|
}
|
|
460
|
-
async doesDescriptionHaveValue(value) {
|
|
461
|
-
return await (0, test_1.expect)(this.descriptionBtn).toHaveValue(value);
|
|
468
|
+
async doesDescriptionHaveValue(value, index = 0) {
|
|
469
|
+
return await (0, test_1.expect)(this.descriptionBtn.nth(index)).toHaveValue(value);
|
|
462
470
|
}
|
|
463
471
|
async clickStructureTab() {
|
|
464
472
|
await this.page.waitForTimeout(1000);
|
|
@@ -503,6 +511,7 @@ class UiBaseLocators {
|
|
|
503
511
|
await this.typeToFilterSearchTxt.fill(searchValue);
|
|
504
512
|
}
|
|
505
513
|
async addPropertyEditor(propertyEditorName, index = 0) {
|
|
514
|
+
await (0, test_1.expect)(this.addPropertyBtn.nth(index)).toBeVisible();
|
|
506
515
|
await this.addPropertyBtn.nth(index).click({ force: true });
|
|
507
516
|
await this.enterAPropertyName(propertyEditorName);
|
|
508
517
|
await (0, test_1.expect)(this.propertyNameTxt).toHaveValue(propertyEditorName);
|
|
@@ -519,12 +528,16 @@ class UiBaseLocators {
|
|
|
519
528
|
await this.enterAPropertyName(propertyEditorName);
|
|
520
529
|
await this.clickUpdateButton();
|
|
521
530
|
}
|
|
531
|
+
async enterPropertyEditorDescription(description) {
|
|
532
|
+
await this.propertySettingsModal.locator(this.enterDescriptionTxt).fill(description);
|
|
533
|
+
}
|
|
522
534
|
async clickAddGroupButton() {
|
|
523
535
|
await this.addGroupBtn.click();
|
|
524
536
|
}
|
|
525
537
|
async enterGroupName(groupName, index = 0) {
|
|
526
|
-
const groupNameTxt = this.page.getByLabel('Group
|
|
538
|
+
const groupNameTxt = this.page.getByLabel('Group', { exact: true }).nth(index);
|
|
527
539
|
await (0, test_1.expect)(groupNameTxt).toBeVisible();
|
|
540
|
+
await groupNameTxt.clear();
|
|
528
541
|
await groupNameTxt.fill(groupName);
|
|
529
542
|
}
|
|
530
543
|
async doesGroupHaveValue(value) {
|
|
@@ -577,6 +590,13 @@ class UiBaseLocators {
|
|
|
577
590
|
await this.page.getByLabel(partialViewName).click();
|
|
578
591
|
await this.chooseBtn.click();
|
|
579
592
|
}
|
|
593
|
+
async deletePropertyEditorWithName(name) {
|
|
594
|
+
// We need to hover over the Property Editor to make the delete button visible
|
|
595
|
+
const propertyEditor = this.page.locator('umb-content-type-design-editor-property', { hasText: name });
|
|
596
|
+
await propertyEditor.hover();
|
|
597
|
+
await propertyEditor.getByLabel('Delete').click({ force: true });
|
|
598
|
+
await this.clickConfirmToDeleteButton();
|
|
599
|
+
}
|
|
580
600
|
async clickRenameButton() {
|
|
581
601
|
await this.renameBtn.click();
|
|
582
602
|
}
|
|
@@ -594,12 +614,38 @@ class UiBaseLocators {
|
|
|
594
614
|
await this.page.getByText(contentName).click();
|
|
595
615
|
await this.chooseBtn.click();
|
|
596
616
|
}
|
|
617
|
+
async reorderTwoGroups() {
|
|
618
|
+
const firstGroup = this.typeGroups.nth(0);
|
|
619
|
+
const secondGroup = this.typeGroups.nth(1);
|
|
620
|
+
const firstGroupValue = await firstGroup.getByLabel('Group', { exact: true }).inputValue();
|
|
621
|
+
const secondGroupValue = await secondGroup.getByLabel('Group', { exact: true }).inputValue();
|
|
622
|
+
const dragToLocator = firstGroup.locator('[name="icon-navigation"]').first();
|
|
623
|
+
const dragFromLocator = secondGroup.locator('[name="icon-navigation"]').first();
|
|
624
|
+
await this.dragAndDrop(dragFromLocator, dragToLocator, 0, 0, 10);
|
|
625
|
+
return { firstGroupValue, secondGroupValue };
|
|
626
|
+
}
|
|
627
|
+
async clickAllowedChildNodesButton() {
|
|
628
|
+
await this.allowedChildNodesModal.locator(this.chooseBtn).click();
|
|
629
|
+
}
|
|
630
|
+
async clickConfigureAsACollectionButton() {
|
|
631
|
+
await this.configureAsACollectionBtn.click();
|
|
632
|
+
}
|
|
597
633
|
async doesReturnedItemsHaveCount(itemCount) {
|
|
598
634
|
await (0, test_1.expect)(this.returnedItemsCount).toContainText(itemCount.toString() + ' items returned');
|
|
599
635
|
}
|
|
600
636
|
async doesQueryResultHaveContentName(contentName) {
|
|
601
637
|
await (0, test_1.expect)(this.queryBuilderShowCode).toContainText(contentName);
|
|
602
638
|
}
|
|
639
|
+
async deleteGroup(groupName, forceClick = false) {
|
|
640
|
+
await this.page.waitForTimeout(1000);
|
|
641
|
+
const groups = this.page.locator('umb-content-type-design-editor-group').all();
|
|
642
|
+
for (const group of await groups) {
|
|
643
|
+
if (await group.getByLabel('Group', { exact: true }).inputValue() === groupName) {
|
|
644
|
+
await group.locator('[slot="header-actions"]').getByLabel('Delete').click({ force: forceClick });
|
|
645
|
+
return;
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
}
|
|
603
649
|
async clickLeftArrowButton() {
|
|
604
650
|
await this.leftArrowBtn.click();
|
|
605
651
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiBaseLocators.js","sourceRoot":"","sources":["../../../lib/helpers/UiBaseLocators.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page} from \"@playwright/test\"\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class UiBaseLocators {\n public readonly page: Page;\n public readonly saveBtn: Locator;\n public readonly chooseBtn: Locator;\n public readonly submitBtn: Locator;\n public readonly createFolderBtn: Locator;\n public readonly breadcrumbBtn: Locator;\n public readonly deleteBtn: Locator;\n public readonly confirmToDeleteBtn: Locator;\n public readonly deleteLabelBtn: Locator;\n public readonly deleteExactLabelBtn: Locator;\n public readonly deleteExactBtn: Locator;\n public readonly confirmCreateFolderBtn: Locator;\n public readonly insertBtn: Locator;\n public readonly modalCaretBtn: Locator;\n public readonly queryBuilderBtn: Locator;\n public readonly queryBuilderOrderedBy: Locator;\n public readonly queryBuilderCreateDate: Locator;\n public readonly folderNameTxt: Locator;\n public readonly textAreaInputArea: Locator;\n public readonly wherePropertyAliasBtn: Locator;\n public readonly whereOperatorBtn: Locator;\n public readonly whereConstrainValueTxt: Locator;\n public readonly orderByPropertyAliasBtn: Locator;\n public readonly ascendingBtn: Locator;\n public readonly queryBuilderShowCode: Locator;\n public readonly createThreeDotsBtn: Locator;\n public readonly newFolderThreeDotsBtn: Locator;\n public readonly renameThreeDotsBtn: Locator;\n public readonly newNameTxt: Locator;\n public readonly renameModalBtn: Locator;\n public readonly createBtn: Locator;\n public readonly successState: Locator;\n public readonly chooseModalBtn: Locator;\n public readonly addBtn: Locator;\n public readonly renameFolderThreeDotsBtn: Locator;\n public readonly renameFolderBtn: Locator;\n public readonly updateFolderBtn: Locator;\n public readonly filterChooseBtn: Locator;\n public readonly updateBtn: Locator;\n public readonly changeBtn: Locator;\n public readonly propertyNameTxt: Locator;\n public readonly selectPropertyEditorBtn: Locator;\n public readonly addGroupBtn: Locator;\n public readonly iAmDoneReorderingBtn: Locator;\n public readonly reorderBtn: Locator;\n public readonly compositionsBtn: Locator;\n public readonly addTabBtn: Locator;\n public readonly descriptionBtn: Locator;\n public readonly enterDescriptionTxt: Locator;\n public readonly mandatorySlider: Locator;\n public readonly validation: Locator;\n public readonly regexTxt: Locator;\n public readonly regexMessageTxt: Locator;\n public readonly structureTabBtn: Locator;\n public readonly allowAtRootBtn: Locator;\n public readonly addPropertyBtn: Locator;\n public readonly typeToFilterSearchTxt: Locator;\n public readonly editorSettingsBtn: Locator;\n public readonly labelOnTopBtn: Locator;\n public readonly unnamedTxt: Locator;\n public readonly deleteThreeDotsBtn: Locator;\n public readonly removeExactBtn: Locator;\n public readonly confirmBtn: Locator;\n public readonly disableBtn: Locator;\n public readonly confirmDisableBtn: Locator;\n public readonly enableBtn: Locator;\n public readonly confirmEnableBtn: Locator;\n public readonly iconBtn: Locator;\n public readonly aliasLockBtn: Locator;\n public readonly aliasNameTxt: Locator;\n public readonly deleteFolderThreeDotsBtn: Locator;\n public readonly createLink: Locator;\n public readonly insertValueBtn: Locator;\n public readonly insertPartialViewBtn: Locator;\n public readonly insertDictionaryItemBtn: Locator;\n public readonly chooseFieldDropDown: Locator;\n public readonly systemFieldsOption: Locator;\n public readonly chooseFieldValueDropDown: Locator;\n public readonly renameBtn: Locator;\n public readonly deleteFolderBtn: Locator;\n public readonly returnedItemsCount: Locator;\n public readonly chooseRootContentBtn: Locator;\n public readonly queryResults: Locator;\n public readonly reloadBtn: Locator;\n public readonly confirmToRemoveBtn: Locator;\n public readonly errorNotification: Locator;\n public readonly successNotification: Locator;\n private readonly leftArrowBtn: Locator;\n\n constructor(page: Page) {\n this.page = page;\n this.saveBtn = page.getByLabel('Save', {exact: true});\n this.submitBtn = page.getByLabel('Submit');\n this.deleteExactLabelBtn = page.getByLabel('Delete', {exact: true});\n this.deleteExactBtn = page.getByRole('button', {name: 'Delete', exact: true});\n this.deleteLabelBtn = page.getByLabel('Delete');\n this.deleteBtn = page.getByRole('button', {name: 'Delete'});\n this.confirmToDeleteBtn = page.locator('#confirm').getByLabel('Delete');\n this.confirmCreateFolderBtn = page.locator('#confirm').getByLabel('Create Folder');\n this.breadcrumbBtn = page.getByLabel('Breadcrumb');\n this.createFolderBtn = page.getByLabel('Create folder');\n this.insertBtn = page.locator('uui-box uui-button').filter({hasText: 'Insert'});\n this.modalCaretBtn = page.locator('uui-modal-sidebar').locator('#caret-button');\n this.queryBuilderBtn = page.locator('#query-builder-button').getByLabel('Query builder');\n this.queryBuilderOrderedBy = page.locator('#property-alias-dropdown').getByLabel('Property alias');\n this.queryBuilderCreateDate = page.locator('#property-alias-dropdown').getByText('CreateDate').locator(\"..\");\n this.folderNameTxt = page.getByRole('textbox', {name: 'Enter folder name...'});\n this.textAreaInputArea = page.locator('textarea.inputarea');\n this.wherePropertyAliasBtn = page.locator('#property-alias-dropdown');\n this.whereOperatorBtn = page.locator('#operator-dropdown');\n this.whereConstrainValueTxt = page.getByLabel('constrain value');\n this.orderByPropertyAliasBtn = page.locator('#sort-dropdown');\n this.ascendingBtn = page.locator('[key=\"template_ascending\"]');\n this.queryBuilderShowCode = page.locator('umb-code-block');\n this.createThreeDotsBtn = page.getByText('Create...', {exact: true});\n this.chooseBtn = page.getByLabel('Choose', {exact: true});\n this.newFolderThreeDotsBtn = page.getByLabel('New Folder...');\n this.renameThreeDotsBtn = page.getByLabel('Rename...', {exact: true});\n this.newNameTxt = page.getByRole('textbox', {name: 'Enter new name...'});\n this.renameModalBtn = page.locator('umb-rename-modal').getByLabel('Rename');\n this.createBtn = page.getByText('Create', {exact: true});\n this.successState = page.locator('[state=\"success\"]');\n this.chooseModalBtn = page.locator('umb-tree-picker-modal').getByLabel('Choose');\n this.addBtn = page.getByLabel('Add', {exact: true});\n this.renameFolderThreeDotsBtn = page.getByLabel('Rename Folder...');\n this.renameFolderBtn = page.getByLabel('Rename folder');\n this.updateFolderBtn = page.getByLabel('Update Folder');\n this.filterChooseBtn = page.locator('button').filter({hasText: 'Choose'});\n this.updateBtn = page.getByLabel('Update');\n this.changeBtn = page.getByLabel('Change');\n this.propertyNameTxt = page.locator('#name-input #input');\n this.selectPropertyEditorBtn = page.getByLabel('Select Property Editor');\n this.addGroupBtn = page.getByLabel('Add group', {exact: true});\n this.iAmDoneReorderingBtn = page.getByLabel('I am done reordering');\n this.reorderBtn = page.getByLabel('Reorder');\n this.compositionsBtn = page.getByLabel('Compositions');\n this.addTabBtn = page.getByLabel('Add tab');\n this.descriptionBtn = page.getByLabel('Description');\n this.enterDescriptionTxt = page.getByRole('textbox', {name: 'description'});\n this.mandatorySlider = page.locator('#mandatory #slider');\n this.validation = page.locator('#native');\n this.regexTxt = page.locator('input[name=\"pattern\"]');\n this.regexMessageTxt = page.locator('textarea[name=\"pattern-message\"]');\n this.structureTabBtn = page.locator('uui-tab').filter({hasText: 'Structure'}).locator('svg');\n this.allowAtRootBtn = page.locator('label').filter({hasText: 'Allow at root'});\n this.addPropertyBtn = page.getByLabel('Add property', {exact: true});\n this.typeToFilterSearchTxt = page.locator('[type=\"search\"] #input');\n this.editorSettingsBtn = page.getByLabel('Editor settings');\n this.labelOnTopBtn = page.getByRole('button', {name: 'Label on top'});\n this.unnamedTxt = page.getByRole('textbox', {name: 'Unnamed'});\n this.deleteThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete...');\n this.removeExactBtn = page.getByLabel('Remove', {exact: true});\n this.confirmBtn = page.getByLabel('Confirm');\n this.disableBtn = page.getByLabel('Disable');\n this.confirmDisableBtn = page.locator('#confirm').getByLabel('Disable');\n this.enableBtn = page.getByLabel('Enable');\n this.confirmEnableBtn = page.locator('#confirm').getByLabel('Enable');\n this.iconBtn = page.getByLabel('icon');\n this.aliasLockBtn = page.locator('#name #alias-lock');\n this.aliasNameTxt = page.locator('#name').getByLabel('alias');\n this.deleteFolderThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete Folder...');\n this.createLink = page.getByRole('link', {name: 'Create'});\n this.insertValueBtn = page.locator('uui-button').filter({has: page.locator('[key=\"template_insertPageField\"]')});\n this.insertPartialViewBtn = page.locator('uui-button').filter({has: page.locator('[key=\"template_insertPartialView\"]')});\n this.insertDictionaryItemBtn = page.locator('uui-button').filter({has: page.locator('[key=\"template_insertDictionaryItem\"]')});\n this.chooseFieldDropDown = page.locator('#preview #expand-symbol-wrapper');\n this.systemFieldsOption = page.getByText('System fields');\n this.chooseFieldValueDropDown = page.locator('#value #expand-symbol-wrapper');\n this.renameBtn = page.locator('#action-modal').getByLabel('Rename');\n this.deleteFolderBtn = page.locator('#action-modal').getByLabel('Delete folder');\n this.returnedItemsCount = page.locator('#results-count');\n this.chooseRootContentBtn = page.getByLabel('Choose root document');\n this.queryResults = page.locator('query-results');\n this.reloadBtn = page.getByLabel('Reload');\n this.confirmToRemoveBtn = page.locator('#confirm').getByLabel('Remove');\n this.errorNotification = page.locator('uui-toast-notification >> [color=\"danger\"]');\n this.successNotification = page.locator('uui-toast-notification >> [color=\"positive\"]');\n this.leftArrowBtn = page.locator('[name=\"icon-arrow-left\"] svg');\n }\n\n async clickActionsMenuForName(name: string) {\n await this.page.locator('[label=\"' + name + '\"] >> [label=\"Open actions menu\"]').first().click({force: true});\n }\n\n async clickCaretButtonForName(name: string) {\n await this.page.locator('div').filter({hasText: name}).locator('#caret-button').click();\n }\n\n async clickCaretButton() {\n await this.page.locator('#caret-button').click();\n }\n\n async reloadTree(treeName: string) {\n // Waits until the tree item is visible\n await expect(this.page.getByLabel(treeName, {exact: true})).toBeVisible();\n await this.page.waitForTimeout(500);\n await this.clickActionsMenuForName(treeName);\n await this.clickReloadButton();\n\n const menuItem = this.page.locator('uui-menu-item[label=\"' + treeName + '\"]');\n const isCaretButtonOpen = await menuItem.getAttribute('show-children');\n\n if (isCaretButtonOpen === null) {\n // We need to wait before clicking the caret button. Because the reload might not have happend yet. \n // await this.page.waitForTimeout(500);\n await this.clickCaretButtonForName(treeName);\n }\n }\n\n async clickReloadButton() {\n await this.reloadBtn.click();\n }\n\n async clickSaveButton() {\n // This wait is necessary to avoid the save button is ignored\n await this.page.waitForTimeout(500);\n await expect(this.saveBtn).toBeVisible();\n await this.saveBtn.click();\n }\n\n async clickChooseButton() {\n await this.chooseBtn.click();\n }\n\n async clickFilterChooseButton() {\n await this.filterChooseBtn.click();\n }\n\n async clickRenameFolderThreeDotsButton() {\n await this.renameFolderThreeDotsBtn.click();\n }\n\n async clickRenameFolderButton() {\n await this.renameFolderBtn.click();\n }\n\n async clickUpdateFolderButton() {\n await this.updateFolderBtn.click();\n }\n\n async clickUpdateButton() {\n await this.updateBtn.click();\n }\n\n async clickSubmitButton() {\n await expect(this.submitBtn).toBeVisible();\n await this.submitBtn.click();\n }\n\n async clickChangeButton() {\n await this.changeBtn.click();\n }\n\n async clickExactLinkWithName(name: string) {\n await this.page.getByRole('link', {name: name, exact: true}).click();\n }\n\n async enterAliasName(aliasName: string) {\n // Unlocks alias\n await this.aliasLockBtn.click();\n await this.aliasNameTxt.clear();\n await this.aliasNameTxt.fill(aliasName);\n }\n\n async updateIcon(iconName: string) {\n await this.iconBtn.click({force: true});\n await this.searchForTypeToFilterValue(iconName);\n await this.clickLabelWithName(iconName, true);\n await this.clickSubmitButton();\n }\n\n async clickTextButtonWithName(name: string) {\n await expect(this.page.getByText(name, {exact: true})).toBeVisible();\n await this.page.getByText(name, {exact: true}).click();\n }\n\n async clickSelectPropertyEditorButton() {\n await expect(this.selectPropertyEditorBtn).toBeVisible();\n await this.selectPropertyEditorBtn.click();\n }\n\n async clickCreateFolderButton() {\n await this.createFolderBtn.click();\n }\n\n async enterAPropertyName(name: string) {\n await expect(this.propertyNameTxt).toBeVisible();\n await this.propertyNameTxt.fill(name);\n }\n\n async clickConfirmButton() {\n await this.confirmBtn.click();\n }\n\n async clickBreadcrumbButton() {\n await this.breadcrumbBtn.click();\n }\n\n async clickInsertButton() {\n await expect(this.insertBtn).toBeVisible();\n await this.insertBtn.click();\n }\n\n async clickDeleteButton() {\n await this.deleteBtn.click();\n }\n\n async clickConfirmToDeleteButton() {\n await this.confirmToDeleteBtn.click();\n }\n\n async clickDeleteFolderButton() {\n await this.deleteFolderBtn.click();\n }\n\n async clickConfirmCreateFolderButton() {\n await this.confirmCreateFolderBtn.click();\n }\n\n async clickDeleteThreeDotsButton() {\n await this.deleteThreeDotsBtn.click();\n }\n\n async clickRemoveExactButton() {\n await this.removeExactBtn.click();\n }\n\n async clickRemoveButtonForName(name: string) {\n await this.page.locator('[name=\"' + name + '\"] [Label=\"Remove\"]').click();\n }\n\n async clickTrashIconButtonForName(name: string) {\n await this.page.locator('[name=\"' + name + '\"] [name=\"icon-trash\"]').click();\n }\n\n async clickRemoveWithName(name: string) {\n await this.page.getByLabel('Remove ' + name).click();\n }\n\n async clickDisableButton() {\n await this.disableBtn.click();\n }\n\n async clickConfirmDisableButton() {\n await this.confirmDisableBtn.click();\n }\n\n async clickConfirmRemoveButton() {\n await this.confirmToRemoveBtn.click();\n }\n\n async clickEnableButton() {\n await this.enableBtn.click();\n }\n\n async clickConfirmEnableButton() {\n await this.confirmEnableBtn.click();\n }\n\n async insertDictionaryItem(dictionaryName: string) {\n await this.clickInsertButton();\n await expect(this.insertDictionaryItemBtn).toBeVisible();\n await this.insertDictionaryItemBtn.click();\n await expect(this.page.getByLabel(dictionaryName)).toBeVisible();\n await this.page.getByLabel(dictionaryName).click();\n await this.chooseBtn.click();\n }\n\n async addQueryBuilderWithOrderByStatement(propertyAlias: string, isAscending: boolean) {\n await expect(this.queryBuilderBtn).toBeVisible({timeout: 10000});\n await this.queryBuilderBtn.click({force: true});\n await expect(this.orderByPropertyAliasBtn).toBeVisible();\n await this.orderByPropertyAliasBtn.click({force: true});\n // Wait and choose property alias option \n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Click to acending button if isAcsending is false\n if (!isAscending) {\n await this.ascendingBtn.click({force: true});\n }\n }\n\n async addQueryBuilderWithWhereStatement(propertyAlias: string, operator: string, constrainValue: string) {\n await expect(this.queryBuilderBtn).toBeVisible({timeout: 10000});\n await this.queryBuilderBtn.click({force: true});\n // Wait and choose property alias\n await expect(this.wherePropertyAliasBtn).toBeVisible();\n await this.wherePropertyAliasBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Wait and choose operator\n await expect(this.whereOperatorBtn).toBeVisible();\n await this.whereOperatorBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(operator);\n // Wait and choose constrain value and press Enter\n await expect(this.whereConstrainValueTxt).toBeVisible();\n await this.whereConstrainValueTxt.clear();\n await this.whereConstrainValueTxt.fill(constrainValue);\n await this.whereConstrainValueTxt.press('Enter');\n }\n\n async waitAndSelectQueryBuilderDropDownList(option: string) {\n const ddlOption = this.page.locator('[open]').locator('uui-combobox-list-option').filter({hasText: option}).first();\n await expect(ddlOption).toBeVisible({timeout: 10000});\n await ddlOption.click();\n }\n\n async createFolder(folderName: string) {\n await this.clickCreateButton();\n await this.clickNewFolderThreeDotsButton();\n await this.enterFolderName(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n\n async deletePropertyEditor(propertyEditorName: string) {\n // We need to hover over the property to be able to see the delete button\n await this.page.locator('uui-button').filter({hasText: propertyEditorName}).getByLabel('Editor settings').hover();\n await this.deleteLabelBtn.click({force: true});\n }\n\n async enterFolderName(folderName: string) {\n await this.folderNameTxt.clear();\n await this.folderNameTxt.fill(folderName);\n }\n\n async isTextWithExactNameVisible(name: string, isVisible = true) {\n return expect(this.page.getByText(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async isQueryBuilderCodeShown(code: string) {\n await expect(this.queryBuilderShowCode).toBeVisible();\n await this.queryBuilderShowCode.click();\n await expect(this.queryBuilderShowCode).toContainText(code, {timeout: 10000});\n }\n\n async deleteFolder() {\n await this.clickDeleteFolderButton();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickDeleteExactLabel(forceClick = false) {\n await this.deleteExactLabelBtn.click({force: forceClick});\n }\n\n async clickDeleteExactButton(forceClick = false) {\n await this.deleteExactBtn.click({force: forceClick});\n }\n\n async isTreeItemVisible(name: string, isVisible = true) {\n await expect(this.page.locator('umb-tree-item').locator('[label=\"' + name + '\"]')).toBeVisible({visible: isVisible});\n }\n\n async doesTreeItemHaveTheCorrectIcon(name: string, icon: string) {\n return await expect(this.page.locator('umb-tree-item').filter({hasText: name}).locator('umb-icon').locator('[name=\"' + icon + '\"]')).toBeVisible();\n }\n\n async goToSection(sectionName: string) {\n for (let section in ConstantHelper.sections) {\n await expect(this.page.getByRole('tab', {name: ConstantHelper.sections[section]})).toBeVisible({timeout: 30000});\n }\n await this.page.getByRole('tab', {name: sectionName}).click();\n }\n\n async goToSettingsTreeItem(settingsTreeItemName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.page.getByLabel(settingsTreeItemName).click();\n }\n\n async clickDataElement(elementName: string, options: any = null) {\n await this.page.click(`[data-element=\"${elementName}\"]`, options);\n }\n\n async getDataElement(elementName: string) {\n return this.page.locator(`[data-element=\"${elementName}\"]`);\n }\n\n async isButtonWithNameVisible(name: string) {\n await expect(this.page.getByRole('button', {name: name})).toBeVisible();\n }\n\n async clickLabelWithName(name: string, toForceClick = false) {\n await expect(this.page.getByLabel(name)).toBeVisible();\n await this.page.getByLabel(name).click({force: toForceClick});\n }\n\n async clickButtonWithName(name: string) {\n await this.page.getByRole('button', {name: name}).click({force: true});\n }\n\n async isSuccessNotificationVisible() {\n return await expect(this.successNotification).toBeVisible();\n }\n\n async doesSuccessNotificationsHaveCount(count: number) {\n return await expect(this.successNotification).toHaveCount(count);\n }\n\n async isErrorNotificationVisible() {\n return await expect(this.errorNotification).toBeVisible();\n }\n\n async clickCreateThreeDotsButton() {\n await this.createThreeDotsBtn.click();\n }\n\n async clickCreateButton() {\n await expect(this.createBtn).toBeVisible();\n await this.createBtn.click();\n }\n\n async clickAddButton() {\n await this.addBtn.click();\n };\n\n async clickNewFolderThreeDotsButton() {\n await this.newFolderThreeDotsBtn.click();\n }\n\n clickEditorSettingsButton() {\n return this.editorSettingsBtn.click();\n }\n\n async enterDescription(description: string) {\n await this.enterDescriptionTxt.fill(description);\n }\n\n async doesDescriptionHaveValue(value: string) {\n return await expect(this.descriptionBtn).toHaveValue(value);\n }\n\n async clickStructureTab() {\n await this.page.waitForTimeout(1000);\n await this.structureTabBtn.waitFor({state: 'visible'});\n await this.structureTabBtn.click();\n }\n\n async clickAllowAtRootButton() {\n await this.allowAtRootBtn.click();\n }\n\n async clickIAmDoneReorderingButton() {\n await this.iAmDoneReorderingBtn.click();\n }\n\n async clickReorderButton() {\n await this.reorderBtn.click();\n }\n\n async clickLabelOnTopButton() {\n await this.labelOnTopBtn.click();\n }\n\n async clickMandatorySlider() {\n await this.mandatorySlider.click();\n }\n\n async selectValidationOption(option: string) {\n await this.validation.selectOption(option);\n }\n\n async enterRegEx(regEx: string) {\n await this.regexTxt.fill(regEx);\n }\n\n async enterRegExMessage(regExMessage: string) {\n await this.regexMessageTxt.fill(regExMessage);\n }\n\n async clickCompositionsButton() {\n await this.compositionsBtn.click();\n }\n\n async clickAddTabButton() {\n await this.addTabBtn.click();\n }\n\n async enterTabName(tabName: string) {\n await this.unnamedTxt.fill(tabName);\n }\n\n async searchForTypeToFilterValue(searchValue: string) {\n await expect(this.typeToFilterSearchTxt).toBeVisible();\n await this.typeToFilterSearchTxt.fill(searchValue);\n }\n\n async addPropertyEditor(propertyEditorName: string, index: number = 0) {\n await this.addPropertyBtn.nth(index).click({force: true});\n await this.enterAPropertyName(propertyEditorName);\n await expect(this.propertyNameTxt).toHaveValue(propertyEditorName);\n await this.clickSelectPropertyEditorButton();\n await this.searchForTypeToFilterValue(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\n await this.clickAddButton();\n }\n\n async updatePropertyEditor(propertyEditorName: string) {\n await this.clickEditorSettingsButton();\n await this.clickChangeButton();\n await this.searchForTypeToFilterValue(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\n await this.enterAPropertyName(propertyEditorName);\n await this.clickUpdateButton();\n }\n\n async clickAddGroupButton() {\n await this.addGroupBtn.click();\n }\n\n async enterGroupName(groupName: string, index: number = 0) {\n const groupNameTxt = this.page.getByLabel('Group name', {exact: true}).nth(index);\n await expect(groupNameTxt).toBeVisible();\n await groupNameTxt.fill(groupName);\n }\n\n async doesGroupHaveValue(value: string) {\n await expect(this.page.getByLabel('Group', {exact: true})).toBeVisible();\n return await expect(this.page.getByLabel('Group', {exact: true})).toHaveValue(value);\n }\n\n async rename(newName: string) {\n await this.clickRenameButton();\n await expect(this.newNameTxt).toBeVisible();\n await this.newNameTxt.click();\n await this.newNameTxt.clear();\n await this.newNameTxt.fill(newName);\n await this.renameModalBtn.click({force: true});\n }\n\n async isSuccessButtonWithTextVisible(text: string) {\n return await expect(this.successState.filter({hasText: text})).toBeVisible();\n }\n\n async dragAndDrop(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.down();\n await this.page.waitForTimeout(200)\n await this.page.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, {steps: steps});\n await this.page.waitForTimeout(200)\n await this.page.mouse.up();\n }\n\n async clickCreateLink() {\n await this.createLink.click();\n }\n\n async insertSystemFieldValue(fieldValue: string) {\n await this.clickInsertButton();\n await expect(this.insertValueBtn).toBeVisible();\n await this.insertValueBtn.click();\n await expect(this.chooseFieldDropDown).toBeVisible();\n await this.chooseFieldDropDown.click();\n await this.systemFieldsOption.click();\n await this.chooseFieldValueDropDown.click();\n await this.page.getByText(fieldValue).click();\n await this.clickSubmitButton();\n }\n\n async insertPartialView(partialViewName: string) {\n await this.clickInsertButton();\n await expect(this.insertPartialViewBtn).toBeVisible();\n await this.insertPartialViewBtn.click();\n await expect(this.page.getByLabel(partialViewName)).toBeVisible();\n await this.page.getByLabel(partialViewName).click();\n await this.chooseBtn.click();\n }\n\n async clickRenameButton() {\n await this.renameBtn.click();\n }\n\n async clickDeleteAndConfirmButton() {\n await this.clickDeleteExactLabel();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickQueryBuilderButton() {\n await this.queryBuilderBtn.click();\n }\n\n async chooseRootContentInQueryBuilder(contentName: string) {\n await expect(this.chooseRootContentBtn).toBeVisible();\n await this.chooseRootContentBtn.click();\n await expect(this.page.getByText(contentName)).toBeVisible();\n await this.page.getByText(contentName).click();\n await this.chooseBtn.click();\n }\n\n async doesReturnedItemsHaveCount(itemCount: number) {\n await expect(this.returnedItemsCount).toContainText(itemCount.toString() + ' items returned');\n }\n\n async doesQueryResultHaveContentName(contentName: string) {\n await expect(this.queryBuilderShowCode).toContainText(contentName);\n }\n \n async clickLeftArrowButton() {\n await this.leftArrowBtn.click();\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"UiBaseLocators.js","sourceRoot":"","sources":["../../../lib/helpers/UiBaseLocators.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page} from \"@playwright/test\"\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class UiBaseLocators {\n public readonly page: Page;\n public readonly saveBtn: Locator;\n public readonly chooseBtn: Locator;\n public readonly submitBtn: Locator;\n public readonly createFolderBtn: Locator;\n public readonly breadcrumbBtn: Locator;\n public readonly deleteBtn: Locator;\n public readonly confirmToDeleteBtn: Locator;\n public readonly deleteLabelBtn: Locator;\n public readonly deleteExactLabelBtn: Locator;\n public readonly deleteExactBtn: Locator;\n public readonly confirmCreateFolderBtn: Locator;\n public readonly insertBtn: Locator;\n public readonly modalCaretBtn: Locator;\n public readonly queryBuilderBtn: Locator;\n public readonly queryBuilderOrderedBy: Locator;\n public readonly queryBuilderCreateDate: Locator;\n public readonly folderNameTxt: Locator;\n public readonly textAreaInputArea: Locator;\n public readonly wherePropertyAliasBtn: Locator;\n public readonly whereOperatorBtn: Locator;\n public readonly whereConstrainValueTxt: Locator;\n public readonly orderByPropertyAliasBtn: Locator;\n public readonly ascendingBtn: Locator;\n public readonly queryBuilderShowCode: Locator;\n public readonly createThreeDotsBtn: Locator;\n public readonly newFolderThreeDotsBtn: Locator;\n public readonly renameThreeDotsBtn: Locator;\n public readonly newNameTxt: Locator;\n public readonly renameModalBtn: Locator;\n public readonly createBtn: Locator;\n public readonly successState: Locator;\n public readonly chooseModalBtn: Locator;\n public readonly addBtn: Locator;\n public readonly renameFolderThreeDotsBtn: Locator;\n public readonly renameFolderBtn: Locator;\n public readonly updateFolderBtn: Locator;\n public readonly filterChooseBtn: Locator;\n public readonly updateBtn: Locator;\n public readonly changeBtn: Locator;\n public readonly propertyNameTxt: Locator;\n public readonly selectPropertyEditorBtn: Locator;\n public readonly addGroupBtn: Locator;\n public readonly iAmDoneReorderingBtn: Locator;\n public readonly reorderBtn: Locator;\n public readonly compositionsBtn: Locator;\n public readonly addTabBtn: Locator;\n public readonly descriptionBtn: Locator;\n public readonly enterDescriptionTxt: Locator;\n public readonly mandatorySlider: Locator;\n public readonly validation: Locator;\n public readonly regexTxt: Locator;\n public readonly regexMessageTxt: Locator;\n public readonly structureTabBtn: Locator;\n public readonly allowAtRootBtn: Locator;\n public readonly addPropertyBtn: Locator;\n public readonly typeToFilterSearchTxt: Locator;\n public readonly editorSettingsBtn: Locator;\n public readonly labelOnTopBtn: Locator;\n public readonly unnamedTxt: Locator;\n public readonly deleteThreeDotsBtn: Locator;\n public readonly removeExactBtn: Locator;\n public readonly confirmBtn: Locator;\n public readonly disableBtn: Locator;\n public readonly confirmDisableBtn: Locator;\n public readonly enableBtn: Locator;\n public readonly confirmEnableBtn: Locator;\n public readonly iconBtn: Locator;\n public readonly aliasLockBtn: Locator;\n public readonly aliasNameTxt: Locator;\n public readonly deleteFolderThreeDotsBtn: Locator;\n public readonly createLink: Locator;\n public readonly insertValueBtn: Locator;\n public readonly insertPartialViewBtn: Locator;\n public readonly insertDictionaryItemBtn: Locator;\n public readonly chooseFieldDropDown: Locator;\n public readonly systemFieldsOption: Locator;\n public readonly chooseFieldValueDropDown: Locator;\n public readonly renameBtn: Locator;\n public readonly deleteFolderBtn: Locator;\n public readonly returnedItemsCount: Locator;\n public readonly chooseRootContentBtn: Locator;\n public readonly queryResults: Locator;\n public readonly reloadBtn: Locator;\n public readonly confirmToRemoveBtn: Locator;\n private readonly propertySettingsModal: Locator;\n private readonly typeGroups: Locator;\n private readonly allowedChildNodesModal: Locator;\n private readonly configureAsACollectionBtn: Locator;\n public readonly errorNotification: Locator;\n public readonly successNotification: Locator;\n private readonly leftArrowBtn: Locator;\n\n constructor(page: Page) {\n this.page = page;\n this.saveBtn = page.getByLabel('Save', {exact: true});\n this.submitBtn = page.getByLabel('Submit');\n this.deleteExactLabelBtn = page.getByLabel('Delete', {exact: true});\n this.deleteExactBtn = page.getByRole('button', {name: 'Delete', exact: true});\n this.deleteLabelBtn = page.getByLabel('Delete');\n this.deleteBtn = page.getByRole('button', {name: 'Delete'});\n this.confirmToDeleteBtn = page.locator('#confirm').getByLabel('Delete');\n this.confirmCreateFolderBtn = page.locator('#confirm').getByLabel('Create Folder');\n this.breadcrumbBtn = page.getByLabel('Breadcrumb');\n this.createFolderBtn = page.getByLabel('Create folder');\n this.insertBtn = page.locator('uui-box uui-button').filter({hasText: 'Insert'});\n this.modalCaretBtn = page.locator('uui-modal-sidebar').locator('#caret-button');\n this.queryBuilderBtn = page.locator('#query-builder-button').getByLabel('Query builder');\n this.queryBuilderOrderedBy = page.locator('#property-alias-dropdown').getByLabel('Property alias');\n this.queryBuilderCreateDate = page.locator('#property-alias-dropdown').getByText('CreateDate').locator(\"..\");\n this.folderNameTxt = page.getByRole('textbox', {name: 'Enter folder name...'});\n this.textAreaInputArea = page.locator('textarea.inputarea');\n this.wherePropertyAliasBtn = page.locator('#property-alias-dropdown');\n this.whereOperatorBtn = page.locator('#operator-dropdown');\n this.whereConstrainValueTxt = page.getByLabel('constrain value');\n this.orderByPropertyAliasBtn = page.locator('#sort-dropdown');\n this.ascendingBtn = page.locator('[key=\"template_ascending\"]');\n this.queryBuilderShowCode = page.locator('umb-code-block');\n this.createThreeDotsBtn = page.getByText('Create...', {exact: true});\n this.chooseBtn = page.getByLabel('Choose', {exact: true});\n this.newFolderThreeDotsBtn = page.getByLabel('New Folder...');\n this.renameThreeDotsBtn = page.getByLabel('Rename...', {exact: true});\n this.newNameTxt = page.getByRole('textbox', {name: 'Enter new name...'});\n this.renameModalBtn = page.locator('umb-rename-modal').getByLabel('Rename');\n this.createBtn = page.getByText('Create', {exact: true});\n this.successState = page.locator('[state=\"success\"]');\n this.chooseModalBtn = page.locator('umb-tree-picker-modal').getByLabel('Choose');\n this.addBtn = page.getByLabel('Add', {exact: true});\n this.renameFolderThreeDotsBtn = page.getByLabel('Rename Folder...');\n this.renameFolderBtn = page.getByLabel('Rename folder');\n this.updateFolderBtn = page.getByLabel('Update Folder');\n this.filterChooseBtn = page.locator('button').filter({hasText: 'Choose'});\n this.updateBtn = page.getByLabel('Update');\n this.changeBtn = page.getByLabel('Change');\n this.propertyNameTxt = page.locator('#name-input #input');\n this.selectPropertyEditorBtn = page.getByLabel('Select Property Editor');\n this.addGroupBtn = page.getByLabel('Add group', {exact: true});\n this.iAmDoneReorderingBtn = page.getByLabel('I am done reordering');\n this.reorderBtn = page.getByLabel('Reorder');\n this.compositionsBtn = page.getByLabel('Compositions');\n this.addTabBtn = page.getByLabel('Add tab');\n this.descriptionBtn = page.getByLabel('Description');\n this.enterDescriptionTxt = page.getByRole('textbox', {name: 'description'});\n this.mandatorySlider = page.locator('#mandatory #slider');\n this.validation = page.locator('#native');\n this.regexTxt = page.locator('input[name=\"pattern\"]');\n this.regexMessageTxt = page.locator('textarea[name=\"pattern-message\"]');\n this.structureTabBtn = page.locator('uui-tab').filter({hasText: 'Structure'}).locator('svg');\n this.allowAtRootBtn = page.locator('label').filter({hasText: 'Allow at root'});\n this.addPropertyBtn = page.getByLabel('Add property', {exact: true});\n this.typeToFilterSearchTxt = page.locator('[type=\"search\"] #input');\n this.editorSettingsBtn = page.getByLabel('Editor settings');\n this.labelOnTopBtn = page.getByRole('button', {name: 'Label on top'});\n this.unnamedTxt = page.getByRole('textbox', {name: 'Unnamed'});\n this.deleteThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete...');\n this.removeExactBtn = page.getByLabel('Remove', {exact: true});\n this.confirmBtn = page.getByLabel('Confirm');\n this.disableBtn = page.getByLabel('Disable', {exact: true});\n this.confirmDisableBtn = page.locator('#confirm').getByLabel('Disable');\n this.enableBtn = page.getByLabel('Enable');\n this.confirmEnableBtn = page.locator('#confirm').getByLabel('Enable');\n this.iconBtn = page.getByLabel('icon');\n this.aliasLockBtn = page.locator('#name #alias-lock');\n this.aliasNameTxt = page.locator('#name').getByLabel('alias');\n this.deleteFolderThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete Folder...');\n this.createLink = page.getByRole('link', {name: 'Create'});\n this.insertValueBtn = page.locator('uui-button').filter({has: page.locator('[key=\"template_insertPageField\"]')});\n this.insertPartialViewBtn = page.locator('uui-button').filter({has: page.locator('[key=\"template_insertPartialView\"]')});\n this.insertDictionaryItemBtn = page.locator('uui-button').filter({has: page.locator('[key=\"template_insertDictionaryItem\"]')});\n this.chooseFieldDropDown = page.locator('#preview #expand-symbol-wrapper');\n this.systemFieldsOption = page.getByText('System fields');\n this.chooseFieldValueDropDown = page.locator('#value #expand-symbol-wrapper');\n this.renameBtn = page.locator('#action-modal').getByLabel('Rename');\n this.deleteFolderBtn = page.locator('#action-modal').getByLabel('Delete folder');\n this.returnedItemsCount = page.locator('#results-count');\n this.chooseRootContentBtn = page.getByLabel('Choose root document');\n this.queryResults = page.locator('query-results');\n this.reloadBtn = page.getByRole('button', {name: 'Reload'});\n this.confirmToRemoveBtn = page.locator('#confirm').getByLabel('Remove');\n this.propertySettingsModal = page.locator('umb-property-type-settings-modal');\n this.typeGroups = page.locator('umb-content-type-design-editor-group');\n this.allowedChildNodesModal = page.locator('umb-tree-picker-modal');\n this.configureAsACollectionBtn = page.getByLabel('Configure as a collection');\n this.errorNotification = page.locator('uui-toast-notification >> [color=\"danger\"]');\n this.successNotification = page.locator('uui-toast-notification >> [color=\"positive\"]');\n this.leftArrowBtn = page.locator('[name=\"icon-arrow-left\"] svg');\n }\n\n async clickActionsMenuForName(name: string) {\n await this.page.locator('[label=\"' + name + '\"] >> [label=\"Open actions menu\"]').first().click({force: true});\n }\n\n async clickCaretButtonForName(name: string) {\n await this.page.locator('div').filter({hasText: name}).locator('#caret-button').click();\n }\n\n async clickCaretButton() {\n await this.page.locator('#caret-button').click();\n }\n\n async reloadTree(treeName: string) {\n // Waits until the tree item is visible\n await expect(this.page.getByLabel(treeName, {exact: true})).toBeVisible();\n await this.page.waitForTimeout(500);\n await this.clickActionsMenuForName(treeName);\n await this.clickReloadButton();\n\n const menuItem = this.page.locator('uui-menu-item[label=\"' + treeName + '\"]');\n const isCaretButtonOpen = await menuItem.getAttribute('show-children');\n\n if (isCaretButtonOpen === null) {\n // We need to wait before clicking the caret button. Because the reload might not have happend yet. \n // await this.page.waitForTimeout(500);\n await this.clickCaretButtonForName(treeName);\n }\n }\n\n async clickReloadButton() {\n await this.reloadBtn.click();\n }\n\n async clickSaveButton() {\n // This wait is necessary to avoid the save button is ignored\n await this.page.waitForTimeout(500);\n await expect(this.saveBtn).toBeVisible();\n await this.saveBtn.click();\n }\n\n async clickChooseButton() {\n await this.chooseBtn.click();\n }\n\n async clickFilterChooseButton() {\n await this.filterChooseBtn.click();\n }\n\n async clickRenameFolderThreeDotsButton() {\n await this.renameFolderThreeDotsBtn.click();\n }\n\n async clickRenameFolderButton() {\n await this.renameFolderBtn.click();\n }\n\n async clickUpdateFolderButton() {\n await this.updateFolderBtn.click();\n }\n\n async clickUpdateButton() {\n await this.updateBtn.click();\n }\n\n async clickSubmitButton() {\n await expect(this.submitBtn).toBeVisible();\n await this.submitBtn.click();\n }\n\n async clickChangeButton() {\n await this.changeBtn.click();\n }\n\n async clickExactLinkWithName(name: string) {\n await this.page.getByRole('link', {name: name, exact: true}).click();\n }\n\n async enterAliasName(aliasName: string) {\n // Unlocks alias\n await this.aliasLockBtn.click();\n await this.aliasNameTxt.clear();\n await this.aliasNameTxt.fill(aliasName);\n }\n\n async updateIcon(iconName: string) {\n await this.iconBtn.click({force: true});\n await this.searchForTypeToFilterValue(iconName);\n await this.clickLabelWithName(iconName, true);\n await this.clickSubmitButton();\n }\n\n async clickTextButtonWithName(name: string) {\n await expect(this.page.getByText(name, {exact: true})).toBeVisible();\n await this.page.getByText(name, {exact: true}).click();\n }\n\n async clickSelectPropertyEditorButton() {\n await expect(this.selectPropertyEditorBtn).toBeVisible();\n await this.selectPropertyEditorBtn.click();\n }\n\n async clickCreateFolderButton() {\n await this.createFolderBtn.click();\n }\n\n async enterAPropertyName(name: string) {\n await expect(this.propertyNameTxt).toBeVisible();\n await this.propertyNameTxt.fill(name);\n }\n\n async clickConfirmButton() {\n await this.confirmBtn.click();\n }\n\n async clickBreadcrumbButton() {\n await this.breadcrumbBtn.click();\n }\n\n async clickInsertButton() {\n await expect(this.insertBtn).toBeVisible();\n await this.insertBtn.click();\n }\n\n async clickDeleteButton() {\n await this.deleteBtn.click();\n }\n\n async clickConfirmToDeleteButton() {\n await this.confirmToDeleteBtn.click();\n }\n\n async clickDeleteFolderButton() {\n await this.deleteFolderBtn.click();\n }\n\n async clickConfirmCreateFolderButton() {\n await this.confirmCreateFolderBtn.click();\n }\n\n async clickDeleteThreeDotsButton() {\n await this.deleteThreeDotsBtn.click();\n }\n\n async clickRemoveExactButton() {\n await this.removeExactBtn.click();\n }\n\n async clickRemoveButtonForName(name: string) {\n await this.page.locator('[name=\"' + name + '\"] [Label=\"Remove\"]').click();\n }\n\n async clickTrashIconButtonForName(name: string) {\n await this.page.locator('[name=\"' + name + '\"] [name=\"icon-trash\"]').click();\n }\n\n async clickRemoveWithName(name: string) {\n await this.page.getByLabel('Remove ' + name).click();\n }\n\n async clickDisableButton() {\n await this.disableBtn.click();\n }\n\n async clickConfirmDisableButton() {\n await this.confirmDisableBtn.click();\n }\n\n async clickConfirmRemoveButton() {\n await this.confirmToRemoveBtn.click();\n }\n\n async clickEnableButton() {\n await this.enableBtn.click();\n }\n\n async clickConfirmEnableButton() {\n await this.confirmEnableBtn.click();\n }\n\n async insertDictionaryItem(dictionaryName: string) {\n await this.clickInsertButton();\n await expect(this.insertDictionaryItemBtn).toBeVisible();\n await this.insertDictionaryItemBtn.click();\n await expect(this.page.getByLabel(dictionaryName)).toBeVisible();\n await this.page.getByLabel(dictionaryName).click();\n await this.chooseBtn.click();\n }\n\n async addQueryBuilderWithOrderByStatement(propertyAlias: string, isAscending: boolean) {\n await expect(this.queryBuilderBtn).toBeVisible({timeout: 10000});\n await this.queryBuilderBtn.click({force: true});\n await expect(this.orderByPropertyAliasBtn).toBeVisible();\n await this.orderByPropertyAliasBtn.click({force: true});\n // Wait and choose property alias option \n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Click to acending button if isAcsending is false\n if (!isAscending) {\n await this.ascendingBtn.click({force: true});\n }\n }\n\n async addQueryBuilderWithWhereStatement(propertyAlias: string, operator: string, constrainValue: string) {\n await expect(this.queryBuilderBtn).toBeVisible({timeout: 10000});\n await this.queryBuilderBtn.click({force: true});\n // Wait and choose property alias\n await expect(this.wherePropertyAliasBtn).toBeVisible();\n await this.wherePropertyAliasBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Wait and choose operator\n await expect(this.whereOperatorBtn).toBeVisible();\n await this.whereOperatorBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(operator);\n // Wait and choose constrain value and press Enter\n await expect(this.whereConstrainValueTxt).toBeVisible();\n await this.whereConstrainValueTxt.clear();\n await this.whereConstrainValueTxt.fill(constrainValue);\n await this.whereConstrainValueTxt.press('Enter');\n }\n\n async waitAndSelectQueryBuilderDropDownList(option: string) {\n const ddlOption = this.page.locator('[open]').locator('uui-combobox-list-option').filter({hasText: option}).first();\n await expect(ddlOption).toBeVisible({timeout: 10000});\n await ddlOption.click();\n }\n\n async createFolder(folderName: string) {\n await this.clickCreateButton();\n await this.clickNewFolderThreeDotsButton();\n await this.enterFolderName(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n\n async deletePropertyEditor(propertyEditorName: string) {\n // We need to hover over the property to be able to see the delete button\n await this.page.locator('uui-button').filter({hasText: propertyEditorName}).getByLabel('Editor settings').hover();\n await this.deleteLabelBtn.click({force: true});\n }\n\n async enterFolderName(folderName: string) {\n await this.folderNameTxt.clear();\n await this.folderNameTxt.fill(folderName);\n }\n\n async isTextWithExactNameVisible(name: string, isVisible = true) {\n return expect(this.page.getByText(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async isQueryBuilderCodeShown(code: string) {\n await expect(this.queryBuilderShowCode).toBeVisible();\n await this.queryBuilderShowCode.click();\n await expect(this.queryBuilderShowCode).toContainText(code, {timeout: 10000});\n }\n\n async deleteFolder() {\n await this.clickDeleteFolderButton();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickDeleteExactLabel(forceClick = false) {\n await this.deleteExactLabelBtn.click({force: forceClick});\n }\n\n async clickDeleteExactButton(forceClick = false) {\n await this.deleteExactBtn.click({force: forceClick});\n }\n\n async isTreeItemVisible(name: string, isVisible = true) {\n await expect(this.page.locator('umb-tree-item').locator('[label=\"' + name + '\"]')).toBeVisible({visible: isVisible});\n }\n\n async doesTreeItemHaveTheCorrectIcon(name: string, icon: string) {\n return await expect(this.page.locator('umb-tree-item').filter({hasText: name}).locator('umb-icon').locator('[name=\"' + icon + '\"]')).toBeVisible();\n }\n\n async goToSection(sectionName: string) {\n for (let section in ConstantHelper.sections) {\n await expect(this.page.getByRole('tab', {name: ConstantHelper.sections[section]})).toBeVisible({timeout: 30000});\n }\n await this.page.getByRole('tab', {name: sectionName}).click();\n }\n\n async goToSettingsTreeItem(settingsTreeItemName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.page.getByLabel(settingsTreeItemName).click();\n }\n\n async clickDataElement(elementName: string, options: any = null) {\n await this.page.click(`[data-element=\"${elementName}\"]`, options);\n }\n\n async getDataElement(elementName: string) {\n return this.page.locator(`[data-element=\"${elementName}\"]`);\n }\n\n async isButtonWithNameVisible(name: string) {\n await expect(this.page.getByRole('button', {name: name})).toBeVisible();\n }\n\n async clickLabelWithName(name: string, toForceClick = false) {\n await expect(this.page.getByLabel(name)).toBeVisible();\n await this.page.getByLabel(name).click({force: toForceClick});\n }\n\n async clickButtonWithName(name: string) {\n await this.page.getByRole('button', {name: name}).click({force: true});\n }\n\n async isSuccessNotificationVisible() {\n return await expect(this.successNotification.first()).toBeVisible();\n }\n\n async doesSuccessNotificationsHaveCount(count: number) {\n return await expect(this.successNotification).toHaveCount(count);\n }\n\n async isErrorNotificationVisible() {\n return await expect(this.errorNotification.first()).toBeVisible();\n }\n\n async clickCreateThreeDotsButton() {\n await this.createThreeDotsBtn.click();\n }\n\n async clickCreateButton() {\n await expect(this.createBtn).toBeVisible();\n await this.createBtn.click();\n }\n\n async clickAddButton() {\n await this.addBtn.click();\n };\n\n async clickNewFolderThreeDotsButton() {\n await this.newFolderThreeDotsBtn.click();\n }\n\n async clickEditorSettingsButton(index: number = 0) {\n return this.editorSettingsBtn.nth(index).click();\n }\n\n async enterDescription(description: string) {\n await this.enterDescriptionTxt.fill(description);\n }\n\n async doesDescriptionHaveValue(value: string, index: number = 0) {\n return await expect(this.descriptionBtn.nth(index)).toHaveValue(value);\n }\n\n async clickStructureTab() {\n await this.page.waitForTimeout(1000);\n await this.structureTabBtn.waitFor({state: 'visible'});\n await this.structureTabBtn.click();\n }\n\n async clickAllowAtRootButton() {\n await this.allowAtRootBtn.click();\n }\n\n async clickIAmDoneReorderingButton() {\n await this.iAmDoneReorderingBtn.click();\n }\n\n async clickReorderButton() {\n await this.reorderBtn.click();\n }\n\n async clickLabelOnTopButton() {\n await this.labelOnTopBtn.click();\n }\n\n async clickMandatorySlider() {\n await this.mandatorySlider.click();\n }\n\n async selectValidationOption(option: string) {\n await this.validation.selectOption(option);\n }\n\n async enterRegEx(regEx: string) {\n await this.regexTxt.fill(regEx);\n }\n\n async enterRegExMessage(regExMessage: string) {\n await this.regexMessageTxt.fill(regExMessage);\n }\n\n async clickCompositionsButton() {\n await this.compositionsBtn.click();\n }\n\n async clickAddTabButton() {\n await this.addTabBtn.click();\n }\n\n async enterTabName(tabName: string) {\n await this.unnamedTxt.fill(tabName);\n }\n\n async searchForTypeToFilterValue(searchValue: string) {\n await expect(this.typeToFilterSearchTxt).toBeVisible();\n await this.typeToFilterSearchTxt.fill(searchValue);\n }\n\n async addPropertyEditor(propertyEditorName: string, index: number = 0) {\n await expect(this.addPropertyBtn.nth(index)).toBeVisible();\n await this.addPropertyBtn.nth(index).click({force: true});\n await this.enterAPropertyName(propertyEditorName);\n await expect(this.propertyNameTxt).toHaveValue(propertyEditorName);\n await this.clickSelectPropertyEditorButton();\n await this.searchForTypeToFilterValue(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\n await this.clickAddButton();\n }\n\n async updatePropertyEditor(propertyEditorName: string) {\n await this.clickEditorSettingsButton();\n await this.clickChangeButton();\n await this.searchForTypeToFilterValue(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\n await this.enterAPropertyName(propertyEditorName);\n await this.clickUpdateButton();\n }\n\n async enterPropertyEditorDescription(description: string) {\n await this.propertySettingsModal.locator(this.enterDescriptionTxt).fill(description);\n }\n \n async clickAddGroupButton() {\n await this.addGroupBtn.click();\n }\n\n async enterGroupName(groupName: string, index: number = 0) {\n const groupNameTxt = this.page.getByLabel('Group', {exact: true}).nth(index);\n await expect(groupNameTxt).toBeVisible();\n await groupNameTxt.clear();\n await groupNameTxt.fill(groupName);\n }\n\n async doesGroupHaveValue(value: string) {\n await expect(this.page.getByLabel('Group', {exact: true})).toBeVisible();\n return await expect(this.page.getByLabel('Group', {exact: true})).toHaveValue(value);\n }\n\n async rename(newName: string) {\n await this.clickRenameButton();\n await expect(this.newNameTxt).toBeVisible();\n await this.newNameTxt.click();\n await this.newNameTxt.clear();\n await this.newNameTxt.fill(newName);\n await this.renameModalBtn.click({force: true});\n }\n\n async isSuccessButtonWithTextVisible(text: string) {\n return await expect(this.successState.filter({hasText: text})).toBeVisible();\n }\n\n async dragAndDrop(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.down();\n await this.page.waitForTimeout(200)\n await this.page.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, {steps: steps});\n await this.page.waitForTimeout(200)\n await this.page.mouse.up();\n }\n\n async clickCreateLink() {\n await this.createLink.click();\n }\n\n async insertSystemFieldValue(fieldValue: string) {\n await this.clickInsertButton();\n await expect(this.insertValueBtn).toBeVisible();\n await this.insertValueBtn.click();\n await expect(this.chooseFieldDropDown).toBeVisible();\n await this.chooseFieldDropDown.click();\n await this.systemFieldsOption.click();\n await this.chooseFieldValueDropDown.click();\n await this.page.getByText(fieldValue).click();\n await this.clickSubmitButton();\n }\n\n async insertPartialView(partialViewName: string) {\n await this.clickInsertButton();\n await expect(this.insertPartialViewBtn).toBeVisible();\n await this.insertPartialViewBtn.click();\n await expect(this.page.getByLabel(partialViewName)).toBeVisible();\n await this.page.getByLabel(partialViewName).click();\n await this.chooseBtn.click();\n }\n\n async deletePropertyEditorWithName(name: string) {\n // We need to hover over the Property Editor to make the delete button visible\n const propertyEditor = this.page.locator('umb-content-type-design-editor-property', {hasText: name});\n await propertyEditor.hover();\n await propertyEditor.getByLabel('Delete').click({force: true});\n await this.clickConfirmToDeleteButton();\n }\n\n async clickRenameButton() {\n await this.renameBtn.click();\n }\n\n async clickDeleteAndConfirmButton() {\n await this.clickDeleteExactLabel();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickQueryBuilderButton() {\n await this.queryBuilderBtn.click();\n }\n\n async chooseRootContentInQueryBuilder(contentName: string) {\n await expect(this.chooseRootContentBtn).toBeVisible();\n await this.chooseRootContentBtn.click();\n await expect(this.page.getByText(contentName)).toBeVisible();\n await this.page.getByText(contentName).click();\n await this.chooseBtn.click();\n }\n\n async reorderTwoGroups() {\n const firstGroup = this.typeGroups.nth(0);\n const secondGroup = this.typeGroups.nth(1);\n const firstGroupValue = await firstGroup.getByLabel('Group', {exact: true}).inputValue();\n const secondGroupValue = await secondGroup.getByLabel('Group', {exact: true}).inputValue();\n const dragToLocator = firstGroup.locator('[name=\"icon-navigation\"]').first();\n const dragFromLocator = secondGroup.locator('[name=\"icon-navigation\"]').first();\n await this.dragAndDrop(dragFromLocator, dragToLocator, 0, 0, 10);\n\n return {firstGroupValue, secondGroupValue};\n }\n\n async clickAllowedChildNodesButton() {\n await this.allowedChildNodesModal.locator(this.chooseBtn).click();\n }\n\n async clickConfigureAsACollectionButton() {\n await this.configureAsACollectionBtn.click();\n }\n\n async doesReturnedItemsHaveCount(itemCount: number) {\n await expect(this.returnedItemsCount).toContainText(itemCount.toString() + ' items returned');\n }\n\n async doesQueryResultHaveContentName(contentName: string) {\n await expect(this.queryBuilderShowCode).toContainText(contentName);\n }\n\n async deleteGroup(groupName: string, forceClick: boolean = false) {\n await this.page.waitForTimeout(1000);\n const groups = this.page.locator('umb-content-type-design-editor-group').all();\n for (const group of await groups) {\n if (await group.getByLabel('Group', {exact: true}).inputValue() === groupName) {\n await group.locator('[slot=\"header-actions\"]').getByLabel('Delete').click({force: forceClick});\n return;\n }\n }\n }\n \n async clickLeftArrowButton() {\n await this.leftArrowBtn.click();\n }\n}"]}
|
|
@@ -17,7 +17,9 @@ import { PublishedStatusUiHelper } from "./PublishedStatusUiHelper";
|
|
|
17
17
|
import { HealthCheckUiHelper } from "./HealthCheckUiHelper";
|
|
18
18
|
import { ProfilingUiHelper } from "./ProfilingUiHelper";
|
|
19
19
|
import { WelcomeDashboardUiHelper } from './WelcomeDashboardUiHelper';
|
|
20
|
+
import { ContentUiHelper } from "./ContentUiHelper";
|
|
20
21
|
import { DocumentTypeUiHelper } from "./DocumentTypeUiHelper";
|
|
22
|
+
import { RedirectManagementUiHelper } from './RedirectManagementUiHelper';
|
|
21
23
|
import { MemberGroupUiHelper } from "./MemberGroupUiHelper";
|
|
22
24
|
import { MemberUiHelper } from "./MemberUiHelper";
|
|
23
25
|
import { MemberTypeUiHelper } from "./MemberTypeUiHelper";
|
|
@@ -45,7 +47,9 @@ export declare class UiHelpers {
|
|
|
45
47
|
healthCheck: HealthCheckUiHelper;
|
|
46
48
|
profiling: ProfilingUiHelper;
|
|
47
49
|
welcomeDashboard: WelcomeDashboardUiHelper;
|
|
50
|
+
content: ContentUiHelper;
|
|
48
51
|
documentType: DocumentTypeUiHelper;
|
|
52
|
+
redirectManagement: RedirectManagementUiHelper;
|
|
49
53
|
memberGroup: MemberGroupUiHelper;
|
|
50
54
|
member: MemberUiHelper;
|
|
51
55
|
memberType: MemberTypeUiHelper;
|
|
@@ -20,7 +20,9 @@ const PublishedStatusUiHelper_1 = require("./PublishedStatusUiHelper");
|
|
|
20
20
|
const HealthCheckUiHelper_1 = require("./HealthCheckUiHelper");
|
|
21
21
|
const ProfilingUiHelper_1 = require("./ProfilingUiHelper");
|
|
22
22
|
const WelcomeDashboardUiHelper_1 = require("./WelcomeDashboardUiHelper");
|
|
23
|
+
const ContentUiHelper_1 = require("./ContentUiHelper");
|
|
23
24
|
const DocumentTypeUiHelper_1 = require("./DocumentTypeUiHelper");
|
|
25
|
+
const RedirectManagementUiHelper_1 = require("./RedirectManagementUiHelper");
|
|
24
26
|
const MemberGroupUiHelper_1 = require("./MemberGroupUiHelper");
|
|
25
27
|
const MemberUiHelper_1 = require("./MemberUiHelper");
|
|
26
28
|
const MemberTypeUiHelper_1 = require("./MemberTypeUiHelper");
|
|
@@ -48,7 +50,9 @@ class UiHelpers {
|
|
|
48
50
|
healthCheck;
|
|
49
51
|
profiling;
|
|
50
52
|
welcomeDashboard;
|
|
53
|
+
content;
|
|
51
54
|
documentType;
|
|
55
|
+
redirectManagement;
|
|
52
56
|
memberGroup;
|
|
53
57
|
member;
|
|
54
58
|
memberType;
|
|
@@ -76,7 +80,9 @@ class UiHelpers {
|
|
|
76
80
|
this.healthCheck = new HealthCheckUiHelper_1.HealthCheckUiHelper(this.page);
|
|
77
81
|
this.profiling = new ProfilingUiHelper_1.ProfilingUiHelper(this.page);
|
|
78
82
|
this.welcomeDashboard = new WelcomeDashboardUiHelper_1.WelcomeDashboardUiHelper(this.page);
|
|
83
|
+
this.content = new ContentUiHelper_1.ContentUiHelper(this.page);
|
|
79
84
|
this.documentType = new DocumentTypeUiHelper_1.DocumentTypeUiHelper(this.page);
|
|
85
|
+
this.redirectManagement = new RedirectManagementUiHelper_1.RedirectManagementUiHelper(this.page);
|
|
80
86
|
this.memberGroup = new MemberGroupUiHelper_1.MemberGroupUiHelper(this.page);
|
|
81
87
|
this.member = new MemberUiHelper_1.MemberUiHelper(this.page);
|
|
82
88
|
this.memberType = new MemberTypeUiHelper_1.MemberTypeUiHelper(this.page);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/UiHelpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/UiHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page} from \"@playwright/test\"\nimport {StylesheetUiHelper} from \"./StylesheetUiHelper\";\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {PartialViewUiHelper} from \"./PartialViewUiHelper\";\nimport {ScriptUiHelper} from \"./ScriptUiHelper\";\nimport {TemplateUiHelper} from \"./TemplateUiHelper\";\nimport {TranslationUiHelper} from \"./TranslationUiHelper\";\nimport {LoginUiHelper} from \"./LoginUiHelper\";\nimport {LogViewerUiHelper} from \"./LogViewerUiHelper\";\nimport {TelemetryDataUiHelper} from \"./TelemetryDataUiHelper\";\nimport {DataTypeUiHelper} from \"./DataTypeUiHelper\";\nimport {RelationTypeUiHelper} from \"./RelationTypeUiHelper\";\nimport {PackageUiHelper} from \"./PackageUiHelper\";\nimport {LanguageUiHelper} from \"./LanguageUiHelper\";\nimport {ModelsBuilderUiHelper} from \"./ModelsBuilderUiHelper\";\nimport {ExamineManagementUiHelper} from \"./ExamineManagementUiHelper\";\nimport {PublishedStatusUiHelper} from \"./PublishedStatusUiHelper\";\nimport {HealthCheckUiHelper} from \"./HealthCheckUiHelper\";\nimport {ProfilingUiHelper} from \"./ProfilingUiHelper\";\nimport {WelcomeDashboardUiHelper} from './WelcomeDashboardUiHelper';\nimport {ContentUiHelper} from \"./ContentUiHelper\";\nimport {DocumentTypeUiHelper} from \"./DocumentTypeUiHelper\";\nimport {RedirectManagementUiHelper} from './RedirectManagementUiHelper';\nimport {MemberGroupUiHelper} from \"./MemberGroupUiHelper\";\nimport {MemberUiHelper} from \"./MemberUiHelper\";\nimport {MemberTypeUiHelper} from \"./MemberTypeUiHelper\";\nimport {MediaTypeUiHelper} from \"./MediaTypeUiHelper\";\nimport {UserUiHelper} from \"./UserUiHelper\";\nimport {UserGroupUiHelper} from \"./UserGroupUiHelper\";\nimport {MediaUiHelper} from \"./MediaUiHelper\";\n\nexport class UiHelpers {\n page: Page;\n stylesheet: StylesheetUiHelper;\n partialView: PartialViewUiHelper;\n translation: TranslationUiHelper;\n script: ScriptUiHelper;\n template: TemplateUiHelper;\n login: LoginUiHelper;\n logViewer: LogViewerUiHelper;\n telemetryData: TelemetryDataUiHelper;\n dataType: DataTypeUiHelper;\n relationType: RelationTypeUiHelper;\n package: PackageUiHelper;\n language: LanguageUiHelper;\n modelsBuilder: ModelsBuilderUiHelper;\n examineManagement: ExamineManagementUiHelper;\n publishedStatus: PublishedStatusUiHelper;\n healthCheck: HealthCheckUiHelper;\n profiling: ProfilingUiHelper;\n welcomeDashboard: WelcomeDashboardUiHelper;\n content: ContentUiHelper;\n documentType: DocumentTypeUiHelper;\n redirectManagement: RedirectManagementUiHelper;\n memberGroup: MemberGroupUiHelper;\n member: MemberUiHelper;\n memberType: MemberTypeUiHelper;\n mediaType: MediaTypeUiHelper;\n user: UserUiHelper;\n userGroup: UserGroupUiHelper;\n media: MediaUiHelper;\n\n constructor(page: Page) {\n this.page = page;\n this.stylesheet = new StylesheetUiHelper(this.page);\n this.partialView = new PartialViewUiHelper(this.page);\n this.script = new ScriptUiHelper(this.page);\n this.template = new TemplateUiHelper(this.page);\n this.translation = new TranslationUiHelper(this.page);\n this.login = new LoginUiHelper(this.page);\n this.logViewer = new LogViewerUiHelper(this.page);\n this.telemetryData = new TelemetryDataUiHelper(this.page);\n this.dataType = new DataTypeUiHelper(this.page);\n this.relationType = new RelationTypeUiHelper(this.page);\n this.package = new PackageUiHelper(this.page);\n this.language = new LanguageUiHelper(this.page);\n this.modelsBuilder = new ModelsBuilderUiHelper(this.page);\n this.examineManagement = new ExamineManagementUiHelper(this.page);\n this.publishedStatus = new PublishedStatusUiHelper(this.page);\n this.healthCheck = new HealthCheckUiHelper(this.page);\n this.profiling = new ProfilingUiHelper(this.page);\n this.welcomeDashboard = new WelcomeDashboardUiHelper(this.page);\n this.content = new ContentUiHelper(this.page); \n this.documentType = new DocumentTypeUiHelper(this.page);\n this.redirectManagement = new RedirectManagementUiHelper(this.page);\n this.memberGroup = new MemberGroupUiHelper(this.page);\n this.member = new MemberUiHelper(this.page);\n this.memberType = new MemberTypeUiHelper(this.page);\n this.mediaType = new MediaTypeUiHelper(this.page);\n this.user = new UserUiHelper(this.page);\n this.userGroup = new UserGroupUiHelper(this.page);\n this.media = new MediaUiHelper(this.page);\n }\n\n async goToBackOffice() {\n await this.page.goto(umbracoConfig.environment.baseUrl + '/umbraco');\n }\n\n async waitForTimeout(timeout: number) {\n await this.page.waitForTimeout(timeout);\n }\n\n async reloadPage() {\n await this.page.reload();\n }\n\n async goBackPage() {\n await this.page.goBack();\n }\n}"]}
|