@umbraco/playwright-testhelpers 15.0.0-beta.6 → 15.0.1

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 (93) hide show
  1. package/dist/lib/helpers/ApiHelpers.d.ts +21 -3
  2. package/dist/lib/helpers/ApiHelpers.js +66 -17
  3. package/dist/lib/helpers/ApiHelpers.js.map +1 -1
  4. package/dist/lib/helpers/ConstantHelper.d.ts +5 -0
  5. package/dist/lib/helpers/ConstantHelper.js +5 -0
  6. package/dist/lib/helpers/ConstantHelper.js.map +1 -1
  7. package/dist/lib/helpers/ContentRenderUiHelper.d.ts +9 -0
  8. package/dist/lib/helpers/ContentRenderUiHelper.js +30 -0
  9. package/dist/lib/helpers/ContentRenderUiHelper.js.map +1 -0
  10. package/dist/lib/helpers/ContentUiHelper.d.ts +71 -3
  11. package/dist/lib/helpers/ContentUiHelper.js +218 -6
  12. package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
  13. package/dist/lib/helpers/DataTypeApiHelper.d.ts +2 -0
  14. package/dist/lib/helpers/DataTypeApiHelper.js +24 -0
  15. package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
  16. package/dist/lib/helpers/DataTypeUiHelper.d.ts +7 -7
  17. package/dist/lib/helpers/DataTypeUiHelper.js +15 -15
  18. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
  19. package/dist/lib/helpers/DocumentApiHelper.d.ts +18 -1
  20. package/dist/lib/helpers/DocumentApiHelper.js +95 -2
  21. package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
  22. package/dist/lib/helpers/DocumentBlueprintApiHelper.d.ts +1 -1
  23. package/dist/lib/helpers/DocumentBlueprintApiHelper.js +4 -5
  24. package/dist/lib/helpers/DocumentBlueprintApiHelper.js.map +1 -1
  25. package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +2 -0
  26. package/dist/lib/helpers/DocumentTypeApiHelper.js +51 -0
  27. package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
  28. package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +0 -2
  29. package/dist/lib/helpers/DocumentTypeUiHelper.js +0 -5
  30. package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
  31. package/dist/lib/helpers/LanguageApiHelper.d.ts +1 -0
  32. package/dist/lib/helpers/LanguageApiHelper.js +3 -0
  33. package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
  34. package/dist/lib/helpers/LanguageUiHelper.js +2 -2
  35. package/dist/lib/helpers/LanguageUiHelper.js.map +1 -1
  36. package/dist/lib/helpers/LoginApiHelper.d.ts +3 -2
  37. package/dist/lib/helpers/LoginApiHelper.js +7 -9
  38. package/dist/lib/helpers/LoginApiHelper.js.map +1 -1
  39. package/dist/lib/helpers/MediaUiHelper.d.ts +5 -0
  40. package/dist/lib/helpers/MediaUiHelper.js +14 -0
  41. package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
  42. package/dist/lib/helpers/MemberGroupUiHelper.d.ts +0 -2
  43. package/dist/lib/helpers/MemberGroupUiHelper.js +0 -5
  44. package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -1
  45. package/dist/lib/helpers/NotificationConstantHelper.d.ts +36 -0
  46. package/dist/lib/helpers/NotificationConstantHelper.js +41 -0
  47. package/dist/lib/helpers/NotificationConstantHelper.js.map +1 -0
  48. package/dist/lib/helpers/PackageUiHelper.d.ts +4 -2
  49. package/dist/lib/helpers/PackageUiHelper.js +32 -24
  50. package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
  51. package/dist/lib/helpers/PartialViewUiHelper.d.ts +0 -1
  52. package/dist/lib/helpers/PartialViewUiHelper.js +5 -7
  53. package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
  54. package/dist/lib/helpers/ScriptApiHelper.d.ts +1 -1
  55. package/dist/lib/helpers/ScriptApiHelper.js +4 -5
  56. package/dist/lib/helpers/ScriptApiHelper.js.map +1 -1
  57. package/dist/lib/helpers/ScriptUiHelper.d.ts +0 -1
  58. package/dist/lib/helpers/ScriptUiHelper.js +2 -4
  59. package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
  60. package/dist/lib/helpers/StylesheetApiHelper.d.ts +1 -0
  61. package/dist/lib/helpers/StylesheetApiHelper.js +10 -1
  62. package/dist/lib/helpers/StylesheetApiHelper.js.map +1 -1
  63. package/dist/lib/helpers/TemplateApiHelper.d.ts +6 -0
  64. package/dist/lib/helpers/TemplateApiHelper.js +77 -0
  65. package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
  66. package/dist/lib/helpers/TemplateUiHelper.d.ts +0 -1
  67. package/dist/lib/helpers/TemplateUiHelper.js +5 -7
  68. package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
  69. package/dist/lib/helpers/UiBaseLocators.d.ts +20 -3
  70. package/dist/lib/helpers/UiBaseLocators.js +68 -17
  71. package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
  72. package/dist/lib/helpers/UiHelpers.d.ts +2 -0
  73. package/dist/lib/helpers/UiHelpers.js +3 -0
  74. package/dist/lib/helpers/UiHelpers.js.map +1 -1
  75. package/dist/lib/helpers/UserApiHelper.d.ts +9 -2
  76. package/dist/lib/helpers/UserApiHelper.js +51 -6
  77. package/dist/lib/helpers/UserApiHelper.js.map +1 -1
  78. package/dist/lib/helpers/UserGroupApiHelper.d.ts +31 -0
  79. package/dist/lib/helpers/UserGroupApiHelper.js +346 -0
  80. package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
  81. package/dist/lib/helpers/UserGroupUiHelper.d.ts +33 -7
  82. package/dist/lib/helpers/UserGroupUiHelper.js +93 -18
  83. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
  84. package/dist/lib/helpers/UserUiHelper.d.ts +2 -7
  85. package/dist/lib/helpers/UserUiHelper.js +4 -17
  86. package/dist/lib/helpers/UserUiHelper.js.map +1 -1
  87. package/dist/lib/helpers/index.d.ts +1 -0
  88. package/dist/lib/helpers/index.js +3 -1
  89. package/dist/lib/helpers/index.js.map +1 -1
  90. package/dist/lib/helpers/testExtension.js +2 -1
  91. package/dist/lib/helpers/testExtension.js.map +1 -1
  92. package/dist/tsconfig.tsbuildinfo +1 -1
  93. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class TemplateUiHelper extends UiBaseLocators {\n private readonly templateNameTxt: Locator;\n private readonly changeMasterTemplateBtn: Locator;\n private readonly sectionsBtn: Locator;\n private readonly removeMasterTemplateBtn: Locator;\n private readonly sectionNameTxt: Locator;\n private readonly templateTree: Locator;\n\n constructor(page: Page) {\n super(page);\n this.templateNameTxt = page.getByLabel('Enter a name...', {exact: true});\n this.changeMasterTemplateBtn = page.locator('#master-template-button');\n this.sectionsBtn = page.locator('#sections-button', {hasText: 'Sections'});\n this.removeMasterTemplateBtn = page.locator('[name=\"icon-delete\"] svg');\n this.sectionNameTxt = page.getByLabel('Section Name');\n this.templateTree = page.locator('umb-tree[alias=\"Umb.Tree.Template\"]');\n }\n\n async clickActionsMenuForTemplate(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForTemplate('Templates');\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName('Templates');\n }\n\n async goToTemplate(templateName: string, childTemplateName: string = '') {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadTemplateTree();\n if (childTemplateName === '') {\n await this.page.getByLabel(templateName).click();\n await expect(this.templateNameTxt).toHaveValue(templateName);\n } else {\n await this.clickCaretButtonForName(templateName);\n await this.page.getByLabel(childTemplateName).click();\n await expect(this.templateNameTxt).toHaveValue(childTemplateName);\n }\n await this.page.waitForTimeout(1000);\n }\n\n async clickSectionsButton() {\n await expect(this.sectionsBtn).toBeVisible();\n await this.sectionsBtn.click();\n }\n\n async clickChangeMasterTemplateButton() {\n await this.changeMasterTemplateBtn.click();\n }\n\n async enterTemplateName(templateName: string) {\n await expect(this.templateNameTxt).toBeVisible();\n await this.templateNameTxt.clear();\n await this.templateNameTxt.fill(templateName);\n }\n\n async enterTemplateContent(templateContent: string) {\n // We need this wait, to be sure that the template content is loaded.\n await this.page.waitForTimeout(200);\n await this.textAreaInputArea.clear();\n await this.textAreaInputArea.fill(templateContent);\n }\n\n async isMasterTemplateNameVisible(templateName: string, isVisible: boolean = true) {\n await expect(this.page.getByLabel('Master template: ' + templateName)).toBeVisible({visible: isVisible});\n }\n\n async clickRemoveMasterTemplateButton() {\n await this.removeMasterTemplateBtn.click();\n }\n\n async insertSection(sectionType: string, sectionName: string = '') {\n await this.clickSectionsButton();\n await expect(this.submitBtn).toBeVisible();\n await this.page.locator('[label=\"' + sectionType + '\"]').click();\n if (sectionName !== '') {\n await expect(this.sectionNameTxt).toBeVisible();\n await this.sectionNameTxt.fill(sectionName);\n }\n await this.clickSubmitButton();\n }\n\n async isTemplateTreeItemVisible(templateName: string, isVisible: boolean = true) {\n return expect(this.templateTree.getByText(templateName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async reloadTemplateTree() {\n await this.reloadTree('Templates');\n }\n\n async isTemplateRootTreeItemVisible(templateName: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadTemplateTree();\n }\n return expect(this.templateTree.getByText(templateName, {exact: true})).toBeVisible({visible: isVisible});\n }\n}"]}
1
+ {"version":3,"file":"TemplateUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class TemplateUiHelper extends UiBaseLocators {\n private readonly changeMasterTemplateBtn: Locator;\n private readonly sectionsBtn: Locator;\n private readonly removeMasterTemplateBtn: Locator;\n private readonly sectionNameTxt: Locator;\n private readonly templateTree: Locator;\n\n constructor(page: Page) {\n super(page);\n this.changeMasterTemplateBtn = page.locator('#master-template-button');\n this.sectionsBtn = page.locator('#sections-button', {hasText: 'Sections'});\n this.removeMasterTemplateBtn = page.locator('[name=\"icon-delete\"] svg');\n this.sectionNameTxt = page.getByLabel('Section Name');\n this.templateTree = page.locator('umb-tree[alias=\"Umb.Tree.Template\"]');\n }\n\n async clickActionsMenuForTemplate(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForTemplate('Templates');\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName('Templates');\n }\n\n async goToTemplate(templateName: string, childTemplateName: string = '') {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadTemplateTree();\n if (childTemplateName === '') {\n await this.page.getByLabel(templateName).click();\n await expect(this.enterAName).toHaveValue(templateName);\n } else {\n await this.clickCaretButtonForName(templateName);\n await this.page.getByLabel(childTemplateName).click();\n await expect(this.enterAName).toHaveValue(childTemplateName);\n }\n await this.page.waitForTimeout(1000);\n }\n\n async clickSectionsButton() {\n await expect(this.sectionsBtn).toBeVisible();\n await this.sectionsBtn.click();\n }\n\n async clickChangeMasterTemplateButton() {\n await this.changeMasterTemplateBtn.click();\n }\n\n async enterTemplateName(templateName: string) {\n await expect(this.enterAName).toBeVisible();\n await this.enterAName.clear();\n await this.enterAName.fill(templateName);\n }\n\n async enterTemplateContent(templateContent: string) {\n // We need this wait, to be sure that the template content is loaded.\n await this.page.waitForTimeout(200);\n await this.textAreaInputArea.clear();\n await this.textAreaInputArea.fill(templateContent);\n }\n\n async isMasterTemplateNameVisible(templateName: string, isVisible: boolean = true) {\n await expect(this.page.getByLabel('Master template: ' + templateName)).toBeVisible({visible: isVisible});\n }\n\n async clickRemoveMasterTemplateButton() {\n await this.removeMasterTemplateBtn.click();\n }\n\n async insertSection(sectionType: string, sectionName: string = '') {\n await this.clickSectionsButton();\n await expect(this.submitBtn).toBeVisible();\n await this.page.locator('[label=\"' + sectionType + '\"]').click();\n if (sectionName !== '') {\n await expect(this.sectionNameTxt).toBeVisible();\n await this.sectionNameTxt.fill(sectionName);\n }\n await this.clickSubmitButton();\n }\n\n async isTemplateTreeItemVisible(templateName: string, isVisible: boolean = true) {\n return expect(this.templateTree.getByText(templateName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async reloadTemplateTree() {\n await this.reloadTree('Templates');\n }\n\n async isTemplateRootTreeItemVisible(templateName: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadTemplateTree();\n }\n return expect(this.templateTree.getByText(templateName, {exact: true})).toBeVisible({visible: isVisible});\n }\n}"]}
@@ -112,9 +112,15 @@ export declare class UiBaseLocators {
112
112
  readonly gridBtn: Locator;
113
113
  readonly listBtn: Locator;
114
114
  readonly viewBundleBtn: Locator;
115
+ private readonly chooseDocumentInputBtn;
116
+ private readonly chooseMediaInputBtn;
117
+ readonly container: Locator;
115
118
  readonly createDocumentBlueprintBtn: Locator;
119
+ readonly actionsBtn: Locator;
120
+ readonly mediaPickerModalSubmitBtn: Locator;
116
121
  constructor(page: Page);
117
122
  clickActionsMenuForName(name: string): Promise<void>;
123
+ isActionsMenuForNameVisible(name: string, isVisible?: boolean): Promise<void>;
118
124
  clickCaretButtonForName(name: string): Promise<void>;
119
125
  clickCaretButton(): Promise<void>;
120
126
  reloadTree(treeName: string): Promise<void>;
@@ -169,16 +175,17 @@ export declare class UiBaseLocators {
169
175
  clickDeleteExactButton(): Promise<void>;
170
176
  isTreeItemVisible(name: string, isVisible?: boolean): Promise<void>;
171
177
  doesTreeItemHaveTheCorrectIcon(name: string, icon: string): Promise<void>;
172
- goToSection(sectionName: string): Promise<void>;
178
+ goToSection(sectionName: string, checkSections?: boolean): Promise<void>;
173
179
  goToSettingsTreeItem(settingsTreeItemName: string): Promise<void>;
174
180
  clickDataElement(elementName: string, options?: any): Promise<void>;
175
181
  getDataElement(elementName: string): Promise<Locator>;
176
182
  isButtonWithNameVisible(name: string): Promise<void>;
177
183
  clickLabelWithName(name: string, isExact?: boolean, toForce?: boolean): Promise<void>;
178
- clickButtonWithName(name: string): Promise<void>;
184
+ clickButtonWithName(name: string, isExact?: boolean): Promise<void>;
179
185
  isSuccessNotificationVisible(isVisible?: boolean): Promise<void>;
180
186
  doesSuccessNotificationsHaveCount(count: number): Promise<void>;
181
187
  isErrorNotificationVisible(isVisible?: boolean): Promise<void>;
188
+ isTextWithMessageVisible(message: string, isVisible?: boolean): Promise<void>;
182
189
  clickCreateThreeDotsButton(): Promise<void>;
183
190
  clickCreateButton(toForceClick?: boolean): Promise<void>;
184
191
  clickAddButton(): Promise<void>;
@@ -210,6 +217,7 @@ export declare class UiBaseLocators {
210
217
  rename(newName: string): Promise<void>;
211
218
  isSuccessButtonWithTextVisible(text: string): Promise<void>;
212
219
  dragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset?: number, horizontalOffset?: number, steps?: number): Promise<void>;
220
+ getButtonWithName(name: string): Promise<Locator>;
213
221
  clickCreateLink(): Promise<void>;
214
222
  insertSystemFieldValue(fieldValue: string): Promise<void>;
215
223
  insertPartialView(partialViewName: string): Promise<void>;
@@ -238,9 +246,18 @@ export declare class UiBaseLocators {
238
246
  clickConfirmTrashButton(): Promise<void>;
239
247
  reloadRecycleBin(containsItems?: boolean): Promise<void>;
240
248
  clickRecycleBinButton(): Promise<void>;
241
- isItemVisibleInRecycleBin(mediaItem: string, isVisible?: boolean): Promise<void>;
249
+ isItemVisibleInRecycleBin(item: string, isVisible?: boolean, isReload?: boolean): Promise<void>;
242
250
  changeToGridView(): Promise<void>;
243
251
  changeToListView(): Promise<void>;
244
252
  isViewBundleButtonVisible(isVisible?: boolean): Promise<void>;
253
+ doesSuccessNotificationHaveText(text: string, isVisible?: boolean): Promise<void>;
254
+ doesErrorNotificationHaveText(text: string, isVisible?: boolean): Promise<void>;
255
+ isSectionWithNameVisible(sectionName: string, isVisible?: boolean): Promise<void>;
256
+ clickMediaCardWithName(name: string): Promise<void>;
257
+ clickChooseContentStartNodeButton(): Promise<void>;
258
+ clickChooseMediaStartNodeButton(): Promise<void>;
259
+ clickActionsButton(): Promise<void>;
245
260
  clickReferenceNodeLinkWithName(name: string): Promise<void>;
261
+ clickLinkWithName(name: string): Promise<void>;
262
+ clickMediaPickerModalSubmitButton(): Promise<void>;
246
263
  }
@@ -116,7 +116,12 @@ class UiBaseLocators {
116
116
  gridBtn;
117
117
  listBtn;
118
118
  viewBundleBtn;
119
+ chooseDocumentInputBtn;
120
+ chooseMediaInputBtn;
121
+ container;
119
122
  createDocumentBlueprintBtn;
123
+ actionsBtn;
124
+ mediaPickerModalSubmitBtn;
120
125
  constructor(page) {
121
126
  this.page = page;
122
127
  this.saveBtn = page.getByLabel('Save', { exact: true });
@@ -124,7 +129,7 @@ class UiBaseLocators {
124
129
  this.deleteExactLabelBtn = page.getByLabel('Delete', { exact: true });
125
130
  this.deleteExactBtn = page.getByRole('button', { name: 'Delete', exact: true });
126
131
  this.deleteLabelBtn = page.getByLabel('Delete');
127
- this.deleteBtn = page.getByRole('button', { name: /^Delete(\.\.\.)?$/ });
132
+ this.deleteBtn = page.getByLabel(/^Delete(\.\.\.)?$/);
128
133
  this.confirmToDeleteBtn = page.locator('#confirm').getByLabel('Delete');
129
134
  this.confirmCreateFolderBtn = page.locator('#confirm').getByLabel('Create Folder');
130
135
  this.breadcrumbBtn = page.getByLabel('Breadcrumb');
@@ -152,7 +157,7 @@ class UiBaseLocators {
152
157
  this.renameThreeDotsBtn = page.getByLabel('Rename...', { exact: true });
153
158
  this.newNameTxt = page.getByRole('textbox', { name: 'Enter new name...' });
154
159
  this.renameModalBtn = page.locator('umb-rename-modal').getByLabel('Rename');
155
- this.createBtn = page.getByRole('button', { name: /^Create(\.\.\.)?$/, exact: true });
160
+ this.createBtn = page.getByLabel(/^Create(\.\.\.)?$/, { exact: true });
156
161
  this.successState = page.locator('[state="success"]');
157
162
  this.chooseModalBtn = this.sidebarModal.locator('[look="primary"]').getByLabel('Choose');
158
163
  this.addBtn = page.getByLabel('Add', { exact: true });
@@ -183,7 +188,7 @@ class UiBaseLocators {
183
188
  this.editorSettingsBtn = page.getByLabel('Editor settings');
184
189
  this.labelAboveBtn = page.locator('button').filter({ hasText: 'Label above' });
185
190
  this.unnamedTxt = page.getByRole('textbox', { name: 'Unnamed' });
186
- this.deleteThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete...');
191
+ this.deleteThreeDotsBtn = page.getByLabel('Delete...');
187
192
  this.removeExactBtn = page.getByLabel('Remove', { exact: true });
188
193
  this.confirmBtn = page.getByLabel('Confirm');
189
194
  this.disableBtn = page.getByLabel('Disable', { exact: true });
@@ -207,13 +212,13 @@ class UiBaseLocators {
207
212
  this.returnedItemsCount = page.locator('#results-count');
208
213
  this.chooseRootContentBtn = page.getByLabel('Choose root document');
209
214
  this.queryResults = page.locator('query-results');
210
- this.reloadBtn = page.getByRole('button', { name: 'Reload' });
215
+ this.reloadBtn = page.getByRole('button', { name: 'Reload', exact: true });
211
216
  this.confirmToRemoveBtn = page.locator('#confirm').getByLabel('Remove');
212
217
  this.typeGroups = page.locator('umb-content-type-design-editor-group');
213
218
  this.allowedChildNodesModal = page.locator('umb-tree-picker-modal');
214
219
  this.configureAsACollectionBtn = page.getByLabel('Configure as a collection');
215
- this.errorNotification = page.locator('uui-toast-notification >> [color="danger"]');
216
- this.successNotification = page.locator('uui-toast-notification >> [color="positive"]');
220
+ this.errorNotification = page.locator('uui-toast-notification[open][color="danger"]');
221
+ this.successNotification = page.locator('uui-toast-notification[open][color="positive"]');
217
222
  this.leftArrowBtn = page.locator('[name="icon-arrow-left"] svg');
218
223
  this.clickToUploadBtn = page.locator('uui-file-dropzone').filter({ hasText: 'Click to upload' });
219
224
  this.backOfficeHeader = page.locator('umb-backoffice-header');
@@ -229,13 +234,22 @@ class UiBaseLocators {
229
234
  this.recycleBinMenuItemCaretBtn = this.recycleBinMenuItem.locator('#caret-button');
230
235
  this.gridBtn = this.page.getByLabel('Grid');
231
236
  this.listBtn = this.page.getByLabel('List');
232
- this.viewBundleBtn = this.page.locator('umb-collection-view-bundle');
237
+ this.viewBundleBtn = this.page.locator('umb-collection-view-bundle uui-button svg');
233
238
  this.createDocumentBlueprintBtn = page.getByLabel(/^Create Document Blueprint(\.\.\.)?$/);
239
+ this.chooseDocumentInputBtn = page.locator('umb-input-document').getByLabel('Choose');
240
+ this.chooseMediaInputBtn = page.locator('umb-input-media').getByLabel('Choose');
241
+ this.container = page.locator('#container');
242
+ this.actionsBtn = page.getByLabel('Actions', { exact: true });
243
+ this.mediaPickerModalSubmitBtn = page.locator('umb-media-picker-modal').getByLabel('Submit');
234
244
  }
235
245
  async clickActionsMenuForName(name) {
236
246
  await this.page.locator('[label="' + name + '"]').click();
237
247
  await this.page.locator('[label="' + name + '"] >> [label="Open actions menu"]').first().click();
238
248
  }
249
+ async isActionsMenuForNameVisible(name, isVisible = true) {
250
+ await this.page.locator('[label="' + name + '"]').click();
251
+ await (0, test_1.expect)(this.page.locator('[label="' + name + '"] >> [label="Open actions menu"]')).toBeVisible({ visible: isVisible });
252
+ }
239
253
  async clickCaretButtonForName(name) {
240
254
  await this.page.locator('div').filter({ hasText: name }).locator('#caret-button').click();
241
255
  }
@@ -462,9 +476,11 @@ class UiBaseLocators {
462
476
  async doesTreeItemHaveTheCorrectIcon(name, icon) {
463
477
  return await (0, test_1.expect)(this.page.locator('umb-tree-item').filter({ hasText: name }).locator('umb-icon').locator('[name="' + icon + '"]')).toBeVisible();
464
478
  }
465
- async goToSection(sectionName) {
466
- for (let section in ConstantHelper_1.ConstantHelper.sections) {
467
- await (0, test_1.expect)(this.backOfficeHeader.getByRole('tab', { name: ConstantHelper_1.ConstantHelper.sections[section] })).toBeVisible({ timeout: 30000 });
479
+ async goToSection(sectionName, checkSections = true) {
480
+ if (checkSections) {
481
+ for (let section in ConstantHelper_1.ConstantHelper.sections) {
482
+ await (0, test_1.expect)(this.backOfficeHeader.getByRole('tab', { name: ConstantHelper_1.ConstantHelper.sections[section] })).toBeVisible({ timeout: 30000 });
483
+ }
468
484
  }
469
485
  await this.backOfficeHeader.getByRole('tab', { name: sectionName }).click();
470
486
  }
@@ -485,8 +501,8 @@ class UiBaseLocators {
485
501
  await (0, test_1.expect)(this.page.getByLabel(name, { exact: isExact })).toBeVisible();
486
502
  await this.page.getByLabel(name, { exact: isExact }).click({ force: toForce });
487
503
  }
488
- async clickButtonWithName(name) {
489
- await this.page.getByRole('button', { name: name }).click();
504
+ async clickButtonWithName(name, isExact = false) {
505
+ await this.page.getByRole('button', { name: name, exact: isExact }).click();
490
506
  }
491
507
  async isSuccessNotificationVisible(isVisible = true) {
492
508
  return await (0, test_1.expect)(this.successNotification.first()).toBeVisible({ visible: isVisible });
@@ -497,6 +513,9 @@ class UiBaseLocators {
497
513
  async isErrorNotificationVisible(isVisible = true) {
498
514
  return await (0, test_1.expect)(this.errorNotification.first()).toBeVisible({ visible: isVisible });
499
515
  }
516
+ async isTextWithMessageVisible(message, isVisible = true) {
517
+ return await (0, test_1.expect)(this.page.getByText(message)).toBeVisible({ visible: isVisible });
518
+ }
500
519
  async clickCreateThreeDotsButton() {
501
520
  await this.createThreeDotsBtn.click();
502
521
  }
@@ -632,6 +651,9 @@ class UiBaseLocators {
632
651
  await this.page.waitForTimeout(400);
633
652
  await this.page.mouse.up();
634
653
  }
654
+ async getButtonWithName(name) {
655
+ return this.page.getByRole('button', { name: name });
656
+ }
635
657
  async clickCreateLink() {
636
658
  await this.createLink.click();
637
659
  }
@@ -761,24 +783,53 @@ class UiBaseLocators {
761
783
  async clickRecycleBinButton() {
762
784
  await this.recycleBinBtn.click();
763
785
  }
764
- async isItemVisibleInRecycleBin(mediaItem, isVisible = true) {
765
- await this.reloadRecycleBin(isVisible);
766
- return (0, test_1.expect)(this.page.locator('[label="Recycle Bin"] [label="' + mediaItem + '"]')).toBeVisible({ visible: isVisible });
786
+ async isItemVisibleInRecycleBin(item, isVisible = true, isReload = true) {
787
+ if (isReload) {
788
+ await this.reloadRecycleBin(isVisible);
789
+ }
790
+ return (0, test_1.expect)(this.page.locator('[label="Recycle Bin"] [label="' + item + '"]')).toBeVisible({ visible: isVisible });
767
791
  }
768
792
  async changeToGridView() {
769
- await this.viewBundleBtn.click();
793
+ await this.viewBundleBtn.click({ force: true });
770
794
  await this.gridBtn.click();
771
795
  }
772
796
  async changeToListView() {
773
- await this.viewBundleBtn.click();
797
+ await this.viewBundleBtn.click({ force: true });
774
798
  await this.listBtn.click();
775
799
  }
776
800
  async isViewBundleButtonVisible(isVisible = true) {
777
801
  return (0, test_1.expect)(this.viewBundleBtn).toBeVisible({ visible: isVisible });
778
802
  }
803
+ async doesSuccessNotificationHaveText(text, isVisible = true) {
804
+ return await (0, test_1.expect)(this.successNotification.filter({ hasText: text })).toBeVisible({ visible: isVisible });
805
+ }
806
+ async doesErrorNotificationHaveText(text, isVisible = true) {
807
+ return await (0, test_1.expect)(this.errorNotification.filter({ hasText: text })).toBeVisible({ visible: isVisible });
808
+ }
809
+ async isSectionWithNameVisible(sectionName, isVisible = true) {
810
+ await (0, test_1.expect)(this.page.getByRole('tab', { name: sectionName })).toBeVisible({ visible: isVisible });
811
+ }
812
+ async clickMediaCardWithName(name) {
813
+ await this.mediaCardItems.filter({ hasText: name }).locator('umb-icon').click();
814
+ }
815
+ async clickChooseContentStartNodeButton() {
816
+ await this.chooseDocumentInputBtn.click();
817
+ }
818
+ async clickChooseMediaStartNodeButton() {
819
+ await this.chooseMediaInputBtn.click({ force: true });
820
+ }
821
+ async clickActionsButton() {
822
+ await this.actionsBtn.click();
823
+ }
779
824
  async clickReferenceNodeLinkWithName(name) {
780
825
  await this.page.locator('[name="' + name + '"] a#open-part').click();
781
826
  }
827
+ async clickLinkWithName(name) {
828
+ await this.page.getByRole('link', { name: name }).click();
829
+ }
830
+ async clickMediaPickerModalSubmitButton() {
831
+ await this.mediaPickerModalSubmitBtn.click();
832
+ }
782
833
  }
783
834
  exports.UiBaseLocators = UiBaseLocators;
784
835
  //# sourceMappingURL=UiBaseLocators.js.map