@umbraco/playwright-testhelpers 2.0.0-beta.3 → 2.0.0-beta.31

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.
Files changed (151) hide show
  1. package/dist/lib/helpers/ApiHelpers.d.ts +20 -4
  2. package/dist/lib/helpers/ApiHelpers.js +28 -4
  3. package/dist/lib/helpers/ApiHelpers.js.map +1 -1
  4. package/dist/lib/helpers/ConstantHelper.d.ts +11 -0
  5. package/dist/lib/helpers/ConstantHelper.js +16 -0
  6. package/dist/lib/helpers/ConstantHelper.js.map +1 -0
  7. package/dist/lib/helpers/DataTypeApiHelper.d.ts +14 -14
  8. package/dist/lib/helpers/DataTypeApiHelper.js +114 -133
  9. package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
  10. package/dist/lib/helpers/DataTypeUiHelper.d.ts +140 -0
  11. package/dist/lib/helpers/DataTypeUiHelper.js +439 -0
  12. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -0
  13. package/dist/lib/helpers/DictionaryApiHelper.d.ts +12 -8
  14. package/dist/lib/helpers/DictionaryApiHelper.js +104 -66
  15. package/dist/lib/helpers/DictionaryApiHelper.js.map +1 -1
  16. package/dist/lib/helpers/DictionaryUiHelper.d.ts +31 -0
  17. package/dist/lib/helpers/DictionaryUiHelper.js +92 -0
  18. package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -0
  19. package/dist/lib/helpers/DocumentApiHelper.d.ts +2 -0
  20. package/dist/lib/helpers/DocumentApiHelper.js +17 -0
  21. package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
  22. package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +25 -0
  23. package/dist/lib/helpers/DocumentTypeApiHelper.js +223 -0
  24. package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -0
  25. package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +23 -0
  26. package/dist/lib/helpers/DocumentTypeUiHelper.js +62 -0
  27. package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -0
  28. package/dist/lib/helpers/ExamineManagementUiHelper.d.ts +15 -0
  29. package/dist/lib/helpers/ExamineManagementUiHelper.js +38 -0
  30. package/dist/lib/helpers/ExamineManagementUiHelper.js.map +1 -0
  31. package/dist/lib/helpers/HealthCheckApiHelper.d.ts +13 -0
  32. package/dist/lib/helpers/HealthCheckApiHelper.js +47 -0
  33. package/dist/lib/helpers/HealthCheckApiHelper.js.map +1 -0
  34. package/dist/lib/helpers/HealthCheckUiHelper.d.ts +23 -0
  35. package/dist/lib/helpers/HealthCheckUiHelper.js +59 -0
  36. package/dist/lib/helpers/HealthCheckUiHelper.js.map +1 -0
  37. package/dist/lib/helpers/IndexerApiHelper.d.ts +7 -0
  38. package/dist/lib/helpers/IndexerApiHelper.js +19 -0
  39. package/dist/lib/helpers/IndexerApiHelper.js.map +1 -0
  40. package/dist/lib/helpers/LanguageApiHelper.d.ts +8 -4
  41. package/dist/lib/helpers/LanguageApiHelper.js +46 -26
  42. package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
  43. package/dist/lib/helpers/LanguageUiHelper.d.ts +23 -0
  44. package/dist/lib/helpers/LanguageUiHelper.js +64 -0
  45. package/dist/lib/helpers/LanguageUiHelper.js.map +1 -0
  46. package/dist/lib/helpers/LogViewerUiHelper.d.ts +37 -0
  47. package/dist/lib/helpers/LogViewerUiHelper.js +102 -0
  48. package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -0
  49. package/dist/lib/helpers/LoginUiHelper.d.ts +11 -0
  50. package/dist/lib/helpers/LoginUiHelper.js +30 -0
  51. package/dist/lib/helpers/LoginUiHelper.js.map +1 -0
  52. package/dist/lib/helpers/MediaApiHelper.d.ts +7 -0
  53. package/dist/lib/helpers/MediaApiHelper.js +28 -0
  54. package/dist/lib/helpers/MediaApiHelper.js.map +1 -0
  55. package/dist/lib/helpers/MediaTypeApiHelper.d.ts +22 -0
  56. package/dist/lib/helpers/MediaTypeApiHelper.js +194 -0
  57. package/dist/lib/helpers/MediaTypeApiHelper.js.map +1 -0
  58. package/dist/lib/helpers/MediaTypeUiHelper.d.ts +15 -0
  59. package/dist/lib/helpers/MediaTypeUiHelper.js +39 -0
  60. package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -0
  61. package/dist/lib/helpers/ModelsBuilderApiHelper.d.ts +6 -0
  62. package/dist/lib/helpers/ModelsBuilderApiHelper.js +15 -0
  63. package/dist/lib/helpers/ModelsBuilderApiHelper.js.map +1 -0
  64. package/dist/lib/helpers/ModelsBuilderUiHelper.d.ts +11 -0
  65. package/dist/lib/helpers/ModelsBuilderUiHelper.js +27 -0
  66. package/dist/lib/helpers/ModelsBuilderUiHelper.js.map +1 -0
  67. package/dist/lib/helpers/ObjectTypesApiHelper.d.ts +7 -0
  68. package/dist/lib/helpers/ObjectTypesApiHelper.js +25 -0
  69. package/dist/lib/helpers/ObjectTypesApiHelper.js.map +1 -0
  70. package/dist/lib/helpers/PackageApiHelper.d.ts +3 -2
  71. package/dist/lib/helpers/PackageApiHelper.js +6 -3
  72. package/dist/lib/helpers/PackageApiHelper.js.map +1 -1
  73. package/dist/lib/helpers/PackageUiHelper.d.ts +49 -0
  74. package/dist/lib/helpers/PackageUiHelper.js +134 -0
  75. package/dist/lib/helpers/PackageUiHelper.js.map +1 -0
  76. package/dist/lib/helpers/PartialViewApiHelper.d.ts +14 -10
  77. package/dist/lib/helpers/PartialViewApiHelper.js +124 -98
  78. package/dist/lib/helpers/PartialViewApiHelper.js.map +1 -1
  79. package/dist/lib/helpers/PartialViewUiHelper.d.ts +19 -0
  80. package/dist/lib/helpers/PartialViewUiHelper.js +57 -0
  81. package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -0
  82. package/dist/lib/helpers/ProfilingUiHelper.d.ts +11 -0
  83. package/dist/lib/helpers/ProfilingUiHelper.js +27 -0
  84. package/dist/lib/helpers/ProfilingUiHelper.js.map +1 -0
  85. package/dist/lib/helpers/PublishedCacheApiHelper.d.ts +6 -0
  86. package/dist/lib/helpers/PublishedCacheApiHelper.js +15 -0
  87. package/dist/lib/helpers/PublishedCacheApiHelper.js.map +1 -0
  88. package/dist/lib/helpers/PublishedStatusUiHelper.d.ts +19 -0
  89. package/dist/lib/helpers/PublishedStatusUiHelper.js +47 -0
  90. package/dist/lib/helpers/PublishedStatusUiHelper.js.map +1 -0
  91. package/dist/lib/helpers/RelationTypeApiHelper.d.ts +15 -0
  92. package/dist/lib/helpers/{RelationType.js → RelationTypeApiHelper.js} +45 -58
  93. package/dist/lib/helpers/RelationTypeApiHelper.js.map +1 -0
  94. package/dist/lib/helpers/RelationTypeUiHelper.d.ts +21 -0
  95. package/dist/lib/helpers/RelationTypeUiHelper.js +55 -0
  96. package/dist/lib/helpers/RelationTypeUiHelper.js.map +1 -0
  97. package/dist/lib/helpers/ScriptApiHelper.d.ts +15 -10
  98. package/dist/lib/helpers/ScriptApiHelper.js +144 -97
  99. package/dist/lib/helpers/ScriptApiHelper.js.map +1 -1
  100. package/dist/lib/helpers/ScriptUiHelper.d.ts +16 -0
  101. package/dist/lib/helpers/ScriptUiHelper.js +51 -0
  102. package/dist/lib/helpers/ScriptUiHelper.js.map +1 -0
  103. package/dist/lib/helpers/StylesheetApiHelper.d.ts +15 -10
  104. package/dist/lib/helpers/StylesheetApiHelper.js +139 -103
  105. package/dist/lib/helpers/StylesheetApiHelper.js.map +1 -1
  106. package/dist/lib/helpers/StylesheetUiHelper.d.ts +22 -0
  107. package/dist/lib/helpers/StylesheetUiHelper.js +68 -0
  108. package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -0
  109. package/dist/lib/helpers/TelemetryDataUiHelper.d.ts +10 -0
  110. package/dist/lib/helpers/TelemetryDataUiHelper.js +25 -0
  111. package/dist/lib/helpers/TelemetryDataUiHelper.js.map +1 -0
  112. package/dist/lib/helpers/TemplateApiHelper.d.ts +7 -5
  113. package/dist/lib/helpers/TemplateApiHelper.js +75 -51
  114. package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
  115. package/dist/lib/helpers/TemplateUiHelper.d.ts +21 -0
  116. package/dist/lib/helpers/TemplateUiHelper.js +66 -0
  117. package/dist/lib/helpers/TemplateUiHelper.js.map +1 -0
  118. package/dist/lib/helpers/TemporaryFileApiHelper.d.ts +1 -1
  119. package/dist/lib/helpers/TemporaryFileApiHelper.js +6 -10
  120. package/dist/lib/helpers/TemporaryFileApiHelper.js.map +1 -1
  121. package/dist/lib/helpers/UiBaseLocators.d.ts +163 -0
  122. package/dist/lib/helpers/UiBaseLocators.js +487 -0
  123. package/dist/lib/helpers/UiBaseLocators.js.map +1 -0
  124. package/dist/lib/helpers/UiHelpers.d.ts +48 -6
  125. package/dist/lib/helpers/UiHelpers.js +75 -16
  126. package/dist/lib/helpers/UiHelpers.js.map +1 -1
  127. package/dist/lib/helpers/UserApiHelper.d.ts +7 -3
  128. package/dist/lib/helpers/UserApiHelper.js +35 -13
  129. package/dist/lib/helpers/UserApiHelper.js.map +1 -1
  130. package/dist/lib/helpers/UserGroupApiHelper.d.ts +5 -3
  131. package/dist/lib/helpers/UserGroupApiHelper.js +20 -19
  132. package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
  133. package/dist/lib/helpers/UserGroupUiHelper.d.ts +20 -0
  134. package/dist/lib/helpers/UserGroupUiHelper.js +56 -0
  135. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -0
  136. package/dist/lib/helpers/UserUiHelper.d.ts +41 -0
  137. package/dist/lib/helpers/UserUiHelper.js +116 -0
  138. package/dist/lib/helpers/UserUiHelper.js.map +1 -0
  139. package/dist/lib/helpers/WelcomeDashboardUiHelper.d.ts +9 -0
  140. package/dist/lib/helpers/WelcomeDashboardUiHelper.js +22 -0
  141. package/dist/lib/helpers/WelcomeDashboardUiHelper.js.map +1 -0
  142. package/dist/lib/helpers/index.d.ts +1 -0
  143. package/dist/lib/helpers/index.js +3 -1
  144. package/dist/lib/helpers/index.js.map +1 -1
  145. package/dist/lib/helpers/testExtension.js.map +1 -1
  146. package/dist/tsconfig.tsbuildinfo +1 -1
  147. package/dist/umbraco.config.js +1 -1
  148. package/dist/umbraco.config.js.map +1 -1
  149. package/package.json +9 -7
  150. package/dist/lib/helpers/RelationType.d.ts +0 -15
  151. package/dist/lib/helpers/RelationType.js.map +0 -1
@@ -0,0 +1,487 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UiBaseLocators = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ const ConstantHelper_1 = require("./ConstantHelper");
6
+ class UiBaseLocators {
7
+ page;
8
+ saveBtn;
9
+ chooseBtn;
10
+ submitBtn;
11
+ createFolderBtn;
12
+ breadcrumbBtn;
13
+ deleteBtn;
14
+ confirmToDeleteBtn;
15
+ deleteLabelBtn;
16
+ deleteExactLabelBtn;
17
+ deleteExactBtn;
18
+ confirmCreateFolderBtn;
19
+ dictionaryInsertItemBtn;
20
+ caretDictionaryBtn;
21
+ insertValueBtn;
22
+ modalCaretBtn;
23
+ queryBuilderBtn;
24
+ queryBuilderOrderedBy;
25
+ queryBuilderCreateDate;
26
+ folderNameTxt;
27
+ textAreaInputArea;
28
+ wherePropertyAliasBtn;
29
+ whereOperatorBtn;
30
+ whereConstrainValueTxt;
31
+ orderByPropertyAliasBtn;
32
+ ascendingBtn;
33
+ queryBuilderShowCode;
34
+ createThreeDotsBtn;
35
+ newFolderThreeDotsBtn;
36
+ renameThreeDotsBtn;
37
+ newNameTxt;
38
+ renameModalBtn;
39
+ createBtn;
40
+ successState;
41
+ chooseModalBtn;
42
+ addBtn;
43
+ renameFolderThreeDotsBtn;
44
+ updateFolderBtn;
45
+ filterChooseBtn;
46
+ updateBtn;
47
+ changeBtn;
48
+ propertyNameTxt;
49
+ selectPropertyEditorBtn;
50
+ addGroupBtn;
51
+ iAmDoneReorderingBtn;
52
+ reorderBtn;
53
+ compositionsBtn;
54
+ addTabBtn;
55
+ descriptionBtn;
56
+ enterDescriptionTxt;
57
+ mandatorySlider;
58
+ validation;
59
+ regexTxt;
60
+ regexMessageTxt;
61
+ structureTabBtn;
62
+ allowAtRootBtn;
63
+ addPropertyBtn;
64
+ typeToFilterSearchTxt;
65
+ editorSettingsBtn;
66
+ labelOnTopBtn;
67
+ unnamedTxt;
68
+ deleteThreeDotsBtn;
69
+ removeExactBtn;
70
+ confirmBtn;
71
+ disableBtn;
72
+ confirmDisableBtn;
73
+ enableBtn;
74
+ confirmEnableBtn;
75
+ iconBtn;
76
+ bugIconBtn;
77
+ aliasLockBtn;
78
+ aliasNameTxt;
79
+ deleteFolderThreeDotsBtn;
80
+ createLink;
81
+ constructor(page) {
82
+ this.page = page;
83
+ this.saveBtn = page.getByLabel('Save', { exact: true });
84
+ this.submitBtn = page.getByLabel('Submit');
85
+ this.deleteExactLabelBtn = page.getByLabel('Delete', { exact: true });
86
+ this.deleteExactBtn = page.getByRole('button', { name: 'Delete', exact: true });
87
+ this.deleteLabelBtn = page.getByLabel('Delete');
88
+ this.deleteBtn = page.getByRole('button', { name: 'Delete' });
89
+ this.confirmToDeleteBtn = page.locator('#confirm').getByLabel('Delete');
90
+ this.confirmCreateFolderBtn = page.locator('#confirm').getByLabel('Create Folder');
91
+ this.breadcrumbBtn = page.getByLabel('Breadcrumb');
92
+ this.createFolderBtn = page.getByLabel('Create folder');
93
+ this.dictionaryInsertItemBtn = page.getByRole('button', { name: 'Dictionary item' });
94
+ this.caretDictionaryBtn = page.locator('umb-tree-picker-modal').locator('#caret-button');
95
+ this.insertValueBtn = page.locator('uui-button').filter({ hasText: 'Insert' });
96
+ this.modalCaretBtn = page.locator('umb-tree-picker-modal').locator('#caret-button');
97
+ this.queryBuilderBtn = page.locator('#query-builder-button').getByLabel('Query builder');
98
+ this.queryBuilderOrderedBy = page.locator('#property-alias-dropdown').getByLabel('Property alias');
99
+ this.queryBuilderCreateDate = page.locator('#property-alias-dropdown').getByText('CreateDate').locator("..");
100
+ this.folderNameTxt = page.getByRole('textbox', { name: 'Enter folder name...' });
101
+ this.textAreaInputArea = page.locator('textarea.inputarea');
102
+ this.wherePropertyAliasBtn = page.locator('umb-query-builder-filter').filter({ hasText: 'where' }).getByLabel('Property alias');
103
+ this.whereOperatorBtn = page.locator('umb-query-builder-filter').filter({ hasText: 'where' }).getByLabel('Choose operator');
104
+ this.whereConstrainValueTxt = page.locator('umb-query-builder-filter').filter({ hasText: 'where' }).getByLabel('constrain value');
105
+ this.orderByPropertyAliasBtn = page.locator('#sort-dropdown').getByLabel('Property alias');
106
+ this.ascendingBtn = page.locator('uui-button').filter({ hasText: 'ascending' }).locator('#button');
107
+ this.queryBuilderShowCode = page.locator('umb-code-block');
108
+ this.createThreeDotsBtn = page.getByText('Create...', { exact: true });
109
+ this.chooseBtn = page.getByLabel('Choose', { exact: true });
110
+ this.newFolderThreeDotsBtn = page.getByLabel('New Folder...');
111
+ this.renameThreeDotsBtn = page.getByLabel('Rename...', { exact: true });
112
+ this.newNameTxt = page.getByRole('textbox', { name: 'Enter new name...' });
113
+ this.renameModalBtn = page.locator('umb-rename-modal').getByLabel('Rename');
114
+ this.createBtn = page.getByLabel('Create', { exact: true });
115
+ this.successState = page.locator('[state="success"]');
116
+ this.chooseModalBtn = page.locator('umb-tree-picker-modal').getByLabel('Choose');
117
+ this.addBtn = page.getByLabel('Add', { exact: true });
118
+ this.renameFolderThreeDotsBtn = page.getByLabel('Rename Folder...');
119
+ this.updateFolderBtn = page.getByLabel('Update Folder');
120
+ this.filterChooseBtn = page.locator('button').filter({ hasText: 'Choose' });
121
+ this.updateBtn = page.getByLabel('Update');
122
+ this.changeBtn = page.getByLabel('Change');
123
+ this.propertyNameTxt = page.locator('#name-input #input');
124
+ this.selectPropertyEditorBtn = page.getByLabel('Select Property Editor');
125
+ this.addGroupBtn = page.getByLabel('Add group', { exact: true });
126
+ this.iAmDoneReorderingBtn = page.getByLabel('I am done reordering');
127
+ this.reorderBtn = page.getByLabel('Reorder');
128
+ this.compositionsBtn = page.getByLabel('Compositions');
129
+ this.addTabBtn = page.getByLabel('Add tab');
130
+ this.descriptionBtn = page.getByLabel('Description');
131
+ this.enterDescriptionTxt = page.getByRole('textbox', { name: 'Enter description...' });
132
+ this.mandatorySlider = page.locator('#mandatory #slider');
133
+ this.validation = page.locator('#native');
134
+ this.regexTxt = page.locator('input[name="pattern"]');
135
+ this.regexMessageTxt = page.locator('textarea[name="pattern-message"]');
136
+ this.structureTabBtn = page.locator('uui-tab').filter({ hasText: 'Structure' }).locator('svg');
137
+ this.allowAtRootBtn = page.locator('label').filter({ hasText: 'Allow at root' });
138
+ this.addPropertyBtn = page.getByLabel('Add property', { exact: true });
139
+ this.typeToFilterSearchTxt = page.locator('[type="search"] #input');
140
+ this.editorSettingsBtn = page.getByLabel('Editor settings');
141
+ this.labelOnTopBtn = page.getByRole('button', { name: 'Label on top' });
142
+ this.unnamedTxt = page.getByRole('textbox', { name: 'Unnamed' });
143
+ this.deleteThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete...');
144
+ this.removeExactBtn = page.getByLabel('Remove', { exact: true });
145
+ this.confirmBtn = page.getByLabel('Confirm');
146
+ this.disableBtn = page.getByLabel('Disable');
147
+ this.confirmDisableBtn = page.locator('#confirm').getByLabel('Disable');
148
+ this.enableBtn = page.getByLabel('Enable');
149
+ this.confirmEnableBtn = page.locator('#confirm').getByLabel('Enable');
150
+ this.iconBtn = page.getByLabel('icon');
151
+ this.bugIconBtn = page.getByLabel('icon-bug').getByRole('img');
152
+ this.aliasLockBtn = page.locator('#name #alias-lock');
153
+ this.aliasNameTxt = page.locator('#name').getByLabel('alias');
154
+ this.deleteFolderThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete Folder...');
155
+ this.createLink = page.getByRole('link', { name: 'Create' });
156
+ }
157
+ async clickActionsMenuForName(name) {
158
+ await this.page.locator('[label="' + name + '"] >> [label="Open actions menu"]').click({ force: true });
159
+ }
160
+ async clickCaretButtonForName(name) {
161
+ await this.page.locator('div').filter({ hasText: name }).locator('#caret-button').click();
162
+ }
163
+ async clickCaretButton() {
164
+ await this.page.locator('#caret-button').click();
165
+ }
166
+ async clickSaveButton() {
167
+ await (0, test_1.expect)(this.saveBtn).toBeVisible();
168
+ await this.saveBtn.click();
169
+ }
170
+ async clickChooseButton() {
171
+ await this.chooseBtn.click();
172
+ }
173
+ async clickFilterChooseButton() {
174
+ await this.filterChooseBtn.click();
175
+ }
176
+ async clickRenameFolderThreeDotsButton() {
177
+ await this.renameFolderThreeDotsBtn.click();
178
+ }
179
+ async clickUpdateFolderButton() {
180
+ await this.updateFolderBtn.click();
181
+ }
182
+ async clickUpdateButton() {
183
+ await this.updateBtn.click();
184
+ }
185
+ async clickSubmitButton() {
186
+ await this.submitBtn.click({ force: true });
187
+ }
188
+ async clickChangeButton() {
189
+ await this.changeBtn.click();
190
+ }
191
+ async enterAliasName(aliasName) {
192
+ // Unlocks alias
193
+ await this.aliasLockBtn.click();
194
+ await this.aliasNameTxt.clear();
195
+ await this.aliasNameTxt.fill(aliasName);
196
+ }
197
+ async updateIcon(iconName) {
198
+ await this.iconBtn.click({ force: true });
199
+ await this.searchForTypeToFilterValue(iconName);
200
+ await this.bugIconBtn.click();
201
+ }
202
+ async clickTextButtonWithName(name) {
203
+ await this.page.getByText(name, { exact: true }).click();
204
+ }
205
+ async clickSelectPropertyEditorButton() {
206
+ await (0, test_1.expect)(this.selectPropertyEditorBtn).toBeVisible();
207
+ await this.selectPropertyEditorBtn.click();
208
+ }
209
+ async clickCreateFolderButton() {
210
+ await this.createFolderBtn.click();
211
+ }
212
+ async enterAPropertyName(name) {
213
+ await (0, test_1.expect)(this.propertyNameTxt).toBeVisible();
214
+ await this.propertyNameTxt.fill(name);
215
+ }
216
+ async clickConfirmButton() {
217
+ await this.confirmBtn.click();
218
+ }
219
+ async clickBreadcrumbButton() {
220
+ await this.breadcrumbBtn.click();
221
+ }
222
+ async clickInsertButton() {
223
+ await this.insertValueBtn.click();
224
+ }
225
+ async clickDictionaryInsertItemButton() {
226
+ await this.dictionaryInsertItemBtn.click({ force: true });
227
+ }
228
+ async clickCaretDictionaryButton() {
229
+ await this.caretDictionaryBtn.click();
230
+ }
231
+ async clickDeleteButton() {
232
+ await this.deleteBtn.click();
233
+ }
234
+ async clickConfirmToDeleteButton() {
235
+ await this.confirmToDeleteBtn.click();
236
+ }
237
+ async clickDeleteFolderButton() {
238
+ await this.deleteFolderThreeDotsBtn.click();
239
+ }
240
+ async clickConfirmCreateFolderButton() {
241
+ await this.confirmCreateFolderBtn.click();
242
+ }
243
+ async clickDeleteThreeDotsButton() {
244
+ await this.deleteThreeDotsBtn.click();
245
+ }
246
+ async clickRemoveExactButton() {
247
+ await this.removeExactBtn.click();
248
+ }
249
+ async clickRemoveWithName(name) {
250
+ await this.page.getByLabel('Remove ' + name).click();
251
+ }
252
+ async clickDisableButton() {
253
+ await this.disableBtn.click();
254
+ }
255
+ async clickConfirmDisableButton() {
256
+ await this.confirmDisableBtn.click();
257
+ }
258
+ async clickEnableButton() {
259
+ await this.enableBtn.click();
260
+ }
261
+ async clickConfirmEnableButton() {
262
+ await this.confirmEnableBtn.click();
263
+ }
264
+ async insertDictionaryByName(dictionaryName) {
265
+ await this.clickInsertButton();
266
+ await (0, test_1.expect)(this.dictionaryInsertItemBtn).toBeVisible();
267
+ await this.clickDictionaryInsertItemButton();
268
+ await (0, test_1.expect)(this.page.getByLabel(dictionaryName)).toBeVisible();
269
+ await this.page.getByLabel(dictionaryName).click();
270
+ await this.chooseBtn.click();
271
+ }
272
+ async addQueryBuilderWithOrderByStatement(propertyAlias, isAscending) {
273
+ await this.queryBuilderBtn.click({ force: true });
274
+ await (0, test_1.expect)(this.orderByPropertyAliasBtn).toBeVisible();
275
+ await this.orderByPropertyAliasBtn.click({ force: true });
276
+ // Wait and choose property alias option
277
+ await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);
278
+ // Click to acending button if isAcsending is false
279
+ if (!isAscending) {
280
+ await this.ascendingBtn.click({ force: true });
281
+ }
282
+ }
283
+ async addQueryBuilderWithWhereStatement(propertyAlias, operator, constrainValue) {
284
+ await this.queryBuilderBtn.click({ force: true });
285
+ // Wait and choose property alias
286
+ await (0, test_1.expect)(this.wherePropertyAliasBtn).toBeVisible();
287
+ await this.wherePropertyAliasBtn.click({ force: true });
288
+ await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);
289
+ // Wait and choose operator
290
+ await (0, test_1.expect)(this.whereOperatorBtn).toBeVisible();
291
+ await this.whereOperatorBtn.click({ force: true });
292
+ await this.waitAndSelectQueryBuilderDropDownList(operator);
293
+ // Wait and choose constrain value and press Enter
294
+ await (0, test_1.expect)(this.whereConstrainValueTxt).toBeVisible();
295
+ await this.whereConstrainValueTxt.clear();
296
+ await this.whereConstrainValueTxt.fill(constrainValue);
297
+ await this.whereConstrainValueTxt.press('Enter');
298
+ }
299
+ async waitAndSelectQueryBuilderDropDownList(option) {
300
+ const ddlOption = this.page.locator('[open]').locator('uui-combobox-list-option').filter({ hasText: option }).first();
301
+ await (0, test_1.expect)(ddlOption).toBeVisible();
302
+ await ddlOption.click({ force: true });
303
+ }
304
+ async createFolder(folderName) {
305
+ await this.clickCreateThreeDotsButton();
306
+ await this.clickNewFolderThreeDotsButton();
307
+ await this.enterFolderName(folderName);
308
+ await this.clickConfirmCreateFolderButton();
309
+ }
310
+ async deletePropertyEditor(propertyEditorName) {
311
+ // We need to hover over the property to be able to see the delete button
312
+ await this.page.locator('uui-button').filter({ hasText: propertyEditorName }).getByLabel('Editor settings').hover();
313
+ await this.deleteLabelBtn.click({ force: true });
314
+ }
315
+ async enterFolderName(folderName) {
316
+ await this.folderNameTxt.clear();
317
+ await this.folderNameTxt.fill(folderName);
318
+ }
319
+ async isTextWithExactNameVisible(name, isVisible = true) {
320
+ return (0, test_1.expect)(this.page.getByText(name, { exact: true })).toBeVisible({ visible: isVisible });
321
+ }
322
+ async isQueryBuilderCodeShown(code) {
323
+ await this.queryBuilderShowCode.click();
324
+ await (0, test_1.expect)(this.queryBuilderShowCode).toContainText(code);
325
+ }
326
+ async deleteFolder() {
327
+ await this.clickDeleteFolderButton();
328
+ await this.clickConfirmToDeleteButton();
329
+ }
330
+ async clickDeleteExactLabel() {
331
+ await this.deleteExactLabelBtn.click();
332
+ }
333
+ async clickDeleteExactButton() {
334
+ await this.deleteExactBtn.click();
335
+ }
336
+ async isTreeItemVisible(name) {
337
+ await (0, test_1.expect)(this.page.locator('umb-tree-item').locator('[label="' + name + '"] ')).toBeVisible();
338
+ }
339
+ async doesTreeItemHaveTheCorrectIcon(name, icon) {
340
+ return await (0, test_1.expect)(this.page.locator('umb-tree-item').filter({ hasText: name }).locator('umb-icon').locator('[name="' + icon + '"]')).toBeVisible();
341
+ }
342
+ async goToSection(sectionName) {
343
+ for (let section in ConstantHelper_1.ConstantHelper.sections) {
344
+ await (0, test_1.expect)(this.page.getByRole('tab', { name: ConstantHelper_1.ConstantHelper.sections[section] })).toBeVisible({ timeout: 30000 });
345
+ }
346
+ await this.page.getByRole('tab', { name: sectionName }).click();
347
+ }
348
+ async goToSettingsTreeItem(settingsTreeItemName) {
349
+ await this.goToSection(ConstantHelper_1.ConstantHelper.sections.settings);
350
+ await this.page.getByLabel(settingsTreeItemName).click();
351
+ }
352
+ async clickDataElement(elementName, options = null) {
353
+ await this.page.click(`[data-element="${elementName}"]`, options);
354
+ }
355
+ async getDataElement(elementName) {
356
+ return this.page.locator(`[data-element="${elementName}"]`);
357
+ }
358
+ async isButtonWithNameVisible(name) {
359
+ await (0, test_1.expect)(this.page.getByRole('button', { name: name })).toBeVisible();
360
+ }
361
+ async clickLabelWithName(name) {
362
+ await this.page.getByLabel(name).click();
363
+ }
364
+ async clickButtonWithName(name) {
365
+ await this.page.getByRole('button', { name: name }).click({ force: true });
366
+ }
367
+ async isSuccessNotificationVisible() {
368
+ return await (0, test_1.expect)(this.page.locator('uui-toast-notification >> [color="positive"]')).toBeVisible();
369
+ }
370
+ async isErrorNotificationVisible() {
371
+ return await (0, test_1.expect)(this.page.locator('uui-toast-notification >> [color="danger"]')).toBeVisible();
372
+ }
373
+ async clickCreateThreeDotsButton() {
374
+ await this.createThreeDotsBtn.click();
375
+ }
376
+ async clickCreateButton() {
377
+ await this.createBtn.click();
378
+ }
379
+ async clickAddButton() {
380
+ await this.addBtn.click();
381
+ }
382
+ ;
383
+ async clickNewFolderThreeDotsButton() {
384
+ await this.newFolderThreeDotsBtn.click();
385
+ }
386
+ clickEditorSettingsButton() {
387
+ return this.editorSettingsBtn.click();
388
+ }
389
+ async enterDescription(description) {
390
+ await this.enterDescriptionTxt.fill(description);
391
+ }
392
+ async doesDescriptionHaveValue(value) {
393
+ return await (0, test_1.expect)(this.descriptionBtn).toHaveValue(value);
394
+ }
395
+ async clickStructureTab() {
396
+ await (0, test_1.expect)(this.structureTabBtn).toBeVisible();
397
+ await this.structureTabBtn.click();
398
+ }
399
+ async clickAllowAtRootButton() {
400
+ await this.allowAtRootBtn.click();
401
+ }
402
+ async clickIAmDoneReorderingButton() {
403
+ await this.iAmDoneReorderingBtn.click();
404
+ }
405
+ async clickReorderButton() {
406
+ await this.reorderBtn.click();
407
+ }
408
+ async clickLabelOnTopButton() {
409
+ await this.labelOnTopBtn.click();
410
+ }
411
+ async clickMandatorySlider() {
412
+ await this.mandatorySlider.click();
413
+ }
414
+ async selectValidationOption(option) {
415
+ await this.validation.selectOption(option);
416
+ }
417
+ async enterRegEx(regEx) {
418
+ await this.regexTxt.fill(regEx);
419
+ }
420
+ async enterRegExMessage(regExMessage) {
421
+ await this.regexMessageTxt.fill(regExMessage);
422
+ }
423
+ async clickCompositionsButton() {
424
+ await this.compositionsBtn.click();
425
+ }
426
+ async clickAddTabButton() {
427
+ await this.addTabBtn.click();
428
+ }
429
+ async enterTabName(tabName) {
430
+ await this.unnamedTxt.fill(tabName);
431
+ }
432
+ async searchForTypeToFilterValue(searchValue) {
433
+ await (0, test_1.expect)(this.typeToFilterSearchTxt).toBeVisible();
434
+ await this.typeToFilterSearchTxt.fill(searchValue);
435
+ }
436
+ async addPropertyEditor(propertyEditorName, index = 0) {
437
+ await this.addPropertyBtn.nth(index).click({ force: true });
438
+ await this.clickSelectPropertyEditorButton();
439
+ await this.searchForTypeToFilterValue(propertyEditorName);
440
+ await this.page.getByText(propertyEditorName, { exact: true }).click();
441
+ await this.enterAPropertyName(propertyEditorName);
442
+ await this.clickAddButton();
443
+ }
444
+ async updatePropertyEditor(propertyEditorName) {
445
+ await this.clickEditorSettingsButton();
446
+ await this.clickChangeButton();
447
+ await this.searchForTypeToFilterValue(propertyEditorName);
448
+ await this.page.getByText(propertyEditorName, { exact: true }).click();
449
+ await this.enterAPropertyName(propertyEditorName);
450
+ await this.clickUpdateButton();
451
+ }
452
+ async clickAddGroupButton() {
453
+ await this.addGroupBtn.click();
454
+ }
455
+ async enterGroupName(groupName, index = 0) {
456
+ const groupNameTxt = this.page.getByLabel('Group name', { exact: true }).nth(index);
457
+ await (0, test_1.expect)(groupNameTxt).toBeVisible();
458
+ await groupNameTxt.fill(groupName);
459
+ }
460
+ async doesGroupHaveValue(value) {
461
+ return await (0, test_1.expect)(this.page.getByLabel('Group', { exact: true })).toHaveValue(value);
462
+ }
463
+ async rename(newName) {
464
+ await this.renameThreeDotsBtn.click();
465
+ await this.newNameTxt.click();
466
+ await this.newNameTxt.clear();
467
+ await this.newNameTxt.fill(newName);
468
+ await this.renameModalBtn.click({ force: true });
469
+ }
470
+ async isSuccessButtonWithTextVisible(text) {
471
+ return await (0, test_1.expect)(this.successState.filter({ hasText: text })).toBeVisible();
472
+ }
473
+ async dragAndDrop(dragFromSelector, dragToSelector, verticalOffset, horizontalOffset, steps) {
474
+ const targetLocation = await dragToSelector.boundingBox();
475
+ const elementCenterX = targetLocation.x + targetLocation.width / 2;
476
+ const elementCenterY = targetLocation.y + targetLocation.height / 2;
477
+ await dragFromSelector.hover();
478
+ await this.page.mouse.down();
479
+ await this.page.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, { steps: steps });
480
+ await this.page.mouse.up();
481
+ }
482
+ async clickCreateLink() {
483
+ await this.createLink.click();
484
+ }
485
+ }
486
+ exports.UiBaseLocators = UiBaseLocators;
487
+ //# sourceMappingURL=UiBaseLocators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiBaseLocators.js","sourceRoot":"","sources":["../../../lib/helpers/UiBaseLocators.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page} from \"@playwright/test\"\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class UiBaseLocators {\n public readonly page: Page;\n public readonly saveBtn: Locator;\n public readonly chooseBtn: Locator;\n public readonly submitBtn: Locator;\n public readonly createFolderBtn: Locator;\n public readonly breadcrumbBtn: Locator;\n public readonly deleteBtn: Locator;\n public readonly confirmToDeleteBtn: Locator;\n public readonly deleteLabelBtn: Locator;\n public readonly deleteExactLabelBtn: Locator;\n public readonly deleteExactBtn: Locator;\n public readonly confirmCreateFolderBtn: Locator;\n public readonly 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 public readonly renameFolderThreeDotsBtn: Locator;\n public readonly updateFolderBtn: Locator;\n public readonly filterChooseBtn: Locator;\n public readonly updateBtn: Locator;\n public readonly changeBtn: Locator;\n public readonly propertyNameTxt: Locator;\n public readonly selectPropertyEditorBtn: Locator;\n public readonly addGroupBtn: Locator;\n public readonly iAmDoneReorderingBtn: Locator;\n public readonly reorderBtn: Locator;\n public readonly compositionsBtn: Locator;\n public readonly addTabBtn: Locator;\n public readonly descriptionBtn: Locator;\n public readonly enterDescriptionTxt: Locator;\n public readonly mandatorySlider: Locator;\n public readonly validation: Locator;\n public readonly regexTxt: Locator;\n public readonly regexMessageTxt: Locator;\n public readonly structureTabBtn: Locator;\n public readonly allowAtRootBtn: Locator;\n public readonly addPropertyBtn: Locator;\n public readonly typeToFilterSearchTxt: Locator;\n public readonly editorSettingsBtn: Locator;\n public readonly labelOnTopBtn: Locator;\n public readonly unnamedTxt: Locator;\n public readonly deleteThreeDotsBtn: Locator;\n public readonly removeExactBtn: Locator;\n public readonly confirmBtn: Locator;\n public readonly disableBtn: Locator;\n public readonly confirmDisableBtn: Locator;\n public readonly enableBtn: Locator;\n public readonly confirmEnableBtn: Locator;\n public readonly iconBtn: Locator;\n public readonly bugIconBtn: Locator;\n public readonly aliasLockBtn: Locator;\n public readonly aliasNameTxt: Locator;\n public readonly deleteFolderThreeDotsBtn: Locator;\n public readonly createLink: Locator;\n\n constructor(page: Page) {\n this.page = page;\n this.saveBtn = page.getByLabel('Save', {exact: true});\n this.submitBtn = page.getByLabel('Submit');\n this.deleteExactLabelBtn = page.getByLabel('Delete', {exact: true});\n this.deleteExactBtn = page.getByRole('button', {name: 'Delete', exact: true});\n this.deleteLabelBtn = page.getByLabel('Delete');\n this.deleteBtn = page.getByRole('button', {name: 'Delete'});\n this.confirmToDeleteBtn = page.locator('#confirm').getByLabel('Delete');\n this.confirmCreateFolderBtn = page.locator('#confirm').getByLabel('Create Folder');\n this.breadcrumbBtn = page.getByLabel('Breadcrumb');\n this.createFolderBtn = page.getByLabel('Create folder');\n this.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.getByText('Create...', {exact: true});\n this.chooseBtn = page.getByLabel('Choose', {exact: true});\n this.newFolderThreeDotsBtn = page.getByLabel('New Folder...');\n this.renameThreeDotsBtn = page.getByLabel('Rename...', {exact: true});\n this.newNameTxt = page.getByRole('textbox', {name: 'Enter new name...'});\n this.renameModalBtn = page.locator('umb-rename-modal').getByLabel('Rename');\n this.createBtn = page.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.locator('uui-tab').filter({hasText: 'Structure'}).locator('svg');\n this.allowAtRootBtn = page.locator('label').filter({hasText: 'Allow at root'});\n this.addPropertyBtn = page.getByLabel('Add property', {exact: true});\n this.typeToFilterSearchTxt = page.locator('[type=\"search\"] #input');\n this.editorSettingsBtn = page.getByLabel('Editor settings');\n this.labelOnTopBtn = page.getByRole('button', {name: 'Label on top'});\n this.unnamedTxt = page.getByRole('textbox', {name: 'Unnamed'});\n this.deleteThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete...');\n this.removeExactBtn = page.getByLabel('Remove', {exact: true});\n this.confirmBtn = page.getByLabel('Confirm');\n this.disableBtn = page.getByLabel('Disable');\n this.confirmDisableBtn = page.locator('#confirm').getByLabel('Disable');\n this.enableBtn = page.getByLabel('Enable');\n this.confirmEnableBtn = page.locator('#confirm').getByLabel('Enable');\n this.iconBtn = page.getByLabel('icon');\n this.bugIconBtn = page.getByLabel('icon-bug').getByRole('img');\n this.aliasLockBtn = page.locator('#name #alias-lock');\n this.aliasNameTxt = page.locator('#name').getByLabel('alias');\n this.deleteFolderThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete Folder...');\n this.createLink = page.getByRole('link', {name: 'Create'});\n }\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 expect(this.saveBtn).toBeVisible();\n await this.saveBtn.click();\n }\n\n async clickChooseButton() {\n await this.chooseBtn.click();\n }\n\n async clickFilterChooseButton() {\n await this.filterChooseBtn.click();\n }\n\n async clickRenameFolderThreeDotsButton() {\n await this.renameFolderThreeDotsBtn.click();\n }\n\n async 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 expect(this.selectPropertyEditorBtn).toBeVisible();\n await this.selectPropertyEditorBtn.click();\n }\n\n async clickCreateFolderButton() {\n await this.createFolderBtn.click();\n }\n\n async enterAPropertyName(name: string) {\n await expect(this.propertyNameTxt).toBeVisible();\n await this.propertyNameTxt.fill(name);\n }\n\n async clickConfirmButton() {\n await this.confirmBtn.click();\n }\n\n async clickBreadcrumbButton() {\n await this.breadcrumbBtn.click();\n }\n\n async clickInsertButton() {\n await 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.deleteFolderThreeDotsBtn.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.clickInsertButton();\n await expect(this.dictionaryInsertItemBtn).toBeVisible();\n await this.clickDictionaryInsertItemButton();\n await expect(this.page.getByLabel(dictionaryName)).toBeVisible();\n await this.page.getByLabel(dictionaryName).click();\n await this.chooseBtn.click();\n }\n\n async addQueryBuilderWithOrderByStatement(propertyAlias: string, isAscending: boolean) {\n await this.queryBuilderBtn.click({force: true});\n await expect(this.orderByPropertyAliasBtn).toBeVisible();\n await this.orderByPropertyAliasBtn.click({force: true});\n // Wait and choose property alias option \n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Click to acending button if isAcsending is false\n if (!isAscending) {\n await this.ascendingBtn.click({force: true});\n }\n }\n\n async addQueryBuilderWithWhereStatement(propertyAlias: string, operator: string, constrainValue: string) {\n await this.queryBuilderBtn.click({force: true});\n // Wait and choose property alias\n await expect(this.wherePropertyAliasBtn).toBeVisible();\n await this.wherePropertyAliasBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Wait and choose operator\n await expect(this.whereOperatorBtn).toBeVisible();\n await this.whereOperatorBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(operator);\n // Wait and choose constrain value and press Enter\n await expect(this.whereConstrainValueTxt).toBeVisible();\n await this.whereConstrainValueTxt.clear();\n await this.whereConstrainValueTxt.fill(constrainValue);\n await this.whereConstrainValueTxt.press('Enter');\n }\n\n async waitAndSelectQueryBuilderDropDownList(option: string) {\n const ddlOption = this.page.locator('[open]').locator('uui-combobox-list-option').filter({hasText: option}).first();\n await expect(ddlOption).toBeVisible();\n await ddlOption.click({force: true});\n }\n\n async createFolder(folderName: string) {\n await this.clickCreateThreeDotsButton();\n await this.clickNewFolderThreeDotsButton();\n await this.enterFolderName(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n\n async deletePropertyEditor(propertyEditorName: string) {\n // We need to hover over the property to be able to see the delete button\n await this.page.locator('uui-button').filter({hasText: propertyEditorName}).getByLabel('Editor settings').hover();\n await this.deleteLabelBtn.click({force: true});\n }\n\n async enterFolderName(folderName: string) {\n await this.folderNameTxt.clear();\n await this.folderNameTxt.fill(folderName);\n }\n\n async isTextWithExactNameVisible(name: string, isVisible = true) {\n return expect(this.page.getByText(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async isQueryBuilderCodeShown(code: string) {\n await 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 clickDeleteExactButton() {\n await this.deleteExactBtn.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: ConstantHelper.sections[section]})).toBeVisible({timeout: 30000});\n }\n await this.page.getByRole('tab', {name: sectionName}).click();\n }\n\n async goToSettingsTreeItem(settingsTreeItemName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.page.getByLabel(settingsTreeItemName).click();\n }\n\n async clickDataElement(elementName: string, options: any = null) {\n await this.page.click(`[data-element=\"${elementName}\"]`, options);\n }\n\n async getDataElement(elementName: string) {\n return this.page.locator(`[data-element=\"${elementName}\"]`);\n }\n\n async isButtonWithNameVisible(name: string) {\n await expect(this.page.getByRole('button', {name: name})).toBeVisible();\n }\n\n async clickLabelWithName(name: string) {\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 expect(this.structureTabBtn).toBeVisible();\n await this.structureTabBtn.click();\n }\n\n async clickAllowAtRootButton() {\n await this.allowAtRootBtn.click();\n }\n\n async clickIAmDoneReorderingButton() {\n await this.iAmDoneReorderingBtn.click();\n }\n\n async clickReorderButton() {\n await this.reorderBtn.click();\n }\n\n async clickLabelOnTopButton() {\n await this.labelOnTopBtn.click();\n }\n\n async clickMandatorySlider() {\n await this.mandatorySlider.click();\n }\n\n async selectValidationOption(option: string) {\n await this.validation.selectOption(option);\n }\n\n async enterRegEx(regEx: string) {\n await this.regexTxt.fill(regEx);\n }\n\n async enterRegExMessage(regExMessage: string) {\n await this.regexMessageTxt.fill(regExMessage);\n }\n\n async clickCompositionsButton() {\n await this.compositionsBtn.click();\n }\n\n async clickAddTabButton() {\n await this.addTabBtn.click();\n }\n\n async enterTabName(tabName: string) {\n await this.unnamedTxt.fill(tabName);\n }\n\n async searchForTypeToFilterValue(searchValue: string) {\n await expect(this.typeToFilterSearchTxt).toBeVisible();\n await this.typeToFilterSearchTxt.fill(searchValue);\n }\n\n async addPropertyEditor(propertyEditorName: string, index: number = 0) {\n await this.addPropertyBtn.nth(index).click({force: true});\n await this.clickSelectPropertyEditorButton();\n await this.searchForTypeToFilterValue(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\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.enterAPropertyName(propertyEditorName);\n await this.clickUpdateButton();\n }\n\n async clickAddGroupButton() {\n await this.addGroupBtn.click();\n }\n\n async enterGroupName(groupName: string, index: number = 0) {\n const groupNameTxt = this.page.getByLabel('Group name', {exact: true}).nth(index);\n await expect(groupNameTxt).toBeVisible();\n await groupNameTxt.fill(groupName);\n }\n\n async doesGroupHaveValue(value: string) {\n 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();\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 \n async clickCreateLink() {\n await this.createLink.click();\n }\n}"]}
@@ -1,11 +1,53 @@
1
1
  import { Page } from "@playwright/test";
2
+ import { StylesheetUiHelper } from "./StylesheetUiHelper";
3
+ import { PartialViewUiHelper } from "./PartialViewUiHelper";
4
+ import { ScriptUiHelper } from "./ScriptUiHelper";
5
+ import { TemplateUiHelper } from "./TemplateUiHelper";
6
+ import { DictionaryUiHelper } from "./DictionaryUiHelper";
7
+ import { LoginUiHelper } from "./LoginUiHelper";
8
+ import { LogViewerUiHelper } from "./LogViewerUiHelper";
9
+ import { TelemetryDataUiHelper } from "./TelemetryDataUiHelper";
10
+ import { DataTypeUiHelper } from "./DataTypeUiHelper";
11
+ import { RelationTypeUiHelper } from "./RelationTypeUiHelper";
12
+ import { PackageUiHelper } from "./PackageUiHelper";
13
+ import { LanguageUiHelper } from "./LanguageUiHelper";
14
+ import { ModelsBuilderUiHelper } from "./ModelsBuilderUiHelper";
15
+ import { ExamineManagementUiHelper } from "./ExamineManagementUiHelper";
16
+ import { PublishedStatusUiHelper } from "./PublishedStatusUiHelper";
17
+ import { HealthCheckUiHelper } from "./HealthCheckUiHelper";
18
+ import { ProfilingUiHelper } from "./ProfilingUiHelper";
19
+ import { WelcomeDashboardUiHelper } from './WelcomeDashboardUiHelper';
20
+ import { DocumentTypeUiHelper } from "./DocumentTypeUiHelper";
21
+ import { MediaTypeUiHelper } from "./MediaTypeUiHelper";
22
+ import { UserUiHelper } from "./UserUiHelper";
23
+ import { UserGroupUiHelper } from "./UserGroupUiHelper";
2
24
  export declare class UiHelpers {
3
25
  page: Page;
26
+ stylesheet: StylesheetUiHelper;
27
+ partialView: PartialViewUiHelper;
28
+ dictionary: DictionaryUiHelper;
29
+ script: ScriptUiHelper;
30
+ template: TemplateUiHelper;
31
+ login: LoginUiHelper;
32
+ logViewer: LogViewerUiHelper;
33
+ telemetryData: TelemetryDataUiHelper;
34
+ dataType: DataTypeUiHelper;
35
+ relationType: RelationTypeUiHelper;
36
+ package: PackageUiHelper;
37
+ language: LanguageUiHelper;
38
+ modelsBuilder: ModelsBuilderUiHelper;
39
+ examineManagement: ExamineManagementUiHelper;
40
+ publishedStatus: PublishedStatusUiHelper;
41
+ healthCheck: HealthCheckUiHelper;
42
+ profiling: ProfilingUiHelper;
43
+ welcomeDashboard: WelcomeDashboardUiHelper;
44
+ documentType: DocumentTypeUiHelper;
45
+ mediaType: MediaTypeUiHelper;
46
+ user: UserUiHelper;
47
+ userGroup: UserGroupUiHelper;
4
48
  constructor(page: Page);
5
- clickButton(buttonName: string): Promise<void>;
6
- goToSection(sectionName: string): Promise<void>;
7
- goToSettingsTreeItem(settingsTreeItemName: string): Promise<void>;
8
- clickDataElement(elementName: string, options?: any): Promise<void>;
9
- getDataElement(elementName: string): Promise<import("playwright-core").Locator>;
10
- isNotificationVisible(notificationMessage: string): Promise<void>;
49
+ goToBackOffice(): Promise<void>;
50
+ waitForTimeout(timeout: number): Promise<void>;
51
+ reloadPage(): Promise<void>;
52
+ goBackPage(): Promise<void>;
11
53
  }