@umbraco/playwright-testhelpers 2.0.0-beta.40 → 2.0.0-beta.42
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/DataTypeApiHelper.d.ts +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.js +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.d.ts +31 -12
- package/dist/lib/helpers/DataTypeUiHelper.js +104 -34
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +10 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.js +193 -4
- package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +23 -0
- package/dist/lib/helpers/DocumentTypeUiHelper.js +68 -0
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/LanguageUiHelper.d.ts +0 -1
- package/dist/lib/helpers/LanguageUiHelper.js +0 -2
- package/dist/lib/helpers/LanguageUiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +7 -2
- package/dist/lib/helpers/UiBaseLocators.js +31 -7
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DocumentTypeUiHelper = void 0;
|
|
4
4
|
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
5
|
+
const test_1 = require("@playwright/test");
|
|
5
6
|
class DocumentTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
6
7
|
newDocumentTypeBtn;
|
|
7
8
|
documentNameTxt;
|
|
@@ -10,6 +11,15 @@ class DocumentTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
10
11
|
documentTypeTemplatesTabBtn;
|
|
11
12
|
varyBySegmentsBtn;
|
|
12
13
|
varyByCultureBtn;
|
|
14
|
+
createDocumentTypeBtn;
|
|
15
|
+
createDocumentTypeWithTemplateBtn;
|
|
16
|
+
createElementTypeBtn;
|
|
17
|
+
createDocumentFolderBtn;
|
|
18
|
+
documentTypeGroupNameTxt;
|
|
19
|
+
propertySettingsModal;
|
|
20
|
+
allowedChildNodesModal;
|
|
21
|
+
configureAsACollectionBtn;
|
|
22
|
+
documentTypeGroups;
|
|
13
23
|
constructor(page) {
|
|
14
24
|
super(page);
|
|
15
25
|
this.newDocumentTypeBtn = page.getByLabel('New Document Type...');
|
|
@@ -19,6 +29,15 @@ class DocumentTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
19
29
|
this.documentTypeTemplatesTabBtn = page.getByRole('tab', { name: 'Templates' });
|
|
20
30
|
this.varyBySegmentsBtn = page.getByText('Vary by segments', { exact: true });
|
|
21
31
|
this.varyByCultureBtn = page.getByText('Vary by culture', { exact: true });
|
|
32
|
+
this.createDocumentTypeBtn = page.locator('umb-ref-item').getByText('Document Type', { exact: true });
|
|
33
|
+
this.createDocumentTypeWithTemplateBtn = page.locator('umb-ref-item').getByText('Document Type with Template', { exact: true });
|
|
34
|
+
this.createElementTypeBtn = page.locator('umb-ref-item').getByText('Element Type', { exact: true });
|
|
35
|
+
this.createDocumentFolderBtn = page.locator('umb-ref-item').getByText('Folder', { exact: true });
|
|
36
|
+
this.documentTypeGroupNameTxt = page.getByLabel('Group', { exact: true });
|
|
37
|
+
this.propertySettingsModal = page.locator('umb-property-type-settings-modal');
|
|
38
|
+
this.allowedChildNodesModal = page.locator('umb-tree-picker-modal');
|
|
39
|
+
this.configureAsACollectionBtn = page.getByLabel('Configure as a collection');
|
|
40
|
+
this.documentTypeGroups = page.locator('umb-content-type-design-editor-group');
|
|
22
41
|
}
|
|
23
42
|
async clickActionsMenuForDocumentType(name) {
|
|
24
43
|
await this.clickActionsMenuForName(name);
|
|
@@ -37,12 +56,25 @@ class DocumentTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
37
56
|
}
|
|
38
57
|
async clickDocumentTypeSettingsTab() {
|
|
39
58
|
await this.documentTypeSettingsTabBtn.waitFor({ state: 'visible' });
|
|
59
|
+
// Sometimes when we switch tabs in the Document Type, we end up not being redirected to the new tab.
|
|
60
|
+
await this.page.waitForLoadState();
|
|
40
61
|
await this.documentTypeSettingsTabBtn.click({ force: true });
|
|
41
62
|
}
|
|
42
63
|
async clickDocumentTypeTemplatesTab() {
|
|
43
64
|
await this.documentTypeTemplatesTabBtn.waitFor({ state: 'visible' });
|
|
65
|
+
await this.page.waitForLoadState();
|
|
44
66
|
await this.documentTypeTemplatesTabBtn.click({ force: true });
|
|
45
67
|
}
|
|
68
|
+
async reorderTwoGroupsInADocumentType() {
|
|
69
|
+
const firstGroup = this.documentTypeGroups.nth(0);
|
|
70
|
+
const secondGroup = this.documentTypeGroups.nth(1);
|
|
71
|
+
const firstGroupValue = await firstGroup.getByLabel('Group', { exact: true }).inputValue();
|
|
72
|
+
const secondGroupValue = await secondGroup.getByLabel('Group', { exact: true }).inputValue();
|
|
73
|
+
const dragToLocator = firstGroup.locator('[name="icon-navigation"]');
|
|
74
|
+
const dragFromLocator = secondGroup.locator('[name="icon-navigation"]');
|
|
75
|
+
await this.dragAndDrop(dragFromLocator, dragToLocator, 0, 0, 10);
|
|
76
|
+
return { firstGroupValue, secondGroupValue };
|
|
77
|
+
}
|
|
46
78
|
async clickVaryBySegmentsButton() {
|
|
47
79
|
await this.varyBySegmentsBtn.click();
|
|
48
80
|
}
|
|
@@ -53,10 +85,46 @@ class DocumentTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
53
85
|
await this.clickRootFolderCaretButton();
|
|
54
86
|
await this.page.getByLabel(documentTypeName).click();
|
|
55
87
|
}
|
|
88
|
+
async enterPropertyEditorDescription(description) {
|
|
89
|
+
await this.propertySettingsModal.locator(this.enterDescriptionTxt).fill(description);
|
|
90
|
+
}
|
|
56
91
|
async enterDocumentTypeName(documentTypeName) {
|
|
57
92
|
await this.documentNameTxt.waitFor({ state: 'visible' });
|
|
58
93
|
await this.documentNameTxt.fill(documentTypeName);
|
|
59
94
|
}
|
|
95
|
+
async clickCreateDocumentTypeButton() {
|
|
96
|
+
await this.createDocumentTypeBtn.click();
|
|
97
|
+
}
|
|
98
|
+
async clickCreateDocumentTypeWithTemplateButton() {
|
|
99
|
+
await this.createDocumentTypeWithTemplateBtn.click();
|
|
100
|
+
}
|
|
101
|
+
async clickCreateElementTypeButton() {
|
|
102
|
+
await this.createElementTypeBtn.click();
|
|
103
|
+
}
|
|
104
|
+
async clickCreateDocumentFolderButton() {
|
|
105
|
+
await this.createDocumentFolderBtn.click();
|
|
106
|
+
}
|
|
107
|
+
async deletePropertyEditorInDocumentTypeWithName(name) {
|
|
108
|
+
// We need to hover over the Property Editor to make the delete button visible
|
|
109
|
+
await this.page.locator('umb-content-type-design-editor-property', { hasText: name }).hover();
|
|
110
|
+
await this.page.locator('umb-content-type-design-editor-property', { hasText: name }).getByLabel('Delete').click({ force: true });
|
|
111
|
+
await this.clickConfirmToDeleteButton();
|
|
112
|
+
}
|
|
113
|
+
async clickAllowedChildNodesButton() {
|
|
114
|
+
await this.allowedChildNodesModal.locator(this.chooseBtn).click();
|
|
115
|
+
}
|
|
116
|
+
async clickConfigureAsACollectionButton() {
|
|
117
|
+
await this.configureAsACollectionBtn.click();
|
|
118
|
+
}
|
|
119
|
+
async enterDocumentTypeGroupName(groupName, index = 0) {
|
|
120
|
+
// We need this wait, otherwise the group name would sometimes not be written
|
|
121
|
+
await this.page.waitForTimeout(500);
|
|
122
|
+
await (0, test_1.expect)(this.documentTypeGroupNameTxt.nth(index)).toBeVisible();
|
|
123
|
+
await this.documentTypeGroupNameTxt.nth(index).fill(groupName);
|
|
124
|
+
}
|
|
125
|
+
async isDocumentTreeItemVisible(name, isVisible = true) {
|
|
126
|
+
await (0, test_1.expect)(this.page.locator('umb-tree-item').locator('[label="' + name + '"]')).toBeVisible({ visible: isVisible });
|
|
127
|
+
}
|
|
60
128
|
}
|
|
61
129
|
exports.DocumentTypeUiHelper = DocumentTypeUiHelper;
|
|
62
130
|
//# sourceMappingURL=DocumentTypeUiHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentTypeUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {Locator, Page} from \"@playwright/test\";\n\nexport class DocumentTypeUiHelper extends UiBaseLocators {\n private readonly newDocumentTypeBtn: Locator;\n private readonly documentNameTxt: Locator;\n private readonly varyByCultureSlider: Locator;\n private readonly documentTypeSettingsTabBtn: Locator;\n private readonly documentTypeTemplatesTabBtn: Locator;\n private readonly varyBySegmentsBtn: Locator;\n private readonly varyByCultureBtn: Locator;\n\n constructor(page: Page) {\n super(page);\n this.newDocumentTypeBtn = page.getByLabel('New Document Type...');\n this.documentNameTxt = page.getByLabel('name', {exact: true});\n this.varyByCultureSlider = page.locator('label').filter({hasText: 'Vary by culture'}).locator('#slider');\n this.documentTypeSettingsTabBtn = page.locator('umb-body-layout').getByRole('tab', {name: 'Settings'});\n this.documentTypeTemplatesTabBtn = page.getByRole('tab', {name: 'Templates'})\n this.varyBySegmentsBtn = page.getByText('Vary by segments', {exact: true});\n this.varyByCultureBtn = page.getByText('Vary by culture', {exact: true});\n }\n\n async clickActionsMenuForDocumentType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForDocumentType(\"Document Types\");\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName(\"Document Types\");\n }\n\n async clickNewDocumentTypeButton() {\n await this.newDocumentTypeBtn.click();\n }\n\n async clickVaryByCultureSlider() {\n await this.varyByCultureSlider.click();\n }\n\n async clickDocumentTypeSettingsTab() {\n await this.documentTypeSettingsTabBtn.waitFor({state: 'visible'});\n await this.documentTypeSettingsTabBtn.click({force: true});\n }\n\n async clickDocumentTypeTemplatesTab() {\n await this.documentTypeTemplatesTabBtn.waitFor({state: 'visible'});\n await this.documentTypeTemplatesTabBtn.click({force: true});\n }\n\n async clickVaryBySegmentsButton() {\n await this.varyBySegmentsBtn.click();\n }\n\n async clickVaryByCultureButton() {\n await this.varyByCultureBtn.click();\n }\n\n async goToDocumentType(documentTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.page.getByLabel(documentTypeName).click();\n }\n\n async enterDocumentTypeName(documentTypeName: string) {\n await this.documentNameTxt.waitFor({state: 'visible'});\n await this.documentNameTxt.fill(documentTypeName);\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"DocumentTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentTypeUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {expect, Locator, Page} from \"@playwright/test\";\n\nexport class DocumentTypeUiHelper extends UiBaseLocators {\n private readonly newDocumentTypeBtn: Locator;\n private readonly documentNameTxt: Locator;\n private readonly varyByCultureSlider: Locator;\n private readonly documentTypeSettingsTabBtn: Locator;\n private readonly documentTypeTemplatesTabBtn: Locator;\n private readonly varyBySegmentsBtn: Locator;\n private readonly varyByCultureBtn: Locator;\n private readonly createDocumentTypeBtn: Locator;\n private readonly createDocumentTypeWithTemplateBtn: Locator;\n private readonly createElementTypeBtn: Locator;\n private readonly createDocumentFolderBtn: Locator;\n private readonly documentTypeGroupNameTxt: Locator;\n private readonly propertySettingsModal: Locator;\n private readonly allowedChildNodesModal: Locator;\n private readonly configureAsACollectionBtn: Locator;\n private readonly documentTypeGroups: Locator;\n\n constructor(page: Page) {\n super(page);\n this.newDocumentTypeBtn = page.getByLabel('New Document Type...');\n this.documentNameTxt = page.getByLabel('name', {exact: true});\n this.varyByCultureSlider = page.locator('label').filter({hasText: 'Vary by culture'}).locator('#slider');\n this.documentTypeSettingsTabBtn = page.locator('umb-body-layout').getByRole('tab', {name: 'Settings'});\n this.documentTypeTemplatesTabBtn = page.getByRole('tab', {name: 'Templates'})\n this.varyBySegmentsBtn = page.getByText('Vary by segments', {exact: true});\n this.varyByCultureBtn = page.getByText('Vary by culture', {exact: true});\n this.createDocumentTypeBtn = page.locator('umb-ref-item').getByText('Document Type', {exact: true});\n this.createDocumentTypeWithTemplateBtn = page.locator('umb-ref-item').getByText('Document Type with Template', {exact: true});\n this.createElementTypeBtn = page.locator('umb-ref-item').getByText('Element Type', {exact: true});\n this.createDocumentFolderBtn = page.locator('umb-ref-item').getByText('Folder', {exact: true});\n this.documentTypeGroupNameTxt = page.getByLabel('Group', {exact: true});\n this.propertySettingsModal = page.locator('umb-property-type-settings-modal');\n this.allowedChildNodesModal = page.locator('umb-tree-picker-modal');\n this.configureAsACollectionBtn = page.getByLabel('Configure as a collection');\n this.documentTypeGroups = page.locator('umb-content-type-design-editor-group');\n }\n\n async clickActionsMenuForDocumentType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForDocumentType(\"Document Types\");\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName(\"Document Types\");\n }\n\n async clickNewDocumentTypeButton() {\n await this.newDocumentTypeBtn.click();\n }\n\n async clickVaryByCultureSlider() {\n await this.varyByCultureSlider.click();\n }\n\n async clickDocumentTypeSettingsTab() {\n await this.documentTypeSettingsTabBtn.waitFor({state: 'visible'});\n // Sometimes when we switch tabs in the Document Type, we end up not being redirected to the new tab.\n await this.page.waitForLoadState();\n await this.documentTypeSettingsTabBtn.click({force: true});\n }\n\n async clickDocumentTypeTemplatesTab() {\n await this.documentTypeTemplatesTabBtn.waitFor({state: 'visible'});\n await this.page.waitForLoadState();\n await this.documentTypeTemplatesTabBtn.click({force: true});\n }\n\n async reorderTwoGroupsInADocumentType() {\n const firstGroup = this.documentTypeGroups.nth(0);\n const secondGroup = this.documentTypeGroups.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\"]');\n const dragFromLocator = secondGroup.locator('[name=\"icon-navigation\"]');\n await this.dragAndDrop(dragFromLocator, dragToLocator, 0, 0, 10);\n\n return {firstGroupValue, secondGroupValue};\n }\n\n async clickVaryBySegmentsButton() {\n await this.varyBySegmentsBtn.click();\n }\n\n async clickVaryByCultureButton() {\n await this.varyByCultureBtn.click();\n }\n\n async goToDocumentType(documentTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.page.getByLabel(documentTypeName).click();\n }\n\n async enterPropertyEditorDescription(description: string) {\n await this.propertySettingsModal.locator(this.enterDescriptionTxt).fill(description);\n }\n\n async enterDocumentTypeName(documentTypeName: string) {\n await this.documentNameTxt.waitFor({state: 'visible'});\n await this.documentNameTxt.fill(documentTypeName);\n }\n\n async clickCreateDocumentTypeButton() {\n await this.createDocumentTypeBtn.click();\n }\n\n async clickCreateDocumentTypeWithTemplateButton() {\n await this.createDocumentTypeWithTemplateBtn.click();\n }\n\n async clickCreateElementTypeButton() {\n await this.createElementTypeBtn.click();\n }\n\n async clickCreateDocumentFolderButton() {\n await this.createDocumentFolderBtn.click();\n }\n\n async deletePropertyEditorInDocumentTypeWithName(name: string) {\n // We need to hover over the Property Editor to make the delete button visible\n await this.page.locator('umb-content-type-design-editor-property', {hasText: name}).hover();\n await this.page.locator('umb-content-type-design-editor-property', {hasText: name}).getByLabel('Delete').click({force: true});\n await this.clickConfirmToDeleteButton();\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 enterDocumentTypeGroupName(groupName: string, index = 0) {\n // We need this wait, otherwise the group name would sometimes not be written\n await this.page.waitForTimeout(500);\n await expect(this.documentTypeGroupNameTxt.nth(index)).toBeVisible();\n await this.documentTypeGroupNameTxt.nth(index).fill(groupName);\n }\n\n async isDocumentTreeItemVisible(name: string, isVisible = true) {\n await expect(this.page.locator('umb-tree-item').locator('[label=\"' + name + '\"]')).toBeVisible({visible: isVisible});\n }\n}"]}
|
|
@@ -6,7 +6,6 @@ export declare class LanguageUiHelper extends UiBaseLocators {
|
|
|
6
6
|
private readonly defaultLanguageToggle;
|
|
7
7
|
private readonly mandatoryLanguageToggle;
|
|
8
8
|
private readonly addFallbackLanguageBtn;
|
|
9
|
-
private readonly confirmToRemoveBtn;
|
|
10
9
|
private readonly languageTable;
|
|
11
10
|
constructor(page: Page);
|
|
12
11
|
clickLanguageRoot(): Promise<void>;
|
|
@@ -9,7 +9,6 @@ class LanguageUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
9
9
|
defaultLanguageToggle;
|
|
10
10
|
mandatoryLanguageToggle;
|
|
11
11
|
addFallbackLanguageBtn;
|
|
12
|
-
confirmToRemoveBtn;
|
|
13
12
|
languageTable;
|
|
14
13
|
constructor(page) {
|
|
15
14
|
super(page);
|
|
@@ -18,7 +17,6 @@ class LanguageUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
18
17
|
this.defaultLanguageToggle = page.locator('uui-toggle').filter({ hasText: /Default language/ }).locator('#slider');
|
|
19
18
|
this.mandatoryLanguageToggle = page.locator('uui-toggle').filter({ hasText: /Mandatory language/ }).locator('#slider');
|
|
20
19
|
this.addFallbackLanguageBtn = page.locator('#add-button');
|
|
21
|
-
this.confirmToRemoveBtn = page.locator("#confirm").getByLabel("Remove");
|
|
22
20
|
this.languageTable = page.locator('umb-language-table-collection-view');
|
|
23
21
|
}
|
|
24
22
|
async clickLanguageRoot() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/LanguageUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,qDAAgD;AAEhD,MAAa,gBAAiB,SAAQ,+BAAc;IACjC,YAAY,CAAU;IACtB,gBAAgB,CAAU;IAC1B,qBAAqB,CAAU;IAC/B,uBAAuB,CAAU;IACjC,sBAAsB,CAAU;IAChC,
|
|
1
|
+
{"version":3,"file":"LanguageUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/LanguageUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class LanguageUiHelper extends UiBaseLocators{\n private readonly languageRoot: Locator;\n private readonly languageDropdown: Locator;\n private readonly defaultLanguageToggle: Locator;\n private readonly mandatoryLanguageToggle: Locator;\n private readonly addFallbackLanguageBtn: Locator;\n private readonly languageTable: Locator;\n\n constructor(page: Page) {\n super(page);\n this.languageRoot = page.locator('umb-menu').getByLabel('Language');\n this.languageDropdown = page.locator('umb-input-culture-select #expand-symbol-wrapper');\n this.defaultLanguageToggle = page.locator('uui-toggle').filter({ hasText: /Default language/ }).locator('#slider');\n this.mandatoryLanguageToggle = page.locator('uui-toggle').filter({ hasText: /Mandatory language/ }).locator('#slider');\n this.addFallbackLanguageBtn = page.locator('#add-button');\n this.languageTable = page.locator('umb-language-table-collection-view');\n }\n\n async clickLanguageRoot() {\n await this.languageRoot.click();\n }\n\n async removeFallbackLanguageByName(name: string) {\n await this.page.locator('uui-ref-list').getByLabel('Remove ' + name, {exact: true}).click();\n await this.confirmToRemoveBtn.click();\n }\n\n async chooseLanguageByName(name: string) {\n await this.languageDropdown.click();\n await this.page.locator('umb-input-culture-select').getByText(name, {exact: true}).click();\n }\n\n async clickLanguageByName(name: string) {\n await this.languageTable.getByText(name, {exact: true}).click();\n }\n\n async isLanguageNameVisible(name: string, isVisible = true) {\n return await expect(this.languageTable.getByText(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n \n async switchDefaultLanguageOption() {\n await this.defaultLanguageToggle.click();\n }\n\n async switchMandatoryLanguageOption() {\n await this.mandatoryLanguageToggle.click();\n }\n\n async clickAddFallbackLanguageButton() {\n await this.addFallbackLanguageBtn.click();\n }\n\n async clickRemoveLanguageByName(name: string) {\n await this.page.locator('uui-table-row').filter({has: this.page.getByText(name, {exact: true})}).locator('uui-symbol-more').click();\n }\n\n async removeLanguageByName(name: string) {\n await this.clickRemoveLanguageByName(name);\n await this.deleteBtn.click();\n await this.confirmToDeleteBtn.click();\n }\n\n async selectFallbackLanguageByName(name: string) {\n await this.page.locator('umb-language-picker-modal').getByLabel(name).click();\n await this.clickSubmitButton();\n }\n}"]}
|
|
@@ -35,6 +35,7 @@ export declare class UiBaseLocators {
|
|
|
35
35
|
readonly chooseModalBtn: Locator;
|
|
36
36
|
readonly addBtn: Locator;
|
|
37
37
|
readonly renameFolderThreeDotsBtn: Locator;
|
|
38
|
+
readonly renameFolderBtn: Locator;
|
|
38
39
|
readonly updateFolderBtn: Locator;
|
|
39
40
|
readonly filterChooseBtn: Locator;
|
|
40
41
|
readonly updateBtn: Locator;
|
|
@@ -67,7 +68,6 @@ export declare class UiBaseLocators {
|
|
|
67
68
|
readonly enableBtn: Locator;
|
|
68
69
|
readonly confirmEnableBtn: Locator;
|
|
69
70
|
readonly iconBtn: Locator;
|
|
70
|
-
readonly bugIconBtn: Locator;
|
|
71
71
|
readonly aliasLockBtn: Locator;
|
|
72
72
|
readonly aliasNameTxt: Locator;
|
|
73
73
|
readonly deleteFolderThreeDotsBtn: Locator;
|
|
@@ -84,6 +84,7 @@ export declare class UiBaseLocators {
|
|
|
84
84
|
readonly chooseRootContentBtn: Locator;
|
|
85
85
|
readonly queryResults: Locator;
|
|
86
86
|
readonly reloadBtn: Locator;
|
|
87
|
+
readonly confirmToRemoveBtn: Locator;
|
|
87
88
|
constructor(page: Page);
|
|
88
89
|
clickActionsMenuForName(name: string): Promise<void>;
|
|
89
90
|
clickCaretButtonForName(name: string): Promise<void>;
|
|
@@ -94,6 +95,7 @@ export declare class UiBaseLocators {
|
|
|
94
95
|
clickChooseButton(): Promise<void>;
|
|
95
96
|
clickFilterChooseButton(): Promise<void>;
|
|
96
97
|
clickRenameFolderThreeDotsButton(): Promise<void>;
|
|
98
|
+
clickRenameFolderButton(): Promise<void>;
|
|
97
99
|
clickUpdateFolderButton(): Promise<void>;
|
|
98
100
|
clickUpdateButton(): Promise<void>;
|
|
99
101
|
clickSubmitButton(): Promise<void>;
|
|
@@ -114,9 +116,12 @@ export declare class UiBaseLocators {
|
|
|
114
116
|
clickConfirmCreateFolderButton(): Promise<void>;
|
|
115
117
|
clickDeleteThreeDotsButton(): Promise<void>;
|
|
116
118
|
clickRemoveExactButton(): Promise<void>;
|
|
119
|
+
clickRemoveButtonForName(name: string): Promise<void>;
|
|
120
|
+
clickTrashIconButtonForName(name: string): Promise<void>;
|
|
117
121
|
clickRemoveWithName(name: string): Promise<void>;
|
|
118
122
|
clickDisableButton(): Promise<void>;
|
|
119
123
|
clickConfirmDisableButton(): Promise<void>;
|
|
124
|
+
clickConfirmRemoveButton(): Promise<void>;
|
|
120
125
|
clickEnableButton(): Promise<void>;
|
|
121
126
|
clickConfirmEnableButton(): Promise<void>;
|
|
122
127
|
insertDictionaryItem(dictionaryName: string): Promise<void>;
|
|
@@ -169,7 +174,7 @@ export declare class UiBaseLocators {
|
|
|
169
174
|
doesGroupHaveValue(value: string): Promise<void>;
|
|
170
175
|
rename(newName: string): Promise<void>;
|
|
171
176
|
isSuccessButtonWithTextVisible(text: string): Promise<void>;
|
|
172
|
-
dragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset
|
|
177
|
+
dragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset?: number, horizontalOffset?: number, steps?: number): Promise<void>;
|
|
173
178
|
clickCreateLink(): Promise<void>;
|
|
174
179
|
insertSystemFieldValue(fieldValue: string): Promise<void>;
|
|
175
180
|
insertPartialView(partialViewName: string): Promise<void>;
|
|
@@ -39,6 +39,7 @@ class UiBaseLocators {
|
|
|
39
39
|
chooseModalBtn;
|
|
40
40
|
addBtn;
|
|
41
41
|
renameFolderThreeDotsBtn;
|
|
42
|
+
renameFolderBtn;
|
|
42
43
|
updateFolderBtn;
|
|
43
44
|
filterChooseBtn;
|
|
44
45
|
updateBtn;
|
|
@@ -71,7 +72,6 @@ class UiBaseLocators {
|
|
|
71
72
|
enableBtn;
|
|
72
73
|
confirmEnableBtn;
|
|
73
74
|
iconBtn;
|
|
74
|
-
bugIconBtn;
|
|
75
75
|
aliasLockBtn;
|
|
76
76
|
aliasNameTxt;
|
|
77
77
|
deleteFolderThreeDotsBtn;
|
|
@@ -88,6 +88,7 @@ class UiBaseLocators {
|
|
|
88
88
|
chooseRootContentBtn;
|
|
89
89
|
queryResults;
|
|
90
90
|
reloadBtn;
|
|
91
|
+
confirmToRemoveBtn;
|
|
91
92
|
constructor(page) {
|
|
92
93
|
this.page = page;
|
|
93
94
|
this.saveBtn = page.getByLabel('Save', { exact: true });
|
|
@@ -101,7 +102,7 @@ class UiBaseLocators {
|
|
|
101
102
|
this.breadcrumbBtn = page.getByLabel('Breadcrumb');
|
|
102
103
|
this.createFolderBtn = page.getByLabel('Create folder');
|
|
103
104
|
this.insertBtn = page.locator('uui-box uui-button').filter({ hasText: 'Insert' });
|
|
104
|
-
this.modalCaretBtn = page.locator('
|
|
105
|
+
this.modalCaretBtn = page.locator('uui-modal-sidebar').locator('#caret-button');
|
|
105
106
|
this.queryBuilderBtn = page.locator('#query-builder-button').getByLabel('Query builder');
|
|
106
107
|
this.queryBuilderOrderedBy = page.locator('#property-alias-dropdown').getByLabel('Property alias');
|
|
107
108
|
this.queryBuilderCreateDate = page.locator('#property-alias-dropdown').getByText('CreateDate').locator("..");
|
|
@@ -124,6 +125,7 @@ class UiBaseLocators {
|
|
|
124
125
|
this.chooseModalBtn = page.locator('umb-tree-picker-modal').getByLabel('Choose');
|
|
125
126
|
this.addBtn = page.getByLabel('Add', { exact: true });
|
|
126
127
|
this.renameFolderThreeDotsBtn = page.getByLabel('Rename Folder...');
|
|
128
|
+
this.renameFolderBtn = page.getByLabel('Rename folder');
|
|
127
129
|
this.updateFolderBtn = page.getByLabel('Update Folder');
|
|
128
130
|
this.filterChooseBtn = page.locator('button').filter({ hasText: 'Choose' });
|
|
129
131
|
this.updateBtn = page.getByLabel('Update');
|
|
@@ -156,7 +158,6 @@ class UiBaseLocators {
|
|
|
156
158
|
this.enableBtn = page.getByLabel('Enable');
|
|
157
159
|
this.confirmEnableBtn = page.locator('#confirm').getByLabel('Enable');
|
|
158
160
|
this.iconBtn = page.getByLabel('icon');
|
|
159
|
-
this.bugIconBtn = page.getByLabel('icon-bug').getByRole('img');
|
|
160
161
|
this.aliasLockBtn = page.locator('#name #alias-lock');
|
|
161
162
|
this.aliasNameTxt = page.locator('#name').getByLabel('alias');
|
|
162
163
|
this.deleteFolderThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete Folder...');
|
|
@@ -173,6 +174,7 @@ class UiBaseLocators {
|
|
|
173
174
|
this.chooseRootContentBtn = page.getByLabel('Choose root document');
|
|
174
175
|
this.queryResults = page.locator('query-results');
|
|
175
176
|
this.reloadBtn = page.getByLabel('Reload');
|
|
177
|
+
this.confirmToRemoveBtn = page.locator('#confirm').getByLabel('Remove');
|
|
176
178
|
}
|
|
177
179
|
async clickActionsMenuForName(name) {
|
|
178
180
|
await this.page.locator('[label="' + name + '"] >> [label="Open actions menu"]').first().click({ force: true });
|
|
@@ -186,6 +188,7 @@ class UiBaseLocators {
|
|
|
186
188
|
async reloadTree(treeName) {
|
|
187
189
|
// Waits until the tree item is visible
|
|
188
190
|
await (0, test_1.expect)(this.page.getByLabel(treeName, { exact: true })).toBeVisible();
|
|
191
|
+
await this.page.waitForTimeout(500);
|
|
189
192
|
await this.clickActionsMenuForName(treeName);
|
|
190
193
|
await this.clickReloadButton();
|
|
191
194
|
const menuItem = this.page.locator('uui-menu-item[label="' + treeName + '"]');
|
|
@@ -214,6 +217,9 @@ class UiBaseLocators {
|
|
|
214
217
|
async clickRenameFolderThreeDotsButton() {
|
|
215
218
|
await this.renameFolderThreeDotsBtn.click();
|
|
216
219
|
}
|
|
220
|
+
async clickRenameFolderButton() {
|
|
221
|
+
await this.renameFolderBtn.click();
|
|
222
|
+
}
|
|
217
223
|
async clickUpdateFolderButton() {
|
|
218
224
|
await this.updateFolderBtn.click();
|
|
219
225
|
}
|
|
@@ -239,9 +245,11 @@ class UiBaseLocators {
|
|
|
239
245
|
async updateIcon(iconName) {
|
|
240
246
|
await this.iconBtn.click({ force: true });
|
|
241
247
|
await this.searchForTypeToFilterValue(iconName);
|
|
242
|
-
await this.
|
|
248
|
+
await this.clickLabelWithName(iconName, true);
|
|
249
|
+
await this.clickSubmitButton();
|
|
243
250
|
}
|
|
244
251
|
async clickTextButtonWithName(name) {
|
|
252
|
+
await (0, test_1.expect)(this.page.getByText(name, { exact: true })).toBeVisible();
|
|
245
253
|
await this.page.getByText(name, { exact: true }).click();
|
|
246
254
|
}
|
|
247
255
|
async clickSelectPropertyEditorButton() {
|
|
@@ -283,6 +291,12 @@ class UiBaseLocators {
|
|
|
283
291
|
async clickRemoveExactButton() {
|
|
284
292
|
await this.removeExactBtn.click();
|
|
285
293
|
}
|
|
294
|
+
async clickRemoveButtonForName(name) {
|
|
295
|
+
await this.page.locator('[name="' + name + '"] [Label="Remove"]').click();
|
|
296
|
+
}
|
|
297
|
+
async clickTrashIconButtonForName(name) {
|
|
298
|
+
await this.page.locator('[name="' + name + '"] [name="icon-trash"]').click();
|
|
299
|
+
}
|
|
286
300
|
async clickRemoveWithName(name) {
|
|
287
301
|
await this.page.getByLabel('Remove ' + name).click();
|
|
288
302
|
}
|
|
@@ -292,6 +306,9 @@ class UiBaseLocators {
|
|
|
292
306
|
async clickConfirmDisableButton() {
|
|
293
307
|
await this.confirmDisableBtn.click();
|
|
294
308
|
}
|
|
309
|
+
async clickConfirmRemoveButton() {
|
|
310
|
+
await this.confirmToRemoveBtn.click();
|
|
311
|
+
}
|
|
295
312
|
async clickEnableButton() {
|
|
296
313
|
await this.enableBtn.click();
|
|
297
314
|
}
|
|
@@ -435,7 +452,8 @@ class UiBaseLocators {
|
|
|
435
452
|
return await (0, test_1.expect)(this.descriptionBtn).toHaveValue(value);
|
|
436
453
|
}
|
|
437
454
|
async clickStructureTab() {
|
|
438
|
-
await
|
|
455
|
+
await this.structureTabBtn.waitFor({ state: 'visible' });
|
|
456
|
+
await this.page.waitForLoadState();
|
|
439
457
|
await this.structureTabBtn.click();
|
|
440
458
|
}
|
|
441
459
|
async clickAllowAtRootButton() {
|
|
@@ -477,10 +495,11 @@ class UiBaseLocators {
|
|
|
477
495
|
}
|
|
478
496
|
async addPropertyEditor(propertyEditorName, index = 0) {
|
|
479
497
|
await this.addPropertyBtn.nth(index).click({ force: true });
|
|
498
|
+
await this.enterAPropertyName(propertyEditorName);
|
|
499
|
+
await (0, test_1.expect)(this.propertyNameTxt).toHaveValue(propertyEditorName);
|
|
480
500
|
await this.clickSelectPropertyEditorButton();
|
|
481
501
|
await this.searchForTypeToFilterValue(propertyEditorName);
|
|
482
502
|
await this.page.getByText(propertyEditorName, { exact: true }).click();
|
|
483
|
-
await this.enterAPropertyName(propertyEditorName);
|
|
484
503
|
await this.clickAddButton();
|
|
485
504
|
}
|
|
486
505
|
async updatePropertyEditor(propertyEditorName) {
|
|
@@ -500,6 +519,7 @@ class UiBaseLocators {
|
|
|
500
519
|
await groupNameTxt.fill(groupName);
|
|
501
520
|
}
|
|
502
521
|
async doesGroupHaveValue(value) {
|
|
522
|
+
await (0, test_1.expect)(this.page.getByLabel('Group', { exact: true })).toBeVisible();
|
|
503
523
|
return await (0, test_1.expect)(this.page.getByLabel('Group', { exact: true })).toHaveValue(value);
|
|
504
524
|
}
|
|
505
525
|
async rename(newName) {
|
|
@@ -513,13 +533,17 @@ class UiBaseLocators {
|
|
|
513
533
|
async isSuccessButtonWithTextVisible(text) {
|
|
514
534
|
return await (0, test_1.expect)(this.successState.filter({ hasText: text })).toBeVisible();
|
|
515
535
|
}
|
|
516
|
-
async dragAndDrop(dragFromSelector, dragToSelector, verticalOffset, horizontalOffset, steps) {
|
|
536
|
+
async dragAndDrop(dragFromSelector, dragToSelector, verticalOffset = 0, horizontalOffset = 0, steps = 5) {
|
|
537
|
+
await (0, test_1.expect)(dragFromSelector).toBeVisible();
|
|
538
|
+
await (0, test_1.expect)(dragToSelector).toBeVisible();
|
|
517
539
|
const targetLocation = await dragToSelector.boundingBox();
|
|
518
540
|
const elementCenterX = targetLocation.x + targetLocation.width / 2;
|
|
519
541
|
const elementCenterY = targetLocation.y + targetLocation.height / 2;
|
|
520
542
|
await dragFromSelector.hover();
|
|
521
543
|
await this.page.mouse.down();
|
|
544
|
+
await this.page.waitForTimeout(200);
|
|
522
545
|
await this.page.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, { steps: steps });
|
|
546
|
+
await this.page.waitForTimeout(200);
|
|
523
547
|
await this.page.mouse.up();
|
|
524
548
|
}
|
|
525
549
|
async clickCreateLink() {
|