@umbraco/playwright-testhelpers 17.0.19 → 17.1.0-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/helpers/BasePage.d.ts +447 -0
- package/dist/lib/helpers/BasePage.js +543 -0
- package/dist/lib/helpers/BasePage.js.map +1 -0
- package/dist/lib/helpers/ConstantHelper.d.ts +17 -0
- package/dist/lib/helpers/ConstantHelper.js +17 -0
- package/dist/lib/helpers/ConstantHelper.js.map +1 -1
- package/dist/lib/helpers/ContentRenderUiHelper.js +3 -3
- package/dist/lib/helpers/ContentRenderUiHelper.js.map +1 -1
- package/dist/lib/helpers/ContentUiHelper.d.ts +0 -6
- package/dist/lib/helpers/ContentUiHelper.js +312 -474
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/CurrentUserProfileUiHelper.js +4 -10
- package/dist/lib/helpers/CurrentUserProfileUiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.js +189 -328
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DictionaryUiHelper.js +16 -21
- package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentBlueprintUiHelper.js +7 -8
- package/dist/lib/helpers/DocumentBlueprintUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +1 -4
- package/dist/lib/helpers/DocumentTypeApiHelper.js +1 -121
- package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.js +18 -33
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/ExamineManagementUiHelper.js +4 -4
- package/dist/lib/helpers/ExamineManagementUiHelper.js.map +1 -1
- package/dist/lib/helpers/FormsUiHelper.js +119 -158
- package/dist/lib/helpers/FormsUiHelper.js.map +1 -1
- package/dist/lib/helpers/HealthCheckUiHelper.js +3 -3
- package/dist/lib/helpers/HealthCheckUiHelper.js.map +1 -1
- package/dist/lib/helpers/LanguageUiHelper.js +15 -17
- package/dist/lib/helpers/LanguageUiHelper.js.map +1 -1
- package/dist/lib/helpers/LogViewerUiHelper.js +20 -29
- package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
- package/dist/lib/helpers/LoginUiHelper.js +5 -7
- package/dist/lib/helpers/LoginUiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeUiHelper.js +11 -17
- package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaUiHelper.js +34 -43
- package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberGroupUiHelper.js +12 -15
- package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberTypeUiHelper.js +2 -3
- package/dist/lib/helpers/MemberTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberUiHelper.js +24 -42
- package/dist/lib/helpers/MemberUiHelper.js.map +1 -1
- package/dist/lib/helpers/ModelsBuilderUiHelper.js +2 -3
- package/dist/lib/helpers/ModelsBuilderUiHelper.js.map +1 -1
- package/dist/lib/helpers/PackageUiHelper.js +29 -34
- package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
- package/dist/lib/helpers/PartialViewUiHelper.js +13 -15
- package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
- package/dist/lib/helpers/ProfilingUiHelper.js +2 -4
- package/dist/lib/helpers/ProfilingUiHelper.js.map +1 -1
- package/dist/lib/helpers/PublishedStatusUiHelper.js +6 -6
- package/dist/lib/helpers/PublishedStatusUiHelper.js.map +1 -1
- package/dist/lib/helpers/RedirectManagementUiHelper.js +7 -12
- package/dist/lib/helpers/RedirectManagementUiHelper.js.map +1 -1
- package/dist/lib/helpers/RelationTypeUiHelper.js +12 -14
- package/dist/lib/helpers/RelationTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/ScriptUiHelper.js +8 -11
- package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
- package/dist/lib/helpers/StylesheetUiHelper.js +8 -12
- package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
- package/dist/lib/helpers/TelemetryDataUiHelper.js +2 -3
- package/dist/lib/helpers/TelemetryDataUiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateUiHelper.js +17 -22
- package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +230 -228
- package/dist/lib/helpers/UiBaseLocators.js +832 -869
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UserGroupUiHelper.js +27 -44
- package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
- package/dist/lib/helpers/UserUiHelper.js +42 -45
- package/dist/lib/helpers/UserUiHelper.js.map +1 -1
- package/dist/lib/helpers/WebhookUiHelper.js +11 -27
- package/dist/lib/helpers/WebhookUiHelper.js.map +1 -1
- package/dist/lib/helpers/WelcomeDashboardUiHelper.js +1 -1
- package/dist/lib/helpers/WelcomeDashboardUiHelper.js.map +1 -1
- package/dist/lib/helpers/differentAppSettingsHelpers/ExternalLoginUiHelpers.js +4 -9
- package/dist/lib/helpers/differentAppSettingsHelpers/ExternalLoginUiHelpers.js.map +1 -1
- package/dist/lib/helpers/differentAppSettingsHelpers/InstallUiHelper.js +6 -11
- package/dist/lib/helpers/differentAppSettingsHelpers/InstallUiHelper.js.map +1 -1
- package/dist/lib/helpers/index.d.ts +1 -0
- package/dist/lib/helpers/index.js +3 -1
- package/dist/lib/helpers/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.UserGroupUiHelper = void 0;
|
|
4
4
|
const test_1 = require("@playwright/test");
|
|
5
5
|
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
6
|
+
const ConstantHelper_1 = require("./ConstantHelper");
|
|
6
7
|
class UserGroupUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
7
8
|
userGroupsBtn;
|
|
8
9
|
chooseSectionBtn;
|
|
@@ -44,66 +45,56 @@ class UserGroupUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
44
45
|
this.inputEntityUserPermissionList = page.locator('umb-input-entity-user-permission');
|
|
45
46
|
}
|
|
46
47
|
async clickUserGroupsButton() {
|
|
47
|
-
await
|
|
48
|
-
await this.
|
|
49
|
-
await this.page.waitForTimeout(500);
|
|
48
|
+
await this.click(this.userGroupsBtn);
|
|
49
|
+
await this.page.waitForTimeout(ConstantHelper_1.ConstantHelper.wait.short);
|
|
50
50
|
}
|
|
51
51
|
async enterUserGroupName(name) {
|
|
52
|
-
await
|
|
53
|
-
await this.enterAName.clear();
|
|
54
|
-
await this.enterAName.fill(name);
|
|
52
|
+
await this.enterText(this.enterAName, name);
|
|
55
53
|
}
|
|
56
54
|
async addLanguageToUserGroup(languageName) {
|
|
57
|
-
await
|
|
58
|
-
await this.chooseLanguageBtn.click();
|
|
55
|
+
await this.click(this.chooseLanguageBtn);
|
|
59
56
|
await this.clickLabelWithName(languageName, true);
|
|
60
57
|
await this.clickSubmitButton();
|
|
61
58
|
}
|
|
62
59
|
async clickAllowAccessToAllLanguages() {
|
|
63
|
-
await
|
|
64
|
-
await this.allowAccessToAllLanguagesBtn.click();
|
|
60
|
+
await this.click(this.allowAccessToAllLanguagesBtn);
|
|
65
61
|
}
|
|
66
62
|
async clickAllowAccessToAllDocuments() {
|
|
67
|
-
await
|
|
68
|
-
await this.allowAccessToAllDocumentsBtn.click();
|
|
63
|
+
await this.click(this.allowAccessToAllDocumentsBtn);
|
|
69
64
|
}
|
|
70
65
|
async clickAllowAccessToAllMedia() {
|
|
71
|
-
await
|
|
72
|
-
await this.allowAccessToAllMediaBtn.click();
|
|
66
|
+
await this.click(this.allowAccessToAllMediaBtn);
|
|
73
67
|
}
|
|
74
68
|
async waitForUserGroupToBeCreated() {
|
|
75
|
-
await this.
|
|
69
|
+
await this.waitForLoadState();
|
|
76
70
|
}
|
|
77
71
|
async waitForUserGroupToBeDeleted() {
|
|
78
|
-
await this.
|
|
72
|
+
await this.waitForLoadState();
|
|
79
73
|
}
|
|
80
74
|
async waitForUserGroupToBeRenamed() {
|
|
81
|
-
await this.
|
|
75
|
+
await this.waitForLoadState();
|
|
82
76
|
}
|
|
83
77
|
async clickCreateUserGroupButton() {
|
|
84
|
-
await
|
|
85
|
-
await this.userGroupCreateBtn.click();
|
|
78
|
+
await this.click(this.userGroupCreateBtn);
|
|
86
79
|
}
|
|
87
80
|
async clickRemoveLanguageFromUserGroup(languageName) {
|
|
88
|
-
await
|
|
89
|
-
await this.entityItem.filter({ hasText: languageName }).getByLabel('Remove').click();
|
|
81
|
+
await this.click(this.entityItem.filter({ hasText: languageName }).getByLabel('Remove'));
|
|
90
82
|
}
|
|
91
83
|
async isUserGroupWithNameVisible(name, isVisible = true) {
|
|
92
84
|
return await (0, test_1.expect)(this.page.locator('uui-table-row', { hasText: name })).toBeVisible({ visible: isVisible });
|
|
93
85
|
}
|
|
94
86
|
async clickUserGroupWithName(name) {
|
|
95
|
-
await
|
|
96
|
-
await this.page.
|
|
97
|
-
await this.page.waitForTimeout(200);
|
|
87
|
+
await this.click(this.page.getByRole('link', { name: name }));
|
|
88
|
+
await this.page.waitForTimeout(ConstantHelper_1.ConstantHelper.wait.short);
|
|
98
89
|
}
|
|
99
90
|
async clickPermissionsByName(permissionName) {
|
|
100
91
|
for (let i = 0; i < permissionName.length; i++) {
|
|
101
|
-
await this.permissionVerbBtn.getByText(permissionName[i], { exact: true })
|
|
92
|
+
await this.click(this.permissionVerbBtn.getByText(permissionName[i], { exact: true }));
|
|
102
93
|
}
|
|
103
94
|
}
|
|
104
95
|
async clickGranularPermissionsByName(permissionName) {
|
|
105
96
|
for (let i = 0; i < permissionName.length; i++) {
|
|
106
|
-
await this.granularPermissionsModal.getByText(permissionName[i], { exact: true })
|
|
97
|
+
await this.click(this.granularPermissionsModal.getByText(permissionName[i], { exact: true }));
|
|
107
98
|
}
|
|
108
99
|
}
|
|
109
100
|
async doesUserGroupHavePermission(permissionName, hasPermission = true) {
|
|
@@ -118,44 +109,36 @@ class UserGroupUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
118
109
|
await this.clickSubmitButton();
|
|
119
110
|
}
|
|
120
111
|
async clickChooseSectionButton() {
|
|
121
|
-
await
|
|
122
|
-
await this.chooseSectionBtn.click();
|
|
112
|
+
await this.click(this.chooseSectionBtn);
|
|
123
113
|
}
|
|
124
114
|
async doesUserGroupTableHaveSection(userGroupName, sectionName, hasSection = true) {
|
|
125
115
|
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 });
|
|
126
116
|
}
|
|
127
117
|
async doesUserGroupContainLanguage(languageName, isVisible = true) {
|
|
128
|
-
await
|
|
118
|
+
await this.waitForVisible(this.languageInput);
|
|
129
119
|
await (0, test_1.expect)(this.languageInput.filter({ hasText: languageName })).toBeVisible({ visible: isVisible });
|
|
130
120
|
}
|
|
131
121
|
async clickRemoveSectionFromUserGroup(sectionName) {
|
|
132
|
-
await
|
|
133
|
-
await this.section.filter({ hasText: sectionName }).getByLabel('Remove').click();
|
|
122
|
+
await this.click(this.section.filter({ hasText: sectionName }).getByLabel('Remove'));
|
|
134
123
|
}
|
|
135
124
|
async clickRemoveContentStartNodeFromUserGroup(contentStartNodeName) {
|
|
136
|
-
await
|
|
137
|
-
await this.contentStartNode.filter({ hasText: contentStartNodeName }).getByLabel('Remove').click();
|
|
125
|
+
await this.click(this.contentStartNode.filter({ hasText: contentStartNodeName }).getByLabel('Remove'));
|
|
138
126
|
}
|
|
139
127
|
async clickRemoveMediaStartNodeFromUserGroup(mediaStartNodeName) {
|
|
140
|
-
const removeMediaStartNodeWithNameLocator = this.mediaStartNode.filter({ hasText: mediaStartNodeName }).getByLabel('Remove');
|
|
141
|
-
await (0, test_1.expect)(removeMediaStartNodeWithNameLocator).toBeVisible();
|
|
142
128
|
// Force click is needed
|
|
143
|
-
await
|
|
129
|
+
await this.click(this.mediaStartNode.filter({ hasText: mediaStartNodeName }).getByLabel('Remove'), { force: true });
|
|
144
130
|
}
|
|
145
131
|
async doesUserGroupHavePermissionEnabled(permissionName) {
|
|
146
132
|
return await Promise.all(permissionName.map(permission => this.doesUserGroupHavePermission(permission)));
|
|
147
133
|
}
|
|
148
134
|
async clickGranularPermissionWithName(permissionName) {
|
|
149
|
-
await
|
|
150
|
-
await this.granularPermission.getByText(permissionName).click();
|
|
135
|
+
await this.click(this.granularPermission.getByText(permissionName));
|
|
151
136
|
}
|
|
152
137
|
async clickAddGranularPermission() {
|
|
153
|
-
await
|
|
154
|
-
await this.addGranularPermissionBtn.click();
|
|
138
|
+
await this.click(this.addGranularPermissionBtn);
|
|
155
139
|
}
|
|
156
140
|
async clickRemoveGranularPermissionWithName(permissionName) {
|
|
157
|
-
await
|
|
158
|
-
await this.granularPermission.filter({ hasText: permissionName }).getByLabel('Remove').click();
|
|
141
|
+
await this.click(this.granularPermission.filter({ hasText: permissionName }).getByLabel('Remove'));
|
|
159
142
|
}
|
|
160
143
|
async doesSettingHaveValue(headline, settings) {
|
|
161
144
|
for (let index = 0; index < Object.keys(settings).length; index++) {
|
|
@@ -176,13 +159,13 @@ class UserGroupUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
176
159
|
}
|
|
177
160
|
}
|
|
178
161
|
async doesUserGroupContainSection(section) {
|
|
179
|
-
|
|
162
|
+
await this.containsText(this.sectionList, section);
|
|
180
163
|
}
|
|
181
164
|
async doesUserGroupHaveSections(sections) {
|
|
182
165
|
return await Promise.all(sections.map(section => this.doesUserGroupContainSection(section)));
|
|
183
166
|
}
|
|
184
167
|
async doesUserGroupSectionsHaveCount(count) {
|
|
185
|
-
|
|
168
|
+
await this.hasCount(this.section, count);
|
|
186
169
|
}
|
|
187
170
|
}
|
|
188
171
|
exports.UserGroupUiHelper = UserGroupUiHelper;
|
|
@@ -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 private readonly inputEntityUserPermissionList: Locator;\n private readonly sectionList: 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.sectionList = page.locator('umb-input-section uui-ref-list');\n this.section = this.sectionList.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 this.inputEntityUserPermissionList = page.locator('umb-input-entity-user-permission');\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 waitForUserGroupToBeCreated() {\n await this.page.waitForLoadState();\n }\n\n async waitForUserGroupToBeDeleted() {\n await this.page.waitForLoadState();\n }\n\n async waitForUserGroupToBeRenamed() {\n await this.page.waitForLoadState();\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.entityItem.filter({hasText: languageName}).getByLabel('Remove')).toBeVisible();\n await this.entityItem.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 doesUserGroupTableHaveSection(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\n async doesSettingHaveValue(headline: string, settings) {\n for (let index = 0; index < Object.keys(settings).length; index++) {\n const [label, description] = settings[index];\n const propertyLocator = this.page.locator('uui-box').filter({hasText: headline}).locator('umb-property-layout').nth(index);\n await expect(propertyLocator.locator('#headerColumn #label')).toHaveText(label);\n if (description !== '')\n await expect(propertyLocator.locator('#description')).toHaveText(description);\n }\n }\n\n async doesPermissionsSettingsHaveValue(settings) {\n for (let index = 0; index < Object.keys(settings).length; index++) {\n const [name, description] = settings[index];\n const permissionItemLocator = this.inputEntityUserPermissionList.locator(this.permissionVerbBtn).nth(index);\n await expect(permissionItemLocator.locator('#name')).toHaveText(name);\n if (description !== '')\n await expect(permissionItemLocator.locator('#setting small')).toHaveText(description);\n }\n }\n\n async doesUserGroupContainSection(section: string) {\n return await expect(this.sectionList).toContainText(section);\n }\n\n async doesUserGroupHaveSections(sections: string[]) {\n return await Promise.all(\n sections.map(section => this.doesUserGroupContainSection(section))\n );\n }\n\n async doesUserGroupSectionsHaveCount(count: number) {\n return await expect(this.section).toHaveCount(count);\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\";\nimport {ConstantHelper} from \"./ConstantHelper\";\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 private readonly inputEntityUserPermissionList: Locator;\n private readonly sectionList: 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.sectionList = page.locator('umb-input-section uui-ref-list');\n this.section = this.sectionList.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 this.inputEntityUserPermissionList = page.locator('umb-input-entity-user-permission');\n }\n\n async clickUserGroupsButton() {\n await this.click(this.userGroupsBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async enterUserGroupName(name: string) {\n await this.enterText(this.enterAName, name);\n }\n\n async addLanguageToUserGroup(languageName: string) {\n await this.click(this.chooseLanguageBtn);\n await this.clickLabelWithName(languageName, true);\n await this.clickSubmitButton();\n }\n\n async clickAllowAccessToAllLanguages() {\n await this.click(this.allowAccessToAllLanguagesBtn);\n }\n\n async clickAllowAccessToAllDocuments() {\n await this.click(this.allowAccessToAllDocumentsBtn);\n }\n\n async clickAllowAccessToAllMedia() {\n await this.click(this.allowAccessToAllMediaBtn);\n }\n\n async waitForUserGroupToBeCreated() {\n await this.waitForLoadState();\n }\n\n async waitForUserGroupToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForUserGroupToBeRenamed() {\n await this.waitForLoadState();\n }\n\n async clickCreateUserGroupButton() {\n await this.click(this.userGroupCreateBtn);\n }\n\n async clickRemoveLanguageFromUserGroup(languageName: string) {\n await this.click(this.entityItem.filter({hasText: languageName}).getByLabel('Remove'));\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.click(this.page.getByRole('link', {name: name}));\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickPermissionsByName(permissionName: string[]) {\n for (let i = 0; i < permissionName.length; i++) {\n await this.click(this.permissionVerbBtn.getByText(permissionName[i], {exact: true}));\n }\n }\n\n async clickGranularPermissionsByName(permissionName: string[]) {\n for (let i = 0; i < permissionName.length; i++) {\n await this.click(this.granularPermissionsModal.getByText(permissionName[i], {exact: true}));\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 this.click(this.chooseSectionBtn);\n }\n\n async doesUserGroupTableHaveSection(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 this.waitForVisible(this.languageInput);\n await expect(this.languageInput.filter({hasText: languageName})).toBeVisible({visible: isVisible});\n }\n\n async clickRemoveSectionFromUserGroup(sectionName: string) {\n await this.click(this.section.filter({hasText: sectionName}).getByLabel('Remove'));\n }\n\n async clickRemoveContentStartNodeFromUserGroup(contentStartNodeName: string) {\n await this.click(this.contentStartNode.filter({hasText: contentStartNodeName}).getByLabel('Remove'));\n }\n\n async clickRemoveMediaStartNodeFromUserGroup(mediaStartNodeName: string) {\n // Force click is needed\n await this.click(this.mediaStartNode.filter({hasText: mediaStartNodeName}).getByLabel('Remove'), {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.click(this.granularPermission.getByText(permissionName));\n }\n\n async clickAddGranularPermission() {\n await this.click(this.addGranularPermissionBtn);\n }\n\n async clickRemoveGranularPermissionWithName(permissionName: string) {\n await this.click(this.granularPermission.filter({hasText: permissionName}).getByLabel('Remove'));\n }\n\n async doesSettingHaveValue(headline: string, settings) {\n for (let index = 0; index < Object.keys(settings).length; index++) {\n const [label, description] = settings[index];\n const propertyLocator = this.page.locator('uui-box').filter({hasText: headline}).locator('umb-property-layout').nth(index);\n await expect(propertyLocator.locator('#headerColumn #label')).toHaveText(label);\n if (description !== '')\n await expect(propertyLocator.locator('#description')).toHaveText(description);\n }\n }\n\n async doesPermissionsSettingsHaveValue(settings) {\n for (let index = 0; index < Object.keys(settings).length; index++) {\n const [name, description] = settings[index];\n const permissionItemLocator = this.inputEntityUserPermissionList.locator(this.permissionVerbBtn).nth(index);\n await expect(permissionItemLocator.locator('#name')).toHaveText(name);\n if (description !== '')\n await expect(permissionItemLocator.locator('#setting small')).toHaveText(description);\n }\n }\n\n async doesUserGroupContainSection(section: string) {\n await this.containsText(this.sectionList, section);\n }\n\n async doesUserGroupHaveSections(sections: string[]) {\n return await Promise.all(\n sections.map(section => this.doesUserGroupContainSection(section))\n );\n }\n\n async doesUserGroupSectionsHaveCount(count: number) {\n await this.hasCount(this.section, count);\n }\n}"]}
|
|
@@ -72,49 +72,47 @@ class UserUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
72
72
|
this.goToProfileBtn = page.getByLabel('Go to profile', { exact: true });
|
|
73
73
|
}
|
|
74
74
|
async clickUsersButton() {
|
|
75
|
-
await
|
|
76
|
-
await this.usersBtn.click();
|
|
75
|
+
await this.click(this.usersBtn);
|
|
77
76
|
}
|
|
78
77
|
async clickCreateUserButton() {
|
|
79
|
-
await this.
|
|
80
|
-
await this.page.waitForTimeout(
|
|
78
|
+
await this.click(this.createUserBtn);
|
|
79
|
+
await this.page.waitForTimeout(ConstantHelper_1.ConstantHelper.wait.short);
|
|
81
80
|
}
|
|
82
81
|
async enterNameOfTheUser(name) {
|
|
83
|
-
await this.nameOfTheUserTxt
|
|
82
|
+
await this.enterText(this.nameOfTheUserTxt, name);
|
|
84
83
|
}
|
|
85
84
|
async enterUserEmail(email) {
|
|
86
|
-
await this.userEmailTxt
|
|
85
|
+
await this.enterText(this.userEmailTxt, email);
|
|
87
86
|
}
|
|
88
87
|
async waitForUserToBeCreated() {
|
|
89
|
-
await this.
|
|
88
|
+
await this.waitForLoadState();
|
|
90
89
|
}
|
|
91
90
|
async waitForUserToBeDeleted() {
|
|
92
|
-
await this.
|
|
91
|
+
await this.waitForLoadState();
|
|
93
92
|
}
|
|
94
93
|
async waitForUserToBeRenamed() {
|
|
95
|
-
await this.
|
|
94
|
+
await this.waitForLoadState();
|
|
96
95
|
}
|
|
97
96
|
async clickAddUserGroupsButton() {
|
|
98
|
-
await this.
|
|
97
|
+
await this.click(this.addUserGroupsBtn);
|
|
99
98
|
// This wait is necessary to avoid the click on the user group button to be ignored
|
|
100
|
-
await this.page.waitForTimeout(
|
|
99
|
+
await this.page.waitForTimeout(ConstantHelper_1.ConstantHelper.wait.minimal);
|
|
101
100
|
}
|
|
102
101
|
async clickChooseUserGroupsButton() {
|
|
103
|
-
await this.
|
|
102
|
+
await this.click(this.chooseUserGroupsBtn);
|
|
104
103
|
}
|
|
105
104
|
async clickOpenUserGroupsButton() {
|
|
106
|
-
await this.
|
|
105
|
+
await this.click(this.openUserGroupsBtn);
|
|
107
106
|
}
|
|
108
107
|
async enterUpdatedNameOfUser(name) {
|
|
109
|
-
await this.updatedNameOfTheUserTxt
|
|
108
|
+
await this.enterText(this.updatedNameOfTheUserTxt, name);
|
|
110
109
|
}
|
|
111
110
|
async clickUserWithName(name) {
|
|
112
111
|
const userNameLocator = this.page.locator('#open-part').getByText(name, { exact: true });
|
|
113
|
-
await
|
|
114
|
-
await userNameLocator.click();
|
|
112
|
+
await this.click(userNameLocator);
|
|
115
113
|
}
|
|
116
114
|
async clickChangePasswordButton() {
|
|
117
|
-
await this.
|
|
115
|
+
await this.click(this.changePasswordBtn);
|
|
118
116
|
}
|
|
119
117
|
async updatePassword(newPassword) {
|
|
120
118
|
await this.newPasswordTxt.fill(newPassword);
|
|
@@ -124,13 +122,13 @@ class UserUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
124
122
|
return await (0, test_1.expect)(this.page.getByText(name, { exact: true })).toBeVisible({ visible: isVisible });
|
|
125
123
|
}
|
|
126
124
|
async clickChangePhotoButton() {
|
|
127
|
-
await this.
|
|
125
|
+
await this.click(this.changePhotoBtn);
|
|
128
126
|
}
|
|
129
127
|
async clickRemoveButtonForUserGroupWithName(userGroupName) {
|
|
130
|
-
await this.page.locator('umb-user-group-ref', { hasText: userGroupName }).locator('[label="Remove"]')
|
|
128
|
+
await this.click(this.page.locator('umb-user-group-ref', { hasText: userGroupName }).locator('[label="Remove"]'));
|
|
131
129
|
}
|
|
132
130
|
async clickRemovePhotoButton() {
|
|
133
|
-
await this.
|
|
131
|
+
await this.click(this.removePhotoBtn);
|
|
134
132
|
}
|
|
135
133
|
async changePhotoWithFileChooser(filePath) {
|
|
136
134
|
const fileChooserPromise = this.page.waitForEvent('filechooser');
|
|
@@ -144,7 +142,7 @@ class UserUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
144
142
|
async doesUserSectionContainUserAmount(amount) {
|
|
145
143
|
let userCount = 0;
|
|
146
144
|
while (true) {
|
|
147
|
-
await this.page.waitForTimeout(
|
|
145
|
+
await this.page.waitForTimeout(ConstantHelper_1.ConstantHelper.wait.medium);
|
|
148
146
|
userCount += await this.userSectionCard.count();
|
|
149
147
|
// Check if pagination exists and next button is enabled
|
|
150
148
|
const nextButton = this.nextPaginationBtn;
|
|
@@ -163,22 +161,22 @@ class UserUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
163
161
|
const firstPage = this.firstPaginationBtn;
|
|
164
162
|
const isFirstPageEnabled = await firstPage.isEnabled();
|
|
165
163
|
if (isFirstPageEnabled) {
|
|
166
|
-
await
|
|
164
|
+
await this.click(firstPage);
|
|
167
165
|
}
|
|
168
|
-
await this.page.waitForTimeout(
|
|
166
|
+
await this.page.waitForTimeout(ConstantHelper_1.ConstantHelper.wait.medium);
|
|
169
167
|
}
|
|
170
168
|
return (0, test_1.expect)(userCount).toBe(amount);
|
|
171
169
|
}
|
|
172
170
|
async doesUserSectionContainUserWithText(name) {
|
|
173
|
-
|
|
171
|
+
await this.containsText(this.userGrid, name);
|
|
174
172
|
}
|
|
175
173
|
async filterByStatusName(statusName) {
|
|
176
|
-
await this.
|
|
177
|
-
await this.page.locator('label').filter({ hasText: statusName })
|
|
174
|
+
await this.click(this.statusBtn);
|
|
175
|
+
await this.click(this.page.locator('label').filter({ hasText: statusName }));
|
|
178
176
|
}
|
|
179
177
|
async filterByGroupName(groupName) {
|
|
180
|
-
await this.
|
|
181
|
-
await this.page.locator('label').filter({ hasText: groupName })
|
|
178
|
+
await this.click(this.groupBtn);
|
|
179
|
+
await this.click(this.page.locator('label').filter({ hasText: groupName }));
|
|
182
180
|
}
|
|
183
181
|
async isPasswordUpdatedForUserWithId(userId) {
|
|
184
182
|
await Promise.all([
|
|
@@ -187,47 +185,46 @@ class UserUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
187
185
|
]);
|
|
188
186
|
}
|
|
189
187
|
async clickChooseContainerButton() {
|
|
190
|
-
await this.
|
|
188
|
+
await this.click(this.chooseContainerBtn);
|
|
191
189
|
}
|
|
192
190
|
async selectUserLanguage(language) {
|
|
193
191
|
await this.languageBtn.selectOption(language, { force: true });
|
|
194
192
|
}
|
|
195
193
|
async clickRemoveButtonForContentNodeWithName(name) {
|
|
196
|
-
|
|
197
|
-
await this.
|
|
194
|
+
const entityItemLocator = this.entityItem.filter({ has: this.page.locator(`[name="${name}"]`) });
|
|
195
|
+
await this.hoverAndClick(entityItemLocator, entityItemLocator.getByRole('button', { name: 'Remove' }), { force: true });
|
|
198
196
|
}
|
|
199
197
|
async clickRemoveButtonForMediaNodeWithName(name) {
|
|
200
|
-
await this.mediaInput.locator(
|
|
198
|
+
await this.click(this.mediaInput.locator(`[name="${name}"]`).locator('[label="Remove"]'));
|
|
201
199
|
}
|
|
202
200
|
async clickAllowAccessToAllDocumentsToggle() {
|
|
203
|
-
await this.
|
|
201
|
+
await this.click(this.allowAccessToAllDocumentsToggle);
|
|
204
202
|
}
|
|
205
203
|
async clickAllowAccessToAllMediaToggle() {
|
|
206
|
-
await this.
|
|
204
|
+
await this.click(this.allowAccessToAllMediaToggle);
|
|
207
205
|
}
|
|
208
206
|
async isUserDisabledTextVisible() {
|
|
209
|
-
|
|
207
|
+
await this.waitForVisible(this.disabledTxt);
|
|
210
208
|
}
|
|
211
209
|
async isUserActiveTextVisible() {
|
|
212
|
-
|
|
210
|
+
await this.waitForVisible(this.activeTxt);
|
|
213
211
|
}
|
|
214
212
|
async orderByNewestUser() {
|
|
215
|
-
await (0, test_1.expect)(this.orderByBtn).toBeVisible();
|
|
216
213
|
// Force click is needed
|
|
217
|
-
await this.
|
|
218
|
-
await this.
|
|
214
|
+
await this.click(this.orderByBtn, { force: true });
|
|
215
|
+
await this.click(this.orderByNewestBtn);
|
|
219
216
|
}
|
|
220
217
|
async isUserWithNameTheFirstUserInList(name) {
|
|
221
218
|
await (0, test_1.expect)(this.userSectionCard.first()).toContainText(name);
|
|
222
219
|
}
|
|
223
220
|
async doesUserHaveAccessToContentNode(name) {
|
|
224
|
-
return await (0, test_1.expect)(this.documentStartNode.locator(
|
|
221
|
+
return await (0, test_1.expect)(this.documentStartNode.locator(`[name="${name}"]`)).toBeVisible();
|
|
225
222
|
}
|
|
226
223
|
async doesUserHaveAccessToMediaNode(name) {
|
|
227
|
-
return await (0, test_1.expect)(this.mediaStartNode.locator(
|
|
224
|
+
return await (0, test_1.expect)(this.mediaStartNode.locator(`[name="${name}"]`)).toBeVisible();
|
|
228
225
|
}
|
|
229
226
|
async clickUsersMenu() {
|
|
230
|
-
await this.
|
|
227
|
+
await this.click(this.usersMenu);
|
|
231
228
|
}
|
|
232
229
|
async goToUsers() {
|
|
233
230
|
await this.goToSection(ConstantHelper_1.ConstantHelper.sections.users);
|
|
@@ -240,13 +237,13 @@ class UserUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
240
237
|
await this.clickUserWithName(name);
|
|
241
238
|
}
|
|
242
239
|
async clickUserButton() {
|
|
243
|
-
await this.
|
|
240
|
+
await this.click(this.userBtn);
|
|
244
241
|
}
|
|
245
242
|
async isGoToProfileButtonVisible(isVisible = true) {
|
|
246
|
-
await
|
|
243
|
+
await this.isVisible(this.goToProfileBtn, isVisible);
|
|
247
244
|
}
|
|
248
245
|
async clickAPIUserButton() {
|
|
249
|
-
await this.
|
|
246
|
+
await this.click(this.apiUserBtn);
|
|
250
247
|
}
|
|
251
248
|
}
|
|
252
249
|
exports.UserUiHelper = UserUiHelper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,qDAAgD;AAChD,yDAAmD;AACnD,qDAAgD;AAEhD,MAAa,YAAa,SAAQ,+BAAc;IAC7B,QAAQ,CAAU;IAClB,aAAa,CAAU;IACvB,gBAAgB,CAAU;IAC1B,YAAY,CAAU;IACtB,gBAAgB,CAAU;IAC1B,iBAAiB,CAAU;IAC3B,uBAAuB,CAAU;IACjC,iBAAiB,CAAU;IAC3B,cAAc,CAAU;IACxB,cAAc,CAAU;IACxB,sBAAsB,CAAU;IAChC,eAAe,CAAU;IACzB,SAAS,CAAU;IACnB,QAAQ,CAAU;IAClB,mBAAmB,CAAU;IAC7B,+BAA+B,CAAU;IACzC,2BAA2B,CAAU;IACrC,UAAU,CAAU;IACpB,kBAAkB,CAAU;IAC5B,WAAW,CAAU;IACrB,WAAW,CAAU;IACrB,SAAS,CAAU;IACnB,UAAU,CAAU;IACpB,gBAAgB,CAAU;IAC1B,iBAAiB,CAAU;IAC3B,cAAc,CAAU;IACxB,SAAS,CAAU;IACnB,OAAO,CAAU;IACjB,QAAQ,CAAU;IAClB,UAAU,CAAU;IACpB,cAAc,CAAU;IAEzC,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACtF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QACjF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC;QAChE,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,+BAA+B,EAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjJ,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,2BAA2B,EAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACjG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACxG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACpC,mFAAmF;QACnF,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACvF,MAAM,IAAA,aAAM,EAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,SAAS,GAAG,IAAI;QAChD,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,aAAqB;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAC,OAAO,EAAE,aAAa,EAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9G,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,QAAgB;QAC/C,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC;QAC7C,MAAM,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,gCAAgC,CAAC,MAAc;QACnD,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,OAAO,IAAI,EAAE;YACX,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACrC,SAAS,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAEhD,wDAAwD;YACxD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAC1C,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAEtD,IAAI,CAAC,gBAAgB,EAAE;gBACrB,MAAM,CAAC,uBAAuB;aAC/B;YAED,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;YACnD,IAAI,CAAC,aAAa,EAAE;gBAClB,MAAM;aACP;YAED,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;SACxC;QAED,qEAAqE;QACrE,IAAI,MAAM,GAAG,EAAE,EAAE;YACf,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC1C,MAAM,kBAAkB,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;YACvD,IAAI,kBAAkB,EAAE;gBACtB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;aACzB;YAED,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SACtC;QAED,OAAO,IAAA,aAAM,EAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,IAAY;QACnD,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB;QACzC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,MAAc;QACjD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,8BAAa,CAAC,WAAW,CAAC,OAAO,GAAG,kCAAkC,GAAG,MAAM,GAAG,kBAAkB,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC;YACrL,MAAM,IAAI,CAAC,kBAAkB,EAAE;SAChC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QACvC,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,uCAAuC,CAAC,IAAY;QACxD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACxF,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,EAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAC/I,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,IAAY;QACtD,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,oCAAoC;QACxC,MAAM,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,gCAAgC;QACpC,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,wBAAwB;QACxB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,gCAAgC,CAAC,IAAY;QACjD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,IAAY;QAChD,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,IAAY;QAC9C,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,WAAW,CAAC,+BAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,+BAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,YAAqB,IAAI;QACxD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF;AAvSD,oCAuSC","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 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 allowAccessToAllDocumentsToggle: Locator;\n private readonly allowAccessToAllMediaToggle: 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 userGrid: Locator;\n private readonly apiUserBtn: Locator;\n private readonly goToProfileBtn: 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 your password');\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.allowAccessToAllDocumentsToggle = page.locator('umb-property-layout').filter({hasText: 'Allow access to all documents'}).locator('#toggle');\n this.allowAccessToAllMediaToggle = page.locator('umb-property-layout').filter({hasText: 'Allow access to all media'}).locator('#toggle');\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.userGrid = page.locator('#user-grid');\n this.apiUserBtn = page.locator('#collection-action-menu-popover').getByLabel('API User', {exact: true});\n this.goToProfileBtn = page.getByLabel('Go to profile', {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 await this.page.waitForTimeout(500);\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 waitForUserToBeCreated() {\n await this.page.waitForLoadState();\n }\n\n async waitForUserToBeDeleted() {\n await this.page.waitForLoadState();\n }\n\n async waitForUserToBeRenamed() {\n await this.page.waitForLoadState();\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 const userNameLocator = this.page.locator('#open-part').getByText(name, {exact: true});\n await expect(userNameLocator).toBeVisible();\n await userNameLocator.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 let userCount = 0;\n\n while (true) {\n await this.page.waitForTimeout(1000);\n userCount += await this.userSectionCard.count();\n\n // Check if pagination exists and next button is enabled\n const nextButton = this.nextPaginationBtn;\n const nextButtonExists = await nextButton.count() > 0;\n\n if (!nextButtonExists) {\n break; // No pagination at all\n }\n\n const isNextEnabled = await nextButton.isEnabled();\n if (!isNextEnabled) {\n break;\n }\n\n await this.clickNextPaginationButton();\n }\n \n // If we actually navigated through the pagination, we should go back\n if (amount > 50) {\n const firstPage = this.firstPaginationBtn;\n const isFirstPageEnabled = await firstPage.isEnabled();\n if (isFirstPageEnabled) {\n await firstPage.click();\n }\n\n await this.page.waitForTimeout(1000);\n }\n \n return expect(userCount).toBe(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, {force: true});\n }\n\n async clickRemoveButtonForContentNodeWithName(name: string) {\n await this.entityItem.filter({has: this.page.locator('[name=\"' + name + '\"]')}).hover();\n await this.entityItem.filter({has: this.page.locator('[name=\"' + name + '\"]')}).getByRole('button', { name: 'Remove' }).click({force: true});\n }\n\n async clickRemoveButtonForMediaNodeWithName(name: string) {\n await this.mediaInput.locator('[name=\"' + name + '\"]').locator('[label=\"Remove\"]').click();\n }\n\n async clickAllowAccessToAllDocumentsToggle() {\n await this.allowAccessToAllDocumentsToggle.click();\n }\n\n async clickAllowAccessToAllMediaToggle() {\n await this.allowAccessToAllMediaToggle.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 goToUserWithName(name: string) {\n await this.goToSection(ConstantHelper.sections.users);\n await this.clickUsersMenu();\n await this.searchInUserSection(name);\n await this.clickUserWithName(name);\n }\n \n async clickUserButton() {\n await this.userBtn.click();\n }\n \n async isGoToProfileButtonVisible(isVisible: boolean = true) {\n await expect(this.goToProfileBtn).toBeVisible({visible: isVisible});\n }\n\n async clickAPIUserButton() {\n await this.apiUserBtn.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 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 allowAccessToAllDocumentsToggle: Locator;\n private readonly allowAccessToAllMediaToggle: 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 userGrid: Locator;\n private readonly apiUserBtn: Locator;\n private readonly goToProfileBtn: 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 your password');\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.allowAccessToAllDocumentsToggle = page.locator('umb-property-layout').filter({hasText: 'Allow access to all documents'}).locator('#toggle');\n this.allowAccessToAllMediaToggle = page.locator('umb-property-layout').filter({hasText: 'Allow access to all media'}).locator('#toggle');\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.userGrid = page.locator('#user-grid');\n this.apiUserBtn = page.locator('#collection-action-menu-popover').getByLabel('API User', {exact: true});\n this.goToProfileBtn = page.getByLabel('Go to profile', {exact: true});\n }\n\n async clickUsersButton() {\n await this.click(this.usersBtn);\n }\n\n async clickCreateUserButton() {\n await this.click(this.createUserBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async enterNameOfTheUser(name: string) {\n await this.enterText(this.nameOfTheUserTxt, name);\n }\n\n async enterUserEmail(email: string) {\n await this.enterText(this.userEmailTxt, email);\n }\n\n async waitForUserToBeCreated() {\n await this.waitForLoadState();\n }\n\n async waitForUserToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForUserToBeRenamed() {\n await this.waitForLoadState();\n }\n \n async clickAddUserGroupsButton() {\n await this.click(this.addUserGroupsBtn);\n // This wait is necessary to avoid the click on the user group button to be ignored\n await this.page.waitForTimeout(ConstantHelper.wait.minimal);\n }\n\n async clickChooseUserGroupsButton() {\n await this.click(this.chooseUserGroupsBtn);\n }\n\n async clickOpenUserGroupsButton() {\n await this.click(this.openUserGroupsBtn);\n }\n\n async enterUpdatedNameOfUser(name: string) {\n await this.enterText(this.updatedNameOfTheUserTxt, name);\n }\n\n async clickUserWithName(name: string) {\n const userNameLocator = this.page.locator('#open-part').getByText(name, {exact: true});\n await this.click(userNameLocator);\n }\n\n async clickChangePasswordButton() {\n await this.click(this.changePasswordBtn);\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.click(this.changePhotoBtn);\n }\n\n async clickRemoveButtonForUserGroupWithName(userGroupName: string) {\n await this.click(this.page.locator('umb-user-group-ref', {hasText: userGroupName}).locator('[label=\"Remove\"]'));\n }\n\n async clickRemovePhotoButton() {\n await this.click(this.removePhotoBtn);\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 let userCount = 0;\n\n while (true) {\n await this.page.waitForTimeout(ConstantHelper.wait.medium);\n userCount += await this.userSectionCard.count();\n\n // Check if pagination exists and next button is enabled\n const nextButton = this.nextPaginationBtn;\n const nextButtonExists = await nextButton.count() > 0;\n\n if (!nextButtonExists) {\n break; // No pagination at all\n }\n\n const isNextEnabled = await nextButton.isEnabled();\n if (!isNextEnabled) {\n break;\n }\n\n await this.clickNextPaginationButton();\n }\n\n // If we actually navigated through the pagination, we should go back\n if (amount > 50) {\n const firstPage = this.firstPaginationBtn;\n const isFirstPageEnabled = await firstPage.isEnabled();\n if (isFirstPageEnabled) {\n await this.click(firstPage);\n }\n\n await this.page.waitForTimeout(ConstantHelper.wait.medium);\n }\n\n return expect(userCount).toBe(amount);\n }\n\n async doesUserSectionContainUserWithText(name: string) {\n await this.containsText(this.userGrid, name);\n }\n\n async filterByStatusName(statusName: string) {\n await this.click(this.statusBtn);\n await this.click(this.page.locator('label').filter({hasText: statusName}));\n }\n\n async filterByGroupName(groupName: string) {\n await this.click(this.groupBtn);\n await this.click(this.page.locator('label').filter({hasText: groupName}));\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.click(this.chooseContainerBtn);\n }\n\n async selectUserLanguage(language: string) {\n await this.languageBtn.selectOption(language, {force: true});\n }\n\n async clickRemoveButtonForContentNodeWithName(name: string) {\n const entityItemLocator = this.entityItem.filter({has: this.page.locator(`[name=\"${name}\"]`)});\n await this.hoverAndClick(entityItemLocator, entityItemLocator.getByRole('button', {name: 'Remove'}), {force: true});\n }\n\n async clickRemoveButtonForMediaNodeWithName(name: string) {\n await this.click(this.mediaInput.locator(`[name=\"${name}\"]`).locator('[label=\"Remove\"]'));\n }\n\n async clickAllowAccessToAllDocumentsToggle() {\n await this.click(this.allowAccessToAllDocumentsToggle);\n }\n\n async clickAllowAccessToAllMediaToggle() {\n await this.click(this.allowAccessToAllMediaToggle);\n }\n\n async isUserDisabledTextVisible() {\n await this.waitForVisible(this.disabledTxt);\n }\n\n async isUserActiveTextVisible() {\n await this.waitForVisible(this.activeTxt);\n }\n\n async orderByNewestUser() {\n // Force click is needed\n await this.click(this.orderByBtn, {force: true});\n await this.click(this.orderByNewestBtn);\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.click(this.usersMenu);\n }\n\n async goToUsers() {\n await this.goToSection(ConstantHelper.sections.users);\n await this.clickUsersMenu();\n }\n\n async goToUserWithName(name: string) {\n await this.goToSection(ConstantHelper.sections.users);\n await this.clickUsersMenu();\n await this.searchInUserSection(name);\n await this.clickUserWithName(name);\n }\n \n async clickUserButton() {\n await this.click(this.userBtn);\n }\n\n async isGoToProfileButtonVisible(isVisible: boolean = true) {\n await this.isVisible(this.goToProfileBtn, isVisible);\n }\n\n async clickAPIUserButton() {\n await this.click(this.apiUserBtn);\n }\n}"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WebhookUiHelper = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
4
|
const UiBaseLocators_1 = require("./UiBaseLocators");
|
|
6
5
|
const ConstantHelper_1 = require("./ConstantHelper");
|
|
7
6
|
class WebhookUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
@@ -39,53 +38,38 @@ class WebhookUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
39
38
|
await this.clickTextButtonWithName(name);
|
|
40
39
|
}
|
|
41
40
|
async clickWebhookCreateButton() {
|
|
42
|
-
await
|
|
43
|
-
await this.webhookCreateBtn.click();
|
|
41
|
+
await this.click(this.webhookCreateBtn);
|
|
44
42
|
}
|
|
45
43
|
async enterWebhookName(name) {
|
|
46
|
-
await
|
|
47
|
-
await this.webhookNameTxt.clear();
|
|
48
|
-
await this.webhookNameTxt.fill(name);
|
|
44
|
+
await this.enterText(this.webhookNameTxt, name);
|
|
49
45
|
}
|
|
50
46
|
async enterUrl(url) {
|
|
51
|
-
await
|
|
52
|
-
await this.urlTxt.clear();
|
|
53
|
-
await this.urlTxt.fill(url);
|
|
47
|
+
await this.enterText(this.urlTxt, url);
|
|
54
48
|
}
|
|
55
49
|
async clickChooseEventButton() {
|
|
56
|
-
await
|
|
57
|
-
await this.chooseEventBtn.click();
|
|
50
|
+
await this.click(this.chooseEventBtn);
|
|
58
51
|
}
|
|
59
52
|
async clickChooseContentTypeButton() {
|
|
60
|
-
await
|
|
61
|
-
await this.chooseContentTypeBtn.click();
|
|
53
|
+
await this.click(this.chooseContentTypeBtn);
|
|
62
54
|
}
|
|
63
55
|
async clickEnabledToggleButton() {
|
|
64
|
-
await
|
|
65
|
-
await this.enabledToggle.click();
|
|
56
|
+
await this.click(this.enabledToggle);
|
|
66
57
|
}
|
|
67
58
|
async clickAddHeadersButton() {
|
|
68
|
-
await
|
|
69
|
-
await this.addHeadersBtn.click();
|
|
59
|
+
await this.click(this.addHeadersBtn);
|
|
70
60
|
}
|
|
71
61
|
async enterHeaderName(name) {
|
|
72
|
-
await
|
|
73
|
-
await this.headerNameTxt.clear();
|
|
74
|
-
await this.headerNameTxt.fill(name);
|
|
62
|
+
await this.enterText(this.headerNameTxt, name);
|
|
75
63
|
}
|
|
76
64
|
async enterHeaderValue(value) {
|
|
77
|
-
await
|
|
78
|
-
await this.headerValueTxt.clear();
|
|
79
|
-
await this.headerValueTxt.fill(value);
|
|
65
|
+
await this.enterText(this.headerValueTxt, value);
|
|
80
66
|
}
|
|
81
67
|
async clickDeleteWebhookWithName(name) {
|
|
82
68
|
const deleteLocator = this.page.locator('uui-table-row').filter({ has: this.page.getByText(name, { exact: true }) }).locator(this.deleteWebhookEntityAction);
|
|
83
|
-
await
|
|
84
|
-
await deleteLocator.click();
|
|
69
|
+
await this.click(deleteLocator);
|
|
85
70
|
}
|
|
86
71
|
async clickHeaderRemoveButton() {
|
|
87
|
-
await
|
|
88
|
-
await this.headerRemoveBtn.click();
|
|
72
|
+
await this.click(this.headerRemoveBtn);
|
|
89
73
|
}
|
|
90
74
|
}
|
|
91
75
|
exports.WebhookUiHelper = WebhookUiHelper;
|