@umbraco/playwright-testhelpers 17.1.0-beta.5 → 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.
Files changed (147) hide show
  1. package/dist/lib/helpers/BaseApiHelper.d.ts +19 -0
  2. package/dist/lib/helpers/BaseApiHelper.js +87 -0
  3. package/dist/lib/helpers/BaseApiHelper.js.map +1 -0
  4. package/dist/lib/helpers/ConstantHelper.d.ts +0 -17
  5. package/dist/lib/helpers/ConstantHelper.js +0 -17
  6. package/dist/lib/helpers/ConstantHelper.js.map +1 -1
  7. package/dist/lib/helpers/ContentRenderUiHelper.js +3 -3
  8. package/dist/lib/helpers/ContentRenderUiHelper.js.map +1 -1
  9. package/dist/lib/helpers/ContentUiHelper.js +487 -353
  10. package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
  11. package/dist/lib/helpers/CurrentUserProfileUiHelper.js +10 -4
  12. package/dist/lib/helpers/CurrentUserProfileUiHelper.js.map +1 -1
  13. package/dist/lib/helpers/DataTypeApiHelper.d.ts +9 -21
  14. package/dist/lib/helpers/DataTypeApiHelper.js +32 -125
  15. package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
  16. package/dist/lib/helpers/DataTypeUiHelper.js +332 -193
  17. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
  18. package/dist/lib/helpers/DictionaryApiHelper.d.ts +8 -15
  19. package/dist/lib/helpers/DictionaryApiHelper.js +49 -77
  20. package/dist/lib/helpers/DictionaryApiHelper.js.map +1 -1
  21. package/dist/lib/helpers/DictionaryUiHelper.js +23 -17
  22. package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
  23. package/dist/lib/helpers/DocumentBlueprintApiHelper.d.ts +7 -13
  24. package/dist/lib/helpers/DocumentBlueprintApiHelper.js +44 -69
  25. package/dist/lib/helpers/DocumentBlueprintApiHelper.js.map +1 -1
  26. package/dist/lib/helpers/DocumentBlueprintUiHelper.js +10 -8
  27. package/dist/lib/helpers/DocumentBlueprintUiHelper.js.map +1 -1
  28. package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +4 -18
  29. package/dist/lib/helpers/DocumentTypeApiHelper.js +4 -134
  30. package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
  31. package/dist/lib/helpers/DocumentTypeUiHelper.js +34 -22
  32. package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
  33. package/dist/lib/helpers/ExamineManagementUiHelper.js +6 -5
  34. package/dist/lib/helpers/ExamineManagementUiHelper.js.map +1 -1
  35. package/dist/lib/helpers/FormsUiHelper.js +159 -119
  36. package/dist/lib/helpers/FormsUiHelper.js.map +1 -1
  37. package/dist/lib/helpers/HealthCheckUiHelper.js +7 -7
  38. package/dist/lib/helpers/HealthCheckUiHelper.js.map +1 -1
  39. package/dist/lib/helpers/LanguageApiHelper.d.ts +10 -12
  40. package/dist/lib/helpers/LanguageApiHelper.js +34 -35
  41. package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
  42. package/dist/lib/helpers/LanguageUiHelper.js +19 -16
  43. package/dist/lib/helpers/LanguageUiHelper.js.map +1 -1
  44. package/dist/lib/helpers/LogViewerUiHelper.js +31 -22
  45. package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
  46. package/dist/lib/helpers/LoginUiHelper.js +7 -4
  47. package/dist/lib/helpers/LoginUiHelper.js.map +1 -1
  48. package/dist/lib/helpers/MediaTypeApiHelper.d.ts +4 -18
  49. package/dist/lib/helpers/MediaTypeApiHelper.js +4 -134
  50. package/dist/lib/helpers/MediaTypeApiHelper.js.map +1 -1
  51. package/dist/lib/helpers/MediaTypeUiHelper.js +17 -11
  52. package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -1
  53. package/dist/lib/helpers/MediaUiHelper.js +45 -36
  54. package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
  55. package/dist/lib/helpers/MemberApiHelper.d.ts +4 -12
  56. package/dist/lib/helpers/MemberApiHelper.js +6 -54
  57. package/dist/lib/helpers/MemberApiHelper.js.map +1 -1
  58. package/dist/lib/helpers/MemberGroupApiHelper.d.ts +6 -11
  59. package/dist/lib/helpers/MemberGroupApiHelper.js +20 -35
  60. package/dist/lib/helpers/MemberGroupApiHelper.js.map +1 -1
  61. package/dist/lib/helpers/MemberGroupUiHelper.js +16 -13
  62. package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -1
  63. package/dist/lib/helpers/MemberTypeApiHelper.d.ts +5 -12
  64. package/dist/lib/helpers/MemberTypeApiHelper.js +16 -49
  65. package/dist/lib/helpers/MemberTypeApiHelper.js.map +1 -1
  66. package/dist/lib/helpers/MemberTypeUiHelper.js +3 -2
  67. package/dist/lib/helpers/MemberTypeUiHelper.js.map +1 -1
  68. package/dist/lib/helpers/MemberUiHelper.js +43 -25
  69. package/dist/lib/helpers/MemberUiHelper.js.map +1 -1
  70. package/dist/lib/helpers/ModelsBuilderUiHelper.js +3 -2
  71. package/dist/lib/helpers/ModelsBuilderUiHelper.js.map +1 -1
  72. package/dist/lib/helpers/PackageApiHelper.d.ts +5 -4
  73. package/dist/lib/helpers/PackageApiHelper.js +47 -75
  74. package/dist/lib/helpers/PackageApiHelper.js.map +1 -1
  75. package/dist/lib/helpers/PackageUiHelper.js +36 -30
  76. package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
  77. package/dist/lib/helpers/PartialViewApiHelper.d.ts +5 -20
  78. package/dist/lib/helpers/PartialViewApiHelper.js +12 -146
  79. package/dist/lib/helpers/PartialViewApiHelper.js.map +1 -1
  80. package/dist/lib/helpers/PartialViewUiHelper.js +17 -14
  81. package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
  82. package/dist/lib/helpers/PathBasedTreeApiHelper.d.ts +32 -0
  83. package/dist/lib/helpers/PathBasedTreeApiHelper.js +164 -0
  84. package/dist/lib/helpers/PathBasedTreeApiHelper.js.map +1 -0
  85. package/dist/lib/helpers/ProfilingUiHelper.js +5 -3
  86. package/dist/lib/helpers/ProfilingUiHelper.js.map +1 -1
  87. package/dist/lib/helpers/PublishedStatusUiHelper.js +8 -7
  88. package/dist/lib/helpers/PublishedStatusUiHelper.js.map +1 -1
  89. package/dist/lib/helpers/RedirectManagementUiHelper.js +12 -7
  90. package/dist/lib/helpers/RedirectManagementUiHelper.js.map +1 -1
  91. package/dist/lib/helpers/RelationTypeApiHelper.d.ts +7 -12
  92. package/dist/lib/helpers/RelationTypeApiHelper.js +28 -49
  93. package/dist/lib/helpers/RelationTypeApiHelper.js.map +1 -1
  94. package/dist/lib/helpers/RelationTypeUiHelper.js +16 -13
  95. package/dist/lib/helpers/RelationTypeUiHelper.js.map +1 -1
  96. package/dist/lib/helpers/ScriptApiHelper.d.ts +6 -22
  97. package/dist/lib/helpers/ScriptApiHelper.js +12 -165
  98. package/dist/lib/helpers/ScriptApiHelper.js.map +1 -1
  99. package/dist/lib/helpers/ScriptUiHelper.js +13 -9
  100. package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
  101. package/dist/lib/helpers/StylesheetApiHelper.d.ts +5 -20
  102. package/dist/lib/helpers/StylesheetApiHelper.js +13 -154
  103. package/dist/lib/helpers/StylesheetApiHelper.js.map +1 -1
  104. package/dist/lib/helpers/StylesheetUiHelper.js +14 -9
  105. package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
  106. package/dist/lib/helpers/TelemetryDataUiHelper.js +3 -2
  107. package/dist/lib/helpers/TelemetryDataUiHelper.js.map +1 -1
  108. package/dist/lib/helpers/TemplateApiHelper.d.ts +8 -15
  109. package/dist/lib/helpers/TemplateApiHelper.js +51 -83
  110. package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
  111. package/dist/lib/helpers/TemplateUiHelper.js +25 -19
  112. package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
  113. package/dist/lib/helpers/TreeApiHelper.d.ts +15 -0
  114. package/dist/lib/helpers/TreeApiHelper.js +116 -0
  115. package/dist/lib/helpers/TreeApiHelper.js.map +1 -0
  116. package/dist/lib/helpers/UiBaseLocators.d.ts +228 -230
  117. package/dist/lib/helpers/UiBaseLocators.js +871 -832
  118. package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
  119. package/dist/lib/helpers/UserGroupApiHelper.d.ts +3 -13
  120. package/dist/lib/helpers/UserGroupApiHelper.js +3 -69
  121. package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
  122. package/dist/lib/helpers/UserGroupUiHelper.js +49 -32
  123. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
  124. package/dist/lib/helpers/UserUiHelper.js +46 -43
  125. package/dist/lib/helpers/UserUiHelper.js.map +1 -1
  126. package/dist/lib/helpers/VariantBasedApiHelper.d.ts +23 -0
  127. package/dist/lib/helpers/VariantBasedApiHelper.js +81 -0
  128. package/dist/lib/helpers/VariantBasedApiHelper.js.map +1 -0
  129. package/dist/lib/helpers/WebhookApiHelper.d.ts +1 -0
  130. package/dist/lib/helpers/WebhookApiHelper.js +10 -11
  131. package/dist/lib/helpers/WebhookApiHelper.js.map +1 -1
  132. package/dist/lib/helpers/WebhookUiHelper.js +27 -11
  133. package/dist/lib/helpers/WebhookUiHelper.js.map +1 -1
  134. package/dist/lib/helpers/WelcomeDashboardUiHelper.js +1 -1
  135. package/dist/lib/helpers/WelcomeDashboardUiHelper.js.map +1 -1
  136. package/dist/lib/helpers/differentAppSettingsHelpers/ExternalLoginUiHelpers.js +9 -4
  137. package/dist/lib/helpers/differentAppSettingsHelpers/ExternalLoginUiHelpers.js.map +1 -1
  138. package/dist/lib/helpers/differentAppSettingsHelpers/InstallUiHelper.js +10 -5
  139. package/dist/lib/helpers/differentAppSettingsHelpers/InstallUiHelper.js.map +1 -1
  140. package/dist/lib/helpers/index.d.ts +4 -1
  141. package/dist/lib/helpers/index.js +9 -3
  142. package/dist/lib/helpers/index.js.map +1 -1
  143. package/dist/tsconfig.tsbuildinfo +1 -1
  144. package/package.json +1 -1
  145. package/dist/lib/helpers/BasePage.d.ts +0 -449
  146. package/dist/lib/helpers/BasePage.js +0 -547
  147. package/dist/lib/helpers/BasePage.js.map +0 -1
@@ -1,67 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MemberTypeApiHelper = void 0;
4
+ const TreeApiHelper_1 = require("./TreeApiHelper");
4
5
  const AliasHelper_1 = require("./AliasHelper");
5
6
  const json_models_builders_1 = require("@umbraco/json-models-builders");
6
- class MemberTypeApiHelper {
7
- api;
8
- constructor(api) {
9
- this.api = api;
10
- }
7
+ class MemberTypeApiHelper extends TreeApiHelper_1.TreeApiHelper {
8
+ resourcePath = 'member-type';
9
+ treePath = 'tree/member-type';
10
+ // Override ensureNameNotExists - MemberType has no folders
11
11
  async ensureNameNotExists(name) {
12
- const rootMemberTypes = await this.getAllAtRoot();
13
- const jsonMemberTypes = await rootMemberTypes.json();
14
- for (const memberType of jsonMemberTypes.items) {
15
- if (memberType.name === name) {
16
- return await this.delete(memberType.id);
12
+ const rootItems = await this.getAllAtRoot();
13
+ const jsonItems = await rootItems.json();
14
+ for (const item of jsonItems.items) {
15
+ if (item.name === name) {
16
+ return await this.delete(item.id);
17
17
  }
18
18
  }
19
19
  return null;
20
20
  }
21
- async create(memberType) {
22
- if (memberType == null) {
23
- return;
24
- }
25
- const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/member-type', memberType);
26
- return response.headers().location.split("v1/member-type/").pop();
27
- }
28
- async update(id, updatedMemberType) {
29
- if (updatedMemberType == null) {
30
- return;
31
- }
32
- return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/member-type/' + id, updatedMemberType);
33
- }
34
- async get(id) {
35
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/member-type/' + id);
36
- return await response.json();
37
- }
38
- async delete(id) {
39
- if (id == null) {
40
- return;
41
- }
42
- const response = await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/member-type/' + id);
43
- return response.status();
44
- }
45
- async getAllAtRoot() {
46
- return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/member-type/root?skip=0&take=10000');
47
- }
21
+ // Override getByName - MemberType has no folders
48
22
  async getByName(name) {
49
- const rootMemberTypes = await this.getAllAtRoot();
50
- const jsonMemberTypes = await rootMemberTypes.json();
51
- for (const memberType of jsonMemberTypes.items) {
52
- if (memberType.name === name) {
53
- return this.get(memberType.id);
23
+ const rootItems = await this.getAllAtRoot();
24
+ const jsonItems = await rootItems.json();
25
+ for (const item of jsonItems.items) {
26
+ if (item.name === name) {
27
+ return this.get(item.id);
54
28
  }
55
29
  }
56
30
  return false;
57
31
  }
58
- async doesExist(id) {
59
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/member-type/' + id);
60
- return response.status() === 200;
61
- }
62
- async doesNameExist(name) {
63
- return await this.getByName(name);
64
- }
65
32
  async createDefaultMemberType(memberTypeName) {
66
33
  await this.ensureNameNotExists(memberTypeName);
67
34
  const memberType = new json_models_builders_1.MemberTypeBuilder()
@@ -1 +1 @@
1
- {"version":3,"file":"MemberTypeApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberTypeApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {AliasHelper} from \"./AliasHelper\";\nimport {MemberTypeBuilder} from \"@umbraco/json-models-builders\";\n\nexport class MemberTypeApiHelper {\n api: ApiHelpers;\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const rootMemberTypes = await this.getAllAtRoot();\n const jsonMemberTypes = await rootMemberTypes.json();\n\n for (const memberType of jsonMemberTypes.items) {\n if (memberType.name === name) {\n return await this.delete(memberType.id);\n }\n }\n return null;\n }\n\n async create(memberType) {\n if (memberType == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/member-type', memberType);\n return response.headers().location.split(\"v1/member-type/\").pop();\n }\n\n async update(id: string, updatedMemberType) {\n if (updatedMemberType == null) {\n return;\n }\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/member-type/' + id, updatedMemberType);\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/member-type/' + id);\n return await response.json();\n }\n\n async delete(id: string) {\n if (id == null) {\n return;\n }\n const response = await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/member-type/' + id);\n return response.status();\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/member-type/root?skip=0&take=10000');\n }\n\n async getByName(name: string) {\n const rootMemberTypes = await this.getAllAtRoot();\n const jsonMemberTypes = await rootMemberTypes.json();\n\n for (const memberType of jsonMemberTypes.items) {\n if (memberType.name === name) {\n return this.get(memberType.id);\n }\n }\n return false;\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/member-type/' + id);\n return response.status() === 200;\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n async createDefaultMemberType(memberTypeName: string) {\n await this.ensureNameNotExists(memberTypeName);\n\n const memberType = new MemberTypeBuilder()\n .withName(memberTypeName)\n .withAlias(AliasHelper.toAlias(memberTypeName))\n .withAllowedAsRoot(true)\n .build();\n \n return await this.create(memberType);\n }\n\n async createMemberTypeWithPropertyEditor(memberTypeName: string, dataTypeName: string, dataTypeId: string, groupName: string = \"GroupTest\")\n {\n const crypto = require('crypto');\n const containerId = crypto.randomUUID();\n\n const memberType = new MemberTypeBuilder()\n .withName(memberTypeName)\n .withAlias(AliasHelper.toAlias(memberTypeName))\n .addContainer()\n .withName(groupName)\n .withId(containerId)\n .withType(\"Group\")\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withName(dataTypeName)\n .withDataTypeId(dataTypeId)\n .done()\n .build();\n return await this.create(memberType);\n }\n\n async createMemberTypeWithTwoPropertyEditors(memberTypeName: string, dataTypeNameOne: string, dataTypeIdOne: string, dataTypeNameTwo: string, dataTypeIdTwo: string, groupName: string = \"GroupTest\")\n {\n const crypto = require('crypto');\n const containerId = crypto.randomUUID();\n\n const memberType = new MemberTypeBuilder()\n .withName(memberTypeName)\n .withAlias(AliasHelper.toAlias(memberTypeName))\n .addContainer()\n .withName(groupName)\n .withId(containerId)\n .withType(\"Group\")\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeNameOne))\n .withName(dataTypeNameOne)\n .withDataTypeId(dataTypeIdOne)\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeNameTwo))\n .withName(dataTypeNameTwo)\n .withDataTypeId(dataTypeIdTwo)\n .done()\n .build();\n return await this.create(memberType);\n }\n}"]}
1
+ {"version":3,"file":"MemberTypeApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberTypeApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {TreeApiHelper} from \"./TreeApiHelper\";\nimport {AliasHelper} from \"./AliasHelper\";\nimport {MemberTypeBuilder} from \"@umbraco/json-models-builders\";\n\nexport class MemberTypeApiHelper extends TreeApiHelper {\n protected resourcePath = 'member-type';\n protected treePath = 'tree/member-type';\n\n // Override ensureNameNotExists - MemberType has no folders\n async ensureNameNotExists(name: string): Promise<any> {\n const rootItems = await this.getAllAtRoot();\n const jsonItems = await rootItems.json();\n\n for (const item of jsonItems.items) {\n if (item.name === name) {\n return await this.delete(item.id);\n }\n }\n return null;\n }\n\n // Override getByName - MemberType has no folders\n async getByName(name: string): Promise<any> {\n const rootItems = await this.getAllAtRoot();\n const jsonItems = await rootItems.json();\n\n for (const item of jsonItems.items) {\n if (item.name === name) {\n return this.get(item.id);\n }\n }\n return false;\n }\n\n async createDefaultMemberType(memberTypeName: string) {\n await this.ensureNameNotExists(memberTypeName);\n\n const memberType = new MemberTypeBuilder()\n .withName(memberTypeName)\n .withAlias(AliasHelper.toAlias(memberTypeName))\n .withAllowedAsRoot(true)\n .build();\n \n return await this.create(memberType);\n }\n\n async createMemberTypeWithPropertyEditor(memberTypeName: string, dataTypeName: string, dataTypeId: string, groupName: string = \"GroupTest\")\n {\n const crypto = require('crypto');\n const containerId = crypto.randomUUID();\n\n const memberType = new MemberTypeBuilder()\n .withName(memberTypeName)\n .withAlias(AliasHelper.toAlias(memberTypeName))\n .addContainer()\n .withName(groupName)\n .withId(containerId)\n .withType(\"Group\")\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withName(dataTypeName)\n .withDataTypeId(dataTypeId)\n .done()\n .build();\n return await this.create(memberType);\n }\n\n async createMemberTypeWithTwoPropertyEditors(memberTypeName: string, dataTypeNameOne: string, dataTypeIdOne: string, dataTypeNameTwo: string, dataTypeIdTwo: string, groupName: string = \"GroupTest\")\n {\n const crypto = require('crypto');\n const containerId = crypto.randomUUID();\n\n const memberType = new MemberTypeBuilder()\n .withName(memberTypeName)\n .withAlias(AliasHelper.toAlias(memberTypeName))\n .addContainer()\n .withName(groupName)\n .withId(containerId)\n .withType(\"Group\")\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeNameOne))\n .withName(dataTypeNameOne)\n .withDataTypeId(dataTypeIdOne)\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeNameTwo))\n .withName(dataTypeNameTwo)\n .withDataTypeId(dataTypeIdTwo)\n .done()\n .build();\n return await this.create(memberType);\n }\n}"]}
@@ -21,10 +21,11 @@ class MemberTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
21
21
  }
22
22
  async goToMemberType(memberTypeName) {
23
23
  await this.clickRootFolderCaretButton();
24
- await this.click(this.page.getByLabel(memberTypeName));
24
+ await this.page.getByLabel(memberTypeName).click();
25
25
  }
26
26
  async enterMemberTypeName(name) {
27
- await this.enterText(this.memberTypeNameTxt, name);
27
+ await this.memberTypeNameTxt.clear();
28
+ await this.memberTypeNameTxt.fill(name);
28
29
  }
29
30
  async enterDescriptionForPropertyEditorWithName(propertyEditorName, description) {
30
31
  await this.memberTypeEditPropertyWorkspace.filter({ hasText: propertyEditorName }).getByLabel('description').fill(description);
@@ -1 +1 @@
1
- {"version":3,"file":"MemberTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberTypeUiHelper.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAGhD,MAAa,kBAAmB,SAAQ,+BAAc;IACnC,iBAAiB,CAAU;IAC3B,+BAA+B,CAAU;IAE1D,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAChE,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,IAAY;QAC9C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,cAAsB;QACzC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,yCAAyC,CAAC,kBAA0B,EAAE,WAAmB;QAC7F,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/H,CAAC;CACF;AAlCD,gDAkCC","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {Locator, Page} from \"@playwright/test\";\n\nexport class MemberTypeUiHelper extends UiBaseLocators {\n private readonly memberTypeNameTxt: Locator;\n private readonly memberTypeEditPropertyWorkspace: Locator;\n\n constructor(page: Page) {\n super(page);\n this.memberTypeNameTxt = page.getByLabel('name', {exact: true});\n this.memberTypeEditPropertyWorkspace = page.locator('umb-member-type-workspace-view-edit-property');\n }\n\n async clickActionsMenuForMemberType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForMemberType(\"Member Types\");\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName(\"Member Types\");\n }\n\n async goToMemberType(memberTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.click(this.page.getByLabel(memberTypeName));\n }\n\n async enterMemberTypeName(name: string) {\n await this.enterText(this.memberTypeNameTxt, name);\n }\n\n async enterDescriptionForPropertyEditorWithName(propertyEditorName: string, description: string) {\n await this.memberTypeEditPropertyWorkspace.filter({hasText: propertyEditorName}).getByLabel('description').fill(description);\n }\n}"]}
1
+ {"version":3,"file":"MemberTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberTypeUiHelper.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAGhD,MAAa,kBAAmB,SAAQ,+BAAc;IACnC,iBAAiB,CAAU;IAC3B,+BAA+B,CAAU;IAE1D,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAChE,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,IAAY;QAC9C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,cAAsB;QACzC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,yCAAyC,CAAC,kBAA0B,EAAE,WAAmB;QAC7F,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/H,CAAC;CACF;AAnCD,gDAmCC","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {Locator, Page} from \"@playwright/test\";\n\nexport class MemberTypeUiHelper extends UiBaseLocators {\n private readonly memberTypeNameTxt: Locator;\n private readonly memberTypeEditPropertyWorkspace: Locator;\n\n constructor(page: Page) {\n super(page);\n this.memberTypeNameTxt = page.getByLabel('name', {exact: true});\n this.memberTypeEditPropertyWorkspace = page.locator('umb-member-type-workspace-view-edit-property');\n }\n\n async clickActionsMenuForMemberType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForMemberType(\"Member Types\");\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName(\"Member Types\");\n }\n\n async goToMemberType(memberTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.page.getByLabel(memberTypeName).click();\n }\n\n async enterMemberTypeName(name: string) {\n await this.memberTypeNameTxt.clear();\n await this.memberTypeNameTxt.fill(name);\n }\n\n async enterDescriptionForPropertyEditorWithName(propertyEditorName: string, description: string) {\n await this.memberTypeEditPropertyWorkspace.filter({hasText: propertyEditorName}).getByLabel('description').fill(description);\n }\n}"]}
@@ -49,88 +49,106 @@ class MemberUiHelper extends UiBaseLocators_1.UiBaseLocators {
49
49
  this.memberTableCollectionRow = page.locator('umb-member-table-collection-view').locator('uui-table-row');
50
50
  }
51
51
  async clickMembersTab() {
52
- await this.click(this.membersTab);
52
+ await this.membersTab.click();
53
53
  }
54
54
  async clickDetailsTab() {
55
- await this.click(this.detailsTab);
55
+ await (0, test_1.expect)(this.detailsTab).toBeVisible();
56
+ await this.detailsTab.click();
56
57
  }
57
58
  async clickMemberLinkByName(memberName) {
58
- await this.click(this.page.getByRole('link', { name: memberName }));
59
+ await this.page.getByRole('link', { name: memberName }).click();
59
60
  }
60
61
  async isMemberWithNameVisible(memberName, isVisible = true) {
61
- await this.isVisible(this.memberTableCollectionRow.getByText(memberName, { exact: true }), isVisible);
62
+ await (0, test_1.expect)(this.memberTableCollectionRow.getByText(memberName, { exact: true })).toBeVisible({ visible: isVisible });
62
63
  }
63
64
  async clickMembersSidebarButton() {
64
- await this.click(this.membersSidebarBtn);
65
+ await (0, test_1.expect)(this.membersSidebarBtn).toBeVisible();
66
+ await this.membersSidebarBtn.click();
65
67
  }
66
68
  async enterSearchKeyword(keyword) {
67
- await this.enterText(this.searchTxt, keyword);
69
+ await (0, test_1.expect)(this.searchTxt).toBeVisible();
70
+ await this.searchTxt.clear();
71
+ await this.searchTxt.fill(keyword);
68
72
  }
69
73
  async enterMemberName(name) {
70
- await this.enterText(this.memberNameTxt, name);
74
+ await (0, test_1.expect)(this.memberNameTxt).toBeVisible();
75
+ await this.memberNameTxt.clear();
76
+ await this.memberNameTxt.fill(name);
71
77
  }
72
78
  async enterComments(comment) {
73
- await this.enterText(this.commentsTxt, comment);
79
+ await (0, test_1.expect)(this.commentsTxt).toBeVisible();
80
+ await this.commentsTxt.clear();
81
+ await this.commentsTxt.fill(comment);
74
82
  }
75
83
  async enterUsername(username) {
76
- await this.enterText(this.usernameTxt, username);
84
+ await (0, test_1.expect)(this.usernameTxt).toBeVisible();
85
+ await this.usernameTxt.clear();
86
+ await this.usernameTxt.fill(username);
77
87
  }
78
88
  async enterEmail(email) {
79
- await this.enterText(this.emailTxt, email);
89
+ await (0, test_1.expect)(this.emailTxt).toBeVisible();
90
+ await this.emailTxt.clear();
91
+ await this.emailTxt.fill(email);
80
92
  }
81
93
  async enterPassword(password) {
82
- await this.enterText(this.passwordTxt, password);
94
+ await this.passwordTxt.clear();
95
+ await this.passwordTxt.fill(password);
83
96
  }
84
97
  async enterConfirmPassword(password) {
85
- await this.enterText(this.confirmPasswordTxt, password);
98
+ await this.confirmPasswordTxt.clear();
99
+ await this.confirmPasswordTxt.fill(password);
86
100
  }
87
101
  async enterConfirmNewPassword(password) {
88
- await this.enterText(this.confirmNewPasswordTxt, password);
102
+ await this.confirmNewPasswordTxt.clear();
103
+ await this.confirmNewPasswordTxt.fill(password);
89
104
  }
90
105
  async chooseMemberGroup(memberGroupName) {
91
106
  await this.clickChooseButton();
92
- await this.click(this.page.getByText(memberGroupName, { exact: true }));
107
+ await this.page.getByText(memberGroupName, { exact: true }).click();
93
108
  await this.clickChooseContainerButton();
94
109
  }
95
110
  async doesMemberInfoHaveValue(infoName, value) {
96
111
  return (0, test_1.expect)(this.memberInfoItems.filter({ hasText: infoName }).locator('span')).toHaveText(value);
97
112
  }
98
113
  async clickApprovedToggle() {
99
- await this.click(this.approvedToggle);
114
+ await this.approvedToggle.click();
100
115
  }
101
116
  async clickLockedOutToggle() {
102
- await this.click(this.lockedOutToggle);
117
+ await this.lockedOutToggle.click();
103
118
  }
104
119
  async clickTwoFactorAuthenticationToggle() {
105
- await this.click(this.twoFactorAuthenticationToggle);
120
+ await this.twoFactorAuthenticationToggle.click();
106
121
  }
107
122
  async clickChangePasswordButton() {
108
- await this.click(this.changePasswordBtn);
123
+ await this.changePasswordBtn.click();
109
124
  }
110
125
  async clickRemoveMemberGroupByName(memberGroupName) {
111
- await this.click(this.page.locator(`[name="${memberGroupName}"]`).getByLabel('Remove'));
126
+ await this.page.locator('[name="' + memberGroupName + '"]').getByLabel('Remove').click();
112
127
  }
113
128
  async enterNewPassword(password) {
114
- await this.enterText(this.newPasswordTxt, password);
129
+ await this.newPasswordTxt.clear();
130
+ await this.newPasswordTxt.fill(password);
115
131
  }
116
132
  async clickMembersMenu() {
117
- await this.click(this.membersMenu);
133
+ await this.membersMenu.click();
118
134
  }
119
135
  async waitForMemberToBeCreated() {
120
- await this.waitForLoadState();
136
+ await this.page.waitForLoadState();
121
137
  }
122
138
  async waitForMemberToBeDeleted() {
123
- await this.waitForLoadState();
139
+ await this.page.waitForLoadState();
124
140
  }
125
141
  async goToMembers() {
126
142
  await this.goToSection(ConstantHelper_1.ConstantHelper.sections.members);
127
143
  await this.clickMembersMenu();
128
144
  }
129
145
  async clickInfoTab() {
130
- await this.click(this.infoTab);
146
+ await (0, test_1.expect)(this.infoTab).toBeVisible();
147
+ await this.infoTab.click();
131
148
  }
132
149
  async clickCreateMembersButton() {
133
- await this.click(this.membersCreateBtn);
150
+ await (0, test_1.expect)(this.membersCreateBtn).toBeVisible();
151
+ await this.membersCreateBtn.click();
134
152
  }
135
153
  }
136
154
  exports.MemberUiHelper = MemberUiHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"MemberUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class MemberUiHelper extends UiBaseLocators {\n private readonly membersTab: Locator;\n private readonly searchTxt: Locator;\n private readonly memberNameTxt: Locator;\n private readonly commentsTxt: Locator;\n private readonly detailsTab: Locator;\n private readonly usernameTxt: Locator;\n private readonly emailTxt: Locator;\n private readonly passwordTxt: Locator;\n private readonly confirmNewPasswordTxt: Locator;\n private readonly approvedToggle: Locator;\n private readonly lockedOutToggle: Locator;\n private readonly twoFactorAuthenticationToggle: Locator;\n private readonly memberInfoItems: Locator;\n private readonly changePasswordBtn: Locator;\n private readonly membersMenu: Locator;\n private readonly infoTab: Locator;\n private readonly membersCreateBtn: Locator;\n private readonly membersSidebar: Locator;\n private readonly membersSidebarBtn: Locator;\n private readonly memberTableCollectionRow: Locator;\n\n constructor(page: Page) {\n super(page);\n this.membersTab = page.locator('uui-tab[label=\"Members\"]');\n this.searchTxt = page.locator('#input-search');\n this.memberNameTxt = page.locator('#name-input #input');\n this.commentsTxt = page.locator('umb-content-workspace-view-edit-tab').locator('umb-property').filter({hasText: 'Comments'}).locator('#textarea');\n this.detailsTab = page.locator('uui-tab').filter({hasText: 'Details'}).locator('svg');\n this.usernameTxt = page.getByLabel('Username', {exact: true});\n this.emailTxt = page.getByLabel('Email', {exact: true});\n this.passwordTxt = page.getByLabel('Enter your new password', {exact: true});\n this.confirmNewPasswordTxt = page.getByLabel('Confirm new password', {exact: true});\n this.approvedToggle = page.locator('[label=\"Approved\"] #toggle');\n this.lockedOutToggle = page.locator('[label=\"Locked out\"] #toggle');\n this.twoFactorAuthenticationToggle = page.locator('[label=\"Two-Factor authentication\"] #toggle');\n this.memberInfoItems = page.locator('umb-stack > div');\n this.changePasswordBtn = page.getByLabel('Change password', {exact: true});\n this.membersMenu = page.locator('umb-menu').getByLabel('Members', {exact: true});\n this.infoTab = page.locator('uui-tab').filter({hasText: 'Info'}).locator('svg');\n this.membersCreateBtn = page.locator('umb-create-member-collection-action').getByLabel('Create', {exact: true});\n this.membersSidebar = page.getByTestId('section-sidebar:Umb.SectionSidebarApp.Menu.MemberManagement');\n this.membersSidebarBtn = this.membersSidebar.locator('uui-menu-item').filter({hasText: 'Members'});\n this.memberTableCollectionRow = page.locator('umb-member-table-collection-view').locator('uui-table-row');\n }\n\n async clickMembersTab() {\n await this.click(this.membersTab);\n }\n\n async clickDetailsTab() {\n await this.click(this.detailsTab);\n }\n\n async clickMemberLinkByName(memberName: string) {\n await this.click(this.page.getByRole('link', {name: memberName}));\n }\n\n async isMemberWithNameVisible(memberName: string, isVisible: boolean = true) {\n await this.isVisible(this.memberTableCollectionRow.getByText(memberName, {exact: true}), isVisible);\n }\n\n async clickMembersSidebarButton() {\n await this.click(this.membersSidebarBtn);\n }\n\n async enterSearchKeyword(keyword: string) {\n await this.enterText(this.searchTxt, keyword);\n }\n\n async enterMemberName(name: string) {\n await this.enterText(this.memberNameTxt, name);\n }\n\n async enterComments(comment: string) {\n await this.enterText(this.commentsTxt, comment);\n }\n\n async enterUsername(username: string) {\n await this.enterText(this.usernameTxt, username);\n }\n\n async enterEmail(email: string) {\n await this.enterText(this.emailTxt, email);\n }\n\n async enterPassword(password: string) {\n await this.enterText(this.passwordTxt, password);\n }\n\n async enterConfirmPassword(password: string) {\n await this.enterText(this.confirmPasswordTxt, password);\n }\n\n async enterConfirmNewPassword(password: string) {\n await this.enterText(this.confirmNewPasswordTxt, password);\n }\n\n async chooseMemberGroup(memberGroupName: string) {\n await this.clickChooseButton();\n await this.click(this.page.getByText(memberGroupName, {exact: true}));\n await this.clickChooseContainerButton();\n }\n\n async doesMemberInfoHaveValue(infoName: string, value: string) {\n return expect(this.memberInfoItems.filter({hasText: infoName}).locator('span')).toHaveText(value);\n }\n\n async clickApprovedToggle() {\n await this.click(this.approvedToggle);\n }\n\n async clickLockedOutToggle() {\n await this.click(this.lockedOutToggle);\n }\n\n async clickTwoFactorAuthenticationToggle() {\n await this.click(this.twoFactorAuthenticationToggle);\n }\n\n async clickChangePasswordButton() {\n await this.click(this.changePasswordBtn);\n }\n\n async clickRemoveMemberGroupByName(memberGroupName: string) {\n await this.click(this.page.locator(`[name=\"${memberGroupName}\"]`).getByLabel('Remove'));\n }\n\n async enterNewPassword(password: string) {\n await this.enterText(this.newPasswordTxt, password);\n }\n\n async clickMembersMenu() {\n await this.click(this.membersMenu);\n }\n\n async waitForMemberToBeCreated(){\n await this.waitForLoadState();\n }\n\n async waitForMemberToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async goToMembers() {\n await this.goToSection(ConstantHelper.sections.members);\n await this.clickMembersMenu();\n }\n\n async clickInfoTab() {\n await this.click(this.infoTab);\n }\n\n async clickCreateMembersButton() {\n await this.click(this.membersCreateBtn);\n }\n}\n"]}
1
+ {"version":3,"file":"MemberUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class MemberUiHelper extends UiBaseLocators {\n private readonly membersTab: Locator;\n private readonly searchTxt: Locator;\n private readonly memberNameTxt: Locator;\n private readonly commentsTxt: Locator;\n private readonly detailsTab: Locator;\n private readonly usernameTxt: Locator;\n private readonly emailTxt: Locator;\n private readonly passwordTxt: Locator;\n private readonly confirmNewPasswordTxt: Locator;\n private readonly approvedToggle: Locator;\n private readonly lockedOutToggle: Locator;\n private readonly twoFactorAuthenticationToggle: Locator;\n private readonly memberInfoItems: Locator;\n private readonly changePasswordBtn: Locator;\n private readonly membersMenu: Locator;\n private readonly infoTab: Locator;\n private readonly membersCreateBtn: Locator;\n private readonly membersSidebar: Locator;\n private readonly membersSidebarBtn: Locator;\n private readonly memberTableCollectionRow: Locator;\n\n constructor(page: Page) {\n super(page);\n this.membersTab = page.locator('uui-tab[label=\"Members\"]');\n this.searchTxt = page.locator('#input-search');\n this.memberNameTxt = page.locator('#name-input #input');\n this.commentsTxt = page.locator('umb-content-workspace-view-edit-tab').locator('umb-property').filter({hasText: 'Comments'}).locator('#textarea');\n this.detailsTab = page.locator('uui-tab').filter({hasText: 'Details'}).locator('svg');\n this.usernameTxt = page.getByLabel('Username', {exact: true});\n this.emailTxt = page.getByLabel('Email', {exact: true});\n this.passwordTxt = page.getByLabel('Enter your new password', {exact: true});\n this.confirmNewPasswordTxt = page.getByLabel('Confirm new password', {exact: true});\n this.approvedToggle = page.locator('[label=\"Approved\"] #toggle');\n this.lockedOutToggle = page.locator('[label=\"Locked out\"] #toggle');\n this.twoFactorAuthenticationToggle = page.locator('[label=\"Two-Factor authentication\"] #toggle');\n this.memberInfoItems = page.locator('umb-stack > div');\n this.changePasswordBtn = page.getByLabel('Change password', {exact: true});\n this.membersMenu = page.locator('umb-menu').getByLabel('Members', {exact: true});\n this.infoTab = page.locator('uui-tab').filter({hasText: 'Info'}).locator('svg');\n this.membersCreateBtn = page.locator('umb-create-member-collection-action').getByLabel('Create', {exact: true});\n this.membersSidebar = page.getByTestId('section-sidebar:Umb.SectionSidebarApp.Menu.MemberManagement');\n this.membersSidebarBtn = this.membersSidebar.locator('uui-menu-item').filter({hasText: 'Members'});\n this.memberTableCollectionRow = page.locator('umb-member-table-collection-view').locator('uui-table-row');\n }\n\n async clickMembersTab() {\n await this.membersTab.click();\n }\n\n async clickDetailsTab() {\n await expect(this.detailsTab).toBeVisible();\n await this.detailsTab.click();\n }\n\n async clickMemberLinkByName(memberName: string) {\n await this.page.getByRole('link', {name: memberName}).click();\n }\n\n async isMemberWithNameVisible(memberName: string, isVisible: boolean = true) {\n await expect(this.memberTableCollectionRow.getByText(memberName, {exact: true})).toBeVisible({visible: isVisible});\n }\n \n async clickMembersSidebarButton() {\n await expect(this.membersSidebarBtn).toBeVisible();\n await this.membersSidebarBtn.click();\n }\n \n async enterSearchKeyword(keyword: string) {\n await expect(this.searchTxt).toBeVisible();\n await this.searchTxt.clear();\n await this.searchTxt.fill(keyword);\n }\n\n async enterMemberName(name: string) {\n await expect(this.memberNameTxt).toBeVisible();\n await this.memberNameTxt.clear();\n await this.memberNameTxt.fill(name);\n }\n\n async enterComments(comment: string) {\n await expect(this.commentsTxt).toBeVisible();\n await this.commentsTxt.clear();\n await this.commentsTxt.fill(comment);\n }\n\n async enterUsername(username: string) {\n await expect(this.usernameTxt).toBeVisible();\n await this.usernameTxt.clear();\n await this.usernameTxt.fill(username);\n }\n\n async enterEmail(email: string) {\n await expect(this.emailTxt).toBeVisible();\n await this.emailTxt.clear();\n await this.emailTxt.fill(email);\n }\n\n async enterPassword(password: string) {\n await this.passwordTxt.clear();\n await this.passwordTxt.fill(password);\n }\n\n async enterConfirmPassword(password: string) {\n await this.confirmPasswordTxt.clear();\n await this.confirmPasswordTxt.fill(password);\n }\n\n async enterConfirmNewPassword(password: string) {\n await this.confirmNewPasswordTxt.clear();\n await this.confirmNewPasswordTxt.fill(password);\n }\n\n async chooseMemberGroup(memberGroupName: string) {\n await this.clickChooseButton();\n await this.page.getByText(memberGroupName, {exact: true}).click();\n await this.clickChooseContainerButton();\n }\n\n async doesMemberInfoHaveValue(infoName: string, value: string) {\n return expect(this.memberInfoItems.filter({hasText: infoName}).locator('span')).toHaveText(value);\n }\n\n async clickApprovedToggle() {\n await this.approvedToggle.click();\n }\n\n async clickLockedOutToggle() {\n await this.lockedOutToggle.click();\n }\n\n async clickTwoFactorAuthenticationToggle() {\n await this.twoFactorAuthenticationToggle.click();\n }\n\n async clickChangePasswordButton() {\n await this.changePasswordBtn.click();\n }\n\n async clickRemoveMemberGroupByName(memberGroupName: string) {\n await this.page.locator('[name=\"' + memberGroupName + '\"]').getByLabel('Remove').click();\n }\n\n async enterNewPassword(password: string) {\n await this.newPasswordTxt.clear();\n await this.newPasswordTxt.fill(password);\n }\n\n async clickMembersMenu() {\n await this.membersMenu.click();\n }\n \n async waitForMemberToBeCreated(){\n await this.page.waitForLoadState();\n }\n \n async waitForMemberToBeDeleted() {\n await this.page.waitForLoadState();\n }\n\n async goToMembers() {\n await this.goToSection(ConstantHelper.sections.members);\n await this.clickMembersMenu();\n }\n\n async clickInfoTab() {\n await expect(this.infoTab).toBeVisible();\n await this.infoTab.click();\n }\n\n async clickCreateMembersButton() {\n await expect(this.membersCreateBtn).toBeVisible();\n await this.membersCreateBtn.click();\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModelsBuilderUiHelper = void 0;
4
+ const test_1 = require("@playwright/test");
4
5
  const UiBaseLocators_1 = require("./UiBaseLocators");
5
6
  class ModelsBuilderUiHelper extends UiBaseLocators_1.UiBaseLocators {
6
7
  modelsBuilderTab;
@@ -11,10 +12,10 @@ class ModelsBuilderUiHelper extends UiBaseLocators_1.UiBaseLocators {
11
12
  this.modelsBuilderDashboardContent = page.locator('umb-models-builder-dashboard');
12
13
  }
13
14
  async clickModelsBuilderTab() {
14
- await this.click(this.modelsBuilderTab);
15
+ await this.modelsBuilderTab.click();
15
16
  }
16
17
  async doesModelsBuilderDashboardHaveText(text) {
17
- await this.containsText(this.modelsBuilderDashboardContent, text, 10000);
18
+ return await (0, test_1.expect)(this.modelsBuilderDashboardContent).toContainText(text, { timeout: 10000 });
18
19
  }
19
20
  }
20
21
  exports.ModelsBuilderUiHelper = ModelsBuilderUiHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"ModelsBuilderUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ModelsBuilderUiHelper.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAEhD,MAAa,qBAAsB,SAAQ,+BAAc;IACtC,gBAAgB,CAAU;IAC1B,6BAA6B,CAAU;IAExD,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAC,CAAC,CAAC;QACxE,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,IAAY;QACnD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,6BAA6B,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;CACF;AAjBD,sDAiBC","sourcesContent":["import {Page, Locator} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class ModelsBuilderUiHelper extends UiBaseLocators {\n private readonly modelsBuilderTab: Locator;\n private readonly modelsBuilderDashboardContent: Locator;\n\n constructor(page: Page) {\n super(page);\n this.modelsBuilderTab = page.getByRole('tab', {name: 'Models Builder'});\n this.modelsBuilderDashboardContent = page.locator('umb-models-builder-dashboard');\n }\n\n async clickModelsBuilderTab() {\n await this.click(this.modelsBuilderTab);\n }\n\n async doesModelsBuilderDashboardHaveText(text: string) {\n await this.containsText(this.modelsBuilderDashboardContent, text, 10000);\n }\n}\n"]}
1
+ {"version":3,"file":"ModelsBuilderUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ModelsBuilderUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAEhD,MAAa,qBAAsB,SAAQ,+BAAc;IACtC,gBAAgB,CAAU;IAC1B,6BAA6B,CAAU;IAExD,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAC,CAAC,CAAC;QACxE,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,IAAY;QACnD,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;IAChG,CAAC;CACF;AAjBD,sDAiBC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class ModelsBuilderUiHelper extends UiBaseLocators {\n private readonly modelsBuilderTab: Locator;\n private readonly modelsBuilderDashboardContent: Locator;\n\n constructor(page: Page) {\n super(page);\n this.modelsBuilderTab = page.getByRole('tab', {name: 'Models Builder'});\n this.modelsBuilderDashboardContent = page.locator('umb-models-builder-dashboard');\n }\n\n async clickModelsBuilderTab() {\n await this.modelsBuilderTab.click();\n }\n\n async doesModelsBuilderDashboardHaveText(text: string) {\n return await expect(this.modelsBuilderDashboardContent).toContainText(text, {timeout: 10000});\n }\n}\n"]}
@@ -2,13 +2,14 @@ import { ApiHelpers } from "./ApiHelpers";
2
2
  export declare class PackageApiHelper {
3
3
  api: ApiHelpers;
4
4
  constructor(api: ApiHelpers);
5
- ensureNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
5
+ private buildUrl;
6
+ get(id: string): Promise<any>;
7
+ getAll(): Promise<any>;
8
+ getByName(name: string): Promise<any>;
6
9
  doesExist(id: string): Promise<boolean>;
7
10
  doesNameExist(name: string): Promise<boolean>;
11
+ ensureNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
8
12
  create(name: string, contentLoadChildNodes?: boolean, mediaLoadChildNodes?: boolean, contentNodeId?: string, mediaIds?: string[], documentTypes?: any, mediaTypes?: any, dataTypes?: any, templates?: any, partialViews?: any, stylesheets?: any, scripts?: any, languages?: any, dictionaryItems?: any): Promise<string | undefined>;
9
- getByName(name: string): Promise<any>;
10
- get(id: string): Promise<any>;
11
- getAll(): Promise<any>;
12
13
  update(id: string, packageData: any): Promise<import("playwright-core").APIResponse>;
13
14
  delete(id: string): Promise<import("playwright-core").APIResponse>;
14
15
  download(id: string): Promise<string>;
@@ -6,34 +6,56 @@ class PackageApiHelper {
6
6
  constructor(api) {
7
7
  this.api = api;
8
8
  }
9
- async ensureNameNotExists(name) {
10
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');
9
+ buildUrl(path = '') {
10
+ return `${this.api.baseUrl}/umbraco/management/api/v1/package/created${path}`;
11
+ }
12
+ async get(id) {
13
+ const response = await this.api.get(this.buildUrl('/' + id));
11
14
  const json = await response.json();
12
- for (const sb of json.items) {
13
- if (sb.name === name) {
14
- if (sb.id !== null) {
15
- return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + sb.id);
15
+ return json !== null ? json : null;
16
+ }
17
+ async getAll() {
18
+ const response = await this.api.get(this.buildUrl('?skip=0&take=10000'));
19
+ const json = await response.json();
20
+ return json !== null ? json : null;
21
+ }
22
+ async getByName(name) {
23
+ const json = await this.getAll();
24
+ if (name !== null && json !== null) {
25
+ for (const item of json.items) {
26
+ if (item.name === name && item.id !== null) {
27
+ return await this.get(item.id);
16
28
  }
17
29
  }
18
30
  }
19
31
  return null;
20
32
  }
21
33
  async doesExist(id) {
22
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);
34
+ const response = await this.api.get(this.buildUrl('/' + id));
23
35
  return response.status() === 200;
24
36
  }
25
37
  async doesNameExist(name) {
26
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');
27
- const json = await response.json();
28
- if (name !== null) {
29
- for (const sb of json.items) {
30
- if (sb.name === name) {
38
+ const json = await this.getAll();
39
+ if (name !== null && json !== null) {
40
+ for (const item of json.items) {
41
+ if (item.name === name) {
31
42
  return true;
32
43
  }
33
44
  }
34
45
  }
35
46
  return false;
36
47
  }
48
+ async ensureNameNotExists(name) {
49
+ const json = await this.getAll();
50
+ if (json !== null) {
51
+ for (const item of json.items) {
52
+ if (item.name === name && item.id !== null) {
53
+ return await this.delete(item.id);
54
+ }
55
+ }
56
+ }
57
+ return null;
58
+ }
37
59
  async create(name, contentLoadChildNodes = false, mediaLoadChildNodes = false, contentNodeId, mediaIds, documentTypes, mediaTypes, dataTypes, templates, partialViews, stylesheets, scripts, languages, dictionaryItems) {
38
60
  const packageData = {
39
61
  "name": name,
@@ -41,77 +63,27 @@ class PackageApiHelper {
41
63
  "contentLoadChildNodes": contentLoadChildNodes,
42
64
  "mediaIds": mediaIds,
43
65
  "mediaLoadChildNodes": mediaLoadChildNodes,
44
- "documentTypes": [
45
- documentTypes
46
- ],
47
- "mediaTypes": [
48
- mediaTypes
49
- ],
50
- "dataTypes": [
51
- dataTypes
52
- ],
53
- "templates": [
54
- templates
55
- ],
56
- "partialViews": [
57
- partialViews
58
- ],
59
- "stylesheets": [
60
- stylesheets
61
- ],
62
- "scripts": [
63
- scripts
64
- ],
65
- "languages": [
66
- languages
67
- ],
68
- "dictionaryItems": [
69
- dictionaryItems
70
- ]
66
+ "documentTypes": [documentTypes],
67
+ "mediaTypes": [mediaTypes],
68
+ "dataTypes": [dataTypes],
69
+ "templates": [templates],
70
+ "partialViews": [partialViews],
71
+ "stylesheets": [stylesheets],
72
+ "scripts": [scripts],
73
+ "languages": [languages],
74
+ "dictionaryItems": [dictionaryItems]
71
75
  };
72
- const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/package/created', packageData);
73
- // Returns the id of the created package
76
+ const response = await this.api.post(this.buildUrl(), packageData);
74
77
  return response.headers().location.split("/").pop();
75
78
  }
76
- async getByName(name) {
77
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');
78
- const json = await response.json();
79
- if (name !== null) {
80
- for (const sb of json.items) {
81
- if (sb.name === name) {
82
- if (sb.id !== null) {
83
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + sb.id);
84
- return await response.json();
85
- }
86
- }
87
- }
88
- }
89
- return null;
90
- }
91
- async get(id) {
92
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);
93
- const json = await response.json();
94
- if (json !== null) {
95
- return json;
96
- }
97
- return null;
98
- }
99
- async getAll() {
100
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');
101
- const json = await response.json();
102
- if (json !== null) {
103
- return json;
104
- }
105
- return null;
106
- }
107
79
  async update(id, packageData) {
108
- return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id, packageData);
80
+ return await this.api.put(this.buildUrl('/' + id), packageData);
109
81
  }
110
82
  async delete(id) {
111
- return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);
83
+ return await this.api.delete(this.buildUrl('/' + id));
112
84
  }
113
85
  async download(id) {
114
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id + '/download');
86
+ const response = await this.api.get(this.buildUrl('/' + id + '/download'));
115
87
  return await response.text();
116
88
  }
117
89
  async createEmptyPackage(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"PackageApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class PackageApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');\n const json = await response.json();\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/package/created/' + 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/package/created/' + id);\n return response.status() === 200;\n }\n\n async doesNameExist(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');\n const json = await response.json();\n\n if (name !== null) {\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n }\n return false;\n }\n\n async create(name: string, contentLoadChildNodes = false, mediaLoadChildNodes = false, contentNodeId?: string, mediaIds?: string[], documentTypes?, mediaTypes?, dataTypes?, templates?, partialViews?, stylesheets?, scripts?, languages?, dictionaryItems?) {\n const packageData = {\n \"name\": name,\n \"contentNodeId\": contentNodeId,\n \"contentLoadChildNodes\": contentLoadChildNodes,\n \"mediaIds\": mediaIds,\n \"mediaLoadChildNodes\": mediaLoadChildNodes,\n \"documentTypes\": [\n documentTypes\n ],\n \"mediaTypes\": [\n mediaTypes\n ],\n \"dataTypes\": [\n dataTypes\n ],\n \"templates\": [\n templates\n ],\n \"partialViews\": [\n partialViews\n ],\n \"stylesheets\": [\n stylesheets\n ],\n \"scripts\": [\n scripts\n ],\n \"languages\": [\n languages\n ],\n \"dictionaryItems\": [\n dictionaryItems\n ]\n };\n\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/package/created', packageData);\n // Returns the id of the created package\n return response.headers().location.split(\"/\").pop();\n }\n\n async getByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?skip=0&take=10000');\n const json = await response.json();\n\n if (name !== null) {\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/package/created/' + sb.id);\n return await response.json();\n }\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/package/created/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n\n }\n\n async getAll() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created?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, packageData) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id, packageData);\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id);\n }\n\n async download(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/package/created/' + id + '/download');\n return await response.text();\n }\n\n async createEmptyPackage(name: string) {\n return await this.create(name);\n }\n}"]}
1
+ {"version":3,"file":"PackageApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class PackageApiHelper {\n api: ApiHelpers;\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n private buildUrl(path: string = ''): string {\n return `${this.api.baseUrl}/umbraco/management/api/v1/package/created${path}`;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.buildUrl('/' + id));\n const json = await response.json();\n return json !== null ? json : null;\n }\n\n async getAll() {\n const response = await this.api.get(this.buildUrl('?skip=0&take=10000'));\n const json = await response.json();\n return json !== null ? json : null;\n }\n\n async getByName(name: string) {\n const json = await this.getAll();\n\n if (name !== null && json !== null) {\n for (const item of json.items) {\n if (item.name === name && item.id !== null) {\n return await this.get(item.id);\n }\n }\n }\n return null;\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.buildUrl('/' + id));\n return response.status() === 200;\n }\n\n async doesNameExist(name: string) {\n const json = await this.getAll();\n\n if (name !== null && json !== null) {\n for (const item of json.items) {\n if (item.name === name) {\n return true;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const json = await this.getAll();\n\n if (json !== null) {\n for (const item of json.items) {\n if (item.name === name && item.id !== null) {\n return await this.delete(item.id);\n }\n }\n }\n return null;\n }\n\n async create(name: string, contentLoadChildNodes = false, mediaLoadChildNodes = false, contentNodeId?: string, mediaIds?: string[], documentTypes?, mediaTypes?, dataTypes?, templates?, partialViews?, stylesheets?, scripts?, languages?, dictionaryItems?) {\n const packageData = {\n \"name\": name,\n \"contentNodeId\": contentNodeId,\n \"contentLoadChildNodes\": contentLoadChildNodes,\n \"mediaIds\": mediaIds,\n \"mediaLoadChildNodes\": mediaLoadChildNodes,\n \"documentTypes\": [documentTypes],\n \"mediaTypes\": [mediaTypes],\n \"dataTypes\": [dataTypes],\n \"templates\": [templates],\n \"partialViews\": [partialViews],\n \"stylesheets\": [stylesheets],\n \"scripts\": [scripts],\n \"languages\": [languages],\n \"dictionaryItems\": [dictionaryItems]\n };\n\n const response = await this.api.post(this.buildUrl(), packageData);\n return response.headers().location.split(\"/\").pop();\n }\n\n async update(id: string, packageData) {\n return await this.api.put(this.buildUrl('/' + id), packageData);\n }\n\n async delete(id: string) {\n return await this.api.delete(this.buildUrl('/' + id));\n }\n\n async download(id: string) {\n const response = await this.api.get(this.buildUrl('/' + id + '/download'));\n return await response.text();\n }\n\n async createEmptyPackage(name: string) {\n return await this.create(name);\n }\n}"]}