@sprucelabs/spruce-cli 18.2.0 → 18.3.1

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 (368) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/build/.spruce/events/events.contract.d.ts +159 -0
  3. package/build/.spruce/events/events.contract.js +5 -1
  4. package/build/.spruce/events/events.contract.js.map +1 -1
  5. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.d.ts +46 -0
  6. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js +57 -0
  7. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -0
  8. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.d.ts +68 -0
  9. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js +78 -0
  10. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -0
  11. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.d.ts +40 -0
  12. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js +51 -0
  13. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -0
  14. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.d.ts +9 -0
  15. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js +17 -0
  16. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -0
  17. package/build/.spruce/schemas/schemas.types.d.ts +158 -55
  18. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  19. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.d.ts +3 -0
  20. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js +70 -0
  21. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -0
  22. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.d.ts +3 -0
  23. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js +35 -0
  24. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -0
  25. package/build/.spruce/settings.json +2 -1
  26. package/build/GlobalEmitter.d.ts +13 -38
  27. package/build/GlobalEmitter.js +3 -6
  28. package/build/GlobalEmitter.js.map +1 -1
  29. package/build/__tests__/behavioral/TestingAConversation.test.d.ts +2 -1
  30. package/build/__tests__/behavioral/TestingAConversation.test.js +74 -84
  31. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  32. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +38 -13
  33. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  34. package/build/__tests__/behavioral/events/EventWriter.test.d.ts +4 -0
  35. package/build/__tests__/behavioral/events/EventWriter.test.js +116 -0
  36. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -0
  37. package/build/__tests__/behavioral/{ListeningToCoreEvents.test.d.ts → events/ListeningToCoreEvents.test.d.ts} +1 -1
  38. package/build/__tests__/behavioral/{ListeningToCoreEvents.test.js → events/ListeningToCoreEvents.test.js} +1 -1
  39. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -0
  40. package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.d.ts → events/RegisteringEventsOnBoot.test.d.ts} +1 -1
  41. package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.js → events/RegisteringEventsOnBoot.test.js} +2 -2
  42. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -0
  43. package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.d.ts → events/RegisteringGlobalEvents.test.d.ts} +2 -3
  44. package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.js → events/RegisteringGlobalEvents.test.js} +45 -70
  45. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -0
  46. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.d.ts +1 -0
  47. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +16 -9
  48. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  49. package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.d.ts → events/SyncingEventsOnlyFromDependencies.test.d.ts} +1 -1
  50. package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.js → events/SyncingEventsOnlyFromDependencies.test.js} +1 -1
  51. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -0
  52. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.d.ts +2 -2
  53. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +7 -7
  54. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  55. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.d.ts +6 -0
  56. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +85 -0
  57. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -0
  58. package/build/__tests__/behavioral/permissions/PermissionStore.test.d.ts +5 -4
  59. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +97 -63
  60. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  61. package/build/__tests__/behavioral/permissions/PermissionWriter.test.d.ts +5 -0
  62. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +88 -0
  63. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -0
  64. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +15 -4
  65. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +325 -28
  66. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  67. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.d.ts +11 -0
  68. package/build/__tests__/behavioral/permissions/{AbstractPermissionsTest.js → support/AbstractPermissionsTest.js} +34 -2
  69. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -0
  70. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.d.ts +1 -0
  71. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js +11 -0
  72. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -0
  73. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.d.ts +1 -0
  74. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js +17 -0
  75. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -0
  76. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.d.ts +5 -0
  77. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js +10 -0
  78. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -0
  79. package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.d.ts → schemas/CreatingSchemasWithGenerics.test.d.ts} +1 -1
  80. package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.js → schemas/CreatingSchemasWithGenerics.test.js} +2 -2
  81. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -0
  82. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.d.ts +1 -1
  83. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +46 -46
  84. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  85. package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.d.ts → schemas/SettingUpSchemasForModuleDistribution.test.d.ts} +1 -1
  86. package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.js → schemas/SettingUpSchemasForModuleDistribution.test.js} +3 -3
  87. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -0
  88. package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.d.ts → skill/InstallingASkillAtAnOrg.test.d.ts} +1 -1
  89. package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.js → skill/InstallingASkillAtAnOrg.test.js} +2 -2
  90. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -0
  91. package/build/__tests__/behavioral/{LoggingInAsASkill.test.d.ts → skill/LoggingInAsASkill.test.d.ts} +1 -1
  92. package/build/__tests__/behavioral/{LoggingInAsASkill.test.js → skill/LoggingInAsASkill.test.js} +2 -2
  93. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -0
  94. package/build/__tests__/behavioral/{RebuildingASkill.test.d.ts → skill/RebuildingASkill.test.d.ts} +1 -1
  95. package/build/__tests__/behavioral/{RebuildingASkill.test.js → skill/RebuildingASkill.test.js} +2 -2
  96. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -0
  97. package/build/__tests__/behavioral/tests/CreatingATest.test.js +2 -2
  98. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  99. package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.d.ts → tests/SettingUpASkillForTesting.test.d.ts} +1 -1
  100. package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.js → tests/SettingUpASkillForTesting.test.js} +2 -2
  101. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -0
  102. package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.d.ts → tests/TestReporterSettingsRemembered.test.d.ts} +1 -1
  103. package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.js → tests/TestReporterSettingsRemembered.test.js} +1 -1
  104. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -0
  105. package/build/__tests__/behavioral/{TestingDataStores.test.d.ts → tests/TestingDataStores.test.d.ts} +1 -1
  106. package/build/__tests__/behavioral/{TestingDataStores.test.js → tests/TestingDataStores.test.js} +3 -3
  107. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -0
  108. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +7 -3
  109. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  110. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +2 -2
  111. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  112. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +1 -1
  113. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  114. package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.d.ts → views/RegisteringSkillViewOnBoot.test.d.ts} +4 -4
  115. package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.js → views/RegisteringSkillViewOnBoot.test.js} +2 -2
  116. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -0
  117. package/build/__tests__/behavioral/{WatchingSkillViews.test.d.ts → views/WatchingSkillViews.test.d.ts} +1 -1
  118. package/build/__tests__/behavioral/{WatchingSkillViews.test.js → views/WatchingSkillViews.test.js} +2 -2
  119. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -0
  120. package/build/__tests__/implementation/ActionExecuter2.test.d.ts +1 -1
  121. package/build/__tests__/implementation/ActionExecuter2.test.js +23 -11
  122. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  123. package/build/__tests__/implementation/GlobalEmitter.test.d.ts +1 -0
  124. package/build/__tests__/implementation/GlobalEmitter.test.js +40 -3
  125. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  126. package/build/__tests__/implementation/SkillStore.test.js +3 -4
  127. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  128. package/build/features/AbstractAction.d.ts +1 -1
  129. package/build/features/AbstractAction.js.map +1 -1
  130. package/build/features/AbstractFeature.d.ts +3 -3
  131. package/build/features/AbstractFeature.js +8 -8
  132. package/build/features/AbstractFeature.js.map +1 -1
  133. package/build/features/ActionExecuter.d.ts +1 -1
  134. package/build/features/ActionExecuter.js +3 -4
  135. package/build/features/ActionExecuter.js.map +1 -1
  136. package/build/features/ActionFactory.d.ts +12 -5
  137. package/build/features/ActionFactory.js +27 -6
  138. package/build/features/ActionFactory.js.map +1 -1
  139. package/build/features/ActionQuestionAsker.d.ts +1 -1
  140. package/build/features/ActionQuestionAsker.js +6 -6
  141. package/build/features/ActionQuestionAsker.js.map +1 -1
  142. package/build/features/conversation/ConversationFeature.js +1 -1
  143. package/build/features/conversation/ConversationFeature.js.map +1 -1
  144. package/build/features/dependencies/DependencyFeature.js +1 -1
  145. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  146. package/build/features/deploy/actions/HerokuAction.js +31 -33
  147. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  148. package/build/features/error/ErrorFeature.js +4 -4
  149. package/build/features/error/ErrorFeature.js.map +1 -1
  150. package/build/features/event/EventFeature.d.ts +8 -8
  151. package/build/features/event/EventFeature.js +7 -4
  152. package/build/features/event/EventFeature.js.map +1 -1
  153. package/build/features/event/actions/CreateAction.js.map +1 -1
  154. package/build/features/event/actions/ListenAction.js.map +1 -1
  155. package/build/features/event/stores/EventStore.d.ts +9 -9
  156. package/build/features/event/stores/EventStore.js +26 -26
  157. package/build/features/event/stores/EventStore.js.map +1 -1
  158. package/build/features/eventContract/EventContractFeature.js +4 -1
  159. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  160. package/build/features/eventContract/actions/PullAction.js +10 -5
  161. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  162. package/build/features/features.types.d.ts +2 -37
  163. package/build/features/features.types.js +0 -41
  164. package/build/features/features.types.js.map +1 -1
  165. package/build/features/log/LogFeature.js +1 -1
  166. package/build/features/log/LogFeature.js.map +1 -1
  167. package/build/features/node/NodeFeature.js.map +1 -1
  168. package/build/features/organization/actions/InstallAction.js.map +1 -1
  169. package/build/features/permission/PermissionFeature.d.ts +12 -2
  170. package/build/features/permission/PermissionFeature.js +138 -15
  171. package/build/features/permission/PermissionFeature.js.map +1 -1
  172. package/build/features/permission/actions/CreateAction.js +4 -1
  173. package/build/features/permission/actions/CreateAction.js.map +1 -1
  174. package/build/features/permission/actions/SyncAction.d.ts +5 -1
  175. package/build/features/permission/actions/SyncAction.js +28 -10
  176. package/build/features/permission/actions/SyncAction.js.map +1 -1
  177. package/build/features/permission/stores/PermissionStore.d.ts +6 -1
  178. package/build/features/permission/stores/PermissionStore.js +43 -31
  179. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  180. package/build/features/permission/writers/PermissionWriter.d.ts +7 -1
  181. package/build/features/permission/writers/PermissionWriter.js +67 -18
  182. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  183. package/build/features/person/PersonFeature.js +1 -1
  184. package/build/features/person/PersonFeature.js.map +1 -1
  185. package/build/features/sandbox/SandboxFeature.js +1 -1
  186. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  187. package/build/features/schema/SchemaFeature.d.ts +8 -8
  188. package/build/features/schema/SchemaFeature.js +4 -4
  189. package/build/features/schema/SchemaFeature.js.map +1 -1
  190. package/build/features/schema/writers/SchemaWriter.d.ts +12 -12
  191. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  192. package/build/features/skill/SkillFeature.d.ts +11 -11
  193. package/build/features/skill/SkillFeature.js +2 -2
  194. package/build/features/skill/SkillFeature.js.map +1 -1
  195. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  196. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  197. package/build/features/skill/stores/SkillStore.js +1 -2
  198. package/build/features/skill/stores/SkillStore.js.map +1 -1
  199. package/build/features/store/StoreFeature.js +1 -1
  200. package/build/features/store/StoreFeature.js.map +1 -1
  201. package/build/features/store/actions/SyncAction.d.ts +1 -1
  202. package/build/features/store/actions/SyncAction.js.map +1 -1
  203. package/build/features/test/TestFeature.js +1 -1
  204. package/build/features/test/TestFeature.js.map +1 -1
  205. package/build/features/view/ViewFeature.js +1 -1
  206. package/build/features/view/ViewFeature.js.map +1 -1
  207. package/build/schemas/v2020_07_22/actionResponse.builder.d.ts +85 -0
  208. package/build/schemas/v2020_07_22/actionResponse.builder.js +70 -0
  209. package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -0
  210. package/build/schemas/v2020_07_22/generatedFile.builder.d.ts +27 -0
  211. package/build/schemas/v2020_07_22/generatedFile.builder.js +45 -0
  212. package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -0
  213. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js +4 -40
  214. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  215. package/build/services/CommandService.d.ts +2 -2
  216. package/build/services/CommandService.js +6 -6
  217. package/build/services/CommandService.js.map +1 -1
  218. package/build/services/PkgService.d.ts +1 -0
  219. package/build/services/PkgService.js +5 -0
  220. package/build/services/PkgService.js.map +1 -1
  221. package/build/tests/AbstractCliTest.d.ts +7 -3
  222. package/build/tests/AbstractCliTest.js +81 -45
  223. package/build/tests/AbstractCliTest.js.map +1 -1
  224. package/build/tests/buildTestCache.js +7 -0
  225. package/build/tests/buildTestCache.js.map +1 -1
  226. package/build/tests/fixtures/FeatureFixture.js +1 -0
  227. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  228. package/build/tests/utilities/test.utility.d.ts +2 -0
  229. package/build/tests/utilities/test.utility.js +6 -0
  230. package/build/tests/utilities/test.utility.js.map +1 -1
  231. package/node_modules/@typescript-eslint/parser/package.json +5 -5
  232. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts +4 -2
  233. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map +1 -1
  234. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +13 -5
  235. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
  236. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts +2 -1
  237. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map +1 -1
  238. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +3 -0
  239. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
  240. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  241. package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +20 -2
  242. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +20 -2
  243. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
  244. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +2 -0
  245. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
  246. package/node_modules/@typescript-eslint/types/package.json +2 -2
  247. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
  248. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +2 -0
  249. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
  250. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +15 -3
  251. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
  252. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
  253. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
  254. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +2 -0
  255. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +1 -1
  256. package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
  257. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map +1 -1
  258. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +63 -49
  259. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
  260. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  261. package/package.json +65 -33
  262. package/src/.spruce/events/events.contract.ts +24 -0
  263. package/src/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.ts +54 -0
  264. package/src/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.ts +79 -0
  265. package/src/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.ts +48 -0
  266. package/src/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.ts +13 -0
  267. package/src/.spruce/schemas/schemas.types.ts +171 -52
  268. package/src/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.ts +58 -0
  269. package/src/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.ts +33 -0
  270. package/src/.spruce/settings.json +2 -1
  271. package/src/GlobalEmitter.ts +2 -7
  272. package/src/__tests__/behavioral/TestingAConversation.test.ts +20 -37
  273. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +14 -2
  274. package/src/__tests__/behavioral/events/EventWriter.test.ts +75 -0
  275. package/src/__tests__/behavioral/{ListeningToCoreEvents.test.ts → events/ListeningToCoreEvents.test.ts} +1 -1
  276. package/src/__tests__/behavioral/{RegisteringEventsOnBoot.test.ts → events/RegisteringEventsOnBoot.test.ts} +2 -2
  277. package/src/__tests__/behavioral/{RegisteringGlobalEvents.test.ts → events/RegisteringGlobalEvents.test.ts} +4 -12
  278. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +6 -0
  279. package/src/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.ts → events/SyncingEventsOnlyFromDependencies.test.ts} +2 -2
  280. package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +2 -2
  281. package/src/__tests__/behavioral/permissions/PermissionPlugin.test.ts +24 -0
  282. package/src/__tests__/behavioral/permissions/PermissionStore.test.ts +96 -38
  283. package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +24 -0
  284. package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +125 -8
  285. package/src/__tests__/behavioral/permissions/support/AbstractPermissionsTest.ts +38 -0
  286. package/src/__tests__/behavioral/permissions/support/generateShortAlphaId.ts +5 -0
  287. package/src/__tests__/behavioral/permissions/support/renderPermissionTestFile.ts +27 -0
  288. package/src/__tests__/behavioral/permissions/support/sortPermissionContracts.ts +3 -0
  289. package/src/__tests__/behavioral/{CreatingSchemasWithGenerics.test.ts → schemas/CreatingSchemasWithGenerics.test.ts} +2 -2
  290. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +12 -12
  291. package/src/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.ts → schemas/SettingUpSchemasForModuleDistribution.test.ts} +4 -4
  292. package/src/__tests__/behavioral/{InstallingASkillAtAnOrg.test.ts → skill/InstallingASkillAtAnOrg.test.ts} +2 -2
  293. package/src/__tests__/behavioral/{LoggingInAsASkill.test.ts → skill/LoggingInAsASkill.test.ts} +3 -3
  294. package/src/__tests__/behavioral/{RebuildingASkill.test.ts → skill/RebuildingASkill.test.ts} +2 -2
  295. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -2
  296. package/src/__tests__/behavioral/{SettingUpASkillForTesting.test.ts → tests/SettingUpASkillForTesting.test.ts} +2 -2
  297. package/src/__tests__/behavioral/{TestReporterSettingsRemembered.test.ts → tests/TestReporterSettingsRemembered.test.ts} +2 -2
  298. package/src/__tests__/behavioral/{TestingDataStores.test.ts → tests/TestingDataStores.test.ts} +3 -3
  299. package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +3 -0
  300. package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +3 -2
  301. package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
  302. package/src/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.ts → views/RegisteringSkillViewOnBoot.test.ts} +2 -2
  303. package/src/__tests__/behavioral/{WatchingSkillViews.test.ts → views/WatchingSkillViews.test.ts} +3 -3
  304. package/src/__tests__/implementation/ActionExecuter2.test.ts +13 -6
  305. package/src/__tests__/implementation/GlobalEmitter.test.ts +22 -1
  306. package/src/__tests__/implementation/SkillStore.test.ts +1 -2
  307. package/src/features/AbstractAction.ts +2 -2
  308. package/src/features/AbstractFeature.ts +8 -8
  309. package/src/features/ActionExecuter.ts +4 -5
  310. package/src/features/ActionFactory.ts +44 -20
  311. package/src/features/ActionQuestionAsker.ts +17 -17
  312. package/src/features/conversation/ConversationFeature.ts +1 -1
  313. package/src/features/dependencies/DependencyFeature.ts +1 -1
  314. package/src/features/deploy/actions/HerokuAction.ts +2 -2
  315. package/src/features/error/ErrorFeature.ts +4 -4
  316. package/src/features/event/EventFeature.ts +15 -14
  317. package/src/features/event/actions/CreateAction.ts +1 -1
  318. package/src/features/event/actions/ListenAction.ts +1 -1
  319. package/src/features/event/stores/EventStore.ts +37 -37
  320. package/src/features/eventContract/EventContractFeature.ts +6 -1
  321. package/src/features/eventContract/actions/PullAction.ts +7 -3
  322. package/src/features/features.types.ts +4 -41
  323. package/src/features/log/LogFeature.ts +1 -1
  324. package/src/features/node/NodeFeature.ts +1 -1
  325. package/src/features/organization/actions/InstallAction.ts +1 -1
  326. package/src/features/permission/PermissionFeature.ts +68 -11
  327. package/src/features/permission/actions/CreateAction.ts +2 -0
  328. package/src/features/permission/actions/SyncAction.ts +22 -3
  329. package/src/features/permission/stores/PermissionStore.ts +27 -8
  330. package/src/features/permission/writers/PermissionWriter.ts +62 -4
  331. package/src/features/person/PersonFeature.ts +1 -1
  332. package/src/features/sandbox/SandboxFeature.ts +1 -3
  333. package/src/features/schema/SchemaFeature.ts +14 -14
  334. package/src/features/schema/writers/SchemaWriter.ts +14 -15
  335. package/src/features/skill/SkillFeature.ts +18 -18
  336. package/src/features/skill/actions/RebuildAction.ts +1 -1
  337. package/src/features/skill/actions/RegisterAction.ts +1 -1
  338. package/src/features/skill/stores/SkillStore.ts +1 -2
  339. package/src/features/store/StoreFeature.ts +1 -1
  340. package/src/features/store/actions/SyncAction.ts +1 -1
  341. package/src/features/test/TestFeature.ts +1 -1
  342. package/src/features/view/ViewFeature.ts +1 -1
  343. package/src/schemas/v2020_07_22/actionResponse.builder.ts +62 -0
  344. package/src/schemas/v2020_07_22/generatedFile.builder.ts +44 -0
  345. package/src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts +3 -46
  346. package/src/services/CommandService.ts +5 -5
  347. package/src/services/PkgService.ts +4 -0
  348. package/src/tests/AbstractCliTest.ts +31 -13
  349. package/src/tests/buildTestCache.ts +7 -0
  350. package/src/tests/fixtures/FeatureFixture.ts +2 -0
  351. package/src/tests/utilities/test.utility.ts +13 -0
  352. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +0 -1
  353. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +0 -1
  354. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +0 -1
  355. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +0 -1
  356. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +0 -1
  357. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +0 -1
  358. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +0 -1
  359. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +0 -1
  360. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +0 -1
  361. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +0 -1
  362. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +0 -1
  363. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +0 -1
  364. package/build/__tests__/behavioral/TestingDataStores.test.js.map +0 -1
  365. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +0 -1
  366. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.d.ts +0 -8
  367. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.js.map +0 -1
  368. package/src/__tests__/behavioral/permissions/AbstractPermissionsTest.ts +0 -20
@@ -18,9 +18,9 @@ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/
18
18
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
19
19
  var _testUtils = require("@sprucelabs/test-utils");
20
20
  var _dotenv = _interopRequireDefault(require("dotenv"));
21
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
22
- var _constants = require("../../tests/constants");
23
- var _test = _interopRequireDefault(require("../../tests/utilities/test.utility"));
21
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
22
+ var _constants = require("../../../tests/constants");
23
+ var _test = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
24
24
  var _dec, _dec2, _dec3, _class, _class2;
25
25
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
26
26
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -51,26 +51,23 @@ var RegisteringGlobalEventsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _t
51
51
  _context.next = 4;
52
52
  return this.people.loginAsDemoPerson(_constants.DEMO_NUMBER_GLOBAL_EVENTS);
53
53
  case 4:
54
- _context.next = 6;
55
- return this.resetAccount();
56
- case 6:
57
54
  orgFixture = this.getOrganizationFixture();
58
55
  skillFixture = this.getSkillFixture();
59
- _context.next = 10;
56
+ _context.next = 8;
60
57
  return orgFixture.seedDemoOrg({
61
58
  name: 'my org'
62
59
  });
63
- case 10:
60
+ case 8:
64
61
  org = _context.sent;
65
- _context.next = 13;
62
+ _context.next = 11;
66
63
  return skillFixture.registerCurrentSkill({
67
64
  name: 'heartwood test'
68
65
  });
69
- case 13:
66
+ case 11:
70
67
  this.skill = _context.sent;
71
- _context.next = 16;
68
+ _context.next = 14;
72
69
  return orgFixture.installSkillAtOrganization(this.skill.id, org.id);
73
- case 16:
70
+ case 14:
74
71
  case "end":
75
72
  return _context.stop();
76
73
  }
@@ -93,9 +90,6 @@ var RegisteringGlobalEventsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _t
93
90
  _context2.next = 2;
94
91
  return (0, _get2["default"])((0, _getPrototypeOf2["default"])(RegisteringGlobalEventsTest), "afterAll", this).call(this);
95
92
  case 2:
96
- _context2.next = 4;
97
- return this.resetAccount();
98
- case 4:
99
93
  case "end":
100
94
  return _context2.stop();
101
95
  }
@@ -107,35 +101,16 @@ var RegisteringGlobalEventsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _t
107
101
  }
108
102
  return afterAll;
109
103
  }()
110
- }, {
111
- key: "resetAccount",
112
- value: function () {
113
- var _resetAccount = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
114
- return _regenerator["default"].wrap(function _callee3$(_context3) {
115
- while (1) {
116
- switch (_context3.prev = _context3.next) {
117
- case 0:
118
- case "end":
119
- return _context3.stop();
120
- }
121
- }
122
- }, _callee3);
123
- }));
124
- function resetAccount() {
125
- return _resetAccount.apply(this, arguments);
126
- }
127
- return resetAccount;
128
- }()
129
104
  }, {
130
105
  key: "canCreateGlobalEvent",
131
106
  value: function () {
132
- var _canCreateGlobalEvent = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
107
+ var _canCreateGlobalEvent = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
133
108
  var results, optionsFile, importedOptions, version, contractFile, importedContract, sig;
134
- return _regenerator["default"].wrap(function _callee4$(_context4) {
109
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
135
110
  while (1) {
136
- switch (_context4.prev = _context4.next) {
111
+ switch (_context3.prev = _context3.next) {
137
112
  case 0:
138
- _context4.next = 2;
113
+ _context3.next = 2;
139
114
  return this.Action('event', 'create').execute({
140
115
  isGlobal: true,
141
116
  nameReadable: EVENT_NAME_READABLE,
@@ -143,31 +118,31 @@ var RegisteringGlobalEventsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _t
143
118
  nameCamel: EVENT_CAMEL
144
119
  });
145
120
  case 2:
146
- results = _context4.sent;
121
+ results = _context3.sent;
147
122
  _testUtils.assert.isFalsy(results.errors);
148
123
  optionsFile = _test["default"].assertFileByNameInGeneratedFiles('event.options.ts', results.files);
149
- _context4.next = 7;
124
+ _context3.next = 7;
150
125
  return this.Service('import').importDefault(optionsFile);
151
126
  case 7:
152
- importedOptions = _context4.sent;
127
+ importedOptions = _context3.sent;
153
128
  _testUtils.assert.isEqualDeep(importedOptions, {
154
129
  isGlobal: true
155
130
  });
156
131
  version = _spruceSkillUtils.versionUtil.generateVersion().dirValue;
157
132
  contractFile = _test["default"].assertFileByNameInGeneratedFiles("".concat(EVENT_CAMEL, ".").concat(version, ".contract.ts"), results.files);
158
- _context4.next = 13;
133
+ _context3.next = 13;
159
134
  return this.Service('import').importDefault(contractFile);
160
135
  case 13:
161
- importedContract = _context4.sent;
136
+ importedContract = _context3.sent;
162
137
  sig = importedContract.eventSignatures["".concat(this.skill.slug, ".").concat(EVENT_NAME, "::").concat(version)];
163
138
  _testUtils.assert.isTrue(sig.isGlobal);
164
139
  _testUtils.assert.isTruthy(sig.emitPayloadSchema);
165
140
  case 17:
166
141
  case "end":
167
- return _context4.stop();
142
+ return _context3.stop();
168
143
  }
169
144
  }
170
- }, _callee4, this);
145
+ }, _callee3, this);
171
146
  }));
172
147
  function canCreateGlobalEvent() {
173
148
  return _canCreateGlobalEvent.apply(this, arguments);
@@ -177,41 +152,41 @@ var RegisteringGlobalEventsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _t
177
152
  }, {
178
153
  key: "registersGloballyOnBoot",
179
154
  value: function () {
180
- var _registersGloballyOnBoot = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
155
+ var _registersGloballyOnBoot = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
181
156
  var _boot$meta;
182
157
  var boot, client, contractResults, contracts, version, eventName;
183
- return _regenerator["default"].wrap(function _callee6$(_context6) {
158
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
184
159
  while (1) {
185
- switch (_context6.prev = _context6.next) {
160
+ switch (_context5.prev = _context5.next) {
186
161
  case 0:
187
- _context6.next = 2;
162
+ _context5.next = 2;
188
163
  return this.Action('skill', 'boot').execute({
189
164
  local: true
190
165
  });
191
166
  case 2:
192
- boot = _context6.sent;
193
- _context6.next = 5;
167
+ boot = _context5.sent;
168
+ _context5.next = 5;
194
169
  return this.connectToApi({
195
170
  skillId: this.skill.id,
196
171
  apiKey: this.skill.apiKey
197
172
  });
198
173
  case 5:
199
- client = _context6.sent;
200
- _context6.next = 8;
174
+ client = _context5.sent;
175
+ _context5.next = 8;
201
176
  return this.Store('event', {
202
177
  apiClientFactory: function () {
203
- var _apiClientFactory = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
204
- return _regenerator["default"].wrap(function _callee5$(_context5) {
178
+ var _apiClientFactory = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
179
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
205
180
  while (1) {
206
- switch (_context5.prev = _context5.next) {
181
+ switch (_context4.prev = _context4.next) {
207
182
  case 0:
208
- return _context5.abrupt("return", client);
183
+ return _context4.abrupt("return", client);
209
184
  case 1:
210
185
  case "end":
211
- return _context5.stop();
186
+ return _context4.stop();
212
187
  }
213
188
  }
214
- }, _callee5);
189
+ }, _callee4);
215
190
  }));
216
191
  function apiClientFactory() {
217
192
  return _apiClientFactory.apply(this, arguments);
@@ -220,7 +195,7 @@ var RegisteringGlobalEventsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _t
220
195
  }()
221
196
  }).fetchEventContracts();
222
197
  case 8:
223
- contractResults = _context6.sent;
198
+ contractResults = _context5.sent;
224
199
  contracts = contractResults.contracts;
225
200
  (_boot$meta = boot.meta) === null || _boot$meta === void 0 ? void 0 : _boot$meta.kill();
226
201
  version = _spruceSkillUtils.versionUtil.generateVersion().constValue;
@@ -228,10 +203,10 @@ var RegisteringGlobalEventsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _t
228
203
  _testUtils.assert.isTruthy(contracts[1].eventSignatures[eventName]);
229
204
  case 14:
230
205
  case "end":
231
- return _context6.stop();
206
+ return _context5.stop();
232
207
  }
233
208
  }
234
- }, _callee6, this);
209
+ }, _callee5, this);
235
210
  }));
236
211
  function registersGloballyOnBoot() {
237
212
  return _registersGloballyOnBoot.apply(this, arguments);
@@ -241,25 +216,25 @@ var RegisteringGlobalEventsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _t
241
216
  }, {
242
217
  key: "canSyncGlobalEvents",
243
218
  value: function () {
244
- var _canSyncGlobalEvents = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
219
+ var _canSyncGlobalEvents = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
245
220
  var results;
246
- return _regenerator["default"].wrap(function _callee7$(_context7) {
221
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
247
222
  while (1) {
248
- switch (_context7.prev = _context7.next) {
223
+ switch (_context6.prev = _context6.next) {
249
224
  case 0:
250
- _context7.next = 2;
225
+ _context6.next = 2;
251
226
  return this.Action('event', 'sync').execute({});
252
227
  case 2:
253
- results = _context7.sent;
228
+ results = _context6.sent;
254
229
  _testUtils.assert.isFalsy(results.errors);
255
- _context7.next = 6;
230
+ _context6.next = 6;
256
231
  return this.Service('typeChecker').check(this.resolveHashSprucePath('events/events.contract.ts'));
257
232
  case 6:
258
233
  case "end":
259
- return _context7.stop();
234
+ return _context6.stop();
260
235
  }
261
236
  }
262
- }, _callee7, this);
237
+ }, _callee6, this);
263
238
  }));
264
239
  function canSyncGlobalEvents() {
265
240
  return _canSyncGlobalEvents.apply(this, arguments);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisteringGlobalEvents.test.js","names":["dotenv","config","stamp","Date","getTime","EVENT_NAME_READABLE","EVENT_NAME","EVENT_CAMEL","RegisteringGlobalEventsTest","test","people","loginAsDemoPerson","DEMO_NUMBER_GLOBAL_EVENTS","orgFixture","getOrganizationFixture","skillFixture","getSkillFixture","seedDemoOrg","name","org","registerCurrentSkill","skill","installSkillAtOrganization","id","Action","execute","isGlobal","nameReadable","nameKebab","nameCamel","results","assert","isFalsy","errors","optionsFile","testUtil","assertFileByNameInGeneratedFiles","files","Service","importDefault","importedOptions","isEqualDeep","version","versionUtil","generateVersion","dirValue","contractFile","importedContract","sig","eventSignatures","slug","isTrue","isTruthy","emitPayloadSchema","local","boot","connectToApi","skillId","apiKey","client","Store","apiClientFactory","fetchEventContracts","contractResults","contracts","meta","kill","constValue","eventName","check","resolveHashSprucePath","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/events/RegisteringGlobalEvents.test.ts"],"sourcesContent":["import { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport dotenv from 'dotenv'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport { DEMO_NUMBER_GLOBAL_EVENTS } from '../../../tests/constants'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport { RegisteredSkill } from '../../../types/cli.types'\ndotenv.config()\n\nconst stamp = new Date().getTime()\nconst EVENT_NAME_READABLE = 'did book appointment'\nconst EVENT_NAME = `test-register-skill-views${stamp}`\nconst EVENT_CAMEL = `testRegisterSkillViews${stamp}`\n\nexport default class RegisteringGlobalEventsTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'events'\n\tprotected static skill: RegisteredSkill\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_GLOBAL_EVENTS)\n\n\t\tconst orgFixture = this.getOrganizationFixture()\n\t\tconst skillFixture = this.getSkillFixture()\n\n\t\tconst org = await orgFixture.seedDemoOrg({ name: 'my org' })\n\n\t\tthis.skill = await skillFixture.registerCurrentSkill({\n\t\t\tname: 'heartwood test',\n\t\t})\n\n\t\tawait orgFixture.installSkillAtOrganization(this.skill.id, org.id)\n\t}\n\n\tprotected static async afterAll() {\n\t\tawait super.afterAll()\n\t}\n\n\t@test()\n\tprotected static async canCreateGlobalEvent() {\n\t\tconst results = await this.Action('event', 'create').execute({\n\t\t\tisGlobal: true,\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst optionsFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'event.options.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst importedOptions = await this.Service('import').importDefault(\n\t\t\toptionsFile\n\t\t)\n\t\tassert.isEqualDeep(importedOptions, {\n\t\t\tisGlobal: true,\n\t\t})\n\n\t\tconst version = versionUtil.generateVersion().dirValue\n\t\tconst contractFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`${EVENT_CAMEL}.${version}.contract.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tconst importedContract = await this.Service('import').importDefault(\n\t\t\tcontractFile\n\t\t)\n\n\t\tconst sig =\n\t\t\timportedContract.eventSignatures[\n\t\t\t\t`${this.skill.slug}.${EVENT_NAME}::${version}`\n\t\t\t]\n\n\t\tassert.isTrue(sig.isGlobal)\n\t\tassert.isTruthy(sig.emitPayloadSchema)\n\t}\n\n\t@test()\n\tprotected static async registersGloballyOnBoot() {\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tconst client = await this.connectToApi({\n\t\t\tskillId: this.skill.id,\n\t\t\tapiKey: this.skill.apiKey,\n\t\t})\n\n\t\tconst contractResults = await this.Store('event', {\n\t\t\tapiClientFactory: async () => client,\n\t\t}).fetchEventContracts()\n\n\t\tconst contracts = contractResults.contracts\n\n\t\tboot.meta?.kill()\n\n\t\tconst version = versionUtil.generateVersion().constValue\n\t\tconst eventName = `${this.skill.slug}.${EVENT_NAME}::${version}`\n\n\t\tassert.isTruthy(contracts[1].eventSignatures[eventName])\n\t}\n\n\t@test()\n\tprotected static async canSyncGlobalEvents() {\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\t\tassert.isFalsy(results.errors)\n\n\t\tawait this.Service('typeChecker').check(\n\t\t\tthis.resolveHashSprucePath('events/events.contract.ts')\n\t\t)\n\t}\n}\n"],"mappings":"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"}
@@ -3,4 +3,5 @@ export default class SkillEmitsBootEventsTest extends AbstractEventTest {
3
3
  protected static beforeEach(): Promise<void>;
4
4
  protected static skillEmitsWillBootEvents(): Promise<void>;
5
5
  protected static skillEmitsDidBootEventsThatErrorAfterBoot(): Promise<void>;
6
+ private static disablePermissionSyncing;
6
7
  }
@@ -104,30 +104,31 @@ var SkillEmitsBootEventsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _test
104
104
  _context3.next = 2;
105
105
  return this.installEventFeature('events');
106
106
  case 2:
107
+ this.disablePermissionSyncing();
107
108
  version = 'v2020_01_01';
108
- _context3.next = 5;
109
+ _context3.next = 6;
109
110
  return this.Action('event', 'listen').execute({
110
111
  namespace: 'skill',
111
112
  eventName: 'did-boot',
112
113
  version: version
113
114
  });
114
- case 5:
115
- _context3.next = 7;
115
+ case 6:
116
+ _context3.next = 8;
116
117
  return this.Service('build').build();
117
- case 7:
118
- _context3.next = 9;
118
+ case 8:
119
+ _context3.next = 10;
119
120
  return this.Action('skill', 'boot').execute({});
120
- case 9:
121
+ case 10:
121
122
  response = _context3.sent;
122
- _context3.next = 12;
123
+ _context3.next = 13;
123
124
  return _testUtils.assert.doesThrowAsync(function () {
124
125
  var _response$meta;
125
126
  return (_response$meta = response.meta) === null || _response$meta === void 0 ? void 0 : _response$meta.promise;
126
127
  });
127
- case 12:
128
+ case 13:
128
129
  err = _context3.sent;
129
130
  _testUtils.errorAssert.assertError(err, 'LISTENER_NOT_IMPLEMENTED');
130
- case 14:
131
+ case 15:
131
132
  case "end":
132
133
  return _context3.stop();
133
134
  }
@@ -139,6 +140,12 @@ var SkillEmitsBootEventsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _test
139
140
  }
140
141
  return skillEmitsDidBootEventsThatErrorAfterBoot;
141
142
  }()
143
+ }, {
144
+ key: "disablePermissionSyncing",
145
+ value: function disablePermissionSyncing() {
146
+ var env = this.Service('env');
147
+ env.set('SHOULD_REGISTER_PERMISSIONS', 'false');
148
+ }
142
149
  }]);
143
150
  return SkillEmitsBootEventsTest;
144
151
  }(_AbstractEventTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "skillEmitsWillBootEvents", [_dec], Object.getOwnPropertyDescriptor(_class, "skillEmitsWillBootEvents"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "skillEmitsDidBootEventsThatErrorAfterBoot", [_dec2], Object.getOwnPropertyDescriptor(_class, "skillEmitsDidBootEventsThatErrorAfterBoot"), _class)), _class));
@@ -1 +1 @@
1
- {"version":3,"file":"SkillEmitsBootEvents.test.js","names":["SkillEmitsBootEventsTest","test","LintService","enableLinting","installEventFeature","version","Action","execute","namespace","eventName","Service","build","response","assert","isTruthy","errors","errorAssert","assertError","doesThrowAsync","meta","promise","err","AbstractEventTest"],"sources":["../../../../src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport LintService from '../../../services/LintService'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\n\nexport default class SkillEmitsBootEventsTest extends AbstractEventTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tLintService.enableLinting()\n\t}\n\n\t@test()\n\tprotected static async skillEmitsWillBootEvents() {\n\t\tawait this.installEventFeature('events')\n\t\tconst version = 'v2020_01_01'\n\n\t\tawait this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: 'will-boot',\n\t\t\tversion,\n\t\t})\n\n\t\tawait this.Service('build').build()\n\n\t\tconst response = await this.Action('skill', 'boot').execute({})\n\t\tassert.isTruthy(response.errors)\n\t\terrorAssert.assertError(response.errors[0], 'LISTENER_NOT_IMPLEMENTED')\n\t}\n\n\t@test()\n\tprotected static async skillEmitsDidBootEventsThatErrorAfterBoot() {\n\t\tawait this.installEventFeature('events')\n\t\tconst version = 'v2020_01_01'\n\n\t\tawait this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: 'did-boot',\n\t\t\tversion,\n\t\t})\n\n\t\tawait this.Service('build').build()\n\n\t\tconst response = await this.Action('skill', 'boot').execute({})\n\t\tconst err = await assert.doesThrowAsync(() => response.meta?.promise)\n\t\terrorAssert.assertError(err, 'LISTENER_NOT_IMPLEMENTED')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAEA;AACA;AAAgE;AAAA;AAAA;AAAA,IAE3CA,wBAAwB,WAM3C,IAAAC,eAAI,GAAE,UAkBN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,gGAvBP;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;cAAA;gBAECC,uBAAW,CAACC,aAAa,EAAE;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC3B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,8GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACC,mBAAmB,CAAC,QAAQ,CAAC;cAAA;gBAClCC,OAAO,GAAG,aAAa;gBAAA;gBAAA,OAEvB,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAACC,OAAO,CAAC;kBAC5CC,SAAS,EAAE,OAAO;kBAClBC,SAAS,EAAE,WAAW;kBACtBJ,OAAO,EAAPA;gBACD,CAAC,CAAC;cAAA;gBAAA;gBAAA,OAEI,IAAI,CAACK,OAAO,CAAC,OAAO,CAAC,CAACC,KAAK,EAAE;cAAA;gBAAA;gBAAA,OAEZ,IAAI,CAACL,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAzDK,QAAQ;gBACdC,iBAAM,CAACC,QAAQ,CAACF,QAAQ,CAACG,MAAM,CAAC;gBAChCC,sBAAW,CAACC,WAAW,CAACL,QAAQ,CAACG,MAAM,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACvE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,+HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACX,mBAAmB,CAAC,QAAQ,CAAC;cAAA;gBAClCC,OAAO,GAAG,aAAa;gBAAA;gBAAA,OAEvB,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAACC,OAAO,CAAC;kBAC5CC,SAAS,EAAE,OAAO;kBAClBC,SAAS,EAAE,UAAU;kBACrBJ,OAAO,EAAPA;gBACD,CAAC,CAAC;cAAA;gBAAA;gBAAA,OAEI,IAAI,CAACK,OAAO,CAAC,OAAO,CAAC,CAACC,KAAK,EAAE;cAAA;gBAAA;gBAAA,OAEZ,IAAI,CAACL,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAzDK,QAAQ;gBAAA;gBAAA,OACIC,iBAAM,CAACK,cAAc,CAAC;kBAAA;kBAAA,yBAAMN,QAAQ,CAACO,IAAI,mDAAb,eAAeC,OAAO;gBAAA,EAAC;cAAA;gBAA/DC,GAAG;gBACTL,sBAAW,CAACC,WAAW,CAACI,GAAG,EAAE,0BAA0B,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACxD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAxCoDC,8BAAiB;AAAA"}
1
+ {"version":3,"file":"SkillEmitsBootEvents.test.js","names":["SkillEmitsBootEventsTest","test","LintService","enableLinting","installEventFeature","version","Action","execute","namespace","eventName","Service","build","response","assert","isTruthy","errors","errorAssert","assertError","disablePermissionSyncing","doesThrowAsync","meta","promise","err","env","set","AbstractEventTest"],"sources":["../../../../src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport LintService from '../../../services/LintService'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\n\nexport default class SkillEmitsBootEventsTest extends AbstractEventTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tLintService.enableLinting()\n\t}\n\n\t@test()\n\tprotected static async skillEmitsWillBootEvents() {\n\t\tawait this.installEventFeature('events')\n\t\tconst version = 'v2020_01_01'\n\n\t\tawait this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: 'will-boot',\n\t\t\tversion,\n\t\t})\n\n\t\tawait this.Service('build').build()\n\n\t\tconst response = await this.Action('skill', 'boot').execute({})\n\t\tassert.isTruthy(response.errors)\n\t\terrorAssert.assertError(response.errors[0], 'LISTENER_NOT_IMPLEMENTED')\n\t}\n\n\t@test()\n\tprotected static async skillEmitsDidBootEventsThatErrorAfterBoot() {\n\t\tawait this.installEventFeature('events')\n\t\tthis.disablePermissionSyncing()\n\t\tconst version = 'v2020_01_01'\n\n\t\tawait this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: 'did-boot',\n\t\t\tversion,\n\t\t})\n\n\t\tawait this.Service('build').build()\n\n\t\tconst response = await this.Action('skill', 'boot').execute({})\n\t\tconst err = await assert.doesThrowAsync(() => response.meta?.promise)\n\t\terrorAssert.assertError(err, 'LISTENER_NOT_IMPLEMENTED')\n\t}\n\n\tprivate static disablePermissionSyncing() {\n\t\tconst env = this.Service('env')\n\t\tenv.set('SHOULD_REGISTER_PERMISSIONS', 'false')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAEA;AACA;AAAgE;AAAA;AAAA;AAAA,IAE3CA,wBAAwB,WAM3C,IAAAC,eAAI,GAAE,UAkBN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,gGAvBP;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;cAAA;gBAECC,uBAAW,CAACC,aAAa,EAAE;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC3B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,8GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACC,mBAAmB,CAAC,QAAQ,CAAC;cAAA;gBAClCC,OAAO,GAAG,aAAa;gBAAA;gBAAA,OAEvB,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAACC,OAAO,CAAC;kBAC5CC,SAAS,EAAE,OAAO;kBAClBC,SAAS,EAAE,WAAW;kBACtBJ,OAAO,EAAPA;gBACD,CAAC,CAAC;cAAA;gBAAA;gBAAA,OAEI,IAAI,CAACK,OAAO,CAAC,OAAO,CAAC,CAACC,KAAK,EAAE;cAAA;gBAAA;gBAAA,OAEZ,IAAI,CAACL,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAzDK,QAAQ;gBACdC,iBAAM,CAACC,QAAQ,CAACF,QAAQ,CAACG,MAAM,CAAC;gBAChCC,sBAAW,CAACC,WAAW,CAACL,QAAQ,CAACG,MAAM,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACvE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,+HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACX,mBAAmB,CAAC,QAAQ,CAAC;cAAA;gBACxC,IAAI,CAACc,wBAAwB,EAAE;gBACzBb,OAAO,GAAG,aAAa;gBAAA;gBAAA,OAEvB,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAACC,OAAO,CAAC;kBAC5CC,SAAS,EAAE,OAAO;kBAClBC,SAAS,EAAE,UAAU;kBACrBJ,OAAO,EAAPA;gBACD,CAAC,CAAC;cAAA;gBAAA;gBAAA,OAEI,IAAI,CAACK,OAAO,CAAC,OAAO,CAAC,CAACC,KAAK,EAAE;cAAA;gBAAA;gBAAA,OAEZ,IAAI,CAACL,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAzDK,QAAQ;gBAAA;gBAAA,OACIC,iBAAM,CAACM,cAAc,CAAC;kBAAA;kBAAA,yBAAMP,QAAQ,CAACQ,IAAI,mDAAb,eAAeC,OAAO;gBAAA,EAAC;cAAA;gBAA/DC,GAAG;gBACTN,sBAAW,CAACC,WAAW,CAACK,GAAG,EAAE,0BAA0B,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACxD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,oCAA0C;MACzC,IAAMC,GAAG,GAAG,IAAI,CAACb,OAAO,CAAC,KAAK,CAAC;MAC/Ba,GAAG,CAACC,GAAG,CAAC,6BAA6B,EAAE,OAAO,CAAC;IAChD;EAAC;EAAA;AAAA,EA9CoDC,8BAAiB;AAAA"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class SyncingEventsOnlyFromDependenciesTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  protected static doesntSyncAnythingButListenersToStart(): Promise<void>;
@@ -17,7 +17,7 @@ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/
17
17
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
18
18
  var _testUtils = require("@sprucelabs/test-utils");
19
19
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
20
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
20
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
21
21
  var _dec, _dec2, _class, _class2;
22
22
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
23
23
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncingEventsOnlyFromDependencies.test.js","names":["SyncingEventsOnlyFromDependenciesTest","test","skills","getSkillFixture","registerCurrentSkill","name","registerGlobalEvent","skill","Action","execute","results","assert","isFalsy","errors","eventFolder","resolveEventFolder","isFalse","diskUtil","doesDirExist","files","fsUtil","readdirSync","resolveHashSprucePath","isLength","isEqual","Service","add","id","namespace","slug","isTrue","namesUtil","toCamel","seedDemoSkill","registerEventContract","eventSignatures","isGlobal","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.ts"],"sourcesContent":["import { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport fsUtil from 'fs-extra'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport { RegisteredSkill } from '../../../types/cli.types'\n\nexport default class SyncingEventsOnlyFromDependenciesTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'events'\n\n\t@test()\n\tprotected static async doesntSyncAnythingButListenersToStart() {\n\t\tconst skills = this.getSkillFixture()\n\t\tawait skills.registerCurrentSkill({\n\t\t\tname: 'events in sync skill',\n\t\t})\n\t\tconst { skill } = await this.registerGlobalEvent()\n\n\t\tconst results = await this.Action('event', 'sync', {}).execute({})\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst eventFolder = this.resolveEventFolder(skill)\n\n\t\tassert.isFalse(diskUtil.doesDirExist(eventFolder))\n\n\t\tconst files = fsUtil.readdirSync(this.resolveHashSprucePath('events'))\n\n\t\tassert.isLength(files, 2, 'The wrong number of files were generated.')\n\t\tassert.isEqual(files[0], 'events.contract.ts')\n\t\tassert.isEqual(files[1], 'listeners.ts')\n\t}\n\n\t@test()\n\tprotected static async syncsEventsForSkillsWeveAddedAsDependencies() {\n\t\tconst { skill } = await this.registerGlobalEvent()\n\n\t\tthis.Service('dependency').add({\n\t\t\tid: skill.id,\n\t\t\tnamespace: skill.slug,\n\t\t})\n\n\t\tconst results = await this.Action('event', 'sync', {}).execute({})\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst eventFolder = this.resolveEventFolder(skill)\n\n\t\tassert.isTrue(diskUtil.doesDirExist(eventFolder))\n\n\t\tconst files = fsUtil.readdirSync(this.resolveHashSprucePath('events'))\n\n\t\tassert.isLength(files, 3, 'The wrong number of files were generated.')\n\t\tassert.isEqual(files[0], namesUtil.toCamel(skill.slug))\n\t\tassert.isEqual(files[1], 'events.contract.ts')\n\t\tassert.isEqual(files[2], 'listeners.ts')\n\t}\n\n\tprivate static async registerGlobalEvent() {\n\t\tconst skills = this.getSkillFixture()\n\n\t\tconst skill = await skills.seedDemoSkill({ name: 'a temp skill' })\n\n\t\tawait skills.registerEventContract(skill, {\n\t\t\teventSignatures: {\n\t\t\t\t'test-sync::v2021_01_01': {\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\treturn { skill }\n\t}\n\n\tprivate static resolveEventFolder(skill: RegisteredSkill) {\n\t\treturn this.resolveHashSprucePath('events', namesUtil.toCamel(skill.slug))\n\t}\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import AbstractPermissionsTest from './AbstractPermissionsTest';
1
+ import AbstractPermissionsTest from './support/AbstractPermissionsTest';
2
2
  export default class CreatingPermissionsTest extends AbstractPermissionsTest {
3
3
  protected static createsFileBasedOnName(nameReadable: string): Promise<void>;
4
- protected static rendersExpectedTemplate(): Promise<void>;
4
+ protected static generatesExpectedPermissionContract(): Promise<void>;
5
5
  private static executeAndGetContract;
6
6
  }
@@ -16,7 +16,7 @@ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/
16
16
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
17
17
  var _testUtils = require("@sprucelabs/test-utils");
18
18
  var _test = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
19
- var _AbstractPermissionsTest = _interopRequireDefault(require("./AbstractPermissionsTest"));
19
+ var _AbstractPermissionsTest = _interopRequireDefault(require("./support/AbstractPermissionsTest"));
20
20
  var _dec, _dec2, _dec3, _dec4, _class;
21
21
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
22
22
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -56,9 +56,9 @@ var CreatingPermissionsTest = (_dec = (0, _testUtils.test)('can create permissio
56
56
  return createsFileBasedOnName;
57
57
  }()
58
58
  }, {
59
- key: "rendersExpectedTemplate",
59
+ key: "generatesExpectedPermissionContract",
60
60
  value: function () {
61
- var _rendersExpectedTemplate = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
61
+ var _generatesExpectedPermissionContract = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
62
62
  var _yield$this$executeAn2, contractPath, contents;
63
63
  return _regenerator["default"].wrap(function _callee2$(_context2) {
64
64
  while (1) {
@@ -78,10 +78,10 @@ var CreatingPermissionsTest = (_dec = (0, _testUtils.test)('can create permissio
78
78
  }
79
79
  }, _callee2, this);
80
80
  }));
81
- function rendersExpectedTemplate() {
82
- return _rendersExpectedTemplate.apply(this, arguments);
81
+ function generatesExpectedPermissionContract() {
82
+ return _generatesExpectedPermissionContract.apply(this, arguments);
83
83
  }
84
- return rendersExpectedTemplate;
84
+ return generatesExpectedPermissionContract;
85
85
  }()
86
86
  }, {
87
87
  key: "executeAndGetContract",
@@ -121,6 +121,6 @@ var CreatingPermissionsTest = (_dec = (0, _testUtils.test)('can create permissio
121
121
  }()
122
122
  }]);
123
123
  return CreatingPermissionsTest;
124
- }(_AbstractPermissionsTest["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "createsFileBasedOnName", [_dec, _dec2, _dec3], Object.getOwnPropertyDescriptor(_class, "createsFileBasedOnName"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "rendersExpectedTemplate", [_dec4], Object.getOwnPropertyDescriptor(_class, "rendersExpectedTemplate"), _class)), _class));
124
+ }(_AbstractPermissionsTest["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "createsFileBasedOnName", [_dec, _dec2, _dec3], Object.getOwnPropertyDescriptor(_class, "createsFileBasedOnName"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesExpectedPermissionContract", [_dec4], Object.getOwnPropertyDescriptor(_class, "generatesExpectedPermissionContract"), _class)), _class));
125
125
  exports["default"] = CreatingPermissionsTest;
126
126
  //# sourceMappingURL=CreatingPermissions.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreatingPermissions.test.js","names":["CreatingPermissionsTest","test","nameReadable","executeAndGetContract","results","assertValidActionResponseFiles","contractPath","contents","diskUtil","readFile","assert","doesInclude","createPermissionContract","expected","resolvePath","namesUtil","toKebab","testUtil","assertFileByPathInGeneratedFiles","files","AbstractPermissionsTest"],"sources":["../../../../src/__tests__/behavioral/permissions/CreatingPermissions.test.ts"],"sourcesContent":["import { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport AbstractPermissionsTest from './AbstractPermissionsTest'\n\nexport default class CreatingPermissionsTest extends AbstractPermissionsTest {\n\t@test('can create permission contract named booking', 'booking')\n\t@test('can create permission contract named awesome', 'awesome')\n\t@test(\n\t\t'can create permission contract named Point of Sale Checkout',\n\t\t'Point of Sale Checkout'\n\t)\n\tprotected static async createsFileBasedOnName(nameReadable: string) {\n\t\tconst { results } = await this.executeAndGetContract(nameReadable)\n\t\tawait this.assertValidActionResponseFiles(results)\n\t}\n\n\t@test()\n\tprotected static async rendersExpectedTemplate() {\n\t\tconst { contractPath } = await this.executeAndGetContract()\n\t\tconst contents = diskUtil.readFile(contractPath)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'const bookingPermissions = buildPermissionContract'\n\t\t)\n\t}\n\n\tprivate static async executeAndGetContract(nameReadable = 'Booking') {\n\t\tconst results = await this.createPermissionContract(nameReadable)\n\n\t\tconst expected = this.resolvePath(\n\t\t\t`src/permissions/${namesUtil.toKebab(nameReadable)}.permissions.ts`\n\t\t)\n\n\t\tconst contractPath = testUtil.assertFileByPathInGeneratedFiles(\n\t\t\texpected,\n\t\t\tresults.files\n\t\t)\n\t\treturn { contractPath, results }\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAA+D;AAAA;AAAA;AAAA,IAE1CA,uBAAuB,WAC1C,IAAAC,eAAI,EAAC,8CAA8C,EAAE,SAAS,CAAC,UAC/D,IAAAA,eAAI,EAAC,8CAA8C,EAAE,SAAS,CAAC,UAC/D,IAAAA,eAAI,EACJ,6DAA6D,EAC7D,wBAAwB,CACxB,UAMA,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,4GAXP,iBAM8CC,YAAoB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACvC,IAAI,CAACC,qBAAqB,CAACD,YAAY,CAAC;cAAA;gBAAA;gBAA1DE,OAAO,yBAAPA,OAAO;gBAAA;gBAAA,OACT,IAAI,CAACC,8BAA8B,CAACD,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,6GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEgC,IAAI,CAACD,qBAAqB,EAAE;cAAA;gBAAA;gBAAnDG,YAAY,0BAAZA,YAAY;gBACdC,QAAQ,GAAGC,0BAAQ,CAACC,QAAQ,CAACH,YAAY,CAAC;gBAChDI,iBAAM,CAACC,WAAW,CACjBJ,QAAQ,EACR,oDAAoD,CACpD;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2GAED;QAAA;UAAA;UAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAAA;gBAA2CL,YAAY,8DAAG,SAAS;gBAAA;gBAAA,OAC5C,IAAI,CAACU,wBAAwB,CAACV,YAAY,CAAC;cAAA;gBAA3DE,OAAO;gBAEPS,QAAQ,GAAG,IAAI,CAACC,WAAW,2BACbC,2BAAS,CAACC,OAAO,CAACd,YAAY,CAAC,qBAClD;gBAEKI,YAAY,GAAGW,gBAAQ,CAACC,gCAAgC,CAC7DL,QAAQ,EACRT,OAAO,CAACe,KAAK,CACb;gBAAA,kCACM;kBAAEb,YAAY,EAAZA,YAAY;kBAAEF,OAAO,EAAPA;gBAAQ,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAChC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAlCmDgB,mCAAuB;AAAA"}
1
+ {"version":3,"file":"CreatingPermissions.test.js","names":["CreatingPermissionsTest","test","nameReadable","executeAndGetContract","results","assertValidActionResponseFiles","contractPath","contents","diskUtil","readFile","assert","doesInclude","createPermissionContract","expected","resolvePath","namesUtil","toKebab","testUtil","assertFileByPathInGeneratedFiles","files","AbstractPermissionsTest"],"sources":["../../../../src/__tests__/behavioral/permissions/CreatingPermissions.test.ts"],"sourcesContent":["import { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport AbstractPermissionsTest from './support/AbstractPermissionsTest'\n\nexport default class CreatingPermissionsTest extends AbstractPermissionsTest {\n\t@test('can create permission contract named booking', 'booking')\n\t@test('can create permission contract named awesome', 'awesome')\n\t@test(\n\t\t'can create permission contract named Point of Sale Checkout',\n\t\t'Point of Sale Checkout'\n\t)\n\tprotected static async createsFileBasedOnName(nameReadable: string) {\n\t\tconst { results } = await this.executeAndGetContract(nameReadable)\n\t\tawait this.assertValidActionResponseFiles(results)\n\t}\n\n\t@test()\n\tprotected static async generatesExpectedPermissionContract() {\n\t\tconst { contractPath } = await this.executeAndGetContract()\n\t\tconst contents = diskUtil.readFile(contractPath)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'const bookingPermissions = buildPermissionContract'\n\t\t)\n\t}\n\n\tprivate static async executeAndGetContract(nameReadable = 'Booking') {\n\t\tconst results = await this.createPermissionContract(nameReadable)\n\n\t\tconst expected = this.resolvePath(\n\t\t\t`src/permissions/${namesUtil.toKebab(nameReadable)}.permissions.ts`\n\t\t)\n\n\t\tconst contractPath = testUtil.assertFileByPathInGeneratedFiles(\n\t\t\texpected,\n\t\t\tresults.files\n\t\t)\n\t\treturn { contractPath, results }\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAAuE;AAAA;AAAA;AAAA,IAElDA,uBAAuB,WAC1C,IAAAC,eAAI,EAAC,8CAA8C,EAAE,SAAS,CAAC,UAC/D,IAAAA,eAAI,EAAC,8CAA8C,EAAE,SAAS,CAAC,UAC/D,IAAAA,eAAI,EACJ,6DAA6D,EAC7D,wBAAwB,CACxB,UAMA,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,4GAXP,iBAM8CC,YAAoB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACvC,IAAI,CAACC,qBAAqB,CAACD,YAAY,CAAC;cAAA;gBAAA;gBAA1DE,OAAO,yBAAPA,OAAO;gBAAA;gBAAA,OACT,IAAI,CAACC,8BAA8B,CAACD,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,yHAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEgC,IAAI,CAACD,qBAAqB,EAAE;cAAA;gBAAA;gBAAnDG,YAAY,0BAAZA,YAAY;gBACdC,QAAQ,GAAGC,0BAAQ,CAACC,QAAQ,CAACH,YAAY,CAAC;gBAChDI,iBAAM,CAACC,WAAW,CACjBJ,QAAQ,EACR,oDAAoD,CACpD;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2GAED;QAAA;UAAA;UAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAAA;gBAA2CL,YAAY,8DAAG,SAAS;gBAAA;gBAAA,OAC5C,IAAI,CAACU,wBAAwB,CAACV,YAAY,CAAC;cAAA;gBAA3DE,OAAO;gBAEPS,QAAQ,GAAG,IAAI,CAACC,WAAW,2BACbC,2BAAS,CAACC,OAAO,CAACd,YAAY,CAAC,qBAClD;gBAEKI,YAAY,GAAGW,gBAAQ,CAACC,gCAAgC,CAC7DL,QAAQ,EACRT,OAAO,CAACe,KAAK,CACb;gBAAA,kCACM;kBAAEb,YAAY,EAAZA,YAAY;kBAAEF,OAAO,EAAPA;gBAAQ,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAChC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAlCmDgB,mCAAuB;AAAA"}
@@ -0,0 +1,6 @@
1
+ import AbstractPermissionsTest from './support/AbstractPermissionsTest';
2
+ export default class PermissionPluginTest extends AbstractPermissionsTest {
3
+ protected static createsPluginWithExpectedContent(): Promise<void>;
4
+ protected static pluginIsExpectedContent(): Promise<void>;
5
+ private static getPluginPath;
6
+ }
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
16
+ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
17
+ var _testUtils = require("@sprucelabs/test-utils");
18
+ var _AbstractPermissionsTest = _interopRequireDefault(require("./support/AbstractPermissionsTest"));
19
+ var _dec, _dec2, _class;
20
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
21
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
22
+ var PermissionPluginTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), (_class = /*#__PURE__*/function (_AbstractPermissionsT) {
23
+ (0, _inherits2["default"])(PermissionPluginTest, _AbstractPermissionsT);
24
+ var _super = _createSuper(PermissionPluginTest);
25
+ function PermissionPluginTest() {
26
+ (0, _classCallCheck2["default"])(this, PermissionPluginTest);
27
+ return _super.apply(this, arguments);
28
+ }
29
+ (0, _createClass2["default"])(PermissionPluginTest, null, [{
30
+ key: "createsPluginWithExpectedContent",
31
+ value: function () {
32
+ var _createsPluginWithExpectedContent = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
33
+ var expected;
34
+ return _regenerator["default"].wrap(function _callee$(_context) {
35
+ while (1) {
36
+ switch (_context.prev = _context.next) {
37
+ case 0:
38
+ expected = this.getPluginPath();
39
+ _context.next = 3;
40
+ return this.assertFilePassesTypeChecks(expected);
41
+ case 3:
42
+ case "end":
43
+ return _context.stop();
44
+ }
45
+ }
46
+ }, _callee, this);
47
+ }));
48
+ function createsPluginWithExpectedContent() {
49
+ return _createsPluginWithExpectedContent.apply(this, arguments);
50
+ }
51
+ return createsPluginWithExpectedContent;
52
+ }()
53
+ }, {
54
+ key: "pluginIsExpectedContent",
55
+ value: function () {
56
+ var _pluginIsExpectedContent = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
57
+ var content;
58
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
59
+ while (1) {
60
+ switch (_context2.prev = _context2.next) {
61
+ case 0:
62
+ content = _spruceSkillUtils.diskUtil.readFile(this.getPluginPath());
63
+ _testUtils.assert.isEqual(content.trim(), "export { plugin as default } from '@sprucelabs/spruce-permission-plugin'");
64
+ case 2:
65
+ case "end":
66
+ return _context2.stop();
67
+ }
68
+ }
69
+ }, _callee2, this);
70
+ }));
71
+ function pluginIsExpectedContent() {
72
+ return _pluginIsExpectedContent.apply(this, arguments);
73
+ }
74
+ return pluginIsExpectedContent;
75
+ }()
76
+ }, {
77
+ key: "getPluginPath",
78
+ value: function getPluginPath() {
79
+ return this.resolveHashSprucePath('features', 'permission.plugin.ts');
80
+ }
81
+ }]);
82
+ return PermissionPluginTest;
83
+ }(_AbstractPermissionsTest["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "createsPluginWithExpectedContent", [_dec], Object.getOwnPropertyDescriptor(_class, "createsPluginWithExpectedContent"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "pluginIsExpectedContent", [_dec2], Object.getOwnPropertyDescriptor(_class, "pluginIsExpectedContent"), _class)), _class));
84
+ exports["default"] = PermissionPluginTest;
85
+ //# sourceMappingURL=PermissionPlugin.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionPlugin.test.js","names":["PermissionPluginTest","test","expected","getPluginPath","assertFilePassesTypeChecks","content","diskUtil","readFile","assert","isEqual","trim","resolveHashSprucePath","AbstractPermissionsTest"],"sources":["../../../../src/__tests__/behavioral/permissions/PermissionPlugin.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { assert, test } from '@sprucelabs/test-utils'\nimport AbstractPermissionsTest from './support/AbstractPermissionsTest'\n\nexport default class PermissionPluginTest extends AbstractPermissionsTest {\n\t@test()\n\tprotected static async createsPluginWithExpectedContent() {\n\t\tconst expected = this.getPluginPath()\n\t\tawait this.assertFilePassesTypeChecks(expected)\n\t}\n\n\t@test()\n\tprotected static async pluginIsExpectedContent() {\n\t\tconst content = diskUtil.readFile(this.getPluginPath())\n\t\tassert.isEqual(\n\t\t\tcontent.trim(),\n\t\t\t`export { plugin as default } from '@sprucelabs/spruce-permission-plugin'`\n\t\t)\n\t}\n\n\tprivate static getPluginPath() {\n\t\treturn this.resolveHashSprucePath('features', 'permission.plugin.ts')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AAAuE;AAAA;AAAA;AAAA,IAElDA,oBAAoB,WACvC,IAAAC,eAAI,GAAE,UAMN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,sHANP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,QAAQ,GAAG,IAAI,CAACC,aAAa,EAAE;gBAAA;gBAAA,OAC/B,IAAI,CAACC,0BAA0B,CAACF,QAAQ,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC/C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,6GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOG,OAAO,GAAGC,0BAAQ,CAACC,QAAQ,CAAC,IAAI,CAACJ,aAAa,EAAE,CAAC;gBACvDK,iBAAM,CAACC,OAAO,CACbJ,OAAO,CAACK,IAAI,EAAE,6EAEd;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,yBAA+B;MAC9B,OAAO,IAAI,CAACC,qBAAqB,CAAC,UAAU,EAAE,sBAAsB,CAAC;IACtE;EAAC;EAAA;AAAA,EAlBgDC,mCAAuB;AAAA"}
@@ -1,19 +1,20 @@
1
- import AbstractPermissionsTest from './AbstractPermissionsTest';
1
+ import AbstractPermissionsTest from './support/AbstractPermissionsTest';
2
2
  export default class PermissionStoreTest extends AbstractPermissionsTest {
3
- protected static skillCacheKey: string;
4
3
  private static permissions;
5
4
  private static contractName1;
6
5
  private static contractName2;
7
- private static eventFaker;
6
+ private static fqid1;
7
+ private static fqid2;
8
+ private static namespace;
8
9
  protected static beforeAll(): Promise<void>;
9
10
  protected static beforeEach(): Promise<void>;
10
11
  protected static loadsNoLocalByDefault(): Promise<void>;
11
12
  protected static loadsOneContract(): Promise<void>;
12
13
  protected static loadsSecondContract(): Promise<void>;
13
14
  protected static mixesInAllPermissions(): Promise<void>;
14
- protected static remotePermsEmitsListContracts(): Promise<void>;
15
15
  protected static passesThroughDependentSkills(): Promise<void>;
16
16
  protected static returnsDependencyMapFromRemoteContracts(): Promise<void>;
17
+ protected static connectsAsSkill(): Promise<void>;
17
18
  private static updateFirstContractBuilder;
18
19
  private static generateContractRowValues;
19
20
  private static generatePermValues;