@umbraco/playwright-testhelpers 15.0.9 → 15.0.12

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 (54) hide show
  1. package/dist/lib/helpers/ContentUiHelper.d.ts +26 -5
  2. package/dist/lib/helpers/ContentUiHelper.js +118 -14
  3. package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
  4. package/dist/lib/helpers/DataTypeApiHelper.d.ts +9 -3
  5. package/dist/lib/helpers/DataTypeApiHelper.js +71 -4
  6. package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
  7. package/dist/lib/helpers/DataTypeUiHelper.d.ts +5 -2
  8. package/dist/lib/helpers/DataTypeUiHelper.js +113 -17
  9. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
  10. package/dist/lib/helpers/DictionaryUiHelper.js +2 -1
  11. package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
  12. package/dist/lib/helpers/DocumentApiHelper.d.ts +2 -0
  13. package/dist/lib/helpers/DocumentApiHelper.js +58 -0
  14. package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
  15. package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +1 -0
  16. package/dist/lib/helpers/DocumentTypeUiHelper.js +15 -7
  17. package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
  18. package/dist/lib/helpers/LanguageUiHelper.js +2 -2
  19. package/dist/lib/helpers/LanguageUiHelper.js.map +1 -1
  20. package/dist/lib/helpers/LogViewerUiHelper.js +1 -0
  21. package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
  22. package/dist/lib/helpers/MediaApiHelper.js +15 -5
  23. package/dist/lib/helpers/MediaApiHelper.js.map +1 -1
  24. package/dist/lib/helpers/MediaUiHelper.js +2 -2
  25. package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
  26. package/dist/lib/helpers/MemberUiHelper.js +1 -1
  27. package/dist/lib/helpers/MemberUiHelper.js.map +1 -1
  28. package/dist/lib/helpers/NotificationConstantHelper.js +1 -1
  29. package/dist/lib/helpers/NotificationConstantHelper.js.map +1 -1
  30. package/dist/lib/helpers/PartialViewUiHelper.js +5 -0
  31. package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
  32. package/dist/lib/helpers/RedirectManagementApiHelper.d.ts +1 -0
  33. package/dist/lib/helpers/RedirectManagementApiHelper.js +7 -3
  34. package/dist/lib/helpers/RedirectManagementApiHelper.js.map +1 -1
  35. package/dist/lib/helpers/RedirectManagementUiHelper.d.ts +2 -0
  36. package/dist/lib/helpers/RedirectManagementUiHelper.js +5 -0
  37. package/dist/lib/helpers/RedirectManagementUiHelper.js.map +1 -1
  38. package/dist/lib/helpers/StylesheetUiHelper.js +1 -1
  39. package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
  40. package/dist/lib/helpers/TemplateUiHelper.js +2 -0
  41. package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
  42. package/dist/lib/helpers/UiBaseLocators.d.ts +9 -0
  43. package/dist/lib/helpers/UiBaseLocators.js +65 -7
  44. package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
  45. package/dist/lib/helpers/UserApiHelper.d.ts +1 -1
  46. package/dist/lib/helpers/UserApiHelper.js +2 -1
  47. package/dist/lib/helpers/UserApiHelper.js.map +1 -1
  48. package/dist/lib/helpers/UserGroupUiHelper.js +17 -3
  49. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
  50. package/dist/lib/helpers/UserUiHelper.d.ts +2 -0
  51. package/dist/lib/helpers/UserUiHelper.js +5 -0
  52. package/dist/lib/helpers/UserUiHelper.js.map +1 -1
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +2 -2
@@ -40,39 +40,46 @@ class UserGroupUiHelper extends UiBaseLocators_1.UiBaseLocators {
40
40
  this.iconChecked = page.locator('uui-toggle').locator('#icon-checked').getByRole('img');
41
41
  }
42
42
  async clickUserGroupsButton() {
43
- await this.page.waitForTimeout(500);
44
43
  await (0, test_1.expect)(this.userGroupsBtn).toBeVisible();
45
44
  await this.userGroupsBtn.click();
46
45
  await this.page.waitForTimeout(500);
47
46
  }
48
47
  async enterUserGroupName(name) {
48
+ await (0, test_1.expect)(this.enterAName).toBeVisible();
49
49
  await this.enterAName.clear();
50
50
  await this.enterAName.fill(name);
51
51
  }
52
52
  async addLanguageToUserGroup(languageName) {
53
+ await (0, test_1.expect)(this.chooseLanguageBtn).toBeVisible();
53
54
  await this.chooseLanguageBtn.click();
54
- await this.page.getByLabel(languageName, { exact: true }).click();
55
+ await this.clickLabelWithName(languageName, true);
55
56
  await this.clickSubmitButton();
56
57
  }
57
58
  async clickAllowAccessToAllLanguages() {
59
+ await (0, test_1.expect)(this.allowAccessToAllLanguagesBtn).toBeVisible();
58
60
  await this.allowAccessToAllLanguagesBtn.click();
59
61
  }
60
62
  async clickAllowAccessToAllDocuments() {
63
+ await (0, test_1.expect)(this.allowAccessToAllDocumentsBtn).toBeVisible();
61
64
  await this.allowAccessToAllDocumentsBtn.click();
62
65
  }
63
66
  async clickAllowAccessToAllMedia() {
67
+ await (0, test_1.expect)(this.allowAccessToAllMediaBtn).toBeVisible();
64
68
  await this.allowAccessToAllMediaBtn.click();
65
69
  }
66
70
  async clickCreateUserGroupButton() {
71
+ await (0, test_1.expect)(this.userGroupCreateBtn).toBeVisible();
67
72
  await this.userGroupCreateBtn.click();
68
73
  }
69
74
  async clickRemoveLanguageFromUserGroup(languageName) {
75
+ await (0, test_1.expect)(this.page.locator('uui-ref-node').filter({ hasText: languageName }).getByLabel('Remove')).toBeVisible();
70
76
  await this.page.locator('uui-ref-node').filter({ hasText: languageName }).getByLabel('Remove').click();
71
77
  }
72
78
  async isUserGroupWithNameVisible(name, isVisible = true) {
73
79
  return await (0, test_1.expect)(this.page.locator('uui-table-row', { hasText: name })).toBeVisible({ visible: isVisible });
74
80
  }
75
81
  async clickUserGroupWithName(name) {
82
+ await (0, test_1.expect)(this.page.getByRole('link', { name: name })).toBeVisible();
76
83
  await this.page.getByRole('link', { name: name }).click();
77
84
  await this.page.waitForTimeout(200);
78
85
  }
@@ -94,22 +101,26 @@ class UserGroupUiHelper extends UiBaseLocators_1.UiBaseLocators {
94
101
  }
95
102
  async addSectionWithNameToUserGroup(sectionName) {
96
103
  await this.clickChooseSectionButton();
97
- await this.page.getByLabel(sectionName, { exact: true }).click();
104
+ await this.clickLabelWithName(sectionName, true);
98
105
  await this.clickSubmitButton();
99
106
  }
100
107
  async clickChooseSectionButton() {
108
+ await (0, test_1.expect)(this.chooseSectionBtn).toBeVisible();
101
109
  await this.chooseSectionBtn.click();
102
110
  }
103
111
  async doesUserGroupHaveSection(userGroupName, sectionName, hasSection = true) {
104
112
  await (0, test_1.expect)(this.page.locator('uui-table-row', { hasText: userGroupName }).locator('umb-user-group-table-sections-column-layout', { hasText: sectionName })).toBeVisible({ visible: hasSection });
105
113
  }
106
114
  async doesUserGroupContainLanguage(languageName, isVisible = true) {
115
+ await (0, test_1.expect)(this.languageInput).toBeVisible();
107
116
  await (0, test_1.expect)(this.languageInput.filter({ hasText: languageName })).toBeVisible({ visible: isVisible });
108
117
  }
109
118
  async clickRemoveSectionFromUserGroup(sectionName) {
119
+ await (0, test_1.expect)(this.section.filter({ hasText: sectionName }).getByLabel('Remove')).toBeVisible();
110
120
  await this.section.filter({ hasText: sectionName }).getByLabel('Remove').click();
111
121
  }
112
122
  async clickRemoveContentStartNodeFromUserGroup(contentStartNodeName) {
123
+ await (0, test_1.expect)(this.contentStartNode.filter({ hasText: contentStartNodeName }).getByLabel('Remove')).toBeVisible();
113
124
  await this.contentStartNode.filter({ hasText: contentStartNodeName }).getByLabel('Remove').click();
114
125
  }
115
126
  async clickRemoveMediaStartNodeFromUserGroup(mediaStartNodeName) {
@@ -122,12 +133,15 @@ class UserGroupUiHelper extends UiBaseLocators_1.UiBaseLocators {
122
133
  return await Promise.all(permissionName.map(permission => this.doesUserGroupHavePermission(permission)));
123
134
  }
124
135
  async clickGranularPermissionWithName(permissionName) {
136
+ await (0, test_1.expect)(this.granularPermission.getByText(permissionName)).toBeVisible();
125
137
  await this.granularPermission.getByText(permissionName).click();
126
138
  }
127
139
  async clickAddGranularPermission() {
140
+ await (0, test_1.expect)(this.addGranularPermissionBtn).toBeVisible();
128
141
  await this.addGranularPermissionBtn.click();
129
142
  }
130
143
  async clickRemoveGranularPermissionWithName(permissionName) {
144
+ await (0, test_1.expect)(this.granularPermission.filter({ hasText: permissionName }).getByLabel('Remove')).toBeVisible();
131
145
  await this.granularPermission.filter({ hasText: permissionName }).getByLabel('Remove').click();
132
146
  }
133
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UserGroupUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserGroupUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class UserGroupUiHelper extends UiBaseLocators {\n private readonly userGroupsBtn: Locator;\n private readonly chooseSectionBtn: Locator;\n private readonly languageInput: Locator;\n private readonly chooseLanguageBtn: Locator;\n private readonly permissionVerbBtn: Locator;\n private readonly userGroupCreateBtn: Locator;\n private readonly allowAccessToAllLanguagesBtn: Locator;\n private readonly allowAccessToAllDocumentsBtn: Locator;\n private readonly allowAccessToAllMediaBtn: Locator;\n private readonly contentStartNode: Locator;\n private readonly mediaStartNode: Locator;\n private readonly section: Locator;\n private readonly granularPermission: Locator;\n private readonly addGranularPermissionBtn: Locator;\n private readonly granularPermissionsModal: Locator;\n private readonly iconChecked: Locator;\n\n constructor(page: Page) {\n super(page);\n this.userGroupsBtn = page.getByLabel('User groups');\n this.permissionVerbBtn = page.locator('umb-input-user-permission-verb');\n this.chooseSectionBtn = page.locator('umb-input-section').getByLabel('Choose');\n this.languageInput = page.locator('umb-input-language');\n this.chooseLanguageBtn = this.languageInput.getByLabel('Choose');\n this.userGroupCreateBtn = page.getByLabel('Create');\n this.allowAccessToAllLanguagesBtn = page.getByText('Allow access to all languages');\n this.allowAccessToAllDocumentsBtn = page.getByText('Allow access to all documents');\n this.allowAccessToAllMediaBtn = page.getByText('Allow access to all media');\n this.contentStartNode = page.locator('umb-input-document');\n this.mediaStartNode = page.locator('umb-input-media');\n this.section = page.locator('umb-ref-section');\n this.granularPermission = page.locator('umb-input-document-granular-user-permission');\n this.addGranularPermissionBtn = this.granularPermission.getByLabel('Add');\n this.granularPermissionsModal = page.locator('umb-entity-user-permission-settings-modal');\n this.iconChecked = page.locator('uui-toggle').locator('#icon-checked').getByRole('img');\n }\n\n async clickUserGroupsButton() {\n await this.page.waitForTimeout(500);\n await expect(this.userGroupsBtn).toBeVisible();\n await this.userGroupsBtn.click();\n await this.page.waitForTimeout(500);\n }\n\n async enterUserGroupName(name: string) {\n await this.enterAName.clear();\n await this.enterAName.fill(name);\n }\n\n async addLanguageToUserGroup(languageName: string) {\n await this.chooseLanguageBtn.click();\n await this.page.getByLabel(languageName, {exact: true}).click();\n await this.clickSubmitButton();\n }\n\n async clickAllowAccessToAllLanguages() {\n await this.allowAccessToAllLanguagesBtn.click();\n }\n\n async clickAllowAccessToAllDocuments() {\n await this.allowAccessToAllDocumentsBtn.click();\n }\n\n async clickAllowAccessToAllMedia() {\n await this.allowAccessToAllMediaBtn.click();\n }\n\n async clickCreateUserGroupButton() {\n await this.userGroupCreateBtn.click();\n }\n\n async clickRemoveLanguageFromUserGroup(languageName: string) {\n await this.page.locator('uui-ref-node').filter({hasText: languageName}).getByLabel('Remove').click();\n }\n\n async isUserGroupWithNameVisible(name: string, isVisible = true) {\n return await expect(this.page.locator('uui-table-row', {hasText: name})).toBeVisible({visible: isVisible});\n }\n\n async clickUserGroupWithName(name: string) {\n await this.page.getByRole('link', {name: name}).click();\n await this.page.waitForTimeout(200);\n }\n\n async clickPermissionsByName(permissionName: string[]) {\n for (let i = 0; i < permissionName.length; i++) {\n await this.permissionVerbBtn.getByText(permissionName[i], {exact: true}).click();\n }\n }\n\n async clickGranularPermissionsByName(permissionName: string[]) {\n for (let i = 0; i < permissionName.length; i++) {\n await this.granularPermissionsModal.getByText(permissionName[i], {exact: true}).click();\n }\n }\n\n async doesUserGroupHavePermission(permissionName: string, hasPermission = true) {\n await expect(this.permissionVerbBtn.filter({has: this.page.getByLabel(permissionName, {exact: true})}).filter({has: this.iconChecked})).toBeVisible({visible: hasPermission});\n }\n\n async doesUserGroupHaveGranularPermission(permissionName: string, hasPermission = true) {\n await expect(this.granularPermissionsModal.filter({has: this.page.getByLabel(permissionName, {exact: true})}).filter({has: this.iconChecked})).toBeVisible({visible: hasPermission});\n }\n\n async addSectionWithNameToUserGroup(sectionName: string) {\n await this.clickChooseSectionButton();\n await this.page.getByLabel(sectionName, {exact: true}).click();\n await this.clickSubmitButton();\n }\n\n async clickChooseSectionButton() {\n await this.chooseSectionBtn.click();\n }\n\n async doesUserGroupHaveSection(userGroupName: string, sectionName: string, hasSection = true) {\n await expect(this.page.locator('uui-table-row', {hasText: userGroupName}).locator('umb-user-group-table-sections-column-layout', {hasText: sectionName})).toBeVisible({visible: hasSection});\n }\n\n async doesUserGroupContainLanguage(languageName: string, isVisible = true) {\n await expect(this.languageInput.filter({hasText: languageName})).toBeVisible({visible: isVisible});\n }\n\n async clickRemoveSectionFromUserGroup(sectionName: string) {\n await this.section.filter({hasText: sectionName}).getByLabel('Remove').click();\n }\n\n async clickRemoveContentStartNodeFromUserGroup(contentStartNodeName: string) {\n await this.contentStartNode.filter({hasText: contentStartNodeName}).getByLabel('Remove').click();\n }\n\n async clickRemoveMediaStartNodeFromUserGroup(mediaStartNodeName: string) {\n const removeMediaStartNodeWithNameLocator = this.mediaStartNode.filter({hasText: mediaStartNodeName}).getByLabel('Remove');\n await expect(removeMediaStartNodeWithNameLocator).toBeVisible();\n // Force click is needed\n await removeMediaStartNodeWithNameLocator.click({force: true});\n }\n\n async doesUserGroupHavePermissionEnabled(permissionName: string[]) {\n return await Promise.all(\n permissionName.map(permission => this.doesUserGroupHavePermission(permission))\n );\n }\n\n async clickGranularPermissionWithName(permissionName: string) {\n await this.granularPermission.getByText(permissionName).click();\n }\n\n async clickAddGranularPermission() {\n await this.addGranularPermissionBtn.click();\n }\n\n async clickRemoveGranularPermissionWithName(permissionName: string) {\n await this.granularPermission.filter({hasText: permissionName}).getByLabel('Remove').click();\n }\n}"]}
1
+ {"version":3,"file":"UserGroupUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserGroupUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class UserGroupUiHelper extends UiBaseLocators {\n private readonly userGroupsBtn: Locator;\n private readonly chooseSectionBtn: Locator;\n private readonly languageInput: Locator;\n private readonly chooseLanguageBtn: Locator;\n private readonly permissionVerbBtn: Locator;\n private readonly userGroupCreateBtn: Locator;\n private readonly allowAccessToAllLanguagesBtn: Locator;\n private readonly allowAccessToAllDocumentsBtn: Locator;\n private readonly allowAccessToAllMediaBtn: Locator;\n private readonly contentStartNode: Locator;\n private readonly mediaStartNode: Locator;\n private readonly section: Locator;\n private readonly granularPermission: Locator;\n private readonly addGranularPermissionBtn: Locator;\n private readonly granularPermissionsModal: Locator;\n private readonly iconChecked: Locator;\n\n constructor(page: Page) {\n super(page);\n this.userGroupsBtn = page.getByLabel('User groups');\n this.permissionVerbBtn = page.locator('umb-input-user-permission-verb');\n this.chooseSectionBtn = page.locator('umb-input-section').getByLabel('Choose');\n this.languageInput = page.locator('umb-input-language');\n this.chooseLanguageBtn = this.languageInput.getByLabel('Choose');\n this.userGroupCreateBtn = page.getByLabel('Create');\n this.allowAccessToAllLanguagesBtn = page.getByText('Allow access to all languages');\n this.allowAccessToAllDocumentsBtn = page.getByText('Allow access to all documents');\n this.allowAccessToAllMediaBtn = page.getByText('Allow access to all media');\n this.contentStartNode = page.locator('umb-input-document');\n this.mediaStartNode = page.locator('umb-input-media');\n this.section = page.locator('umb-ref-section');\n this.granularPermission = page.locator('umb-input-document-granular-user-permission');\n this.addGranularPermissionBtn = this.granularPermission.getByLabel('Add');\n this.granularPermissionsModal = page.locator('umb-entity-user-permission-settings-modal');\n this.iconChecked = page.locator('uui-toggle').locator('#icon-checked').getByRole('img');\n }\n\n async clickUserGroupsButton() {\n await expect(this.userGroupsBtn).toBeVisible();\n await this.userGroupsBtn.click();\n await this.page.waitForTimeout(500);\n }\n\n async enterUserGroupName(name: string) {\n await expect(this.enterAName).toBeVisible();\n await this.enterAName.clear();\n await this.enterAName.fill(name);\n }\n\n async addLanguageToUserGroup(languageName: string) {\n await expect(this.chooseLanguageBtn).toBeVisible();\n await this.chooseLanguageBtn.click();\n await this.clickLabelWithName(languageName, true);\n await this.clickSubmitButton();\n }\n\n async clickAllowAccessToAllLanguages() {\n await expect(this.allowAccessToAllLanguagesBtn).toBeVisible();\n await this.allowAccessToAllLanguagesBtn.click();\n }\n\n async clickAllowAccessToAllDocuments() {\n await expect(this.allowAccessToAllDocumentsBtn).toBeVisible();\n await this.allowAccessToAllDocumentsBtn.click();\n }\n\n async clickAllowAccessToAllMedia() {\n await expect(this.allowAccessToAllMediaBtn).toBeVisible();\n await this.allowAccessToAllMediaBtn.click();\n }\n\n async clickCreateUserGroupButton() {\n await expect(this.userGroupCreateBtn).toBeVisible();\n await this.userGroupCreateBtn.click();\n }\n\n async clickRemoveLanguageFromUserGroup(languageName: string) {\n await expect(this.page.locator('uui-ref-node').filter({hasText: languageName}).getByLabel('Remove')).toBeVisible();\n await this.page.locator('uui-ref-node').filter({hasText: languageName}).getByLabel('Remove').click();\n }\n\n async isUserGroupWithNameVisible(name: string, isVisible = true) {\n return await expect(this.page.locator('uui-table-row', {hasText: name})).toBeVisible({visible: isVisible});\n }\n\n async clickUserGroupWithName(name: string) {\n await expect(this.page.getByRole('link', {name: name})).toBeVisible();\n await this.page.getByRole('link', {name: name}).click();\n await this.page.waitForTimeout(200);\n }\n\n async clickPermissionsByName(permissionName: string[]) {\n for (let i = 0; i < permissionName.length; i++) {\n await this.permissionVerbBtn.getByText(permissionName[i], {exact: true}).click();\n }\n }\n\n async clickGranularPermissionsByName(permissionName: string[]) {\n for (let i = 0; i < permissionName.length; i++) {\n await this.granularPermissionsModal.getByText(permissionName[i], {exact: true}).click();\n }\n }\n\n async doesUserGroupHavePermission(permissionName: string, hasPermission = true) {\n await expect(this.permissionVerbBtn.filter({has: this.page.getByLabel(permissionName, {exact: true})}).filter({has: this.iconChecked})).toBeVisible({visible: hasPermission});\n }\n\n async doesUserGroupHaveGranularPermission(permissionName: string, hasPermission = true) {\n await expect(this.granularPermissionsModal.filter({has: this.page.getByLabel(permissionName, {exact: true})}).filter({has: this.iconChecked})).toBeVisible({visible: hasPermission});\n }\n\n async addSectionWithNameToUserGroup(sectionName: string) {\n await this.clickChooseSectionButton();\n await this.clickLabelWithName(sectionName, true);\n await this.clickSubmitButton();\n }\n\n async clickChooseSectionButton() {\n await expect(this.chooseSectionBtn).toBeVisible();\n await this.chooseSectionBtn.click();\n }\n\n async doesUserGroupHaveSection(userGroupName: string, sectionName: string, hasSection = true) {\n await expect(this.page.locator('uui-table-row', {hasText: userGroupName}).locator('umb-user-group-table-sections-column-layout', {hasText: sectionName})).toBeVisible({visible: hasSection});\n }\n\n async doesUserGroupContainLanguage(languageName: string, isVisible = true) {\n await expect(this.languageInput).toBeVisible();\n await expect(this.languageInput.filter({hasText: languageName})).toBeVisible({visible: isVisible});\n }\n\n async clickRemoveSectionFromUserGroup(sectionName: string) {\n await expect(this.section.filter({hasText: sectionName}).getByLabel('Remove')).toBeVisible();\n await this.section.filter({hasText: sectionName}).getByLabel('Remove').click();\n }\n\n async clickRemoveContentStartNodeFromUserGroup(contentStartNodeName: string) {\n await expect(this.contentStartNode.filter({hasText: contentStartNodeName}).getByLabel('Remove')).toBeVisible();\n await this.contentStartNode.filter({hasText: contentStartNodeName}).getByLabel('Remove').click();\n }\n\n async clickRemoveMediaStartNodeFromUserGroup(mediaStartNodeName: string) {\n const removeMediaStartNodeWithNameLocator = this.mediaStartNode.filter({hasText: mediaStartNodeName}).getByLabel('Remove');\n await expect(removeMediaStartNodeWithNameLocator).toBeVisible();\n // Force click is needed\n await removeMediaStartNodeWithNameLocator.click({force: true});\n }\n\n async doesUserGroupHavePermissionEnabled(permissionName: string[]) {\n return await Promise.all(\n permissionName.map(permission => this.doesUserGroupHavePermission(permission))\n );\n }\n\n async clickGranularPermissionWithName(permissionName: string) {\n await expect(this.granularPermission.getByText(permissionName)).toBeVisible();\n await this.granularPermission.getByText(permissionName).click();\n }\n\n async clickAddGranularPermission() {\n await expect(this.addGranularPermissionBtn).toBeVisible();\n await this.addGranularPermissionBtn.click();\n }\n\n async clickRemoveGranularPermissionWithName(permissionName: string) {\n await expect(this.granularPermission.filter({hasText: permissionName}).getByLabel('Remove')).toBeVisible();\n await this.granularPermission.filter({hasText: permissionName}).getByLabel('Remove').click();\n }\n}"]}
@@ -34,6 +34,7 @@ export declare class UserUiHelper extends UiBaseLocators {
34
34
  private readonly userBtn;
35
35
  private readonly actionBtn;
36
36
  private readonly userGrid;
37
+ private readonly apiUserBtn;
37
38
  constructor(page: Page);
38
39
  clickUsersButton(): Promise<void>;
39
40
  clickCreateUserButton(): Promise<void>;
@@ -73,4 +74,5 @@ export declare class UserUiHelper extends UiBaseLocators {
73
74
  goToUsers(): Promise<void>;
74
75
  clickUserButton(): Promise<void>;
75
76
  clickActionButton(): Promise<void>;
77
+ clickAPIUserButton(): Promise<void>;
76
78
  }
@@ -39,6 +39,7 @@ class UserUiHelper extends UiBaseLocators_1.UiBaseLocators {
39
39
  userBtn;
40
40
  actionBtn;
41
41
  userGrid;
42
+ apiUserBtn;
42
43
  constructor(page) {
43
44
  super(page);
44
45
  this.usersBtn = page.getByLabel('Users');
@@ -74,6 +75,7 @@ class UserUiHelper extends UiBaseLocators_1.UiBaseLocators {
74
75
  this.userBtn = page.locator('#collection-action-menu-popover').getByLabel('User', { exact: true });
75
76
  this.actionBtn = page.locator('umb-workspace-entity-action-menu').getByLabel('Actions', { exact: true });
76
77
  this.userGrid = page.locator('#user-grid');
78
+ this.apiUserBtn = page.locator('#collection-action-menu-popover').getByLabel('API User', { exact: true });
77
79
  }
78
80
  async clickUsersButton() {
79
81
  await (0, test_1.expect)(this.usersBtn).toBeVisible();
@@ -208,6 +210,9 @@ class UserUiHelper extends UiBaseLocators_1.UiBaseLocators {
208
210
  await this.page.waitForTimeout(500);
209
211
  await this.actionBtn.click();
210
212
  }
213
+ async clickAPIUserButton() {
214
+ await this.apiUserBtn.click();
215
+ }
211
216
  }
212
217
  exports.UserUiHelper = UserUiHelper;
213
218
  //# sourceMappingURL=UserUiHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class UserUiHelper extends UiBaseLocators {\n private readonly usersBtn: Locator;\n private readonly createUserBtn: Locator;\n private readonly nameOfTheUserTxt: Locator;\n private readonly userEmailTxt: Locator;\n private readonly addUserGroupsBtn: Locator;\n private readonly openUserGroupsBtn: Locator;\n private readonly updatedNameOfTheUserTxt: Locator;\n private readonly changePasswordBtn: Locator;\n private readonly newPasswordTxt: Locator;\n private readonly confirmPasswordTxt: Locator;\n private readonly changePhotoBtn: Locator;\n private readonly removePhotoBtn: Locator;\n private readonly searchInUserSectionTxt: Locator;\n private readonly userSectionCard: Locator;\n private readonly statusBtn: Locator;\n private readonly groupBtn: Locator;\n private readonly chooseUserGroupsBtn: Locator;\n private readonly allowAccessToAllDocumentsBtn: Locator;\n private readonly allowAccessToAllMediaBtn: Locator;\n private readonly documentInput: Locator;\n private readonly mediaInput: Locator;\n private readonly chooseContainerBtn: Locator;\n private readonly languageBtn: Locator;\n private readonly disabledTxt: Locator;\n private readonly activeTxt: Locator;\n private readonly orderByBtn: Locator;\n private readonly orderByNewestBtn: Locator;\n private readonly documentStartNode: Locator;\n private readonly mediaStartNode: Locator;\n private readonly usersMenu: Locator;\n private readonly userBtn: Locator;\n private readonly actionBtn: Locator;\n private readonly userGrid: Locator;\n\n constructor(page: Page) {\n super(page);\n this.usersBtn = page.getByLabel('Users');\n this.createUserBtn = page.getByLabel('Create user');\n this.nameOfTheUserTxt = page.getByLabel('name', {exact: true});\n this.userEmailTxt = page.getByLabel('email');\n this.addUserGroupsBtn = page.locator('#userGroups').getByLabel('open', {exact: true});\n this.openUserGroupsBtn = page.locator('[label=\"Groups\"]').getByLabel('open', {exact: true});\n this.chooseUserGroupsBtn = page.locator('umb-user-group-input').getByLabel('Choose');\n this.updatedNameOfTheUserTxt = page.locator('umb-workspace-header-name-editable').locator('input');\n this.changePasswordBtn = page.getByLabel('Change password');\n this.newPasswordTxt = page.locator('input[name=\"newPassword\"]');\n this.confirmPasswordTxt = page.locator('input[name=\"confirmPassword\"]');\n this.changePhotoBtn = page.getByLabel('Change photo');\n this.removePhotoBtn = page.getByLabel('Remove photo');\n this.searchInUserSectionTxt = page.locator('umb-collection-filter-field #input');\n this.userSectionCard = page.locator('uui-card-user');\n this.statusBtn = page.locator('uui-button', {hasText: 'Status'});\n this.groupBtn = page.locator('uui-button', {hasText: 'Groups'});\n this.allowAccessToAllDocumentsBtn = page.locator('umb-property-layout').filter({hasText: 'Allow access to all documents'}).locator('#slider');\n this.allowAccessToAllMediaBtn = page.locator('umb-property-layout').filter({hasText: 'Allow access to all media'}).locator('#slider');\n this.documentInput = page.locator('umb-input-document');\n this.mediaInput = page.locator('umb-input-media');\n this.chooseContainerBtn = page.locator('#container').getByLabel('Choose');\n this.languageBtn = page.locator('[label=\"UI Culture\"] select');\n this.disabledTxt = page.getByText('Disabled', {exact: true});\n this.activeTxt = page.getByText('Active', {exact: true});\n this.orderByBtn = page.getByLabel('order by');\n this.orderByNewestBtn = page.getByLabel('Newest');\n this.documentStartNode = page.locator('umb-user-document-start-node');\n this.mediaStartNode = page.locator('umb-user-media-start-node');\n this.usersMenu = page.locator('umb-menu').getByLabel('Users', {exact: true});\n this.userBtn = page.locator('#collection-action-menu-popover').getByLabel('User', {exact: true});\n this.actionBtn = page.locator('umb-workspace-entity-action-menu').getByLabel('Actions', {exact: true});\n this.userGrid = page.locator('#user-grid');\n }\n\n async clickUsersButton() {\n await expect(this.usersBtn).toBeVisible();\n await this.usersBtn.click();\n }\n\n async clickCreateUserButton() {\n await this.createUserBtn.click();\n }\n\n async enterNameOfTheUser(name: string) {\n await this.nameOfTheUserTxt.fill(name);\n }\n\n async enterUserEmail(email: string) {\n await this.userEmailTxt.fill(email);\n }\n\n async clickAddUserGroupsButton() {\n await this.addUserGroupsBtn.click();\n // This wait is necessary to avoid the click on the user group button to be ignored\n await this.page.waitForTimeout(200);\n }\n\n async clickChooseUserGroupsButton() {\n await this.chooseUserGroupsBtn.click();\n }\n\n async clickOpenUserGroupsButton() {\n await this.openUserGroupsBtn.click();\n }\n\n async enterUpdatedNameOfUser(name: string) {\n await this.updatedNameOfTheUserTxt.fill(name);\n }\n\n async clickUserWithName(name: string) {\n await expect(this.page.getByText(name, {exact: true})).toBeVisible();\n await this.page.getByText(name, {exact: true}).click();\n }\n\n async clickChangePasswordButton() {\n await this.changePasswordBtn.click();\n }\n\n async updatePassword(newPassword: string) {\n await this.newPasswordTxt.fill(newPassword);\n await this.confirmPasswordTxt.fill(newPassword);\n }\n\n async isUserVisible(name: string, isVisible = true) {\n return await expect(this.page.getByText(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async clickChangePhotoButton() {\n await this.changePhotoBtn.click();\n }\n\n async clickRemoveButtonForUserGroupWithName(userGroupName: string) {\n await this.page.locator('umb-user-group-ref', {hasText: userGroupName}).locator('[label=\"Remove\"]').click();\n }\n\n async clickRemovePhotoButton() {\n await this.removePhotoBtn.click();\n }\n\n async changePhotoWithFileChooser(filePath: string) {\n const fileChooserPromise = this.page.waitForEvent('filechooser');\n await this.clickChangePhotoButton();\n const fileChooser = await fileChooserPromise;\n await fileChooser.setFiles(filePath);\n }\n\n async searchInUserSection(name: string) {\n await this.searchInUserSectionTxt.fill(name);\n }\n\n async doesUserSectionContainUserAmount(amount: number) {\n return await expect(this.userSectionCard).toHaveCount(amount);\n }\n\n async doesUserSectionContainUserWithText(name: string) {\n return await expect(this.userGrid).toContainText(name);\n }\n\n async filterByStatusName(statusName: string) {\n await this.statusBtn.click();\n await this.page.locator('label').filter({hasText: statusName}).click();\n }\n\n async filterByGroupName(groupName: string) {\n await this.groupBtn.click();\n await this.page.locator('label').filter({hasText: groupName}).click();\n }\n\n async isPasswordUpdatedForUserWithId(userId: string) {\n await Promise.all([\n this.page.waitForResponse(resp => resp.url().includes(umbracoConfig.environment.baseUrl + '/umbraco/management/api/v1/user/' + userId + '/change-password') && resp.status() === 200),\n await this.clickConfirmButton()\n ]);\n }\n\n async clickChooseContainerButton() {\n await this.chooseContainerBtn.click();\n }\n\n async selectUserLanguage(language: string) {\n await this.languageBtn.selectOption(language);\n }\n\n async clickRemoveButtonForContentNodeWithName(name: string) {\n await this.documentInput.locator('[name=\"' + name + '\"]').locator('[label=\"Remove\"]').click();\n }\n\n async clickRemoveButtonForMediaNodeWithName(name: string) {\n await this.mediaInput.locator('[name=\"' + name + '\"]').locator('[label=\"Remove\"]').click();\n }\n\n async clickAllowAccessToAllDocumentsSlider() {\n await this.allowAccessToAllDocumentsBtn.click();\n }\n\n async clickAllowAccessToAllMediaSlider() {\n await this.allowAccessToAllMediaBtn.click();\n }\n\n async isUserDisabledTextVisible() {\n return await expect(this.disabledTxt).toBeVisible();\n }\n\n async isUserActiveTextVisible() {\n return await expect(this.activeTxt).toBeVisible();\n }\n\n async orderByNewestUser() {\n await expect(this.orderByBtn).toBeVisible();\n // Force click is needed\n await this.orderByBtn.click({force: true});\n await this.orderByNewestBtn.click();\n }\n\n async isUserWithNameTheFirstUserInList(name: string) {\n await expect(this.userSectionCard.first()).toContainText(name);\n }\n\n async doesUserHaveAccessToContentNode(name: string) {\n return await expect(this.documentStartNode.locator('[name=\"' + name + '\"]')).toBeVisible();\n }\n\n async doesUserHaveAccessToMediaNode(name: string) {\n return await expect(this.mediaStartNode.locator('[name=\"' + name + '\"]')).toBeVisible();\n }\n\n async clickUsersMenu() {\n await this.usersMenu.click();\n }\n\n async goToUsers() {\n await this.goToSection(ConstantHelper.sections.users);\n await this.clickUsersMenu();\n }\n\n async clickUserButton() {\n await this.userBtn.click();\n }\n\n async clickActionButton() {\n await expect(this.actionBtn).toBeVisible();\n await this.page.waitForTimeout(500);\n await this.actionBtn.click();\n }\n}"]}
1
+ {"version":3,"file":"UserUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class UserUiHelper extends UiBaseLocators {\n private readonly usersBtn: Locator;\n private readonly createUserBtn: Locator;\n private readonly nameOfTheUserTxt: Locator;\n private readonly userEmailTxt: Locator;\n private readonly addUserGroupsBtn: Locator;\n private readonly openUserGroupsBtn: Locator;\n private readonly updatedNameOfTheUserTxt: Locator;\n private readonly changePasswordBtn: Locator;\n private readonly newPasswordTxt: Locator;\n private readonly confirmPasswordTxt: Locator;\n private readonly changePhotoBtn: Locator;\n private readonly removePhotoBtn: Locator;\n private readonly searchInUserSectionTxt: Locator;\n private readonly userSectionCard: Locator;\n private readonly statusBtn: Locator;\n private readonly groupBtn: Locator;\n private readonly chooseUserGroupsBtn: Locator;\n private readonly allowAccessToAllDocumentsBtn: Locator;\n private readonly allowAccessToAllMediaBtn: Locator;\n private readonly documentInput: Locator;\n private readonly mediaInput: Locator;\n private readonly chooseContainerBtn: Locator;\n private readonly languageBtn: Locator;\n private readonly disabledTxt: Locator;\n private readonly activeTxt: Locator;\n private readonly orderByBtn: Locator;\n private readonly orderByNewestBtn: Locator;\n private readonly documentStartNode: Locator;\n private readonly mediaStartNode: Locator;\n private readonly usersMenu: Locator;\n private readonly userBtn: Locator;\n private readonly actionBtn: Locator;\n private readonly userGrid: Locator;\n private readonly apiUserBtn: Locator;\n\n constructor(page: Page) {\n super(page);\n this.usersBtn = page.getByLabel('Users');\n this.createUserBtn = page.getByLabel('Create user');\n this.nameOfTheUserTxt = page.getByLabel('name', {exact: true});\n this.userEmailTxt = page.getByLabel('email');\n this.addUserGroupsBtn = page.locator('#userGroups').getByLabel('open', {exact: true});\n this.openUserGroupsBtn = page.locator('[label=\"Groups\"]').getByLabel('open', {exact: true});\n this.chooseUserGroupsBtn = page.locator('umb-user-group-input').getByLabel('Choose');\n this.updatedNameOfTheUserTxt = page.locator('umb-workspace-header-name-editable').locator('input');\n this.changePasswordBtn = page.getByLabel('Change password');\n this.newPasswordTxt = page.locator('input[name=\"newPassword\"]');\n this.confirmPasswordTxt = page.locator('input[name=\"confirmPassword\"]');\n this.changePhotoBtn = page.getByLabel('Change photo');\n this.removePhotoBtn = page.getByLabel('Remove photo');\n this.searchInUserSectionTxt = page.locator('umb-collection-filter-field #input');\n this.userSectionCard = page.locator('uui-card-user');\n this.statusBtn = page.locator('uui-button', {hasText: 'Status'});\n this.groupBtn = page.locator('uui-button', {hasText: 'Groups'});\n this.allowAccessToAllDocumentsBtn = page.locator('umb-property-layout').filter({hasText: 'Allow access to all documents'}).locator('#slider');\n this.allowAccessToAllMediaBtn = page.locator('umb-property-layout').filter({hasText: 'Allow access to all media'}).locator('#slider');\n this.documentInput = page.locator('umb-input-document');\n this.mediaInput = page.locator('umb-input-media');\n this.chooseContainerBtn = page.locator('#container').getByLabel('Choose');\n this.languageBtn = page.locator('[label=\"UI Culture\"] select');\n this.disabledTxt = page.getByText('Disabled', {exact: true});\n this.activeTxt = page.getByText('Active', {exact: true});\n this.orderByBtn = page.getByLabel('order by');\n this.orderByNewestBtn = page.getByLabel('Newest');\n this.documentStartNode = page.locator('umb-user-document-start-node');\n this.mediaStartNode = page.locator('umb-user-media-start-node');\n this.usersMenu = page.locator('umb-menu').getByLabel('Users', {exact: true});\n this.userBtn = page.locator('#collection-action-menu-popover').getByLabel('User', {exact: true});\n this.actionBtn = page.locator('umb-workspace-entity-action-menu').getByLabel('Actions', {exact: true});\n this.userGrid = page.locator('#user-grid');\n this.apiUserBtn = page.locator('#collection-action-menu-popover').getByLabel('API User', {exact: true});\n }\n\n async clickUsersButton() {\n await expect(this.usersBtn).toBeVisible();\n await this.usersBtn.click();\n }\n\n async clickCreateUserButton() {\n await this.createUserBtn.click();\n }\n\n async enterNameOfTheUser(name: string) {\n await this.nameOfTheUserTxt.fill(name);\n }\n\n async enterUserEmail(email: string) {\n await this.userEmailTxt.fill(email);\n }\n\n async clickAddUserGroupsButton() {\n await this.addUserGroupsBtn.click();\n // This wait is necessary to avoid the click on the user group button to be ignored\n await this.page.waitForTimeout(200);\n }\n\n async clickChooseUserGroupsButton() {\n await this.chooseUserGroupsBtn.click();\n }\n\n async clickOpenUserGroupsButton() {\n await this.openUserGroupsBtn.click();\n }\n\n async enterUpdatedNameOfUser(name: string) {\n await this.updatedNameOfTheUserTxt.fill(name);\n }\n\n async clickUserWithName(name: string) {\n await expect(this.page.getByText(name, {exact: true})).toBeVisible();\n await this.page.getByText(name, {exact: true}).click();\n }\n\n async clickChangePasswordButton() {\n await this.changePasswordBtn.click();\n }\n\n async updatePassword(newPassword: string) {\n await this.newPasswordTxt.fill(newPassword);\n await this.confirmPasswordTxt.fill(newPassword);\n }\n\n async isUserVisible(name: string, isVisible = true) {\n return await expect(this.page.getByText(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async clickChangePhotoButton() {\n await this.changePhotoBtn.click();\n }\n\n async clickRemoveButtonForUserGroupWithName(userGroupName: string) {\n await this.page.locator('umb-user-group-ref', {hasText: userGroupName}).locator('[label=\"Remove\"]').click();\n }\n\n async clickRemovePhotoButton() {\n await this.removePhotoBtn.click();\n }\n\n async changePhotoWithFileChooser(filePath: string) {\n const fileChooserPromise = this.page.waitForEvent('filechooser');\n await this.clickChangePhotoButton();\n const fileChooser = await fileChooserPromise;\n await fileChooser.setFiles(filePath);\n }\n\n async searchInUserSection(name: string) {\n await this.searchInUserSectionTxt.fill(name);\n }\n\n async doesUserSectionContainUserAmount(amount: number) {\n return await expect(this.userSectionCard).toHaveCount(amount);\n }\n\n async doesUserSectionContainUserWithText(name: string) {\n return await expect(this.userGrid).toContainText(name);\n }\n\n async filterByStatusName(statusName: string) {\n await this.statusBtn.click();\n await this.page.locator('label').filter({hasText: statusName}).click();\n }\n\n async filterByGroupName(groupName: string) {\n await this.groupBtn.click();\n await this.page.locator('label').filter({hasText: groupName}).click();\n }\n\n async isPasswordUpdatedForUserWithId(userId: string) {\n await Promise.all([\n this.page.waitForResponse(resp => resp.url().includes(umbracoConfig.environment.baseUrl + '/umbraco/management/api/v1/user/' + userId + '/change-password') && resp.status() === 200),\n await this.clickConfirmButton()\n ]);\n }\n\n async clickChooseContainerButton() {\n await this.chooseContainerBtn.click();\n }\n\n async selectUserLanguage(language: string) {\n await this.languageBtn.selectOption(language);\n }\n\n async clickRemoveButtonForContentNodeWithName(name: string) {\n await this.documentInput.locator('[name=\"' + name + '\"]').locator('[label=\"Remove\"]').click();\n }\n\n async clickRemoveButtonForMediaNodeWithName(name: string) {\n await this.mediaInput.locator('[name=\"' + name + '\"]').locator('[label=\"Remove\"]').click();\n }\n\n async clickAllowAccessToAllDocumentsSlider() {\n await this.allowAccessToAllDocumentsBtn.click();\n }\n\n async clickAllowAccessToAllMediaSlider() {\n await this.allowAccessToAllMediaBtn.click();\n }\n\n async isUserDisabledTextVisible() {\n return await expect(this.disabledTxt).toBeVisible();\n }\n\n async isUserActiveTextVisible() {\n return await expect(this.activeTxt).toBeVisible();\n }\n\n async orderByNewestUser() {\n await expect(this.orderByBtn).toBeVisible();\n // Force click is needed\n await this.orderByBtn.click({force: true});\n await this.orderByNewestBtn.click();\n }\n\n async isUserWithNameTheFirstUserInList(name: string) {\n await expect(this.userSectionCard.first()).toContainText(name);\n }\n\n async doesUserHaveAccessToContentNode(name: string) {\n return await expect(this.documentStartNode.locator('[name=\"' + name + '\"]')).toBeVisible();\n }\n\n async doesUserHaveAccessToMediaNode(name: string) {\n return await expect(this.mediaStartNode.locator('[name=\"' + name + '\"]')).toBeVisible();\n }\n\n async clickUsersMenu() {\n await this.usersMenu.click();\n }\n\n async goToUsers() {\n await this.goToSection(ConstantHelper.sections.users);\n await this.clickUsersMenu();\n }\n\n async clickUserButton() {\n await this.userBtn.click();\n }\n\n async clickActionButton() {\n await expect(this.actionBtn).toBeVisible();\n await this.page.waitForTimeout(500);\n await this.actionBtn.click();\n }\n\n async clickAPIUserButton() {\n await this.apiUserBtn.click();\n }\n}"]}