@umbraco/playwright-testhelpers 2.0.0-beta.22 → 2.0.0-beta.23
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 -2
- package/dist/lib/helpers/ApiHelpers.js +1 -1
- package/dist/lib/helpers/ApiHelpers.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.d.ts +0 -2
- package/dist/lib/helpers/DataTypeUiHelper.js +0 -5
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentApiHelper.js +1 -1
- package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
- package/dist/lib/helpers/LanguageApiHelper.d.ts +3 -1
- package/dist/lib/helpers/LanguageApiHelper.js +16 -3
- package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeApiHelper.d.ts +8 -2
- package/dist/lib/helpers/MediaTypeApiHelper.js +91 -10
- package/dist/lib/helpers/MediaTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeUiHelper.d.ts +15 -0
- package/dist/lib/helpers/MediaTypeUiHelper.js +39 -0
- package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -0
- package/dist/lib/helpers/TemporaryFileApiHelper.js +4 -4
- package/dist/lib/helpers/TemporaryFileApiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +31 -8
- package/dist/lib/helpers/UiBaseLocators.js +87 -22
- 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/lib/helpers/UserApiHelper.d.ts +6 -2
- package/dist/lib/helpers/UserApiHelper.js +34 -12
- package/dist/lib/helpers/UserApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserGroupApiHelper.d.ts +2 -1
- package/dist/lib/helpers/UserGroupApiHelper.js +9 -11
- package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserUiHelper.d.ts +41 -0
- package/dist/lib/helpers/UserUiHelper.js +116 -0
- package/dist/lib/helpers/UserUiHelper.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { UiBaseLocators } from "./UiBaseLocators";
|
|
2
|
+
import { Page } from "@playwright/test";
|
|
3
|
+
export declare class MediaTypeUiHelper extends UiBaseLocators {
|
|
4
|
+
private readonly newMediaTypeThreeDotsBtn;
|
|
5
|
+
private readonly mediaTypeNameTxt;
|
|
6
|
+
private readonly mediaEditPropertyWorkspace;
|
|
7
|
+
constructor(page: Page);
|
|
8
|
+
clickActionsMenuForMediaType(name: string): Promise<void>;
|
|
9
|
+
clickActionsMenuAtRoot(): Promise<void>;
|
|
10
|
+
clickRootFolderCaretButton(): Promise<void>;
|
|
11
|
+
clickNewMediaTypeButton(): Promise<void>;
|
|
12
|
+
goToMediaType(mediaTypeName: string): Promise<void>;
|
|
13
|
+
enterMediaTypeName(name: string): Promise<void>;
|
|
14
|
+
enterDescriptionForPropertyEditorWithName(propertyEditorName: string, description: string): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MediaTypeUiHelper = void 0;
|
|
4
|
+
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
5
|
+
class MediaTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
6
|
+
newMediaTypeThreeDotsBtn;
|
|
7
|
+
mediaTypeNameTxt;
|
|
8
|
+
mediaEditPropertyWorkspace;
|
|
9
|
+
constructor(page) {
|
|
10
|
+
super(page);
|
|
11
|
+
this.newMediaTypeThreeDotsBtn = page.getByLabel('New Media Type...');
|
|
12
|
+
this.mediaTypeNameTxt = page.getByLabel('name', { exact: true });
|
|
13
|
+
this.mediaEditPropertyWorkspace = page.locator('umb-media-type-workspace-view-edit-property');
|
|
14
|
+
}
|
|
15
|
+
async clickActionsMenuForMediaType(name) {
|
|
16
|
+
await this.clickActionsMenuForName(name);
|
|
17
|
+
}
|
|
18
|
+
async clickActionsMenuAtRoot() {
|
|
19
|
+
await this.clickActionsMenuForMediaType("Media Types");
|
|
20
|
+
}
|
|
21
|
+
async clickRootFolderCaretButton() {
|
|
22
|
+
await this.clickCaretButtonForName("Media Types");
|
|
23
|
+
}
|
|
24
|
+
async clickNewMediaTypeButton() {
|
|
25
|
+
await this.newMediaTypeThreeDotsBtn.click();
|
|
26
|
+
}
|
|
27
|
+
async goToMediaType(mediaTypeName) {
|
|
28
|
+
await this.clickRootFolderCaretButton();
|
|
29
|
+
await this.page.getByLabel(mediaTypeName).click();
|
|
30
|
+
}
|
|
31
|
+
async enterMediaTypeName(name) {
|
|
32
|
+
await this.mediaTypeNameTxt.fill(name);
|
|
33
|
+
}
|
|
34
|
+
async enterDescriptionForPropertyEditorWithName(propertyEditorName, description) {
|
|
35
|
+
await this.mediaEditPropertyWorkspace.filter({ hasText: propertyEditorName }).getByLabel('description').fill(description);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.MediaTypeUiHelper = MediaTypeUiHelper;
|
|
39
|
+
//# sourceMappingURL=MediaTypeUiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaTypeUiHelper.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAGhD,MAAa,iBAAkB,SAAQ,+BAAc;IAClC,wBAAwB,CAAU;IAClC,gBAAgB,CAAU;IAC1B,0BAA0B,CAAU;IAErD,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAAY;QAC7C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,aAAqB;QACvC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,yCAAyC,CAAC,kBAA0B,EAAE,WAAmB;QAC7F,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1H,CAAC;CACF;AAxCD,8CAwCC","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {Locator, Page} from \"@playwright/test\";\n\nexport class MediaTypeUiHelper extends UiBaseLocators {\n private readonly newMediaTypeThreeDotsBtn: Locator;\n private readonly mediaTypeNameTxt: Locator;\n private readonly mediaEditPropertyWorkspace: Locator;\n\n constructor(page: Page) {\n super(page);\n this.newMediaTypeThreeDotsBtn = page.getByLabel('New Media Type...');\n this.mediaTypeNameTxt = page.getByLabel('name', {exact: true});\n this.mediaEditPropertyWorkspace = page.locator('umb-media-type-workspace-view-edit-property');\n }\n\n async clickActionsMenuForMediaType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForMediaType(\"Media Types\");\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName(\"Media Types\");\n }\n\n async clickNewMediaTypeButton() {\n await this.newMediaTypeThreeDotsBtn.click();\n }\n \n async goToMediaType(mediaTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.page.getByLabel(mediaTypeName).click();\n }\n\n async enterMediaTypeName(name: string) {\n await this.mediaTypeNameTxt.fill(name);\n }\n\n async enterDescriptionForPropertyEditorWithName(propertyEditorName: string, description: string) {\n await this.mediaEditPropertyWorkspace.filter({hasText: propertyEditorName}).getByLabel('description').fill(description);\n }\n}"]}
|
|
@@ -7,14 +7,14 @@ class TemporaryFileApiHelper {
|
|
|
7
7
|
this.api = api;
|
|
8
8
|
}
|
|
9
9
|
async exists(id) {
|
|
10
|
-
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/
|
|
10
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file/' + id);
|
|
11
11
|
return response.status() === 200;
|
|
12
12
|
}
|
|
13
13
|
async create(id, name, mimeType, filePath) {
|
|
14
|
-
return this.api.postMultiPartForm(this.api.baseUrl + '/umbraco/management/api/v1/
|
|
14
|
+
return this.api.postMultiPartForm(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file', id, name, mimeType, filePath);
|
|
15
15
|
}
|
|
16
16
|
async get(id) {
|
|
17
|
-
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/
|
|
17
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file/' + id);
|
|
18
18
|
const json = await response.json();
|
|
19
19
|
if (json !== null) {
|
|
20
20
|
return json;
|
|
@@ -22,7 +22,7 @@ class TemporaryFileApiHelper {
|
|
|
22
22
|
return null;
|
|
23
23
|
}
|
|
24
24
|
async delete(id) {
|
|
25
|
-
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/
|
|
25
|
+
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file/' + id);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
exports.TemporaryFileApiHelper = TemporaryFileApiHelper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemporaryFileApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemporaryFileApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,sBAAsB;IACjC,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"TemporaryFileApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemporaryFileApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,sBAAsB;IACjC,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,4CAA4C,GAAG,EAAE,CAAC,CAAC;QAC1G,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAY,EAAE,QAAQ,EAAE,QAAQ;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2CAA2C,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACjI,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,4CAA4C,GAAG,EAAE,CAAC,CAAC;QAC1G,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,4CAA4C,GAAG,EAAE,CAAC,CAAC;IACrG,CAAC;CACF;AA7BD,wDA6BC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class TemporaryFileApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async exists(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file/' + id);\n return response.status() === 200;\n }\n\n async create(id: string, name: string, mimeType, filePath) {\n return this.api.postMultiPartForm(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file', id, name, mimeType, filePath)\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/temporary-file/' + id);\n }\n}"]}
|
|
@@ -8,7 +8,7 @@ export declare class UiBaseLocators {
|
|
|
8
8
|
readonly breadcrumbBtn: Locator;
|
|
9
9
|
readonly deleteBtn: Locator;
|
|
10
10
|
readonly confirmToDeleteBtn: Locator;
|
|
11
|
-
readonly
|
|
11
|
+
readonly deleteLabelBtn: Locator;
|
|
12
12
|
readonly deleteExactLabelBtn: Locator;
|
|
13
13
|
readonly confirmCreateFolderBtn: Locator;
|
|
14
14
|
readonly dictionaryInsertItemBtn: Locator;
|
|
@@ -40,7 +40,7 @@ export declare class UiBaseLocators {
|
|
|
40
40
|
private readonly filterChooseBtn;
|
|
41
41
|
private readonly updateBtn;
|
|
42
42
|
private readonly changeBtn;
|
|
43
|
-
private readonly
|
|
43
|
+
private readonly propertyNameTxt;
|
|
44
44
|
private readonly selectPropertyEditorBtn;
|
|
45
45
|
private readonly addGroupBtn;
|
|
46
46
|
private readonly iAmDoneReorderingBtn;
|
|
@@ -54,12 +54,23 @@ export declare class UiBaseLocators {
|
|
|
54
54
|
private readonly regexTxt;
|
|
55
55
|
private readonly regexMessageTxt;
|
|
56
56
|
private readonly structureTabBtn;
|
|
57
|
-
private readonly
|
|
57
|
+
private readonly allowAtRootBtn;
|
|
58
58
|
private readonly addPropertyBtn;
|
|
59
|
-
private readonly
|
|
59
|
+
private readonly typeToFilterSearchTxt;
|
|
60
60
|
private readonly editorSettingsBtn;
|
|
61
61
|
private readonly labelOnTopBtn;
|
|
62
62
|
private readonly unnamedTxt;
|
|
63
|
+
private readonly deleteThreeDotsBtn;
|
|
64
|
+
private readonly removeExactBtn;
|
|
65
|
+
private readonly confirmBtn;
|
|
66
|
+
private readonly disableBtn;
|
|
67
|
+
private readonly confirmDisableBtn;
|
|
68
|
+
private readonly enableBtn;
|
|
69
|
+
private readonly confirmEnableBtn;
|
|
70
|
+
private readonly iconBtn;
|
|
71
|
+
private readonly bugIconBtn;
|
|
72
|
+
private readonly aliasLockBtn;
|
|
73
|
+
private readonly aliasNameTxt;
|
|
63
74
|
constructor(page: Page);
|
|
64
75
|
clickActionsMenuForName(name: string): Promise<void>;
|
|
65
76
|
clickCaretButtonForName(name: string): Promise<void>;
|
|
@@ -72,10 +83,13 @@ export declare class UiBaseLocators {
|
|
|
72
83
|
clickUpdateButton(): Promise<void>;
|
|
73
84
|
clickSubmitButton(): Promise<void>;
|
|
74
85
|
clickChangeButton(): Promise<void>;
|
|
86
|
+
enterAliasName(aliasName: string): Promise<void>;
|
|
87
|
+
updateIcon(iconName: string): Promise<void>;
|
|
75
88
|
clickTextButtonWithName(name: string): Promise<void>;
|
|
76
89
|
clickSelectPropertyEditorButton(): Promise<void>;
|
|
77
90
|
clickCreateFolderButton(): Promise<void>;
|
|
78
|
-
|
|
91
|
+
enterAPropertyName(name: string): Promise<void>;
|
|
92
|
+
clickConfirmButton(): Promise<void>;
|
|
79
93
|
clickBreadcrumbButton(): Promise<void>;
|
|
80
94
|
clickInsertButton(): Promise<void>;
|
|
81
95
|
clickDictionaryInsertItemButton(): Promise<void>;
|
|
@@ -84,17 +98,26 @@ export declare class UiBaseLocators {
|
|
|
84
98
|
clickConfirmToDeleteButton(): Promise<void>;
|
|
85
99
|
clickDeleteFolderButton(): Promise<void>;
|
|
86
100
|
clickConfirmCreateFolderButton(): Promise<void>;
|
|
101
|
+
clickDeleteThreeDotsButton(): Promise<void>;
|
|
102
|
+
clickRemoveExactButton(): Promise<void>;
|
|
103
|
+
clickRemoveWithName(name: string): Promise<void>;
|
|
104
|
+
clickDisableButton(): Promise<void>;
|
|
105
|
+
clickConfirmDisableButton(): Promise<void>;
|
|
106
|
+
clickEnableButton(): Promise<void>;
|
|
107
|
+
clickConfirmEnableButton(): Promise<void>;
|
|
87
108
|
insertDictionaryByName(dictionaryName: string): Promise<void>;
|
|
88
109
|
addQueryBuilderWithOrderByStatement(propertyAlias: string, isAscending: boolean): Promise<void>;
|
|
89
110
|
addQueryBuilderWithWhereStatement(propertyAlias: string, operator: string, constrainValue: string): Promise<void>;
|
|
90
111
|
waitAndSelectQueryBuilderDropDownList(option: string): Promise<void>;
|
|
91
112
|
createFolder(folderName: string): Promise<void>;
|
|
113
|
+
deletePropertyEditor(propertyEditorName: string): Promise<void>;
|
|
92
114
|
enterFolderName(folderName: string): Promise<void>;
|
|
115
|
+
isTextWithExactNameVisible(name: string, isVisible?: boolean): Promise<void>;
|
|
93
116
|
isQueryBuilderCodeShown(code: string): Promise<void>;
|
|
94
117
|
deleteFolder(): Promise<void>;
|
|
95
118
|
clickDeleteExactLabel(): Promise<void>;
|
|
96
119
|
isTreeItemVisible(name: string): Promise<void>;
|
|
97
|
-
|
|
120
|
+
doesTreeItemHaveTheCorrectIcon(name: string, icon: string): Promise<void>;
|
|
98
121
|
goToSection(sectionName: string): Promise<void>;
|
|
99
122
|
goToSettingsTreeItem(settingsTreeItemName: string): Promise<void>;
|
|
100
123
|
clickDataElement(elementName: string, options?: any): Promise<void>;
|
|
@@ -112,7 +135,7 @@ export declare class UiBaseLocators {
|
|
|
112
135
|
enterDescription(description: string): Promise<void>;
|
|
113
136
|
doesDescriptionHaveValue(value: string): Promise<void>;
|
|
114
137
|
clickStructureTab(): Promise<void>;
|
|
115
|
-
|
|
138
|
+
clickAllowAtRootButton(): Promise<void>;
|
|
116
139
|
clickIAmDoneReorderingButton(): Promise<void>;
|
|
117
140
|
clickReorderButton(): Promise<void>;
|
|
118
141
|
clickLabelOnTopButton(): Promise<void>;
|
|
@@ -123,7 +146,7 @@ export declare class UiBaseLocators {
|
|
|
123
146
|
clickCompositionsButton(): Promise<void>;
|
|
124
147
|
clickAddTabButton(): Promise<void>;
|
|
125
148
|
enterTabName(tabName: string): Promise<void>;
|
|
126
|
-
|
|
149
|
+
searchForTypeToFilterValue(searchValue: string): Promise<void>;
|
|
127
150
|
addPropertyEditor(propertyEditorName: string, index?: number): Promise<void>;
|
|
128
151
|
updatePropertyEditor(propertyEditorName: string): Promise<void>;
|
|
129
152
|
clickAddGroupButton(): Promise<void>;
|
|
@@ -12,7 +12,7 @@ class UiBaseLocators {
|
|
|
12
12
|
breadcrumbBtn;
|
|
13
13
|
deleteBtn;
|
|
14
14
|
confirmToDeleteBtn;
|
|
15
|
-
|
|
15
|
+
deleteLabelBtn;
|
|
16
16
|
deleteExactLabelBtn;
|
|
17
17
|
confirmCreateFolderBtn;
|
|
18
18
|
dictionaryInsertItemBtn;
|
|
@@ -44,7 +44,7 @@ class UiBaseLocators {
|
|
|
44
44
|
filterChooseBtn;
|
|
45
45
|
updateBtn;
|
|
46
46
|
changeBtn;
|
|
47
|
-
|
|
47
|
+
propertyNameTxt;
|
|
48
48
|
selectPropertyEditorBtn;
|
|
49
49
|
addGroupBtn;
|
|
50
50
|
iAmDoneReorderingBtn;
|
|
@@ -58,18 +58,29 @@ class UiBaseLocators {
|
|
|
58
58
|
regexTxt;
|
|
59
59
|
regexMessageTxt;
|
|
60
60
|
structureTabBtn;
|
|
61
|
-
|
|
61
|
+
allowAtRootBtn;
|
|
62
62
|
addPropertyBtn;
|
|
63
|
-
|
|
63
|
+
typeToFilterSearchTxt;
|
|
64
64
|
editorSettingsBtn;
|
|
65
65
|
labelOnTopBtn;
|
|
66
66
|
unnamedTxt;
|
|
67
|
+
deleteThreeDotsBtn;
|
|
68
|
+
removeExactBtn;
|
|
69
|
+
confirmBtn;
|
|
70
|
+
disableBtn;
|
|
71
|
+
confirmDisableBtn;
|
|
72
|
+
enableBtn;
|
|
73
|
+
confirmEnableBtn;
|
|
74
|
+
iconBtn;
|
|
75
|
+
bugIconBtn;
|
|
76
|
+
aliasLockBtn;
|
|
77
|
+
aliasNameTxt;
|
|
67
78
|
constructor(page) {
|
|
68
79
|
this.page = page;
|
|
69
80
|
this.saveBtn = page.getByLabel('Save', { exact: true });
|
|
70
81
|
this.submitBtn = page.getByLabel('Submit');
|
|
71
82
|
this.deleteExactLabelBtn = page.getByLabel('Delete', { exact: true });
|
|
72
|
-
this.
|
|
83
|
+
this.deleteLabelBtn = page.getByLabel('Delete');
|
|
73
84
|
this.deleteBtn = page.getByRole('button', { name: 'Delete' });
|
|
74
85
|
this.confirmToDeleteBtn = page.locator('#confirm').getByLabel('Delete');
|
|
75
86
|
this.confirmCreateFolderBtn = page.locator('#confirm').getByLabel('Create Folder');
|
|
@@ -105,7 +116,7 @@ class UiBaseLocators {
|
|
|
105
116
|
this.filterChooseBtn = page.locator('button').filter({ hasText: 'Choose' });
|
|
106
117
|
this.updateBtn = page.getByLabel('Update');
|
|
107
118
|
this.changeBtn = page.getByLabel('Change');
|
|
108
|
-
this.
|
|
119
|
+
this.propertyNameTxt = page.locator('#name-input #input');
|
|
109
120
|
this.selectPropertyEditorBtn = page.getByLabel('Select Property Editor');
|
|
110
121
|
this.addGroupBtn = page.getByLabel('Add group', { exact: true });
|
|
111
122
|
this.iAmDoneReorderingBtn = page.getByLabel('I am done reordering');
|
|
@@ -119,12 +130,23 @@ class UiBaseLocators {
|
|
|
119
130
|
this.regexTxt = page.locator('input[name="pattern"]');
|
|
120
131
|
this.regexMessageTxt = page.locator('textarea[name="pattern-message"]');
|
|
121
132
|
this.structureTabBtn = page.getByRole('tab', { name: 'Structure' });
|
|
122
|
-
this.
|
|
133
|
+
this.allowAtRootBtn = page.locator('label').filter({ hasText: 'Allow at root' });
|
|
123
134
|
this.addPropertyBtn = page.getByLabel('Add property', { exact: true });
|
|
124
|
-
this.
|
|
135
|
+
this.typeToFilterSearchTxt = page.locator('[type="search"] #input');
|
|
125
136
|
this.editorSettingsBtn = page.getByLabel('Editor settings');
|
|
126
137
|
this.labelOnTopBtn = page.getByRole('button', { name: 'Label on top' });
|
|
127
138
|
this.unnamedTxt = page.getByRole('textbox', { name: 'Unnamed' });
|
|
139
|
+
this.deleteThreeDotsBtn = page.locator('umb-entity-action').getByLabel('Delete...');
|
|
140
|
+
this.removeExactBtn = page.getByLabel('Remove', { exact: true });
|
|
141
|
+
this.confirmBtn = page.getByLabel('Confirm');
|
|
142
|
+
this.disableBtn = page.getByLabel('Disable');
|
|
143
|
+
this.confirmDisableBtn = page.locator('#confirm').getByLabel('Disable');
|
|
144
|
+
this.enableBtn = page.getByLabel('Enable');
|
|
145
|
+
this.confirmEnableBtn = page.locator('#confirm').getByLabel('Enable');
|
|
146
|
+
this.iconBtn = page.getByLabel('icon');
|
|
147
|
+
this.bugIconBtn = page.getByLabel('icon-bug').getByRole('img');
|
|
148
|
+
this.aliasLockBtn = page.locator('#name #alias-lock');
|
|
149
|
+
this.aliasNameTxt = page.locator('#name').getByLabel('alias');
|
|
128
150
|
}
|
|
129
151
|
async clickActionsMenuForName(name) {
|
|
130
152
|
await this.page.locator('[label="' + name + '"] >> [label="Open actions menu"]').click({ force: true });
|
|
@@ -159,6 +181,17 @@ class UiBaseLocators {
|
|
|
159
181
|
async clickChangeButton() {
|
|
160
182
|
await this.changeBtn.click();
|
|
161
183
|
}
|
|
184
|
+
async enterAliasName(aliasName) {
|
|
185
|
+
// Unlocks alias
|
|
186
|
+
await this.aliasLockBtn.click();
|
|
187
|
+
await this.aliasNameTxt.clear();
|
|
188
|
+
await this.aliasNameTxt.fill(aliasName);
|
|
189
|
+
}
|
|
190
|
+
async updateIcon(iconName) {
|
|
191
|
+
await this.iconBtn.click({ force: true });
|
|
192
|
+
await this.searchForTypeToFilterValue(iconName);
|
|
193
|
+
await this.bugIconBtn.click();
|
|
194
|
+
}
|
|
162
195
|
async clickTextButtonWithName(name) {
|
|
163
196
|
await this.page.getByText(name, { exact: true }).click();
|
|
164
197
|
}
|
|
@@ -168,8 +201,11 @@ class UiBaseLocators {
|
|
|
168
201
|
async clickCreateFolderButton() {
|
|
169
202
|
await this.createFolderBtn.click();
|
|
170
203
|
}
|
|
171
|
-
async
|
|
172
|
-
await this.
|
|
204
|
+
async enterAPropertyName(name) {
|
|
205
|
+
await this.propertyNameTxt.fill(name);
|
|
206
|
+
}
|
|
207
|
+
async clickConfirmButton() {
|
|
208
|
+
await this.confirmBtn.click();
|
|
173
209
|
}
|
|
174
210
|
async clickBreadcrumbButton() {
|
|
175
211
|
await this.breadcrumbBtn.click();
|
|
@@ -190,11 +226,32 @@ class UiBaseLocators {
|
|
|
190
226
|
await this.confirmToDeleteBtn.click();
|
|
191
227
|
}
|
|
192
228
|
async clickDeleteFolderButton() {
|
|
193
|
-
await this.
|
|
229
|
+
await this.deleteLabelBtn.click();
|
|
194
230
|
}
|
|
195
231
|
async clickConfirmCreateFolderButton() {
|
|
196
232
|
await this.confirmCreateFolderBtn.click();
|
|
197
233
|
}
|
|
234
|
+
async clickDeleteThreeDotsButton() {
|
|
235
|
+
await this.deleteThreeDotsBtn.click();
|
|
236
|
+
}
|
|
237
|
+
async clickRemoveExactButton() {
|
|
238
|
+
await this.removeExactBtn.click();
|
|
239
|
+
}
|
|
240
|
+
async clickRemoveWithName(name) {
|
|
241
|
+
await this.page.getByLabel('Remove ' + name).click();
|
|
242
|
+
}
|
|
243
|
+
async clickDisableButton() {
|
|
244
|
+
await this.disableBtn.click();
|
|
245
|
+
}
|
|
246
|
+
async clickConfirmDisableButton() {
|
|
247
|
+
await this.confirmDisableBtn.click();
|
|
248
|
+
}
|
|
249
|
+
async clickEnableButton() {
|
|
250
|
+
await this.enableBtn.click();
|
|
251
|
+
}
|
|
252
|
+
async clickConfirmEnableButton() {
|
|
253
|
+
await this.confirmEnableBtn.click();
|
|
254
|
+
}
|
|
198
255
|
async insertDictionaryByName(dictionaryName) {
|
|
199
256
|
await this.insertValueBtn.click();
|
|
200
257
|
await this.clickDictionaryInsertItemButton();
|
|
@@ -244,10 +301,18 @@ class UiBaseLocators {
|
|
|
244
301
|
await this.folderNameTxt.fill(folderName);
|
|
245
302
|
await this.clickConfirmCreateFolderButton();
|
|
246
303
|
}
|
|
304
|
+
async deletePropertyEditor(propertyEditorName) {
|
|
305
|
+
// We need to hover over the property to be able to see the delete button
|
|
306
|
+
await this.page.locator('uui-button').filter({ hasText: propertyEditorName }).getByLabel('Editor settings').hover();
|
|
307
|
+
await this.deleteLabelBtn.click({ force: true });
|
|
308
|
+
}
|
|
247
309
|
async enterFolderName(folderName) {
|
|
248
310
|
await this.folderNameTxt.clear();
|
|
249
311
|
await this.folderNameTxt.fill(folderName);
|
|
250
312
|
}
|
|
313
|
+
async isTextWithExactNameVisible(name, isVisible = true) {
|
|
314
|
+
return (0, test_1.expect)(this.page.getByText(name, { exact: true })).toBeVisible({ visible: isVisible });
|
|
315
|
+
}
|
|
251
316
|
async isQueryBuilderCodeShown(code) {
|
|
252
317
|
await this.queryBuilderShowCode.click();
|
|
253
318
|
await (0, test_1.expect)(this.queryBuilderShowCode).toContainText(code);
|
|
@@ -262,8 +327,8 @@ class UiBaseLocators {
|
|
|
262
327
|
async isTreeItemVisible(name) {
|
|
263
328
|
await (0, test_1.expect)(this.page.locator('umb-tree-item').locator('[label="' + name + '"] ')).toBeVisible();
|
|
264
329
|
}
|
|
265
|
-
async
|
|
266
|
-
return await (0, test_1.expect)(this.page.locator('umb-
|
|
330
|
+
async doesTreeItemHaveTheCorrectIcon(name, icon) {
|
|
331
|
+
return await (0, test_1.expect)(this.page.locator('umb-tree-item').filter({ hasText: name }).locator('umb-icon').locator('[name="' + icon + '"]')).toBeVisible();
|
|
267
332
|
}
|
|
268
333
|
async goToSection(sectionName) {
|
|
269
334
|
for (let section in ConstantHelper_1.ConstantHelper.sections) {
|
|
@@ -322,8 +387,8 @@ class UiBaseLocators {
|
|
|
322
387
|
await this.page.waitForTimeout(200);
|
|
323
388
|
await this.structureTabBtn.click({ force: true });
|
|
324
389
|
}
|
|
325
|
-
async
|
|
326
|
-
await this.
|
|
390
|
+
async clickAllowAtRootButton() {
|
|
391
|
+
await this.allowAtRootBtn.click();
|
|
327
392
|
}
|
|
328
393
|
async clickIAmDoneReorderingButton() {
|
|
329
394
|
await this.iAmDoneReorderingBtn.click();
|
|
@@ -355,25 +420,25 @@ class UiBaseLocators {
|
|
|
355
420
|
async enterTabName(tabName) {
|
|
356
421
|
await this.unnamedTxt.fill(tabName);
|
|
357
422
|
}
|
|
358
|
-
async
|
|
359
|
-
await this.
|
|
423
|
+
async searchForTypeToFilterValue(searchValue) {
|
|
424
|
+
await this.typeToFilterSearchTxt.fill(searchValue);
|
|
360
425
|
}
|
|
361
426
|
async addPropertyEditor(propertyEditorName, index = 0) {
|
|
362
427
|
await this.addPropertyBtn.nth(index).click({ force: true });
|
|
363
428
|
await this.clickSelectPropertyEditorButton();
|
|
364
|
-
await this.
|
|
429
|
+
await this.searchForTypeToFilterValue(propertyEditorName);
|
|
365
430
|
await this.page.getByText(propertyEditorName, { exact: true }).click();
|
|
366
431
|
await this.page.waitForTimeout(200);
|
|
367
|
-
await this.
|
|
432
|
+
await this.enterAPropertyName(propertyEditorName);
|
|
368
433
|
await this.clickAddButton();
|
|
369
434
|
}
|
|
370
435
|
async updatePropertyEditor(propertyEditorName) {
|
|
371
436
|
await this.clickEditorSettingsButton();
|
|
372
437
|
await this.clickChangeButton();
|
|
373
|
-
await this.
|
|
438
|
+
await this.searchForTypeToFilterValue(propertyEditorName);
|
|
374
439
|
await this.page.getByText(propertyEditorName, { exact: true }).click();
|
|
375
440
|
await this.page.waitForTimeout(200);
|
|
376
|
-
await this.
|
|
441
|
+
await this.enterAPropertyName(propertyEditorName);
|
|
377
442
|
await this.clickUpdateButton();
|
|
378
443
|
}
|
|
379
444
|
async clickAddGroupButton() {
|
|
@@ -381,7 +446,7 @@ class UiBaseLocators {
|
|
|
381
446
|
}
|
|
382
447
|
async enterGroupName(groupName, index = 0) {
|
|
383
448
|
await this.page.waitForTimeout(200);
|
|
384
|
-
await this.page.getByLabel('Group', { exact: true }).nth(index).fill(groupName);
|
|
449
|
+
await this.page.getByLabel('Group name', { exact: true }).nth(index).fill(groupName);
|
|
385
450
|
}
|
|
386
451
|
async doesGroupHaveValue(value) {
|
|
387
452
|
return await (0, test_1.expect)(this.page.getByLabel('Group', { exact: true })).toHaveValue(value);
|
|
@@ -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 deleteFolderBtn: Locator;\n public readonly deleteExactLabelBtn: Locator;\n public readonly confirmCreateFolderBtn: Locator;\n public readonly dictionaryInsertItemBtn: Locator;\n public readonly caretDictionaryBtn: Locator;\n public readonly insertValueBtn: 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 private readonly renameFolderThreeDotsBtn: Locator;\n private readonly updateFolderBtn: Locator;\n private readonly filterChooseBtn: Locator;\n private readonly updateBtn: Locator;\n private readonly changeBtn: Locator;\n private readonly enterANameTxt: Locator;\n private readonly selectPropertyEditorBtn: Locator;\n private readonly addGroupBtn: Locator;\n private readonly iAmDoneReorderingBtn: Locator;\n private readonly reorderBtn: Locator;\n private readonly compositionsBtn: Locator;\n private readonly addTabBtn: Locator;\n private readonly descriptionBtn: Locator;\n private readonly enterDescriptionTxt: Locator;\n private readonly mandatorySlider: Locator;\n private readonly validation: Locator;\n private readonly regexTxt: Locator;\n private readonly regexMessageTxt: Locator;\n private readonly structureTabBtn: Locator;\n private readonly allowAsRootBtn: Locator;\n private readonly addPropertyBtn: Locator;\n private readonly typeToFilterIconsTxt: Locator;\n private readonly editorSettingsBtn: Locator;\n private readonly labelOnTopBtn: Locator;\n private readonly unnamedTxt: 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.deleteFolderBtn = 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.dictionaryInsertItemBtn = page.getByRole('button', {name: 'Dictionary item'});\n this.caretDictionaryBtn = page.locator('umb-tree-picker-modal').locator('#caret-button');\n this.insertValueBtn = page.locator('uui-button').filter({hasText: 'Insert'});\n this.modalCaretBtn = page.locator('umb-tree-picker-modal').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('umb-query-builder-filter').filter({hasText: 'where'}).getByLabel('Property alias');\n this.whereOperatorBtn = page.locator('umb-query-builder-filter').filter({hasText: 'where'}).getByLabel('Choose operator');\n this.whereConstrainValueTxt = page.locator('umb-query-builder-filter').filter({hasText: 'where'}).getByLabel('constrain value');\n this.orderByPropertyAliasBtn = page.locator('#sort-dropdown').getByLabel('Property alias');\n this.ascendingBtn = page.locator('uui-button').filter({hasText: 'ascending'}).locator('#button');\n this.queryBuilderShowCode = page.locator('umb-code-block');\n this.createThreeDotsBtn = page.getByLabel('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.getByLabel('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.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.enterANameTxt = page.getByRole('textbox', {name: 'Enter a name...'});\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: 'Enter 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.getByRole('tab', {name: 'Structure'});\n this.allowAsRootBtn = page.locator('label').filter({hasText: 'Allow as root'});\n this.addPropertyBtn = page.getByLabel('Add property', {exact: true});\n this.typeToFilterIconsTxt = page.getByLabel('Type to filter icons');\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 }\n\n async clickActionsMenuForName(name: string) {\n await this.page.locator('[label=\"' + name + '\"] >> [label=\"Open actions menu\"]').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 clickSaveButton() {\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 clickUpdateFolderButton() {\n await this.updateFolderBtn.click();\n }\n\n async clickUpdateButton() {\n await this.updateBtn.click();\n }\n\n async clickSubmitButton() {\n await this.submitBtn.click({force: true});\n }\n\n async clickChangeButton() {\n await this.changeBtn.click();\n }\n\n async clickTextButtonWithName(name: string) {\n await this.page.getByText(name, {exact: true}).click();\n }\n\n async clickSelectPropertyEditorButton() {\n await this.selectPropertyEditorBtn.click();\n }\n\n async clickCreateFolderButton() {\n await this.createFolderBtn.click();\n }\n\n async enterAName(name: string) {\n await this.enterANameTxt.fill(name);\n }\n\n async clickBreadcrumbButton() {\n await this.breadcrumbBtn.click();\n }\n\n async clickInsertButton() {\n await this.insertValueBtn.click();\n }\n\n async clickDictionaryInsertItemButton() {\n await this.dictionaryInsertItemBtn.click({force: true});\n }\n\n async clickCaretDictionaryButton() {\n await this.caretDictionaryBtn.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 insertDictionaryByName(dictionaryName: string) {\n await this.insertValueBtn.click();\n await this.clickDictionaryInsertItemButton();\n // This wait is necessary. I tried using waitFor, with timeout. But it did not work.\n await this.page.waitForTimeout(1000);\n await this.page.getByLabel(dictionaryName).click();\n await this.chooseBtn.click();\n }\n\n async addQueryBuilderWithOrderByStatement(propertyAlias: string, isAscending: boolean) {\n await this.queryBuilderBtn.click({force: true});\n // Wait and click to orderBy dropdownbox\n await this.orderByPropertyAliasBtn.waitFor({state: 'visible'})\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 this.queryBuilderBtn.waitFor({state: 'visible'});\n await this.queryBuilderBtn.click({force: true});\n // Wait and choose property alias\n await this.wherePropertyAliasBtn.waitFor({state: 'visible'});\n await this.wherePropertyAliasBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Wait and choose operator\n await this.whereOperatorBtn.waitFor({state: 'visible'})\n await this.whereOperatorBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(operator);\n // Wait and choose constrain value and press Enter\n await this.whereConstrainValueTxt.waitFor({state: 'visible'});\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 ddlOption.waitFor({state: 'visible'});\n await ddlOption.click({force: true});\n }\n\n async createFolder(folderName: string) {\n await this.clickCreateThreeDotsButton();\n await this.clickNewFolderThreeDotsButton();\n await this.folderNameTxt.waitFor({state: 'visible'});\n await this.folderNameTxt.fill(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n\n async enterFolderName(folderName: string) {\n await this.folderNameTxt.clear();\n await this.folderNameTxt.fill(folderName);\n }\n\n async isQueryBuilderCodeShown(code: string) {\n await this.queryBuilderShowCode.click();\n await expect(this.queryBuilderShowCode).toContainText(code);\n }\n\n async deleteFolder() {\n await this.clickDeleteFolderButton();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickDeleteExactLabel() {\n await this.deleteExactLabelBtn.click();\n }\n\n async isTreeItemVisible(name: string) {\n await expect(this.page.locator('umb-tree-item').locator('[label=\"' + name + '\"] ')).toBeVisible();\n }\n\n async isUniqueTreeItemVisible(name: string) {\n return await expect(this.page.locator('umb-unique-tree-item').locator('[label=\"' + name + '\"] ')).toBeVisible();\n }\n\n async goToSection(sectionName: string) {\n for (let section in ConstantHelper.sections) {\n await expect(this.page.getByRole('tab', {name: 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) {\n await this.page.getByLabel(name).click();\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.page.locator('uui-toast-notification >> [color=\"positive\"]')).toBeVisible();\n }\n\n async isErrorNotificationVisible() {\n return await expect(this.page.locator('uui-toast-notification >> [color=\"danger\"]')).toBeVisible();\n }\n\n async clickCreateThreeDotsButton() {\n await this.createThreeDotsBtn.click();\n }\n\n async clickCreateButton() {\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(200);\n await this.structureTabBtn.click({force: true});\n }\n\n async clickAllowAsRootButton() {\n await this.allowAsRootBtn.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 searchForPropertyEditor(propertyEditorName: string) {\n await this.typeToFilterIconsTxt.fill(propertyEditorName);\n }\n\n async addPropertyEditor(propertyEditorName: string, index: number = 0) {\n await this.addPropertyBtn.nth(index).click({force: true});\n await this.clickSelectPropertyEditorButton();\n await this.searchForPropertyEditor(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\n await this.page.waitForTimeout(200);\n await this.enterAName(propertyEditorName);\n await this.clickAddButton();\n }\n\n async updatePropertyEditor(propertyEditorName: string) {\n await this.clickEditorSettingsButton();\n await this.clickChangeButton();\n await this.searchForPropertyEditor(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\n await this.page.waitForTimeout(200);\n await this.enterAName(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 await this.page.waitForTimeout(200);\n await this.page.getByLabel('Group', {exact: true}).nth(index).fill(groupName);\n }\n\n async doesGroupHaveValue(value: string) {\n return await expect(this.page.getByLabel('Group', {exact: true})).toHaveValue(value);\n }\n\n async rename(newName: string) {\n await this.renameThreeDotsBtn.click();\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({timeout: 10000});\n }\n\n async dragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset: number, horizontalOffset: number, steps?) {\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.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, {steps: steps});\n await this.page.mouse.up();\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 confirmCreateFolderBtn: Locator;\n public readonly dictionaryInsertItemBtn: Locator;\n public readonly caretDictionaryBtn: Locator;\n public readonly insertValueBtn: 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 private readonly renameFolderThreeDotsBtn: Locator;\n private readonly updateFolderBtn: Locator;\n private readonly filterChooseBtn: Locator;\n private readonly updateBtn: Locator;\n private readonly changeBtn: Locator;\n private readonly propertyNameTxt: Locator;\n private readonly selectPropertyEditorBtn: Locator;\n private readonly addGroupBtn: Locator;\n private readonly iAmDoneReorderingBtn: Locator;\n private readonly reorderBtn: Locator;\n private readonly compositionsBtn: Locator;\n private readonly addTabBtn: Locator;\n private readonly descriptionBtn: Locator;\n private readonly enterDescriptionTxt: Locator;\n private readonly mandatorySlider: Locator;\n private readonly validation: Locator;\n private readonly regexTxt: Locator;\n private readonly regexMessageTxt: Locator;\n private readonly structureTabBtn: Locator;\n private readonly allowAtRootBtn: Locator;\n private readonly addPropertyBtn: Locator;\n private readonly typeToFilterSearchTxt: Locator;\n private readonly editorSettingsBtn: Locator;\n private readonly labelOnTopBtn: Locator;\n private readonly unnamedTxt: Locator;\n private readonly deleteThreeDotsBtn: Locator;\n private readonly removeExactBtn: Locator;\n private readonly confirmBtn: Locator;\n private readonly disableBtn: Locator;\n private readonly confirmDisableBtn: Locator; \n private readonly enableBtn: Locator;\n private readonly confirmEnableBtn: Locator;\n private readonly iconBtn: Locator;\n private readonly bugIconBtn: Locator;\n private readonly aliasLockBtn: Locator;\n private readonly aliasNameTxt: 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.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.dictionaryInsertItemBtn = page.getByRole('button', {name: 'Dictionary item'});\n this.caretDictionaryBtn = page.locator('umb-tree-picker-modal').locator('#caret-button');\n this.insertValueBtn = page.locator('uui-button').filter({hasText: 'Insert'});\n this.modalCaretBtn = page.locator('umb-tree-picker-modal').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('umb-query-builder-filter').filter({hasText: 'where'}).getByLabel('Property alias');\n this.whereOperatorBtn = page.locator('umb-query-builder-filter').filter({hasText: 'where'}).getByLabel('Choose operator');\n this.whereConstrainValueTxt = page.locator('umb-query-builder-filter').filter({hasText: 'where'}).getByLabel('constrain value');\n this.orderByPropertyAliasBtn = page.locator('#sort-dropdown').getByLabel('Property alias');\n this.ascendingBtn = page.locator('uui-button').filter({hasText: 'ascending'}).locator('#button');\n this.queryBuilderShowCode = page.locator('umb-code-block');\n this.createThreeDotsBtn = page.getByLabel('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.getByLabel('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.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: 'Enter 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.getByRole('tab', {name: 'Structure'});\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('umb-entity-action').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.bugIconBtn = page.getByLabel('icon-bug').getByRole('img');\n this.aliasLockBtn = page.locator('#name #alias-lock');\n this.aliasNameTxt = page.locator('#name').getByLabel('alias');\n }\n\n async clickActionsMenuForName(name: string) {\n await this.page.locator('[label=\"' + name + '\"] >> [label=\"Open actions menu\"]').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 clickSaveButton() {\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 clickUpdateFolderButton() {\n await this.updateFolderBtn.click();\n }\n\n async clickUpdateButton() {\n await this.updateBtn.click();\n }\n\n async clickSubmitButton() {\n await this.submitBtn.click({force: true});\n }\n\n async clickChangeButton() {\n await this.changeBtn.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.bugIconBtn.click();\n }\n\n async clickTextButtonWithName(name: string) {\n await this.page.getByText(name, {exact: true}).click();\n }\n\n async clickSelectPropertyEditorButton() {\n await this.selectPropertyEditorBtn.click();\n }\n\n async clickCreateFolderButton() {\n await this.createFolderBtn.click();\n }\n\n async enterAPropertyName(name: string) {\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 this.insertValueBtn.click();\n }\n\n async clickDictionaryInsertItemButton() {\n await this.dictionaryInsertItemBtn.click({force: true});\n }\n\n async clickCaretDictionaryButton() {\n await this.caretDictionaryBtn.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.deleteLabelBtn.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 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 clickEnableButton() {\n await this.enableBtn.click();\n }\n \n async clickConfirmEnableButton() {\n await this.confirmEnableBtn.click();\n }\n \n async insertDictionaryByName(dictionaryName: string) {\n await this.insertValueBtn.click();\n await this.clickDictionaryInsertItemButton();\n // This wait is necessary. I tried using waitFor, with timeout. But it did not work.\n await this.page.waitForTimeout(1000);\n await this.page.getByLabel(dictionaryName).click();\n await this.chooseBtn.click();\n }\n\n async addQueryBuilderWithOrderByStatement(propertyAlias: string, isAscending: boolean) {\n await this.queryBuilderBtn.click({force: true});\n // Wait and click to orderBy dropdownbox\n await this.orderByPropertyAliasBtn.waitFor({state: 'visible'})\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 this.queryBuilderBtn.waitFor({state: 'visible'});\n await this.queryBuilderBtn.click({force: true});\n // Wait and choose property alias\n await this.wherePropertyAliasBtn.waitFor({state: 'visible'});\n await this.wherePropertyAliasBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Wait and choose operator\n await this.whereOperatorBtn.waitFor({state: 'visible'})\n await this.whereOperatorBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(operator);\n // Wait and choose constrain value and press Enter\n await this.whereConstrainValueTxt.waitFor({state: 'visible'});\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 ddlOption.waitFor({state: 'visible'});\n await ddlOption.click({force: true});\n }\n\n async createFolder(folderName: string) {\n await this.clickCreateThreeDotsButton();\n await this.clickNewFolderThreeDotsButton();\n await this.folderNameTxt.waitFor({state: 'visible'});\n await this.folderNameTxt.fill(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 this.queryBuilderShowCode.click();\n await expect(this.queryBuilderShowCode).toContainText(code);\n }\n\n async deleteFolder() {\n await this.clickDeleteFolderButton();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickDeleteExactLabel() {\n await this.deleteExactLabelBtn.click();\n }\n\n async isTreeItemVisible(name: string) {\n await expect(this.page.locator('umb-tree-item').locator('[label=\"' + name + '\"] ')).toBeVisible();\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: 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) {\n await this.page.getByLabel(name).click();\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.page.locator('uui-toast-notification >> [color=\"positive\"]')).toBeVisible();\n }\n\n async isErrorNotificationVisible() {\n return await expect(this.page.locator('uui-toast-notification >> [color=\"danger\"]')).toBeVisible();\n }\n\n async clickCreateThreeDotsButton() {\n await this.createThreeDotsBtn.click();\n }\n\n async clickCreateButton() {\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(200);\n await this.structureTabBtn.click({force: true});\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 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.clickSelectPropertyEditorButton();\n await this.searchForTypeToFilterValue(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\n await this.page.waitForTimeout(200);\n await this.enterAPropertyName(propertyEditorName);\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.page.waitForTimeout(200);\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 await this.page.waitForTimeout(200);\n await this.page.getByLabel('Group name', {exact: true}).nth(index).fill(groupName);\n }\n\n async doesGroupHaveValue(value: string) {\n return await expect(this.page.getByLabel('Group', {exact: true})).toHaveValue(value);\n }\n\n async rename(newName: string) {\n await this.renameThreeDotsBtn.click();\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({timeout: 10000});\n }\n\n async dragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset: number, horizontalOffset: number, steps?) {\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.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, {steps: steps});\n await this.page.mouse.up();\n }\n}"]}
|