@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 +1 @@
1
- {"version":3,"file":"DocumentBlueprintApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentBlueprintApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {AliasHelper, DocumentBlueprintsBuilder} from \"@umbraco/json-models-builders\";\n\nexport class DocumentBlueprintApiHelper {\n api: ApiHelpers;\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document-blueprint/' + id);\n return await response.json();\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document-blueprint/' + id);\n return response.status() === 200;\n }\n\n async create(documentBlueprint) {\n if (documentBlueprint == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/document-blueprint', documentBlueprint);\n return response.headers().location.split(\"v1/document-blueprint/\").pop();\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/document-blueprint/' + id);\n return response.status();\n }\n\n async update(id: string, documentBlueprint) {\n if (documentBlueprint == null) {\n return;\n }\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document-blueprint/' + id, documentBlueprint);\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/document-blueprint/root?skip=0&take=1000&foldersOnly=false');\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/document-blueprint/children?parentId=${id}&skip=0&take=10000&foldersOnly=false`);\n const items = await response.json();\n return items.items;\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n private async recurseDeleteChildren(id: string) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.delete(id);\n }\n\n private async recurseChildren(name: string, id: string, toDelete: boolean) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.hasChildren) {\n return await this.recurseDeleteChildren(child.id);\n } else {\n return await this.delete(child.id);\n }\n } else if (child.hasChildren) {\n await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootDocumentBlueprints = await this.getAllAtRoot();\n const jsonDocumentBlueprints = await rootDocumentBlueprints.json();\n\n for (const blueprint of jsonDocumentBlueprints.items) {\n if (blueprint.name === name) {\n return this.get(blueprint.id);\n } else if (blueprint.hasChildren) {\n const result = await this.recurseChildren(name, blueprint.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootDocumentBlueprints = await this.getAllAtRoot();\n const jsonDocumentBlueprints = await rootDocumentBlueprints.json();\n\n for (const blueprint of jsonDocumentBlueprints.items) {\n if (blueprint.name === name) {\n if (blueprint.hasChildren) {\n await this.recurseDeleteChildren(blueprint.id);\n }\n return await this.delete(blueprint.id);\n } else if (blueprint.hasChildren) {\n await this.recurseChildren(name, blueprint.id, true);\n }\n }\n return null;\n }\n\n async createDefaultDocumentBlueprint(documentBlueprintName: string, documentTypeId: string) {\n await this.ensureNameNotExists(documentBlueprintName);\n const documentBlueprint = new DocumentBlueprintsBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentBlueprintName)\n .done()\n .build();\n return await this.create(documentBlueprint);\n }\n\n async createFromDocument(documentBlueprintName: string, documentId: string, parentId?: string) {\n const documentBlueprintData = {\n \"name\": documentBlueprintName,\n \"parent\": parentId ? parentId : null,\n \"document\": {\n \"id\": documentId\n }\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/document-blueprint/from-document', documentBlueprintData);\n return response.headers().location.split(\"v1/document-blueprint/\").pop();\n }\n\n async createDocumentBlueprintWithTextBoxValue(documentBlueprintName: string, documentTypeId: string, dataTypeName: string, text: string) {\n await this.ensureNameNotExists(documentBlueprintName);\n\n const documentBlueprint = new DocumentBlueprintsBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentBlueprintName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(text)\n .withEditorAlias('Umbraco.TextBox')\n .done()\n .build();\n\n return await this.create(documentBlueprint);\n }\n\n async createDefaultDocumentBlueprintWithABlockListEditorAndBlockWithValue(documentBlueprintName: string, documentTypeName: string, blockListDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyEditorAlias: string, elementTypePropertyValue: string, groupName: string) {\n const crypto = require('crypto');\n const blockContentKey = crypto.randomUUID();\n const blockListDataTypeId = await this.api.dataType.createBlockListDataTypeWithABlock(blockListDataTypeName, elementTypeId) || '';\n const documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, blockListDataTypeName, blockListDataTypeId, groupName) || '';\n await this.ensureNameNotExists(documentBlueprintName);\n\n const documentBlueprint = new DocumentBlueprintsBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentBlueprintName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(blockListDataTypeName))\n .withEditorAlias('Umbraco.BlockList')\n .addBlockListValue()\n .addContentData()\n .withContentTypeKey(elementTypeId)\n .withKey(blockContentKey)\n .addContentDataValue()\n .withAlias(elementTypePropertyAlias)\n .withEditorAlias(elementTypePropertyEditorAlias)\n .withValue(elementTypePropertyValue)\n .done()\n .done()\n .addExpose()\n .withContentKey(blockContentKey)\n .done()\n .addLayout()\n .withContentKey(blockContentKey)\n .done()\n .done()\n .done()\n .build();\n \n return await this.create(documentBlueprint);\n }\n\n async createDefaultDocumentBlueprintWithABlockGridEditorAndBlockWithValue(documentBlueprintName: string, documentTypeName: string, blockGridDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyEditorAlias: string, elementTypePropertyValue: string, groupName: string = 'TestGroup') {\n const crypto = require('crypto');\n const blockContentKey = crypto.randomUUID();\n const blockGridDataTypeId = await this.api.dataType.createBlockGridWithABlockAndAllowAtRoot(blockGridDataTypeName, elementTypeId, true) || '';\n const documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, blockGridDataTypeName, blockGridDataTypeId, groupName) || '';\n await this.ensureNameNotExists(documentBlueprintName);\n\n const documentBlueprint = new DocumentBlueprintsBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentBlueprintName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(blockGridDataTypeName))\n .withEditorAlias('Umbraco.BlockGrid')\n .addBlockGridValue()\n .addContentData()\n .withContentTypeKey(elementTypeId)\n .withKey(blockContentKey)\n .addContentDataValue()\n .withAlias(elementTypePropertyAlias)\n .withEditorAlias(elementTypePropertyEditorAlias)\n .withValue(elementTypePropertyValue)\n .done()\n .done()\n .addExpose()\n .withContentKey(blockContentKey)\n .done()\n .addLayout()\n .withContentKey(blockContentKey)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(documentBlueprint);\n }\n\n async createDocumenBlueprintWithEnglishCultureAndDanishCultureAndTextBoxValue(documentBlueprintEnglishName: string, documentBlueprintDanishName: string, documentTypeId: string, dataTypeName: string, textContent: string, varyByCultureForText: boolean = false) {\n await this.ensureNameNotExists(documentBlueprintEnglishName);\n const cultureValue = varyByCultureForText ? 'en-US' : null;\n\n const documentBlueprint = new DocumentBlueprintsBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentBlueprintEnglishName)\n .withCulture('en-US')\n .done()\n .addVariant()\n .withName(documentBlueprintDanishName)\n .withCulture('da')\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(textContent)\n .withCulture(cultureValue)\n .withEditorAlias('Umbraco.TextBox')\n .done()\n .build();\n\n return await this.create(documentBlueprint);\n }\n} "]}
1
+ {"version":3,"file":"DocumentBlueprintApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentBlueprintApiHelper.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAC9C,wEAAqF;AAErF,MAAa,0BAA2B,SAAQ,6BAAa;IACjD,YAAY,GAAG,oBAAoB,CAAC;IACpC,QAAQ,GAAG,yBAAyB,CAAC;IAE/C,wDAAwD;IACxD,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,MAAM,CAAC,iBAAiB;QAC5B,IAAI,iBAAiB,IAAI,IAAI,EAAE;YAC7B,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;IAC3E,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QAEzC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;gBACtB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC1B;iBAAM,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACzE,IAAI,MAAM,EAAE;oBACV,OAAO,MAAM,CAAC;iBACf;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QAEzC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;gBACtB,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,MAAM,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACpD;gBACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACnC;iBAAM,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC3B,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;aAC1D;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAAC,EAAU;QACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACzB,IAAI,KAAK,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACrD;iBAAM;gBACL,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC7B;SACF;QACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,IAAY,EAAE,EAAU,EAAE,QAAiB;QAChF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;gBACvB,IAAI,CAAC,QAAQ,EAAE;oBACb,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACjC;gBACD,IAAI,KAAK,CAAC,WAAW,EAAE;oBACrB,OAAO,MAAM,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBAC5D;qBAAM;oBACL,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACpC;aACF;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE;gBAC5B,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;aAC/D;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,qBAA6B,EAAE,cAAsB;QACxF,MAAM,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAG,IAAI,gDAAyB,EAAE;aACtD,kBAAkB,CAAC,cAAc,CAAC;aAClC,UAAU,EAAE;aACV,QAAQ,CAAC,qBAAqB,CAAC;aAC/B,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,qBAA6B,EAAE,UAAkB,EAAE,QAAiB;QAC3F,MAAM,qBAAqB,GAAG;YAC5B,MAAM,EAAE,qBAAqB;YAC7B,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YACpC,UAAU,EAAE;gBACV,IAAI,EAAE,UAAU;aACjB;SACF,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAC7F,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,uCAAuC,CAAC,qBAA6B,EAAE,cAAsB,EAAE,YAAoB,EAAE,IAAY;QACrI,MAAM,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAEtD,MAAM,iBAAiB,GAAG,IAAI,gDAAyB,EAAE;aACtD,kBAAkB,CAAC,cAAc,CAAC;aAClC,UAAU,EAAE;aACV,QAAQ,CAAC,qBAAqB,CAAC;aAC/B,IAAI,EAAE;aACR,QAAQ,EAAE;aACR,SAAS,CAAC,kCAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;aAC5C,SAAS,CAAC,IAAI,CAAC;aACf,eAAe,CAAC,iBAAiB,CAAC;aAClC,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QAEX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,mEAAmE,CAAC,qBAA6B,EAAE,gBAAwB,EAAE,qBAA6B,EAAE,aAAqB,EAAE,wBAAgC,EAAE,8BAAsC,EAAE,wBAAgC,EAAE,SAAiB;QACpT,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC5C,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,iCAAiC,CAAC,qBAAqB,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC;QAClI,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,oCAAoC,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QACvK,MAAM,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAEtD,MAAM,iBAAiB,GAAG,IAAI,gDAAyB,EAAE;aACtD,kBAAkB,CAAC,cAAc,CAAC;aAClC,UAAU,EAAE;aACV,QAAQ,CAAC,qBAAqB,CAAC;aAC/B,IAAI,EAAE;aACR,QAAQ,EAAE;aACR,SAAS,CAAC,kCAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;aACrD,eAAe,CAAC,mBAAmB,CAAC;aACpC,iBAAiB,EAAE;aACjB,cAAc,EAAE;aACd,kBAAkB,CAAC,aAAa,CAAC;aACjC,OAAO,CAAC,eAAe,CAAC;aACxB,mBAAmB,EAAE;aACnB,SAAS,CAAC,wBAAwB,CAAC;aACnC,eAAe,CAAC,8BAA8B,CAAC;aAC/C,SAAS,CAAC,wBAAwB,CAAC;aACnC,IAAI,EAAE;aACR,IAAI,EAAE;aACR,SAAS,EAAE;aACT,cAAc,CAAC,eAAe,CAAC;aAC/B,IAAI,EAAE;aACR,SAAS,EAAE;aACT,cAAc,CAAC,eAAe,CAAC;aAC/B,IAAI,EAAE;aACR,IAAI,EAAE;aACR,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QAEX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,mEAAmE,CAAC,qBAA6B,EAAE,gBAAwB,EAAE,qBAA6B,EAAE,aAAqB,EAAE,wBAAgC,EAAE,8BAAsC,EAAE,wBAAgC,EAAE,YAAoB,WAAW;QAClU,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC5C,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,uCAAuC,CAAC,qBAAqB,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9I,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,oCAAoC,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QACvK,MAAM,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAEtD,MAAM,iBAAiB,GAAG,IAAI,gDAAyB,EAAE;aACtD,kBAAkB,CAAC,cAAc,CAAC;aAClC,UAAU,EAAE;aACV,QAAQ,CAAC,qBAAqB,CAAC;aAC/B,IAAI,EAAE;aACR,QAAQ,EAAE;aACR,SAAS,CAAC,kCAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;aACrD,eAAe,CAAC,mBAAmB,CAAC;aACpC,iBAAiB,EAAE;aACjB,cAAc,EAAE;aACd,kBAAkB,CAAC,aAAa,CAAC;aACjC,OAAO,CAAC,eAAe,CAAC;aACxB,mBAAmB,EAAE;aACnB,SAAS,CAAC,wBAAwB,CAAC;aACnC,eAAe,CAAC,8BAA8B,CAAC;aAC/C,SAAS,CAAC,wBAAwB,CAAC;aACnC,IAAI,EAAE;aACR,IAAI,EAAE;aACR,SAAS,EAAE;aACT,cAAc,CAAC,eAAe,CAAC;aAC/B,IAAI,EAAE;aACR,SAAS,EAAE;aACT,cAAc,CAAC,eAAe,CAAC;aAC/B,IAAI,EAAE;aACR,IAAI,EAAE;aACR,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QAEX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,uEAAuE,CAAC,4BAAoC,EAAE,2BAAmC,EAAE,cAAsB,EAAE,YAAoB,EAAE,WAAmB,EAAE,uBAAgC,KAAK;QAC/P,MAAM,IAAI,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3D,MAAM,iBAAiB,GAAG,IAAI,gDAAyB,EAAE;aACtD,kBAAkB,CAAC,cAAc,CAAC;aAClC,UAAU,EAAE;aACV,QAAQ,CAAC,4BAA4B,CAAC;aACtC,WAAW,CAAC,OAAO,CAAC;aACpB,IAAI,EAAE;aACR,UAAU,EAAE;aACV,QAAQ,CAAC,2BAA2B,CAAC;aACrC,WAAW,CAAC,IAAI,CAAC;aACjB,IAAI,EAAE;aACR,QAAQ,EAAE;aACR,SAAS,CAAC,kCAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;aAC5C,SAAS,CAAC,WAAW,CAAC;aACtB,WAAW,CAAC,YAAY,CAAC;aACzB,eAAe,CAAC,iBAAiB,CAAC;aAClC,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QAEX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;CACF;AArOD,gEAqOC","sourcesContent":["import {TreeApiHelper} from \"./TreeApiHelper\";\nimport {AliasHelper, DocumentBlueprintsBuilder} from \"@umbraco/json-models-builders\";\n\nexport class DocumentBlueprintApiHelper extends TreeApiHelper {\n protected resourcePath = 'document-blueprint';\n protected treePath = 'tree/document-blueprint';\n\n // Override - return json directly instead of null check\n async get(id: string) {\n const response = await this.api.get(this.buildUrl('/' + id));\n return await response.json();\n }\n\n // Override - different location split pattern\n async create(documentBlueprint) {\n if (documentBlueprint == null) {\n return;\n }\n const response = await this.api.post(this.buildUrl(), documentBlueprint);\n return response.headers().location.split(\"v1/document-blueprint/\").pop();\n }\n\n // Override - DocumentBlueprint 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 } else if (item.hasChildren) {\n const result = await this.recurseBlueprintChildren(name, item.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n // Override - DocumentBlueprint 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 if (item.hasChildren) {\n await this.recurseDeleteBlueprintChildren(item.id);\n }\n return await this.delete(item.id);\n } else if (item.hasChildren) {\n await this.recurseBlueprintChildren(name, item.id, true);\n }\n }\n return null;\n }\n\n private async recurseDeleteBlueprintChildren(id: string) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteBlueprintChildren(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.delete(id);\n }\n\n private async recurseBlueprintChildren(name: string, id: string, toDelete: boolean) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.hasChildren) {\n return await this.recurseDeleteBlueprintChildren(child.id);\n } else {\n return await this.delete(child.id);\n }\n } else if (child.hasChildren) {\n await this.recurseBlueprintChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async createDefaultDocumentBlueprint(documentBlueprintName: string, documentTypeId: string) {\n await this.ensureNameNotExists(documentBlueprintName);\n const documentBlueprint = new DocumentBlueprintsBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentBlueprintName)\n .done()\n .build();\n return await this.create(documentBlueprint);\n }\n\n async createFromDocument(documentBlueprintName: string, documentId: string, parentId?: string) {\n const documentBlueprintData = {\n \"name\": documentBlueprintName,\n \"parent\": parentId ? parentId : null,\n \"document\": {\n \"id\": documentId\n }\n };\n const response = await this.api.post(this.buildUrl('/from-document'), documentBlueprintData);\n return response.headers().location.split(\"v1/document-blueprint/\").pop();\n }\n\n async createDocumentBlueprintWithTextBoxValue(documentBlueprintName: string, documentTypeId: string, dataTypeName: string, text: string) {\n await this.ensureNameNotExists(documentBlueprintName);\n\n const documentBlueprint = new DocumentBlueprintsBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentBlueprintName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(text)\n .withEditorAlias('Umbraco.TextBox')\n .done()\n .build();\n\n return await this.create(documentBlueprint);\n }\n\n async createDefaultDocumentBlueprintWithABlockListEditorAndBlockWithValue(documentBlueprintName: string, documentTypeName: string, blockListDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyEditorAlias: string, elementTypePropertyValue: string, groupName: string) {\n const crypto = require('crypto');\n const blockContentKey = crypto.randomUUID();\n const blockListDataTypeId = await this.api.dataType.createBlockListDataTypeWithABlock(blockListDataTypeName, elementTypeId) || '';\n const documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, blockListDataTypeName, blockListDataTypeId, groupName) || '';\n await this.ensureNameNotExists(documentBlueprintName);\n\n const documentBlueprint = new DocumentBlueprintsBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentBlueprintName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(blockListDataTypeName))\n .withEditorAlias('Umbraco.BlockList')\n .addBlockListValue()\n .addContentData()\n .withContentTypeKey(elementTypeId)\n .withKey(blockContentKey)\n .addContentDataValue()\n .withAlias(elementTypePropertyAlias)\n .withEditorAlias(elementTypePropertyEditorAlias)\n .withValue(elementTypePropertyValue)\n .done()\n .done()\n .addExpose()\n .withContentKey(blockContentKey)\n .done()\n .addLayout()\n .withContentKey(blockContentKey)\n .done()\n .done()\n .done()\n .build();\n \n return await this.create(documentBlueprint);\n }\n\n async createDefaultDocumentBlueprintWithABlockGridEditorAndBlockWithValue(documentBlueprintName: string, documentTypeName: string, blockGridDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyEditorAlias: string, elementTypePropertyValue: string, groupName: string = 'TestGroup') {\n const crypto = require('crypto');\n const blockContentKey = crypto.randomUUID();\n const blockGridDataTypeId = await this.api.dataType.createBlockGridWithABlockAndAllowAtRoot(blockGridDataTypeName, elementTypeId, true) || '';\n const documentTypeId = await this.api.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, blockGridDataTypeName, blockGridDataTypeId, groupName) || '';\n await this.ensureNameNotExists(documentBlueprintName);\n\n const documentBlueprint = new DocumentBlueprintsBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentBlueprintName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(blockGridDataTypeName))\n .withEditorAlias('Umbraco.BlockGrid')\n .addBlockGridValue()\n .addContentData()\n .withContentTypeKey(elementTypeId)\n .withKey(blockContentKey)\n .addContentDataValue()\n .withAlias(elementTypePropertyAlias)\n .withEditorAlias(elementTypePropertyEditorAlias)\n .withValue(elementTypePropertyValue)\n .done()\n .done()\n .addExpose()\n .withContentKey(blockContentKey)\n .done()\n .addLayout()\n .withContentKey(blockContentKey)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(documentBlueprint);\n }\n\n async createDocumenBlueprintWithEnglishCultureAndDanishCultureAndTextBoxValue(documentBlueprintEnglishName: string, documentBlueprintDanishName: string, documentTypeId: string, dataTypeName: string, textContent: string, varyByCultureForText: boolean = false) {\n await this.ensureNameNotExists(documentBlueprintEnglishName);\n const cultureValue = varyByCultureForText ? 'en-US' : null;\n\n const documentBlueprint = new DocumentBlueprintsBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentBlueprintEnglishName)\n .withCulture('en-US')\n .done()\n .addVariant()\n .withName(documentBlueprintDanishName)\n .withCulture('da')\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(textContent)\n .withCulture(cultureValue)\n .withEditorAlias('Umbraco.TextBox')\n .done()\n .build();\n\n return await this.create(documentBlueprint);\n }\n} "]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DocumentBlueprintUiHelper = void 0;
4
+ const test_1 = require("@playwright/test");
4
5
  const UiBaseLocators_1 = require("./UiBaseLocators");
5
6
  const ConstantHelper_1 = require("./ConstantHelper");
6
7
  class DocumentBlueprintUiHelper extends UiBaseLocators_1.UiBaseLocators {
@@ -23,10 +24,10 @@ class DocumentBlueprintUiHelper extends UiBaseLocators_1.UiBaseLocators {
23
24
  await this.openCaretButtonForName('Document Blueprints');
24
25
  }
25
26
  async waitForDocumentBlueprintToBeCreated() {
26
- await this.waitForLoadState();
27
+ await this.page.waitForLoadState();
27
28
  }
28
29
  async waitForDocumentBlueprintToBeDeleted() {
29
- await this.waitForLoadState();
30
+ await this.page.waitForLoadState();
30
31
  }
31
32
  async reloadDocumentBlueprintsTree() {
32
33
  await this.reloadTree('Document Blueprints');
@@ -34,25 +35,26 @@ class DocumentBlueprintUiHelper extends UiBaseLocators_1.UiBaseLocators {
34
35
  async goToDocumentBlueprint(blueprintName) {
35
36
  await this.goToSection(ConstantHelper_1.ConstantHelper.sections.settings);
36
37
  await this.reloadDocumentBlueprintsTree();
37
- await this.click(this.page.getByLabel(blueprintName, { exact: true }));
38
+ await this.page.getByLabel(blueprintName, { exact: true }).click();
38
39
  }
39
40
  async isDocumentBlueprintRootTreeItemVisible(blueprintName, isVisible = true, toReload = true) {
40
41
  if (toReload) {
41
42
  await this.reloadDocumentBlueprintsTree();
42
43
  }
43
- await this.isVisible(this.documentBlueprintTree.getByText(blueprintName, { exact: true }), isVisible);
44
+ return (0, test_1.expect)(this.documentBlueprintTree.getByText(blueprintName, { exact: true })).toBeVisible({ visible: isVisible });
44
45
  }
45
46
  async clickCreateDocumentBlueprintButton() {
46
- await this.click(this.createDocumentBlueprintBtn);
47
+ await this.createDocumentBlueprintBtn.click();
47
48
  }
48
49
  async clickCreateNewDocumentBlueprintButton() {
49
- await this.click(this.createNewDocumentBlueprintBtn);
50
+ await this.createNewDocumentBlueprintBtn.click();
50
51
  }
51
52
  async enterDocumentBlueprintName(blueprintName) {
52
- await this.enterText(this.documentBlueprintNameTxt, blueprintName);
53
+ await (0, test_1.expect)(this.documentBlueprintNameTxt).toBeVisible();
54
+ await this.documentBlueprintNameTxt.fill(blueprintName);
53
55
  }
54
56
  async clickDeleteMenuButton() {
55
- await this.click(this.deleteMenu);
57
+ await this.deleteMenu.click();
56
58
  }
57
59
  }
58
60
  exports.DocumentBlueprintUiHelper = DocumentBlueprintUiHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentBlueprintUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentBlueprintUiHelper.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAChD,qDAAgD;AAEhD,MAAa,yBAA0B,SAAQ,+BAAc;IAC1C,qBAAqB,CAAU;IAC/B,wBAAwB,CAAU;IAClC,UAAU,CAAU;IAErC,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QAC1F,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,IAAY;QACtD,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,qCAAqC,CAAC,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,mCAAmC;QACvC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,mCAAmC;QACvC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,aAAqB;QAC/C,MAAM,IAAI,CAAC,WAAW,CAAC,+BAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,sCAAsC,CAAC,aAAqB,EAAE,YAAqB,IAAI,EAAE,WAAoB,IAAI;QACrH,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;SAC3C;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,kCAAkC;QACtC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,qCAAqC;QACzC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,aAAqB;QACpD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;CACF;AAhED,8DAgEC","sourcesContent":["import {Page, Locator} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class DocumentBlueprintUiHelper extends UiBaseLocators{\n private readonly documentBlueprintTree: Locator;\n private readonly documentBlueprintNameTxt: Locator;\n private readonly deleteMenu: Locator;\n\n constructor(page: Page) {\n super(page);\n this.documentBlueprintTree = page.locator('umb-tree[alias=\"Umb.Tree.DocumentBlueprint\"]');\n this.documentBlueprintNameTxt = page.locator('#name-input #input');\n this.deleteMenu = page.locator('umb-section-sidebar #menu-item').getByLabel('Delete');\n }\n\n async clickActionsMenuForDocumentBlueprints(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForDocumentBlueprints('Document Blueprints');\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName('Document Blueprints');\n }\n\n async waitForDocumentBlueprintToBeCreated() {\n await this.waitForLoadState();\n }\n\n async waitForDocumentBlueprintToBeDeleted() {\n await this.waitForLoadState();\n }\n \n async reloadDocumentBlueprintsTree() {\n await this.reloadTree('Document Blueprints');\n }\n \n async goToDocumentBlueprint(blueprintName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadDocumentBlueprintsTree();\n await this.click(this.page.getByLabel(blueprintName, {exact: true}));\n }\n\n async isDocumentBlueprintRootTreeItemVisible(blueprintName: string, isVisible: boolean = true, toReload: boolean = true){\n if (toReload) {\n await this.reloadDocumentBlueprintsTree();\n }\n await this.isVisible(this.documentBlueprintTree.getByText(blueprintName, {exact: true}), isVisible);\n }\n\n async clickCreateDocumentBlueprintButton() {\n await this.click(this.createDocumentBlueprintBtn);\n }\n\n async clickCreateNewDocumentBlueprintButton() {\n await this.click(this.createNewDocumentBlueprintBtn);\n }\n\n async enterDocumentBlueprintName(blueprintName: string) {\n await this.enterText(this.documentBlueprintNameTxt, blueprintName);\n }\n\n async clickDeleteMenuButton() {\n await this.click(this.deleteMenu);\n }\n}"]}
1
+ {"version":3,"file":"DocumentBlueprintUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentBlueprintUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,qDAAgD;AAChD,qDAAgD;AAEhD,MAAa,yBAA0B,SAAQ,+BAAc;IAC1C,qBAAqB,CAAU;IAC/B,wBAAwB,CAAU;IAClC,UAAU,CAAU;IAErC,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QAC1F,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,IAAY;QACtD,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,qCAAqC,CAAC,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,mCAAmC;QACvC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,mCAAmC;QACvC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,aAAqB;QAC/C,MAAM,IAAI,CAAC,WAAW,CAAC,+BAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,sCAAsC,CAAC,aAAqB,EAAE,YAAqB,IAAI,EAAE,WAAoB,IAAI;QACrH,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;SAC3C;QACD,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IACtH,CAAC;IAED,KAAK,CAAC,kCAAkC;QACtC,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,qCAAqC;QACzC,MAAM,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,aAAqB;QACpD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF;AAjED,8DAiEC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class DocumentBlueprintUiHelper extends UiBaseLocators{\n private readonly documentBlueprintTree: Locator;\n private readonly documentBlueprintNameTxt: Locator;\n private readonly deleteMenu: Locator;\n\n constructor(page: Page) {\n super(page);\n this.documentBlueprintTree = page.locator('umb-tree[alias=\"Umb.Tree.DocumentBlueprint\"]');\n this.documentBlueprintNameTxt = page.locator('#name-input #input');\n this.deleteMenu = page.locator('umb-section-sidebar #menu-item').getByLabel('Delete');\n }\n\n async clickActionsMenuForDocumentBlueprints(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForDocumentBlueprints('Document Blueprints');\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName('Document Blueprints');\n }\n\n async waitForDocumentBlueprintToBeCreated() {\n await this.page.waitForLoadState();\n }\n\n async waitForDocumentBlueprintToBeDeleted() {\n await this.page.waitForLoadState();\n }\n \n async reloadDocumentBlueprintsTree() {\n await this.reloadTree('Document Blueprints');\n }\n \n async goToDocumentBlueprint(blueprintName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadDocumentBlueprintsTree();\n await this.page.getByLabel(blueprintName, {exact: true}).click();\n }\n\n async isDocumentBlueprintRootTreeItemVisible(blueprintName: string, isVisible: boolean = true, toReload: boolean = true){\n if (toReload) {\n await this.reloadDocumentBlueprintsTree();\n }\n return expect(this.documentBlueprintTree.getByText(blueprintName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async clickCreateDocumentBlueprintButton() {\n await this.createDocumentBlueprintBtn.click();\n }\n \n async clickCreateNewDocumentBlueprintButton() {\n await this.createNewDocumentBlueprintBtn.click();\n }\n\n async enterDocumentBlueprintName(blueprintName: string) {\n await expect(this.documentBlueprintNameTxt).toBeVisible();\n await this.documentBlueprintNameTxt.fill(blueprintName);\n }\n\n async clickDeleteMenuButton() {\n await this.deleteMenu.click();\n }\n}"]}
@@ -1,21 +1,7 @@
1
- import { ApiHelpers } from "./ApiHelpers";
2
- export declare class DocumentTypeApiHelper {
3
- api: ApiHelpers;
4
- constructor(api: ApiHelpers);
5
- ensureNameNotExists(name: string): Promise<number | import("playwright-core").APIResponse | null | undefined>;
6
- getAllAtRoot(): Promise<import("playwright-core").APIResponse>;
7
- private recurseChildren;
8
- private recurseDeleteChildren;
9
- getChildren(id: string): Promise<any>;
10
- create(documentType: any): Promise<string | undefined>;
11
- get(id: string): Promise<any>;
12
- getByName(name: string): Promise<any>;
13
- doesNameExist(name: string): Promise<any>;
14
- delete(id: string): Promise<number | undefined>;
15
- getFolder(id: string): Promise<any>;
16
- deleteFolder(id: string): Promise<import("playwright-core").APIResponse>;
17
- createFolder(name: string, parentId?: string): Promise<string | undefined>;
18
- renameFolder(folderId: string, folderName: string): Promise<import("playwright-core").APIResponse>;
1
+ import { TreeApiHelper } from "./TreeApiHelper";
2
+ export declare class DocumentTypeApiHelper extends TreeApiHelper {
3
+ protected resourcePath: string;
4
+ protected treePath: string;
19
5
  createDefaultDocumentType(documentTypeName: string): Promise<string | undefined>;
20
6
  createDocumentTypeWithPropertyEditor(documentTypeName: string, dataTypeName: string, dataTypeId: string, groupName?: string, documentTypeVaryByCulture?: boolean, propertyVaryByCulture?: boolean, isMandatory?: boolean): Promise<string | undefined>;
21
7
  createDocumentTypeWithPropertyEditorAndTwoGroups(documentTypeName: string, firstPropertyName: string, firstDataTypeId: string, firstGroupName: string | undefined, secondPropertyName: string, secondDataTypeId: string, secondGroupName?: string): Promise<string | undefined>;
@@ -1,142 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DocumentTypeApiHelper = void 0;
4
+ const TreeApiHelper_1 = require("./TreeApiHelper");
4
5
  const json_models_builders_1 = require("@umbraco/json-models-builders");
5
6
  const AliasHelper_1 = require("./AliasHelper");
6
- class DocumentTypeApiHelper {
7
- api;
8
- constructor(api) {
9
- this.api = api;
10
- }
11
- async ensureNameNotExists(name) {
12
- const rootDocumentTypes = await this.getAllAtRoot();
13
- const jsonDocumentTypes = await rootDocumentTypes.json();
14
- for (const documentType of jsonDocumentTypes.items) {
15
- if (documentType.name === name) {
16
- if (documentType.isFolder) {
17
- return await this.recurseDeleteChildren(documentType);
18
- }
19
- return await this.delete(documentType.id);
20
- }
21
- else if (documentType.hasChildren) {
22
- await this.recurseChildren(name, documentType.id, true);
23
- }
24
- }
25
- return null;
26
- }
27
- async getAllAtRoot() {
28
- return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/document-type/root?skip=0&take=10000&foldersOnly=false');
29
- }
30
- async recurseChildren(name, id, toDelete) {
31
- const items = await this.getChildren(id);
32
- for (const child of items) {
33
- if (child.name === name) {
34
- if (!toDelete) {
35
- if (child.isFolder) {
36
- return await this.getFolder(child.id);
37
- }
38
- return await this.get(child.id);
39
- }
40
- if (child.isFolder) {
41
- return await this.recurseDeleteChildren(child);
42
- }
43
- return await this.delete(child.id);
44
- }
45
- else if (child.hasChildren) {
46
- return await this.recurseChildren(name, child.id, toDelete);
47
- }
48
- }
49
- return false;
50
- }
51
- async recurseDeleteChildren(documentTypeFolder) {
52
- if (!documentTypeFolder.hasChildren) {
53
- return await this.deleteFolder(documentTypeFolder.id);
54
- }
55
- const items = await this.getChildren(documentTypeFolder.id);
56
- for (const child of items) {
57
- if (child.hasChildren) {
58
- await this.recurseDeleteChildren(child);
59
- }
60
- else if (child.isFolder) {
61
- await this.deleteFolder(child.id);
62
- }
63
- else {
64
- await this.delete(child.id);
65
- }
66
- }
67
- return await this.deleteFolder(documentTypeFolder.id);
68
- }
69
- async getChildren(id) {
70
- const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/document-type/children?parentId=${id}&skip=0&take=10000&foldersOnly=false`);
71
- const items = await response.json();
72
- return items.items;
73
- }
74
- async create(documentType) {
75
- if (documentType == null) {
76
- return;
77
- }
78
- const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/document-type', documentType);
79
- return response.headers().location.split("/").pop();
80
- }
81
- async get(id) {
82
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document-type/' + id);
83
- const json = await response.json();
84
- if (json !== null) {
85
- return json;
86
- }
87
- return null;
88
- }
89
- async getByName(name) {
90
- const rootDocumentTypes = await this.getAllAtRoot();
91
- const jsonDocumentTypes = await rootDocumentTypes.json();
92
- for (const documentType of jsonDocumentTypes.items) {
93
- if (documentType.name === name) {
94
- if (documentType.isFolder) {
95
- return this.getFolder(documentType.id);
96
- }
97
- return this.get(documentType.id);
98
- }
99
- else if (documentType.hasChildren) {
100
- const result = await this.recurseChildren(name, documentType.id, false);
101
- if (result) {
102
- return result;
103
- }
104
- }
105
- }
106
- return false;
107
- }
108
- async doesNameExist(name) {
109
- return await this.getByName(name);
110
- }
111
- async delete(id) {
112
- if (id == null) {
113
- return;
114
- }
115
- const response = await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/document-type/' + id);
116
- return response.status();
117
- }
118
- // FOLDER
119
- async getFolder(id) {
120
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document-type/folder/' + id);
121
- return await response.json();
122
- }
123
- async deleteFolder(id) {
124
- return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/document-type/folder/' + id);
125
- }
126
- async createFolder(name, parentId) {
127
- const folder = {
128
- name: name,
129
- parent: parentId ? { id: parentId } : null
130
- };
131
- const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/document-type/folder', folder);
132
- return response.headers().location.split("/").pop();
133
- }
134
- async renameFolder(folderId, folderName) {
135
- const folder = {
136
- name: folderName
137
- };
138
- return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document-type/folder/' + folderId, folder);
139
- }
7
+ class DocumentTypeApiHelper extends TreeApiHelper_1.TreeApiHelper {
8
+ resourcePath = 'document-type';
9
+ treePath = 'tree/document-type';
140
10
  async createDefaultDocumentType(documentTypeName) {
141
11
  await this.ensureNameNotExists(documentTypeName);
142
12
  const documentType = new json_models_builders_1.DocumentTypeBuilder()