@umbraco/playwright-testhelpers 17.1.0-beta.6 → 17.1.0-beta.7
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/BaseApiHelper.d.ts +19 -0
- package/dist/lib/helpers/BaseApiHelper.js +87 -0
- package/dist/lib/helpers/BaseApiHelper.js.map +1 -0
- package/dist/lib/helpers/ConstantHelper.d.ts +0 -17
- package/dist/lib/helpers/ConstantHelper.js +0 -17
- 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.js +487 -353
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/CurrentUserProfileUiHelper.js +10 -4
- package/dist/lib/helpers/CurrentUserProfileUiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.d.ts +9 -21
- package/dist/lib/helpers/DataTypeApiHelper.js +32 -125
- package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.js +332 -193
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DictionaryApiHelper.d.ts +8 -15
- package/dist/lib/helpers/DictionaryApiHelper.js +49 -77
- package/dist/lib/helpers/DictionaryApiHelper.js.map +1 -1
- package/dist/lib/helpers/DictionaryUiHelper.js +23 -17
- package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentBlueprintApiHelper.d.ts +7 -13
- package/dist/lib/helpers/DocumentBlueprintApiHelper.js +44 -69
- package/dist/lib/helpers/DocumentBlueprintApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentBlueprintUiHelper.js +10 -8
- package/dist/lib/helpers/DocumentBlueprintUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +4 -18
- package/dist/lib/helpers/DocumentTypeApiHelper.js +4 -134
- package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.js +34 -22
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/ExamineManagementUiHelper.js +6 -5
- package/dist/lib/helpers/ExamineManagementUiHelper.js.map +1 -1
- package/dist/lib/helpers/FormsUiHelper.js +159 -119
- package/dist/lib/helpers/FormsUiHelper.js.map +1 -1
- package/dist/lib/helpers/HealthCheckUiHelper.js +7 -7
- package/dist/lib/helpers/HealthCheckUiHelper.js.map +1 -1
- package/dist/lib/helpers/LanguageApiHelper.d.ts +10 -12
- package/dist/lib/helpers/LanguageApiHelper.js +34 -35
- package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
- package/dist/lib/helpers/LanguageUiHelper.js +19 -16
- package/dist/lib/helpers/LanguageUiHelper.js.map +1 -1
- package/dist/lib/helpers/LogViewerUiHelper.js +31 -22
- package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
- package/dist/lib/helpers/LoginUiHelper.js +7 -4
- package/dist/lib/helpers/LoginUiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeApiHelper.d.ts +4 -18
- package/dist/lib/helpers/MediaTypeApiHelper.js +4 -134
- package/dist/lib/helpers/MediaTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeUiHelper.js +17 -11
- package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaUiHelper.js +45 -36
- package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberApiHelper.d.ts +4 -12
- package/dist/lib/helpers/MemberApiHelper.js +6 -54
- package/dist/lib/helpers/MemberApiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberGroupApiHelper.d.ts +6 -11
- package/dist/lib/helpers/MemberGroupApiHelper.js +20 -35
- package/dist/lib/helpers/MemberGroupApiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberGroupUiHelper.js +16 -13
- package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberTypeApiHelper.d.ts +5 -12
- package/dist/lib/helpers/MemberTypeApiHelper.js +16 -49
- package/dist/lib/helpers/MemberTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberTypeUiHelper.js +3 -2
- package/dist/lib/helpers/MemberTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberUiHelper.js +43 -25
- package/dist/lib/helpers/MemberUiHelper.js.map +1 -1
- package/dist/lib/helpers/ModelsBuilderUiHelper.js +3 -2
- package/dist/lib/helpers/ModelsBuilderUiHelper.js.map +1 -1
- package/dist/lib/helpers/PackageApiHelper.d.ts +5 -4
- package/dist/lib/helpers/PackageApiHelper.js +47 -75
- package/dist/lib/helpers/PackageApiHelper.js.map +1 -1
- package/dist/lib/helpers/PackageUiHelper.js +36 -30
- package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
- package/dist/lib/helpers/PartialViewApiHelper.d.ts +5 -20
- package/dist/lib/helpers/PartialViewApiHelper.js +12 -146
- package/dist/lib/helpers/PartialViewApiHelper.js.map +1 -1
- package/dist/lib/helpers/PartialViewUiHelper.js +17 -14
- package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
- package/dist/lib/helpers/PathBasedTreeApiHelper.d.ts +32 -0
- package/dist/lib/helpers/PathBasedTreeApiHelper.js +164 -0
- package/dist/lib/helpers/PathBasedTreeApiHelper.js.map +1 -0
- package/dist/lib/helpers/ProfilingUiHelper.js +5 -3
- package/dist/lib/helpers/ProfilingUiHelper.js.map +1 -1
- package/dist/lib/helpers/PublishedStatusUiHelper.js +8 -7
- package/dist/lib/helpers/PublishedStatusUiHelper.js.map +1 -1
- package/dist/lib/helpers/RedirectManagementUiHelper.js +12 -7
- package/dist/lib/helpers/RedirectManagementUiHelper.js.map +1 -1
- package/dist/lib/helpers/RelationTypeApiHelper.d.ts +7 -12
- package/dist/lib/helpers/RelationTypeApiHelper.js +28 -49
- package/dist/lib/helpers/RelationTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/RelationTypeUiHelper.js +16 -13
- package/dist/lib/helpers/RelationTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/ScriptApiHelper.d.ts +6 -22
- package/dist/lib/helpers/ScriptApiHelper.js +12 -165
- package/dist/lib/helpers/ScriptApiHelper.js.map +1 -1
- package/dist/lib/helpers/ScriptUiHelper.js +13 -9
- package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
- package/dist/lib/helpers/StylesheetApiHelper.d.ts +5 -20
- package/dist/lib/helpers/StylesheetApiHelper.js +13 -154
- package/dist/lib/helpers/StylesheetApiHelper.js.map +1 -1
- package/dist/lib/helpers/StylesheetUiHelper.js +14 -9
- package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
- package/dist/lib/helpers/TelemetryDataUiHelper.js +3 -2
- package/dist/lib/helpers/TelemetryDataUiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateApiHelper.d.ts +8 -15
- package/dist/lib/helpers/TemplateApiHelper.js +51 -83
- package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateUiHelper.js +25 -19
- package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
- package/dist/lib/helpers/TreeApiHelper.d.ts +15 -0
- package/dist/lib/helpers/TreeApiHelper.js +116 -0
- package/dist/lib/helpers/TreeApiHelper.js.map +1 -0
- package/dist/lib/helpers/UiBaseLocators.d.ts +228 -230
- package/dist/lib/helpers/UiBaseLocators.js +871 -834
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UserGroupApiHelper.d.ts +3 -13
- package/dist/lib/helpers/UserGroupApiHelper.js +3 -69
- package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserGroupUiHelper.js +49 -32
- package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
- package/dist/lib/helpers/UserUiHelper.js +46 -43
- package/dist/lib/helpers/UserUiHelper.js.map +1 -1
- package/dist/lib/helpers/VariantBasedApiHelper.d.ts +23 -0
- package/dist/lib/helpers/VariantBasedApiHelper.js +81 -0
- package/dist/lib/helpers/VariantBasedApiHelper.js.map +1 -0
- package/dist/lib/helpers/WebhookApiHelper.d.ts +1 -0
- package/dist/lib/helpers/WebhookApiHelper.js +10 -11
- package/dist/lib/helpers/WebhookApiHelper.js.map +1 -1
- package/dist/lib/helpers/WebhookUiHelper.js +27 -11
- 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 +9 -4
- package/dist/lib/helpers/differentAppSettingsHelpers/ExternalLoginUiHelpers.js.map +1 -1
- package/dist/lib/helpers/differentAppSettingsHelpers/InstallUiHelper.js +10 -5
- package/dist/lib/helpers/differentAppSettingsHelpers/InstallUiHelper.js.map +1 -1
- package/dist/lib/helpers/index.d.ts +4 -1
- package/dist/lib/helpers/index.js +9 -3
- package/dist/lib/helpers/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/lib/helpers/BasePage.d.ts +0 -449
- package/dist/lib/helpers/BasePage.js +0 -547
- package/dist/lib/helpers/BasePage.js.map +0 -1
|
@@ -1,74 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UserGroupApiHelper = void 0;
|
|
4
|
+
const BaseApiHelper_1 = require("./BaseApiHelper");
|
|
4
5
|
const json_models_builders_1 = require("@umbraco/json-models-builders");
|
|
5
6
|
const ConstantHelper_1 = require("./ConstantHelper");
|
|
6
|
-
class UserGroupApiHelper {
|
|
7
|
-
|
|
8
|
-
constructor(api) {
|
|
9
|
-
this.api = api;
|
|
10
|
-
}
|
|
11
|
-
async ensureNameNotExists(name) {
|
|
12
|
-
const json = await this.getAll();
|
|
13
|
-
for (const sb of json.items) {
|
|
14
|
-
if (sb.name === name) {
|
|
15
|
-
if (sb.id !== null) {
|
|
16
|
-
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + sb.id);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
async doesExist(id) {
|
|
23
|
-
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);
|
|
24
|
-
return response.status() === 200;
|
|
25
|
-
}
|
|
26
|
-
async create(userGroupData) {
|
|
27
|
-
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user-group', userGroupData);
|
|
28
|
-
// Returns the id of the userGroup
|
|
29
|
-
return response.headers().location.split("/").pop();
|
|
30
|
-
}
|
|
31
|
-
async getByName(name) {
|
|
32
|
-
const json = await this.getAll();
|
|
33
|
-
for (const sb of json.items) {
|
|
34
|
-
if (sb.name === name) {
|
|
35
|
-
if (sb.id !== null) {
|
|
36
|
-
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + sb.id);
|
|
37
|
-
return await response.json();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
async get(id) {
|
|
44
|
-
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);
|
|
45
|
-
const json = await response.json();
|
|
46
|
-
if (json !== null) {
|
|
47
|
-
return json;
|
|
48
|
-
}
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
async getAll() {
|
|
52
|
-
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');
|
|
53
|
-
const json = await response.json();
|
|
54
|
-
if (json !== null) {
|
|
55
|
-
return json;
|
|
56
|
-
}
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
async update(id, userGroup) {
|
|
60
|
-
const response = await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id, userGroup);
|
|
61
|
-
return response.text();
|
|
62
|
-
}
|
|
63
|
-
async doesNameExist(name) {
|
|
64
|
-
const json = await this.getAll();
|
|
65
|
-
for (const sb of json.items) {
|
|
66
|
-
if (sb.name === name) {
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
7
|
+
class UserGroupApiHelper extends BaseApiHelper_1.BaseApiHelper {
|
|
8
|
+
resourcePath = 'user-group';
|
|
72
9
|
async doesUserGroupContainLanguage(userGroupName, languageName) {
|
|
73
10
|
const userGroup = await this.getByName(userGroupName);
|
|
74
11
|
return userGroup.languages.includes(languageName);
|
|
@@ -85,9 +22,6 @@ class UserGroupApiHelper {
|
|
|
85
22
|
const userGroup = await this.getByName(userGroupName);
|
|
86
23
|
return userGroup.mediaRootAccess;
|
|
87
24
|
}
|
|
88
|
-
async delete(id) {
|
|
89
|
-
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);
|
|
90
|
-
}
|
|
91
25
|
async createEmptyUserGroup(name) {
|
|
92
26
|
await this.ensureNameNotExists(name);
|
|
93
27
|
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserGroupApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserGroupApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {UserGroupBuilder} from \"@umbraco/json-models-builders\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class UserGroupApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const json = await this.getAll();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n return response.status() === 200;\n }\n\n async create(userGroupData) {\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user-group', userGroupData);\n // Returns the id of the userGroup\n return response.headers().location.split(\"/\").pop();\n }\n\n async getByName(name: string) {\n const json = await this.getAll();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + sb.id);\n return await response.json();\n }\n }\n }\n return null;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAll() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async update(id: string, userGroup) {\n const response = await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id, userGroup);\n return response.text();\n }\n\n async doesNameExist(name: string) {\n const json = await this.getAll();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n return false;\n }\n \n async doesUserGroupContainLanguage(userGroupName: string, languageName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.languages.includes(languageName);\n }\n\n async doesUserGroupContainAccessToAllLanguages(userGroupName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.hasAccessToAllLanguages;\n }\n\n async doesUserGroupContainDocumentRootAccess(userGroupName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.documentRootAccess;\n }\n\n async doesUserGroupContainMediaRootAccess(userGroupName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.mediaRootAccess;\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n }\n\n async createEmptyUserGroup(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .build();\n\n return await this.create(userGroup);\n }\n\n async createSimpleUserGroupWithContentSection(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .addFallbackPermission()\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createSimpleUserGroupWithMediaSection(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Media')\n .addFallbackPermission()\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithDocumentAccess(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .withDocumentRootAccess(true)\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDocumentStartNode(name: string, startNodeId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(false)\n .withDocumentStartNodeId(startNodeId)\n .addFallbackPermission()\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithMediaStartNode(name: string, startNodeId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Media')\n .withMediaRootAccess(false)\n .withMediaStartNodeId(startNodeId)\n .addFallbackPermission()\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithLanguage(name: string, languageName: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addLanguage(languageName)\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithLanguageAndContentSection(name: string, languageName: string) {\n await this.ensureNameNotExists(name);\n \n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .addLanguage(languageName)\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withReadPermission(true)\n .withUpdatePermission(true)\n .withReadPropertyValuePermission(true)\n .withWritePropertyValuePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithMemberSection(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Members')\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPermissionsForSpecificDocumentWithRead(name: string, documentId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithReadPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withReadPermission(enabled)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithCreateDocumentBlueprintPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCreateDocumentBlueprintPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDeleteDocumentPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withDeletePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithCreateDocumentPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCreatePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithNotificationsPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withNotificationsPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublishPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withPublishPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSetPermissionsPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withSetPermissionsPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUnpublishPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withUnpublishPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUpdatePermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withUpdatePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDuplicatePermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withDuplicatePermission(enabled)\n .withCreatePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithMoveToPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withMoveToPermission(enabled)\n .withCreatePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSortChildrenPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withSortChildrenPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithCultureAndHostnamesPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCultureAndHostnamesPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublicAccessPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .addSection('Umb.Section.Members')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withPublicAccessPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithRollbackPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withRollbackPermission(enabled)\n .withReadPermission(true)\n .withReadPropertyValuePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDeletePermissionAndCreatePermission(name: string, deleteEnabled: boolean = true, createEnabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withDeletePermission(deleteEnabled)\n .withCreatePermission(createEnabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async doesUserGroupContainContentStartNodeId(userGroupName: string, documentStartNodeId: string) {\n const userGroup = await this.getByName(userGroupName);\n if (userGroup.documentStartNode === null) {\n return false;\n }\n return userGroup.documentStartNode.id.includes(documentStartNodeId);\n }\n\n async doesUserGroupContainMediaStartNodeId(userGroupName: string, mediaStartNodeId: string) {\n const userGroup = await this.getByName(userGroupName);\n if (userGroup.mediaStartNode === null) {\n return false;\n }\n return userGroup.mediaStartNode.id.includes(mediaStartNodeId);\n }\n \n async doesUserGroupContainGranularPermissionsForDocument(userGroupName: string, documentId: string, granularPermissions : string[]) {\n const userGroup = await this.getByName(userGroupName);\n for (const permission of userGroup.permissions) {\n if (permission.document.id === documentId) {\n for (const verb of permission.verbs) {\n if (!granularPermissions.includes(verb)) {\n return false;\n }\n }\n return true;\n }\n }\n return false;\n }\n\n async doesUserGroupHaveFallbackPermissions(userGroupName: string, permissions: string[]) {\n const userGroup = await this.getByName(userGroupName);\n const fallbackPermissions = userGroup.fallbackPermissions;\n if (permissions.length !== fallbackPermissions.length) {\n return false;\n }\n return permissions.every(item => fallbackPermissions.includes(item));\n }\n\n async convertApiPermissionsToUiPermissions(apiPermissions: string[]) {\n return apiPermissions.map(permission => {\n for (const key in ConstantHelper.userGroupPermissionsSettings) {\n if (ConstantHelper.userGroupPermissionsSettings[key][2].toLowerCase() === permission.toLowerCase()) {\n return ConstantHelper.userGroupPermissionsSettings[key][0];\n }\n }\n return null;\n });\n }\n\n async convertApiSectionsToUiSections(apiSections: string[]) {\n return apiSections.map(permission => {\n for (const key in ConstantHelper.userGroupSectionsSettings) {\n if (ConstantHelper.userGroupSectionsSettings[key][1].toLowerCase() === permission.toLowerCase()) {\n return ConstantHelper.userGroupSectionsSettings[key][0];\n }\n }\n return null;\n });\n }\n\n async doesUserGroupHaveSections(userGroupName: string, sections: string[]) {\n const userGroup = await this.getByName(userGroupName);\n const sectionsData = userGroup.sections;\n if (sectionsData.length !== sections.length) {\n return false;\n }\n return sections.every(item => sectionsData.includes(item));\n }\n\n async createUserGroupWithReadPermissionAndReadPropertyValuePermission(name: string, readEnabled: boolean = true, readPropertyValueEnabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withReadPermission(readEnabled)\n .withReadPropertyValuePermission(readPropertyValueEnabled)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithUpdatePermissionAndWritePropertyValuePermission(name: string, updateEnabled: boolean = true, writePropertyValueEnabled: boolean = true, readPropertyValueEnabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withUpdatePermission(updateEnabled)\n .withReadPermission(true)\n .withWritePropertyValuePermission(writePropertyValueEnabled)\n .withReadPropertyValuePermission(readPropertyValueEnabled)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithPermissionsForSpecificDocumentAndTwoPropertyValues(name: string, documentId: string, documentTypeId: string, firstPropertyValueName: string, readFirstPropertyValueEnabled: boolean = true, writeFirstPropertyValueEnabled: boolean = true, secondPropertyValueName: string, readSecondPropertyValueEnabled: boolean = true, writeSecondPropertyValueEnabled: boolean = true) {\n await this.ensureNameNotExists(name);\n const firstPropertyValueId = await this.api.documentType.getPropertyIdWithName(documentTypeId, firstPropertyValueName);\n const secondPropertyValueId = await this.api.documentType.getPropertyIdWithName(documentTypeId, secondPropertyValueName);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withReadPermission(true)\n .withUpdatePermission(true)\n .done()\n .done()\n .addPropertyValuePermission()\n .withDocumentTypeId(documentTypeId)\n .withPropertyTypeId(firstPropertyValueId)\n .addVerbs()\n .withReadPropertyValuePermission(readFirstPropertyValueEnabled)\n .withWritePropertyValuePermission(writeFirstPropertyValueEnabled)\n .done()\n .done()\n .addPropertyValuePermission()\n .withDocumentTypeId(documentTypeId)\n .withPropertyTypeId(secondPropertyValueId)\n .addVerbs()\n .withReadPropertyValuePermission(readSecondPropertyValueEnabled)\n .withWritePropertyValuePermission(writeSecondPropertyValueEnabled)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithReadPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withReadPermission(enabled)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithCreateDocumentBlueprintPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withCreateDocumentBlueprintPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithDeletePermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withDeletePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithCreatePermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withCreatePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithNotificationsPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withNotificationsPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublishPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withPublishPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSetPermissionsPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withSetPermissionsPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUnpublishPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withUnpublishPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUpdatePermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withReadPermission(true)\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withUpdatePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDuplicatePermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCreatePermission(true) // need to have the 'create' permission - refer this PR: https://github.com/umbraco/Umbraco-CMS/pull/19303\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withDuplicatePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithMoveToPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCreatePermission(true) // need to have the 'create' permission - refer this PR: https://github.com/umbraco/Umbraco-CMS/pull/19303\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withMoveToPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSortChildrenPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withSortChildrenPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithCultureAndHostnamesPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withCultureAndHostnamesPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublicAccessPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .addSection('Umb.Section.Members')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withPublicAccessPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithRollbackPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withReadPropertyValuePermission(true)\n .withWritePropertyValuePermission(true)\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withRollbackPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithCreateAndUpdateDocumentPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCreatePermission(enabled)\n .withUpdatePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"UserGroupApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserGroupApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {BaseApiHelper} from \"./BaseApiHelper\";\nimport {UserGroupBuilder} from \"@umbraco/json-models-builders\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class UserGroupApiHelper extends BaseApiHelper {\n protected resourcePath = 'user-group';\n\n async doesUserGroupContainLanguage(userGroupName: string, languageName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.languages.includes(languageName);\n }\n\n async doesUserGroupContainAccessToAllLanguages(userGroupName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.hasAccessToAllLanguages;\n }\n\n async doesUserGroupContainDocumentRootAccess(userGroupName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.documentRootAccess;\n }\n\n async doesUserGroupContainMediaRootAccess(userGroupName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.mediaRootAccess;\n }\n\n async createEmptyUserGroup(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .build();\n\n return await this.create(userGroup);\n }\n\n async createSimpleUserGroupWithContentSection(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .addFallbackPermission()\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createSimpleUserGroupWithMediaSection(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Media')\n .addFallbackPermission()\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithDocumentAccess(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .withDocumentRootAccess(true)\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDocumentStartNode(name: string, startNodeId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(false)\n .withDocumentStartNodeId(startNodeId)\n .addFallbackPermission()\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithMediaStartNode(name: string, startNodeId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Media')\n .withMediaRootAccess(false)\n .withMediaStartNodeId(startNodeId)\n .addFallbackPermission()\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithLanguage(name: string, languageName: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addLanguage(languageName)\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithLanguageAndContentSection(name: string, languageName: string) {\n await this.ensureNameNotExists(name);\n \n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .addLanguage(languageName)\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withReadPermission(true)\n .withUpdatePermission(true)\n .withReadPropertyValuePermission(true)\n .withWritePropertyValuePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithMemberSection(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Members')\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPermissionsForSpecificDocumentWithRead(name: string, documentId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithReadPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withReadPermission(enabled)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithCreateDocumentBlueprintPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCreateDocumentBlueprintPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDeleteDocumentPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withDeletePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithCreateDocumentPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCreatePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithNotificationsPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withNotificationsPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublishPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withPublishPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSetPermissionsPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withSetPermissionsPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUnpublishPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withUnpublishPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUpdatePermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withUpdatePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDuplicatePermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withDuplicatePermission(enabled)\n .withCreatePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithMoveToPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withMoveToPermission(enabled)\n .withCreatePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSortChildrenPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withSortChildrenPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithCultureAndHostnamesPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCultureAndHostnamesPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublicAccessPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .addSection('Umb.Section.Members')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withPublicAccessPermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithRollbackPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withRollbackPermission(enabled)\n .withReadPermission(true)\n .withReadPropertyValuePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDeletePermissionAndCreatePermission(name: string, deleteEnabled: boolean = true, createEnabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withDeletePermission(deleteEnabled)\n .withCreatePermission(createEnabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async doesUserGroupContainContentStartNodeId(userGroupName: string, documentStartNodeId: string) {\n const userGroup = await this.getByName(userGroupName);\n if (userGroup.documentStartNode === null) {\n return false;\n }\n return userGroup.documentStartNode.id.includes(documentStartNodeId);\n }\n\n async doesUserGroupContainMediaStartNodeId(userGroupName: string, mediaStartNodeId: string) {\n const userGroup = await this.getByName(userGroupName);\n if (userGroup.mediaStartNode === null) {\n return false;\n }\n return userGroup.mediaStartNode.id.includes(mediaStartNodeId);\n }\n \n async doesUserGroupContainGranularPermissionsForDocument(userGroupName: string, documentId: string, granularPermissions : string[]) {\n const userGroup = await this.getByName(userGroupName);\n for (const permission of userGroup.permissions) {\n if (permission.document.id === documentId) {\n for (const verb of permission.verbs) {\n if (!granularPermissions.includes(verb)) {\n return false;\n }\n }\n return true;\n }\n }\n return false;\n }\n\n async doesUserGroupHaveFallbackPermissions(userGroupName: string, permissions: string[]) {\n const userGroup = await this.getByName(userGroupName);\n const fallbackPermissions = userGroup.fallbackPermissions;\n if (permissions.length !== fallbackPermissions.length) {\n return false;\n }\n return permissions.every(item => fallbackPermissions.includes(item));\n }\n\n async convertApiPermissionsToUiPermissions(apiPermissions: string[]) {\n return apiPermissions.map(permission => {\n for (const key in ConstantHelper.userGroupPermissionsSettings) {\n if (ConstantHelper.userGroupPermissionsSettings[key][2].toLowerCase() === permission.toLowerCase()) {\n return ConstantHelper.userGroupPermissionsSettings[key][0];\n }\n }\n return null;\n });\n }\n\n async convertApiSectionsToUiSections(apiSections: string[]) {\n return apiSections.map(permission => {\n for (const key in ConstantHelper.userGroupSectionsSettings) {\n if (ConstantHelper.userGroupSectionsSettings[key][1].toLowerCase() === permission.toLowerCase()) {\n return ConstantHelper.userGroupSectionsSettings[key][0];\n }\n }\n return null;\n });\n }\n\n async doesUserGroupHaveSections(userGroupName: string, sections: string[]) {\n const userGroup = await this.getByName(userGroupName);\n const sectionsData = userGroup.sections;\n if (sectionsData.length !== sections.length) {\n return false;\n }\n return sections.every(item => sectionsData.includes(item));\n }\n\n async createUserGroupWithReadPermissionAndReadPropertyValuePermission(name: string, readEnabled: boolean = true, readPropertyValueEnabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withReadPermission(readEnabled)\n .withReadPropertyValuePermission(readPropertyValueEnabled)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithUpdatePermissionAndWritePropertyValuePermission(name: string, updateEnabled: boolean = true, writePropertyValueEnabled: boolean = true, readPropertyValueEnabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withUpdatePermission(updateEnabled)\n .withReadPermission(true)\n .withWritePropertyValuePermission(writePropertyValueEnabled)\n .withReadPropertyValuePermission(readPropertyValueEnabled)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithPermissionsForSpecificDocumentAndTwoPropertyValues(name: string, documentId: string, documentTypeId: string, firstPropertyValueName: string, readFirstPropertyValueEnabled: boolean = true, writeFirstPropertyValueEnabled: boolean = true, secondPropertyValueName: string, readSecondPropertyValueEnabled: boolean = true, writeSecondPropertyValueEnabled: boolean = true) {\n await this.ensureNameNotExists(name);\n const firstPropertyValueId = await this.api.documentType.getPropertyIdWithName(documentTypeId, firstPropertyValueName);\n const secondPropertyValueId = await this.api.documentType.getPropertyIdWithName(documentTypeId, secondPropertyValueName);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withReadPermission(true)\n .withUpdatePermission(true)\n .done()\n .done()\n .addPropertyValuePermission()\n .withDocumentTypeId(documentTypeId)\n .withPropertyTypeId(firstPropertyValueId)\n .addVerbs()\n .withReadPropertyValuePermission(readFirstPropertyValueEnabled)\n .withWritePropertyValuePermission(writeFirstPropertyValueEnabled)\n .done()\n .done()\n .addPropertyValuePermission()\n .withDocumentTypeId(documentTypeId)\n .withPropertyTypeId(secondPropertyValueId)\n .addVerbs()\n .withReadPropertyValuePermission(readSecondPropertyValueEnabled)\n .withWritePropertyValuePermission(writeSecondPropertyValueEnabled)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithReadPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withReadPermission(enabled)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithCreateDocumentBlueprintPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withCreateDocumentBlueprintPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithDeletePermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withDeletePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithCreatePermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withCreatePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithNotificationsPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withNotificationsPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublishPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withPublishPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSetPermissionsPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withSetPermissionsPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUnpublishPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withUnpublishPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUpdatePermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withReadPermission(true)\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withUpdatePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDuplicatePermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCreatePermission(true) // need to have the 'create' permission - refer this PR: https://github.com/umbraco/Umbraco-CMS/pull/19303\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withDuplicatePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithMoveToPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCreatePermission(true) // need to have the 'create' permission - refer this PR: https://github.com/umbraco/Umbraco-CMS/pull/19303\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withMoveToPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSortChildrenPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withSortChildrenPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithCultureAndHostnamesPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withCultureAndHostnamesPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublicAccessPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .addSection('Umb.Section.Members')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withPublicAccessPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithRollbackPermissionForSpecificDocument(name: string, documentId: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withReadPropertyValuePermission(true)\n .withWritePropertyValuePermission(true)\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withRollbackPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithCreateAndUpdateDocumentPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCreatePermission(enabled)\n .withUpdatePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n}"]}
|
|
@@ -3,7 +3,6 @@ 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");
|
|
7
6
|
class UserGroupUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
8
7
|
userGroupsBtn;
|
|
9
8
|
chooseSectionBtn;
|
|
@@ -45,63 +44,73 @@ class UserGroupUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
45
44
|
this.inputEntityUserPermissionList = page.locator('umb-input-entity-user-permission');
|
|
46
45
|
}
|
|
47
46
|
async clickUserGroupsButton() {
|
|
48
|
-
await
|
|
49
|
-
await this.
|
|
47
|
+
await (0, test_1.expect)(this.userGroupsBtn).toBeVisible();
|
|
48
|
+
await this.userGroupsBtn.click();
|
|
49
|
+
await this.page.waitForTimeout(500);
|
|
50
50
|
}
|
|
51
51
|
async enterUserGroupName(name) {
|
|
52
|
-
await
|
|
52
|
+
await (0, test_1.expect)(this.enterAName).toBeVisible();
|
|
53
|
+
await this.enterAName.clear();
|
|
54
|
+
await this.enterAName.fill(name);
|
|
53
55
|
}
|
|
54
56
|
async addLanguageToUserGroup(languageName) {
|
|
55
|
-
await
|
|
57
|
+
await (0, test_1.expect)(this.chooseLanguageBtn).toBeVisible();
|
|
58
|
+
await this.chooseLanguageBtn.click();
|
|
56
59
|
await this.clickLabelWithName(languageName, true);
|
|
57
60
|
await this.clickSubmitButton();
|
|
58
61
|
}
|
|
59
62
|
async clickAllowAccessToAllLanguages() {
|
|
60
|
-
await
|
|
63
|
+
await (0, test_1.expect)(this.allowAccessToAllLanguagesBtn).toBeVisible();
|
|
64
|
+
await this.allowAccessToAllLanguagesBtn.click();
|
|
61
65
|
}
|
|
62
66
|
async clickAllowAccessToAllDocuments() {
|
|
63
|
-
await
|
|
67
|
+
await (0, test_1.expect)(this.allowAccessToAllDocumentsBtn).toBeVisible();
|
|
68
|
+
await this.allowAccessToAllDocumentsBtn.click();
|
|
64
69
|
}
|
|
65
70
|
async clickAllowAccessToAllMedia() {
|
|
66
|
-
await
|
|
71
|
+
await (0, test_1.expect)(this.allowAccessToAllMediaBtn).toBeVisible();
|
|
72
|
+
await this.allowAccessToAllMediaBtn.click();
|
|
67
73
|
}
|
|
68
74
|
async waitForUserGroupToBeCreated() {
|
|
69
|
-
await this.waitForLoadState();
|
|
75
|
+
await this.page.waitForLoadState();
|
|
70
76
|
}
|
|
71
77
|
async waitForUserGroupToBeDeleted() {
|
|
72
|
-
await this.waitForLoadState();
|
|
78
|
+
await this.page.waitForLoadState();
|
|
73
79
|
}
|
|
74
80
|
async waitForUserGroupToBeRenamed() {
|
|
75
|
-
await this.waitForLoadState();
|
|
81
|
+
await this.page.waitForLoadState();
|
|
76
82
|
}
|
|
77
83
|
async clickCreateUserGroupButton() {
|
|
78
|
-
await
|
|
84
|
+
await (0, test_1.expect)(this.userGroupCreateBtn).toBeVisible();
|
|
85
|
+
await this.userGroupCreateBtn.click();
|
|
79
86
|
}
|
|
80
87
|
async clickRemoveLanguageFromUserGroup(languageName) {
|
|
81
|
-
await
|
|
88
|
+
await (0, test_1.expect)(this.entityItem.filter({ hasText: languageName }).getByLabel('Remove')).toBeVisible();
|
|
89
|
+
await this.entityItem.filter({ hasText: languageName }).getByLabel('Remove').click();
|
|
82
90
|
}
|
|
83
91
|
async isUserGroupWithNameVisible(name, isVisible = true) {
|
|
84
|
-
return await
|
|
92
|
+
return await (0, test_1.expect)(this.page.locator('uui-table-row', { hasText: name })).toBeVisible({ visible: isVisible });
|
|
85
93
|
}
|
|
86
94
|
async clickUserGroupWithName(name) {
|
|
87
|
-
await
|
|
88
|
-
await this.page.
|
|
95
|
+
await (0, test_1.expect)(this.page.getByRole('link', { name: name })).toBeVisible();
|
|
96
|
+
await this.page.getByRole('link', { name: name }).click();
|
|
97
|
+
await this.page.waitForTimeout(200);
|
|
89
98
|
}
|
|
90
99
|
async clickPermissionsByName(permissionName) {
|
|
91
100
|
for (let i = 0; i < permissionName.length; i++) {
|
|
92
|
-
await this.
|
|
101
|
+
await this.permissionVerbBtn.getByText(permissionName[i], { exact: true }).click();
|
|
93
102
|
}
|
|
94
103
|
}
|
|
95
104
|
async clickGranularPermissionsByName(permissionName) {
|
|
96
105
|
for (let i = 0; i < permissionName.length; i++) {
|
|
97
|
-
await this.
|
|
106
|
+
await this.granularPermissionsModal.getByText(permissionName[i], { exact: true }).click();
|
|
98
107
|
}
|
|
99
108
|
}
|
|
100
109
|
async doesUserGroupHavePermission(permissionName, hasPermission = true) {
|
|
101
|
-
await
|
|
110
|
+
await (0, test_1.expect)(this.permissionVerbBtn.filter({ has: this.page.getByLabel(permissionName, { exact: true }) }).filter({ has: this.iconChecked })).toBeVisible({ visible: hasPermission });
|
|
102
111
|
}
|
|
103
112
|
async doesUserGroupHaveGranularPermission(permissionName, hasPermission = true) {
|
|
104
|
-
await
|
|
113
|
+
await (0, test_1.expect)(this.granularPermissionsModal.filter({ has: this.page.getByLabel(permissionName, { exact: true }) }).filter({ has: this.iconChecked })).toBeVisible({ visible: hasPermission });
|
|
105
114
|
}
|
|
106
115
|
async addSectionWithNameToUserGroup(sectionName) {
|
|
107
116
|
await this.clickChooseSectionButton();
|
|
@@ -109,36 +118,44 @@ class UserGroupUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
109
118
|
await this.clickSubmitButton();
|
|
110
119
|
}
|
|
111
120
|
async clickChooseSectionButton() {
|
|
112
|
-
await
|
|
121
|
+
await (0, test_1.expect)(this.chooseSectionBtn).toBeVisible();
|
|
122
|
+
await this.chooseSectionBtn.click();
|
|
113
123
|
}
|
|
114
124
|
async doesUserGroupTableHaveSection(userGroupName, sectionName, hasSection = true) {
|
|
115
|
-
await
|
|
125
|
+
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 });
|
|
116
126
|
}
|
|
117
127
|
async doesUserGroupContainLanguage(languageName, isVisible = true) {
|
|
118
|
-
await
|
|
119
|
-
await
|
|
128
|
+
await (0, test_1.expect)(this.languageInput).toBeVisible();
|
|
129
|
+
await (0, test_1.expect)(this.languageInput.filter({ hasText: languageName })).toBeVisible({ visible: isVisible });
|
|
120
130
|
}
|
|
121
131
|
async clickRemoveSectionFromUserGroup(sectionName) {
|
|
122
|
-
await
|
|
132
|
+
await (0, test_1.expect)(this.section.filter({ hasText: sectionName }).getByLabel('Remove')).toBeVisible();
|
|
133
|
+
await this.section.filter({ hasText: sectionName }).getByLabel('Remove').click();
|
|
123
134
|
}
|
|
124
135
|
async clickRemoveContentStartNodeFromUserGroup(contentStartNodeName) {
|
|
125
|
-
await
|
|
136
|
+
await (0, test_1.expect)(this.contentStartNode.filter({ hasText: contentStartNodeName }).getByLabel('Remove')).toBeVisible();
|
|
137
|
+
await this.contentStartNode.filter({ hasText: contentStartNodeName }).getByLabel('Remove').click();
|
|
126
138
|
}
|
|
127
139
|
async clickRemoveMediaStartNodeFromUserGroup(mediaStartNodeName) {
|
|
140
|
+
const removeMediaStartNodeWithNameLocator = this.mediaStartNode.filter({ hasText: mediaStartNodeName }).getByLabel('Remove');
|
|
141
|
+
await (0, test_1.expect)(removeMediaStartNodeWithNameLocator).toBeVisible();
|
|
128
142
|
// Force click is needed
|
|
129
|
-
await
|
|
143
|
+
await removeMediaStartNodeWithNameLocator.click({ force: true });
|
|
130
144
|
}
|
|
131
145
|
async doesUserGroupHavePermissionEnabled(permissionName) {
|
|
132
146
|
return await Promise.all(permissionName.map(permission => this.doesUserGroupHavePermission(permission)));
|
|
133
147
|
}
|
|
134
148
|
async clickGranularPermissionWithName(permissionName) {
|
|
135
|
-
await
|
|
149
|
+
await (0, test_1.expect)(this.granularPermission.getByText(permissionName)).toBeVisible();
|
|
150
|
+
await this.granularPermission.getByText(permissionName).click();
|
|
136
151
|
}
|
|
137
152
|
async clickAddGranularPermission() {
|
|
138
|
-
await
|
|
153
|
+
await (0, test_1.expect)(this.addGranularPermissionBtn).toBeVisible();
|
|
154
|
+
await this.addGranularPermissionBtn.click();
|
|
139
155
|
}
|
|
140
156
|
async clickRemoveGranularPermissionWithName(permissionName) {
|
|
141
|
-
await
|
|
157
|
+
await (0, test_1.expect)(this.granularPermission.filter({ hasText: permissionName }).getByLabel('Remove')).toBeVisible();
|
|
158
|
+
await this.granularPermission.filter({ hasText: permissionName }).getByLabel('Remove').click();
|
|
142
159
|
}
|
|
143
160
|
async doesSettingHaveValue(headline, settings) {
|
|
144
161
|
for (let index = 0; index < Object.keys(settings).length; index++) {
|
|
@@ -159,13 +176,13 @@ class UserGroupUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
159
176
|
}
|
|
160
177
|
}
|
|
161
178
|
async doesUserGroupContainSection(section) {
|
|
162
|
-
await
|
|
179
|
+
return await (0, test_1.expect)(this.sectionList).toContainText(section);
|
|
163
180
|
}
|
|
164
181
|
async doesUserGroupHaveSections(sections) {
|
|
165
182
|
return await Promise.all(sections.map(section => this.doesUserGroupContainSection(section)));
|
|
166
183
|
}
|
|
167
184
|
async doesUserGroupSectionsHaveCount(count) {
|
|
168
|
-
await
|
|
185
|
+
return await (0, test_1.expect)(this.section).toHaveCount(count);
|
|
169
186
|
}
|
|
170
187
|
}
|
|
171
188
|
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\";\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 this.isVisible(this.page.locator('uui-table-row', {hasText: name}), 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 this.isVisible(this.permissionVerbBtn.filter({has: this.page.getByLabel(permissionName, {exact: true})}).filter({has: this.iconChecked}), hasPermission);\n }\n\n async doesUserGroupHaveGranularPermission(permissionName: string, hasPermission = true) {\n await this.isVisible(this.granularPermissionsModal.filter({has: this.page.getByLabel(permissionName, {exact: true})}).filter({has: this.iconChecked}), 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 this.isVisible(this.page.locator('uui-table-row', {hasText: userGroupName}).locator('umb-user-group-table-sections-column-layout', {hasText: sectionName}), hasSection);\n }\n\n async doesUserGroupContainLanguage(languageName: string, isVisible = true) {\n await this.waitForVisible(this.languageInput);\n await this.isVisible(this.languageInput.filter({hasText: languageName}), 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}"]}
|
|
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}"]}
|