@sprucelabs/spruce-cli 17.1.40 → 17.1.41

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 (423) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/__tests__/behavioral/AddingADependency.test.js +10 -12
  3. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  4. package/build/__tests__/behavioral/BlockingCommands.test.js +3 -5
  5. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  6. package/build/__tests__/behavioral/BootingTheCli.test.js +3 -3
  7. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  8. package/build/__tests__/behavioral/BootingWithBadFiles.test.js +7 -7
  9. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  10. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +13 -13
  11. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  12. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js +10 -10
  13. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
  14. package/build/__tests__/behavioral/DeployingASkill.test.js +32 -34
  15. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  16. package/build/__tests__/behavioral/DeployingToSandbox.test.js +15 -17
  17. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  18. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +11 -13
  19. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  20. package/build/__tests__/behavioral/GettingCliVersion.test.js +4 -4
  21. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  22. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +11 -13
  23. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  24. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js +4 -4
  25. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
  26. package/build/__tests__/behavioral/LoggingInAsASkill.test.js +14 -16
  27. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  28. package/build/__tests__/behavioral/ManagingDependencies.test.js +9 -9
  29. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  30. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +3 -3
  31. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  32. package/build/__tests__/behavioral/RebuildingASkill.test.js +4 -6
  33. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  34. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +4 -4
  35. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  36. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +7 -7
  37. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  38. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js +11 -11
  39. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  40. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js +6 -6
  41. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  42. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +5 -5
  43. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  44. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +10 -12
  45. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  46. package/build/__tests__/behavioral/SettingRemote.test.js +9 -9
  47. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  48. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js +10 -10
  49. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  50. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +29 -31
  51. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  52. package/build/__tests__/behavioral/SettingUpVscode.test.js +10 -10
  53. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  54. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js +13 -13
  55. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  56. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js +6 -6
  57. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
  58. package/build/__tests__/behavioral/TestingAConversation.test.js +17 -17
  59. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  60. package/build/__tests__/behavioral/TestingDataStores.test.js +13 -13
  61. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  62. package/build/__tests__/behavioral/WatchingSkillViews.test.js +15 -15
  63. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  64. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +15 -15
  65. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  66. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +8 -8
  67. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  68. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +32 -32
  69. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  70. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +4 -6
  71. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  72. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +25 -25
  73. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  74. package/build/__tests__/behavioral/events/CreatingAListener.test.js +29 -31
  75. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  76. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +26 -28
  77. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  78. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +22 -22
  79. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  80. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +38 -38
  81. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  82. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +7 -7
  83. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  84. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +6 -6
  85. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  86. package/build/__tests__/behavioral/events/SettingUpEvents.test.js +4 -4
  87. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  88. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +3 -5
  89. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  90. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +6 -6
  91. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  92. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +6 -6
  93. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  94. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +6 -6
  95. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  96. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +3 -3
  97. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  98. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +14 -16
  99. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  100. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +7 -7
  101. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  102. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +8 -8
  103. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
  104. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +23 -25
  105. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  106. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +7 -7
  107. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  108. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +6 -6
  109. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  110. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +18 -18
  111. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  112. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +7 -7
  113. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  114. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +62 -64
  115. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  116. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +6 -8
  117. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  118. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +4 -6
  119. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  120. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.d.ts +1 -1
  121. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +4 -4
  122. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  123. package/build/__tests__/behavioral/skill/BootingASkill.test.js +12 -12
  124. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  125. package/build/__tests__/behavioral/skill/CreatingASkill.test.js +5 -5
  126. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  127. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +12 -14
  128. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  129. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +29 -29
  130. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  131. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +26 -28
  132. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  133. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +8 -10
  134. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  135. package/build/__tests__/behavioral/tests/CreatingATest.test.js +10 -10
  136. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  137. package/build/__tests__/behavioral/tests/RunningTests.test.js +8 -10
  138. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  139. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +17 -17
  140. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  141. package/build/__tests__/behavioral/tests/SettingUpTests.test.js +3 -5
  142. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  143. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +8 -8
  144. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  145. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +7 -7
  146. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  147. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +6 -6
  148. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  149. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +15 -15
  150. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  151. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +24 -24
  152. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  153. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +22 -22
  154. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  155. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +10 -10
  156. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  157. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +9 -9
  158. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  159. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +4 -4
  160. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  161. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +9 -9
  162. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  163. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +28 -30
  164. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  165. package/build/__tests__/behavioral/views/CreatingATheme.test.js +9 -11
  166. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  167. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +8 -8
  168. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  169. package/build/__tests__/behavioral/views/SettingUpViews.test.js +5 -5
  170. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  171. package/build/__tests__/behavioral/views/TestingViewControllers.test.js +12 -12
  172. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  173. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +10 -10
  174. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  175. package/build/__tests__/implementation/ActionExecuter.test.js +5 -5
  176. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  177. package/build/__tests__/implementation/ActionExecuter2.test.js +30 -30
  178. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  179. package/build/__tests__/implementation/ActionExecuter3.test.js +3 -5
  180. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  181. package/build/__tests__/implementation/ActionExecuter4.test.js +2 -4
  182. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  183. package/build/__tests__/implementation/ArgParser.test.d.ts +1 -1
  184. package/build/__tests__/implementation/ArgParser.test.js +7 -7
  185. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  186. package/build/__tests__/implementation/BuildService.test.js +4 -4
  187. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  188. package/build/__tests__/implementation/BulkImporting.test.d.ts +1 -1
  189. package/build/__tests__/implementation/BulkImporting.test.js +20 -22
  190. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  191. package/build/__tests__/implementation/CachingImports.test.js +3 -3
  192. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  193. package/build/__tests__/implementation/CommandOptionBuilder.test.js +12 -12
  194. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  195. package/build/__tests__/implementation/CommanderCommandResultMapper.test.d.ts +1 -1
  196. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +13 -13
  197. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  198. package/build/__tests__/implementation/DataStoreStore.test.js +16 -18
  199. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  200. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +6 -6
  201. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  202. package/build/__tests__/implementation/EventContractCleanerUtil.test.d.ts +1 -1
  203. package/build/__tests__/implementation/EventContractCleanerUtil.test.js +7 -7
  204. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  205. package/build/__tests__/implementation/EventStore.test.js +27 -29
  206. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  207. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +12 -12
  208. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  209. package/build/__tests__/implementation/FeatureCommandAttacher.test.js +23 -23
  210. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  211. package/build/__tests__/implementation/FeatureFixture.test.js +7 -7
  212. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  213. package/build/__tests__/implementation/FeatureInstaller.test.js +8 -8
  214. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  215. package/build/__tests__/implementation/FeaturesUtil.test.d.ts +1 -1
  216. package/build/__tests__/implementation/FeaturesUtil.test.js +4 -4
  217. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  218. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +11 -11
  219. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  220. package/build/__tests__/implementation/GlobalEmitter.js +3 -3
  221. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
  222. package/build/__tests__/implementation/Introspection.test.js +4 -4
  223. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  224. package/build/__tests__/implementation/JestJsonParser.test.d.ts +1 -1
  225. package/build/__tests__/implementation/JestJsonParser.test.js +31 -31
  226. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  227. package/build/__tests__/implementation/LintService.test.js +3 -3
  228. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  229. package/build/__tests__/implementation/ListenerStore.test.js +3 -3
  230. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
  231. package/build/__tests__/implementation/OnboardingScriptLoader.test.js +9 -9
  232. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  233. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +17 -17
  234. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  235. package/build/__tests__/implementation/OnboardingStore.test.js +14 -14
  236. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  237. package/build/__tests__/implementation/OrganizationStore.test.js +10 -10
  238. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  239. package/build/__tests__/implementation/ParentTestFinder.test.js +6 -6
  240. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  241. package/build/__tests__/implementation/PkgService.test.js +8 -8
  242. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  243. package/build/__tests__/implementation/SchemaStore.test.js +30 -32
  244. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  245. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +10 -10
  246. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  247. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +13 -13
  248. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  249. package/build/__tests__/implementation/ServiceFactory.test.js +3 -3
  250. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  251. package/build/__tests__/implementation/SettingUpANodeModule.test.js +4 -6
  252. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  253. package/build/__tests__/implementation/SkillStore.test.js +25 -27
  254. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  255. package/build/__tests__/implementation/StoreFeature.test.js +4 -4
  256. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  257. package/build/__tests__/implementation/TestReporter.test.js +5 -5
  258. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  259. package/build/__tests__/implementation/TestRunner.test.js +23 -25
  260. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  261. package/build/__tests__/implementation/ValueTypeMapping.test.js +4 -4
  262. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  263. package/build/__tests__/implementation/Widgets.test.js +10 -10
  264. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  265. package/build/__tests__/testDirsAndFiles/abstract_tests/AbstractTest.d.ts +1 -1
  266. package/build/__tests__/testDirsAndFiles/abstract_tests/AbstractTest.ts +1 -1
  267. package/build/__tests__/testDirsAndFiles/abstract_tests/AbstractTest2.d.ts +1 -1
  268. package/build/__tests__/testDirsAndFiles/abstract_tests/AbstractTest2.ts +1 -1
  269. package/build/__tests__/testDirsAndFiles/abstract_tests/deeper/AbstractBananaTest.d.ts +1 -1
  270. package/build/__tests__/testDirsAndFiles/abstract_tests/deeper/AbstractBananaTest.ts +1 -1
  271. package/build/features/onboard/templates/ManagingTodos.test.ts.hbs +1 -1
  272. package/build/features/test/TestLogItemGenerator.js +2 -2
  273. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  274. package/build/interfaces/SpyInterface.js +5 -5
  275. package/build/interfaces/SpyInterface.js.map +1 -1
  276. package/build/tests/AbstractCliTest.d.ts +1 -1
  277. package/build/tests/AbstractCliTest.js +11 -11
  278. package/build/tests/AbstractCliTest.js.map +1 -1
  279. package/build/tests/AbstractSchemaTest.js +4 -4
  280. package/build/tests/AbstractSchemaTest.js.map +1 -1
  281. package/build/tests/utilities/test.utility.js +6 -6
  282. package/build/tests/utilities/test.utility.js.map +1 -1
  283. package/build/tests/utilities/uiAssert.utility.js +6 -6
  284. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  285. package/package.json +5 -5
  286. package/src/__tests__/behavioral/AddingADependency.test.ts +1 -1
  287. package/src/__tests__/behavioral/BlockingCommands.test.ts +1 -1
  288. package/src/__tests__/behavioral/BootingTheCli.test.ts +1 -1
  289. package/src/__tests__/behavioral/BootingWithBadFiles.test.ts +1 -1
  290. package/src/__tests__/behavioral/CreatingAConversationTopic.test.ts +1 -1
  291. package/src/__tests__/behavioral/CreatingSchemasWithGenerics.test.ts +1 -1
  292. package/src/__tests__/behavioral/DeployingASkill.test.ts +1 -1
  293. package/src/__tests__/behavioral/DeployingToSandbox.test.ts +1 -1
  294. package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +1 -1
  295. package/src/__tests__/behavioral/GettingCliVersion.test.ts +1 -1
  296. package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +1 -1
  297. package/src/__tests__/behavioral/ListeningToCoreEvents.test.ts +1 -1
  298. package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +1 -1
  299. package/src/__tests__/behavioral/ManagingDependencies.test.ts +1 -1
  300. package/src/__tests__/behavioral/OverridingCommandsInPackageJson.test.ts +1 -1
  301. package/src/__tests__/behavioral/RebuildingASkill.test.ts +1 -1
  302. package/src/__tests__/behavioral/RegisteringConversationsOnBoot.test.ts +1 -1
  303. package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +1 -1
  304. package/src/__tests__/behavioral/RegisteringGlobalEvents.test.ts +1 -1
  305. package/src/__tests__/behavioral/RegisteringSkillViewOnBoot.test.ts +1 -1
  306. package/src/__tests__/behavioral/RememberingUpgradeSelections.test.ts +1 -1
  307. package/src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts +1 -1
  308. package/src/__tests__/behavioral/SettingRemote.test.ts +1 -1
  309. package/src/__tests__/behavioral/SettingUpASkillForTesting.test.ts +1 -1
  310. package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +1 -1
  311. package/src/__tests__/behavioral/SettingUpVscode.test.ts +1 -1
  312. package/src/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.ts +1 -1
  313. package/src/__tests__/behavioral/TestReporterSettingsRemembered.test.ts +1 -1
  314. package/src/__tests__/behavioral/TestingAConversation.test.ts +1 -1
  315. package/src/__tests__/behavioral/TestingDataStores.test.ts +1 -1
  316. package/src/__tests__/behavioral/WatchingSkillViews.test.ts +1 -1
  317. package/src/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.ts +1 -1
  318. package/src/__tests__/behavioral/errors/KeepingErrorClassInSync.test.ts +1 -1
  319. package/src/__tests__/behavioral/errors/KeepingErrorsInSync.test.ts +1 -1
  320. package/src/__tests__/behavioral/errors/SettingUpErrors.test.ts +1 -1
  321. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +1 -1
  322. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +1 -1
  323. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +1 -1
  324. package/src/__tests__/behavioral/events/KeepingEventsInSync.test.ts +1 -1
  325. package/src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts +1 -1
  326. package/src/__tests__/behavioral/events/KeepingListenersInSync.test.ts +1 -1
  327. package/src/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.ts +1 -1
  328. package/src/__tests__/behavioral/events/SettingUpEvents.test.ts +1 -1
  329. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +1 -1
  330. package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +1 -1
  331. package/src/__tests__/behavioral/onboard/StartingOnboarding.test.ts +1 -1
  332. package/src/__tests__/behavioral/organization/CreatingAnOrg.test.ts +1 -1
  333. package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +1 -1
  334. package/src/__tests__/behavioral/person/LoggingInAsPerson.test.ts +1 -1
  335. package/src/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.ts +1 -1
  336. package/src/__tests__/behavioral/polish/SettingUpPolish.test.ts +1 -1
  337. package/src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts +1 -1
  338. package/src/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.ts +1 -1
  339. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +1 -1
  340. package/src/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.ts +1 -1
  341. package/src/__tests__/behavioral/schemas/ImportingSchemaImports.test.ts +1 -1
  342. package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +1 -1
  343. package/src/__tests__/behavioral/schemas/SettingUpSchemas.test.ts +1 -1
  344. package/src/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.ts +1 -1
  345. package/src/__tests__/behavioral/schemas/UsingSchemasInCli.test.ts +1 -1
  346. package/src/__tests__/behavioral/skill/BootingASkill.test.ts +1 -1
  347. package/src/__tests__/behavioral/skill/CreatingASkill.test.ts +1 -1
  348. package/src/__tests__/behavioral/skill/RegisteringASkill.test.ts +1 -1
  349. package/src/__tests__/behavioral/skill/SettingUpASkill.test.ts +1 -1
  350. package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +1 -1
  351. package/src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts +1 -1
  352. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +1 -1
  353. package/src/__tests__/behavioral/tests/RunningTests.test.ts +1 -1
  354. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +1 -1
  355. package/src/__tests__/behavioral/tests/SettingUpTests.test.ts +1 -1
  356. package/src/__tests__/behavioral/upgrading/UpdatingDependencies.test.ts +1 -1
  357. package/src/__tests__/behavioral/upgrading/UpdatingDependencies2.test.ts +1 -1
  358. package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +1 -1
  359. package/src/__tests__/behavioral/upgrading/UpgradingASkill.test.ts +1 -1
  360. package/src/__tests__/behavioral/upgrading/UpgradingASkill2.test.ts +1 -1
  361. package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +1 -1
  362. package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
  363. package/src/__tests__/behavioral/upgrading/UpgradingASkill5.test.ts +1 -1
  364. package/src/__tests__/behavioral/upgrading/UpgradingWithListeners.test.ts +1 -1
  365. package/src/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.ts +1 -1
  366. package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +1 -1
  367. package/src/__tests__/behavioral/views/CreatingATheme.test.ts +1 -1
  368. package/src/__tests__/behavioral/views/KeepingViewsInSync.test.ts +1 -1
  369. package/src/__tests__/behavioral/views/SettingUpViews.test.ts +1 -1
  370. package/src/__tests__/behavioral/views/TestingViewControllers.test.ts +1 -1
  371. package/src/__tests__/behavioral/watchers/WatchingForChanges.test.ts +1 -1
  372. package/src/__tests__/implementation/ActionExecuter.test.ts +1 -1
  373. package/src/__tests__/implementation/ActionExecuter2.test.ts +1 -1
  374. package/src/__tests__/implementation/ActionExecuter3.test.ts +1 -1
  375. package/src/__tests__/implementation/ActionExecuter4.test.ts +1 -1
  376. package/src/__tests__/implementation/ArgParser.test.ts +1 -1
  377. package/src/__tests__/implementation/BuildService.test.ts +1 -1
  378. package/src/__tests__/implementation/BulkImporting.test.ts +1 -1
  379. package/src/__tests__/implementation/CachingImports.test.ts +1 -1
  380. package/src/__tests__/implementation/CommandOptionBuilder.test.ts +1 -1
  381. package/src/__tests__/implementation/CommanderCommandResultMapper.test.ts +1 -1
  382. package/src/__tests__/implementation/DataStoreStore.test.ts +1 -1
  383. package/src/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.ts +1 -1
  384. package/src/__tests__/implementation/EventContractCleanerUtil.test.ts +1 -1
  385. package/src/__tests__/implementation/EventStore.test.ts +1 -1
  386. package/src/__tests__/implementation/EventTemplateItemBuilder.test.ts +1 -1
  387. package/src/__tests__/implementation/FeatureCommandAttacher.test.ts +1 -1
  388. package/src/__tests__/implementation/FeatureFixture.test.ts +1 -1
  389. package/src/__tests__/implementation/FeatureInstaller.test.ts +1 -1
  390. package/src/__tests__/implementation/FeaturesUtil.test.ts +1 -1
  391. package/src/__tests__/implementation/FieldTemplateItemBuilder.test.ts +1 -1
  392. package/src/__tests__/implementation/GlobalEmitter.ts +1 -1
  393. package/src/__tests__/implementation/Introspection.test.ts +1 -1
  394. package/src/__tests__/implementation/JestJsonParser.test.ts +1 -1
  395. package/src/__tests__/implementation/LintService.test.ts +1 -1
  396. package/src/__tests__/implementation/ListenerStore.test.ts +1 -1
  397. package/src/__tests__/implementation/OnboardingScriptLoader.test.ts +1 -1
  398. package/src/__tests__/implementation/OnboardingScriptPlayer.test.ts +1 -1
  399. package/src/__tests__/implementation/OnboardingStore.test.ts +1 -1
  400. package/src/__tests__/implementation/OrganizationStore.test.ts +1 -1
  401. package/src/__tests__/implementation/ParentTestFinder.test.ts +1 -1
  402. package/src/__tests__/implementation/PkgService.test.ts +1 -1
  403. package/src/__tests__/implementation/SchemaStore.test.ts +1 -1
  404. package/src/__tests__/implementation/SchemaTemplateItemBuilder.test.ts +1 -1
  405. package/src/__tests__/implementation/SchemaValueTypeWriter.test.ts +1 -1
  406. package/src/__tests__/implementation/ServiceFactory.test.ts +1 -1
  407. package/src/__tests__/implementation/SettingUpANodeModule.test.ts +1 -1
  408. package/src/__tests__/implementation/SkillStore.test.ts +1 -1
  409. package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
  410. package/src/__tests__/implementation/TestReporter.test.ts +1 -1
  411. package/src/__tests__/implementation/TestRunner.test.ts +1 -1
  412. package/src/__tests__/implementation/ValueTypeMapping.test.ts +1 -1
  413. package/src/__tests__/implementation/Widgets.test.ts +1 -1
  414. package/src/__tests__/testDirsAndFiles/abstract_tests/AbstractTest.ts +1 -1
  415. package/src/__tests__/testDirsAndFiles/abstract_tests/AbstractTest2.ts +1 -1
  416. package/src/__tests__/testDirsAndFiles/abstract_tests/deeper/AbstractBananaTest.ts +1 -1
  417. package/src/features/onboard/templates/ManagingTodos.test.ts.hbs +1 -1
  418. package/src/features/test/TestLogItemGenerator.ts +1 -1
  419. package/src/interfaces/SpyInterface.ts +1 -1
  420. package/src/tests/AbstractCliTest.ts +1 -1
  421. package/src/tests/AbstractSchemaTest.ts +1 -1
  422. package/src/tests/utilities/test.utility.ts +1 -1
  423. package/src/tests/utilities/uiAssert.utility.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EventStore.test.js","names":["EVENT_NAME_READABLE","EVENT_NAME","EVENT_CAMEL","EventStoreTest","test","versionUtil","generateVersion","createAction","Action","diskUtil","writeFile","resolvePath","people","loginAsDemoPerson","DEMO_NUMBER_EVENT_STORE","assert","isTruthy","Store","isFunction","fetchEventContracts","localNamespace","results","contracts","errors","isTrue","length","contract","validateEventContract","isEqual","organizationFixture","getOrganizationFixture","seedDemoOrg","name","org","seedSkillAndInstallAtOrg","eventStore1","eventStore","skill1","skill","eventStore2","registerEventContract","eventContract","eventSignatures","version","constValue","emitPayloadSchema","buildEmitTargetAndPayloadSchema","eventName","targetSchema","eventTargetSchema","emitPermissionContract","buildPermissionContract","id","permissions","defaults","skillContract","sig","eventContractUtil","getSignatureByName","slug","FeatureFixture","installCachedFeatures","getSkillFixture","registerCurrentSkill","execute","nameReadable","nameKebab","nameCamel","isFalsy","match","testUtil","assertFileByNameInGeneratedFiles","files","doesThrowAsync","loadLocalContract","RegExp","err","errorAssert","assertError","copyEventBuildersAndPermissions","namespaces","isLength","eventNameUtil","join","eventNamespace","wasFound","fields","target","payload","responsePayloadSchema","listenPermissionContract","installAndRegisterOneGlobalEvent","fqen","totalMatches","reduce","count","eventsPath","deleteDir","unified","unifyContracts","doesThrow","store","expected","generateGlobbyForLocalEvents","isGlobal","meta","local","boot","kill","EventStore","clearCache","createResults","seedDemoSkill","installSkillAtOrganization","connectToApi","skillId","apiKey","client","apiClientFactory","AbstractEventTest"],"sources":["../../../src/__tests__/implementation/EventStore.test.ts"],"sourcesContent":["import {\n\tbuildPermissionContract,\n\tvalidateEventContract,\n} from '@sprucelabs/mercury-types'\nimport {\n\tbuildEmitTargetAndPayloadSchema,\n\teventContractUtil,\n\teventNameUtil,\n\teventTargetSchema,\n} from '@sprucelabs/spruce-event-utils'\nimport { diskUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport CreateAction from '../../features/event/actions/CreateAction'\nimport EventStore from '../../features/event/stores/EventStore'\nimport AbstractEventTest from '../../tests/AbstractEventTest'\nimport { DEMO_NUMBER_EVENT_STORE } from '../../tests/constants'\nimport testUtil from '../../tests/utilities/test.utility'\n\nconst EVENT_NAME_READABLE = 'my event store amazing event'\nconst EVENT_NAME = 'my-event-store-amazing-event'\nconst EVENT_CAMEL = 'myEventStoreAmazingEvent'\n\nexport default class EventStoreTest extends AbstractEventTest {\n\tprivate static createAction: CreateAction\n\tprotected static get version() {\n\t\treturn versionUtil.generateVersion()\n\t}\n\n\tpublic static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.createAction = this.Action<CreateAction>('event', 'create')\n\t\tdiskUtil.writeFile(this.resolvePath('package.json'), '{}')\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_EVENT_STORE)\n\t}\n\n\t@test()\n\tprotected static async canInstantiateEventStore() {\n\t\tassert.isTruthy(this.Store('event'))\n\t}\n\n\t@test()\n\tprotected static async hasFetchEventContractsMethod() {\n\t\tassert.isFunction(this.Store('event').fetchEventContracts)\n\t}\n\n\t@test()\n\tprotected static async fetchesCoreEventContracts() {\n\t\tconst results = await this.Store('event').fetchEventContracts({\n\t\t\tlocalNamespace: 'my-skill',\n\t\t})\n\t\tconst { contracts, errors } = results\n\n\t\tassert.isTrue(contracts.length >= 1)\n\n\t\tfor (const contract of contracts) {\n\t\t\tvalidateEventContract(contract)\n\t\t}\n\n\t\tassert.isEqual(errors.length, 0)\n\t}\n\n\t@test()\n\tprotected static async registerEventContract() {\n\t\tconst organizationFixture = this.getOrganizationFixture()\n\t\tconst org = await organizationFixture.seedDemoOrg({\n\t\t\tname: 'my new org',\n\t\t})\n\n\t\tconst { eventStore: eventStore1, skill: skill1 } =\n\t\t\tawait this.seedSkillAndInstallAtOrg(org, 'skill 1')\n\n\t\tconst { eventStore: eventStore2 } = await this.seedSkillAndInstallAtOrg(\n\t\t\torg,\n\t\t\t'skill 2'\n\t\t)\n\n\t\tawait eventStore1.registerEventContract({\n\t\t\teventContract: {\n\t\t\t\teventSignatures: {\n\t\t\t\t\t[`my-fantastic-event::${this.version.constValue}`]: {\n\t\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\t\teventName: `my-fantastic-event::${this.version.constValue}`,\n\t\t\t\t\t\t\ttargetSchema: eventTargetSchema,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\temitPermissionContract: buildPermissionContract({\n\t\t\t\t\t\t\tid: 'my-fantastic-event-contract',\n\t\t\t\t\t\t\tname: 'Fantastic emit perms',\n\t\t\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: 'can-emit-perms',\n\t\t\t\t\t\t\t\t\tname: 'can emit perm',\n\t\t\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\t\t\tskill: false,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tconst { contracts } = await eventStore2.fetchEventContracts({\n\t\t\tlocalNamespace: 'my-skill',\n\t\t})\n\n\t\tassert.isTrue(contracts.length > 2)\n\n\t\tconst skillContract = contracts[1]\n\n\t\tconst sig = eventContractUtil.getSignatureByName(\n\t\t\tskillContract,\n\t\t\t`${skill1.slug}.my-fantastic-event::${this.version.constValue}`\n\t\t)\n\n\t\tassert.isEqual(\n\t\t\tsig.emitPermissionContract?.id,\n\t\t\t'my-fantastic-event-contract'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async badLocalContractThrowsNiceError() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my new skill',\n\t\t})\n\n\t\tconst results = await this.createAction.execute({\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 match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`emitPayload.builder.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tdiskUtil.writeFile(match, 'export default {}')\n\n\t\tconst err = await assert.doesThrowAsync(\n\t\t\t() => this.Store('event').loadLocalContract(skill.slug),\n\t\t\tnew RegExp(\n\t\t\t\t`${skill.slug}.${EVENT_NAME}::${\n\t\t\t\t\tversionUtil.generateVersion().constValue\n\t\t\t\t}`\n\t\t\t)\n\t\t)\n\n\t\terrorAssert.assertError(err, 'INVALID_EVENT_CONTRACT')\n\t}\n\n\t@test()\n\tprotected static async badLocalSignature() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my new skill',\n\t\t})\n\n\t\tconst results = await this.createAction.execute({\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 match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`event.options.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tdiskUtil.writeFile(match, 'export default {waka: true}')\n\n\t\tconst err = await assert.doesThrowAsync(\n\t\t\t() => this.Store('event').loadLocalContract(skill.slug),\n\t\t\tnew RegExp(\n\t\t\t\t`${skill.slug}.${EVENT_NAME}::${\n\t\t\t\t\tversionUtil.generateVersion().constValue\n\t\t\t\t}`\n\t\t\t)\n\t\t)\n\n\t\terrorAssert.assertError(err, 'INVALID_EVENT_CONTRACT')\n\t}\n\n\t@test()\n\tprotected static async mixesInLocalContracts() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my new skill',\n\t\t})\n\n\t\tawait this.createAction.execute({\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\tawait this.copyEventBuildersAndPermissions(EVENT_NAME)\n\n\t\tawait this.Action('event', 'sync').execute({})\n\n\t\tconst { contracts } = await this.Store('event').fetchEventContracts({\n\t\t\tlocalNamespace: skill.slug,\n\t\t\tnamespaces: ['core'],\n\t\t})\n\n\t\tassert.isLength(contracts, 2)\n\n\t\tconst name = eventNameUtil.join({\n\t\t\teventName: EVENT_NAME,\n\t\t\teventNamespace: skill.slug,\n\t\t\tversion: this.version.constValue,\n\t\t})\n\n\t\tlet wasFound = false\n\t\tfor (const contract of contracts) {\n\t\t\tif (contract.eventSignatures[name]?.emitPayloadSchema) {\n\t\t\t\twasFound = true\n\t\t\t\tassert.isEqual(\n\t\t\t\t\tcontract.eventSignatures[name].emitPayloadSchema?.id,\n\t\t\t\t\tEVENT_CAMEL + 'EmitTargetAndPayload'\n\t\t\t\t)\n\t\t\t\tassert.isTruthy(\n\t\t\t\t\tcontract.eventSignatures[name].emitPayloadSchema?.fields?.target\n\t\t\t\t)\n\t\t\t\tassert.isTruthy(\n\t\t\t\t\tcontract.eventSignatures[name].emitPayloadSchema?.fields?.payload\n\t\t\t\t)\n\t\t\t\tassert.isTruthy(contract.eventSignatures[name].responsePayloadSchema)\n\t\t\t\tassert.isTruthy(contract.eventSignatures[name].emitPermissionContract)\n\t\t\t\tassert.isTruthy(contract.eventSignatures[name].listenPermissionContract)\n\n\t\t\t\tvalidateEventContract(contract)\n\t\t\t}\n\t\t}\n\n\t\tassert.isTrue(wasFound)\n\t}\n\n\t@test()\n\tprotected static async mixesInLocalContractWithGlobalEventsAndDoesNotReturnContractTwice() {\n\t\tconst { skill, fqen } = await this.installAndRegisterOneGlobalEvent()\n\n\t\tconst { contracts } = await this.Store('event').fetchEventContracts({\n\t\t\tlocalNamespace: skill.slug,\n\t\t})\n\n\t\tconst totalMatches = contracts.reduce((count, contract) => {\n\t\t\tif (contract.eventSignatures[fqen]) {\n\t\t\t\tcount++\n\t\t\t}\n\t\t\treturn count\n\t\t}, 0)\n\n\t\tassert.isEqual(totalMatches, 1)\n\t}\n\n\t@test()\n\tprotected static async doesNotLoadGlobalContractsForSelf() {\n\t\tconst { fqen, skill } = await this.installAndRegisterOneGlobalEvent()\n\n\t\tconst eventsPath = this.resolvePath('src', 'events')\n\t\tdiskUtil.deleteDir(eventsPath)\n\n\t\tconst { contracts } = await this.Store('event').fetchEventContracts({\n\t\t\tlocalNamespace: skill.slug,\n\t\t})\n\n\t\tconst unified = eventContractUtil.unifyContracts(contracts)\n\n\t\tassert.isTruthy(unified)\n\t\tassert.doesThrow(() => eventContractUtil.getSignatureByName(unified, fqen))\n\t}\n\n\t@test()\n\tprotected static async globbyPatternLooksEverywhere() {\n\t\tconst store = this.Store('event')\n\t\tconst expected = this.resolvePath(\n\t\t\t'src',\n\t\t\t'**',\n\t\t\t'events',\n\t\t\t'**/*.(builder|options).ts'\n\t\t)\n\n\t\t//@ts-ignore\n\t\tassert.isEqual(store.generateGlobbyForLocalEvents(), expected)\n\t}\n\n\tprivate static async installAndRegisterOneGlobalEvent() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'event store test skill',\n\t\t})\n\n\t\tconst results = await this.createAction.execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t\tisGlobal: true,\n\t\t})\n\n\t\tconst { fqen } = results.meta ?? {}\n\n\t\tassert.isTruthy(fqen)\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot.meta?.kill()\n\n\t\tEventStore.clearCache()\n\n\t\treturn { boot, skill, fqen, createResults: results }\n\t}\n\n\tprivate static async seedSkillAndInstallAtOrg(org: any, name: string) {\n\t\tconst skill = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname,\n\t\t})\n\n\t\tawait this.getOrganizationFixture().installSkillAtOrganization(\n\t\t\tskill.id,\n\t\t\torg.id\n\t\t)\n\n\t\tconst client = await this.connectToApi({\n\t\t\tskillId: skill.id,\n\t\t\tapiKey: skill.apiKey,\n\t\t})\n\n\t\tconst eventStore = this.Store('event', {\n\t\t\tapiClientFactory: async () => {\n\t\t\t\treturn client\n\t\t\t},\n\t\t})\n\n\t\treturn { eventStore, skill }\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"EventStore.test.js","names":["EVENT_NAME_READABLE","EVENT_NAME","EVENT_CAMEL","EventStoreTest","test","versionUtil","generateVersion","createAction","Action","diskUtil","writeFile","resolvePath","people","loginAsDemoPerson","DEMO_NUMBER_EVENT_STORE","assert","isTruthy","Store","isFunction","fetchEventContracts","localNamespace","results","contracts","errors","isTrue","length","contract","validateEventContract","isEqual","organizationFixture","getOrganizationFixture","seedDemoOrg","name","org","seedSkillAndInstallAtOrg","eventStore1","eventStore","skill1","skill","eventStore2","registerEventContract","eventContract","eventSignatures","version","constValue","emitPayloadSchema","buildEmitTargetAndPayloadSchema","eventName","targetSchema","eventTargetSchema","emitPermissionContract","buildPermissionContract","id","permissions","defaults","skillContract","sig","eventContractUtil","getSignatureByName","slug","FeatureFixture","installCachedFeatures","getSkillFixture","registerCurrentSkill","execute","nameReadable","nameKebab","nameCamel","isFalsy","match","testUtil","assertFileByNameInGeneratedFiles","files","doesThrowAsync","loadLocalContract","RegExp","err","errorAssert","assertError","copyEventBuildersAndPermissions","namespaces","isLength","eventNameUtil","join","eventNamespace","wasFound","fields","target","payload","responsePayloadSchema","listenPermissionContract","installAndRegisterOneGlobalEvent","fqen","totalMatches","reduce","count","eventsPath","deleteDir","unified","unifyContracts","doesThrow","store","expected","generateGlobbyForLocalEvents","isGlobal","meta","local","boot","kill","EventStore","clearCache","createResults","seedDemoSkill","installSkillAtOrganization","connectToApi","skillId","apiKey","client","apiClientFactory","AbstractEventTest"],"sources":["../../../src/__tests__/implementation/EventStore.test.ts"],"sourcesContent":["import {\n\tbuildPermissionContract,\n\tvalidateEventContract,\n} from '@sprucelabs/mercury-types'\nimport {\n\tbuildEmitTargetAndPayloadSchema,\n\teventContractUtil,\n\teventNameUtil,\n\teventTargetSchema,\n} from '@sprucelabs/spruce-event-utils'\nimport { diskUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport CreateAction from '../../features/event/actions/CreateAction'\nimport EventStore from '../../features/event/stores/EventStore'\nimport AbstractEventTest from '../../tests/AbstractEventTest'\nimport { DEMO_NUMBER_EVENT_STORE } from '../../tests/constants'\nimport testUtil from '../../tests/utilities/test.utility'\n\nconst EVENT_NAME_READABLE = 'my event store amazing event'\nconst EVENT_NAME = 'my-event-store-amazing-event'\nconst EVENT_CAMEL = 'myEventStoreAmazingEvent'\n\nexport default class EventStoreTest extends AbstractEventTest {\n\tprivate static createAction: CreateAction\n\tprotected static get version() {\n\t\treturn versionUtil.generateVersion()\n\t}\n\n\tpublic static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.createAction = this.Action<CreateAction>('event', 'create')\n\t\tdiskUtil.writeFile(this.resolvePath('package.json'), '{}')\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_EVENT_STORE)\n\t}\n\n\t@test()\n\tprotected static async canInstantiateEventStore() {\n\t\tassert.isTruthy(this.Store('event'))\n\t}\n\n\t@test()\n\tprotected static async hasFetchEventContractsMethod() {\n\t\tassert.isFunction(this.Store('event').fetchEventContracts)\n\t}\n\n\t@test()\n\tprotected static async fetchesCoreEventContracts() {\n\t\tconst results = await this.Store('event').fetchEventContracts({\n\t\t\tlocalNamespace: 'my-skill',\n\t\t})\n\t\tconst { contracts, errors } = results\n\n\t\tassert.isTrue(contracts.length >= 1)\n\n\t\tfor (const contract of contracts) {\n\t\t\tvalidateEventContract(contract)\n\t\t}\n\n\t\tassert.isEqual(errors.length, 0)\n\t}\n\n\t@test()\n\tprotected static async registerEventContract() {\n\t\tconst organizationFixture = this.getOrganizationFixture()\n\t\tconst org = await organizationFixture.seedDemoOrg({\n\t\t\tname: 'my new org',\n\t\t})\n\n\t\tconst { eventStore: eventStore1, skill: skill1 } =\n\t\t\tawait this.seedSkillAndInstallAtOrg(org, 'skill 1')\n\n\t\tconst { eventStore: eventStore2 } = await this.seedSkillAndInstallAtOrg(\n\t\t\torg,\n\t\t\t'skill 2'\n\t\t)\n\n\t\tawait eventStore1.registerEventContract({\n\t\t\teventContract: {\n\t\t\t\teventSignatures: {\n\t\t\t\t\t[`my-fantastic-event::${this.version.constValue}`]: {\n\t\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\t\teventName: `my-fantastic-event::${this.version.constValue}`,\n\t\t\t\t\t\t\ttargetSchema: eventTargetSchema,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\temitPermissionContract: buildPermissionContract({\n\t\t\t\t\t\t\tid: 'my-fantastic-event-contract',\n\t\t\t\t\t\t\tname: 'Fantastic emit perms',\n\t\t\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: 'can-emit-perms',\n\t\t\t\t\t\t\t\t\tname: 'can emit perm',\n\t\t\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\t\t\tskill: false,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tconst { contracts } = await eventStore2.fetchEventContracts({\n\t\t\tlocalNamespace: 'my-skill',\n\t\t})\n\n\t\tassert.isTrue(contracts.length > 2)\n\n\t\tconst skillContract = contracts[1]\n\n\t\tconst sig = eventContractUtil.getSignatureByName(\n\t\t\tskillContract,\n\t\t\t`${skill1.slug}.my-fantastic-event::${this.version.constValue}`\n\t\t)\n\n\t\tassert.isEqual(\n\t\t\tsig.emitPermissionContract?.id,\n\t\t\t'my-fantastic-event-contract'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async badLocalContractThrowsNiceError() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my new skill',\n\t\t})\n\n\t\tconst results = await this.createAction.execute({\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 match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`emitPayload.builder.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tdiskUtil.writeFile(match, 'export default {}')\n\n\t\tconst err = await assert.doesThrowAsync(\n\t\t\t() => this.Store('event').loadLocalContract(skill.slug),\n\t\t\tnew RegExp(\n\t\t\t\t`${skill.slug}.${EVENT_NAME}::${\n\t\t\t\t\tversionUtil.generateVersion().constValue\n\t\t\t\t}`\n\t\t\t)\n\t\t)\n\n\t\terrorAssert.assertError(err, 'INVALID_EVENT_CONTRACT')\n\t}\n\n\t@test()\n\tprotected static async badLocalSignature() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my new skill',\n\t\t})\n\n\t\tconst results = await this.createAction.execute({\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 match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`event.options.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tdiskUtil.writeFile(match, 'export default {waka: true}')\n\n\t\tconst err = await assert.doesThrowAsync(\n\t\t\t() => this.Store('event').loadLocalContract(skill.slug),\n\t\t\tnew RegExp(\n\t\t\t\t`${skill.slug}.${EVENT_NAME}::${\n\t\t\t\t\tversionUtil.generateVersion().constValue\n\t\t\t\t}`\n\t\t\t)\n\t\t)\n\n\t\terrorAssert.assertError(err, 'INVALID_EVENT_CONTRACT')\n\t}\n\n\t@test()\n\tprotected static async mixesInLocalContracts() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my new skill',\n\t\t})\n\n\t\tawait this.createAction.execute({\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\tawait this.copyEventBuildersAndPermissions(EVENT_NAME)\n\n\t\tawait this.Action('event', 'sync').execute({})\n\n\t\tconst { contracts } = await this.Store('event').fetchEventContracts({\n\t\t\tlocalNamespace: skill.slug,\n\t\t\tnamespaces: ['core'],\n\t\t})\n\n\t\tassert.isLength(contracts, 2)\n\n\t\tconst name = eventNameUtil.join({\n\t\t\teventName: EVENT_NAME,\n\t\t\teventNamespace: skill.slug,\n\t\t\tversion: this.version.constValue,\n\t\t})\n\n\t\tlet wasFound = false\n\t\tfor (const contract of contracts) {\n\t\t\tif (contract.eventSignatures[name]?.emitPayloadSchema) {\n\t\t\t\twasFound = true\n\t\t\t\tassert.isEqual(\n\t\t\t\t\tcontract.eventSignatures[name].emitPayloadSchema?.id,\n\t\t\t\t\tEVENT_CAMEL + 'EmitTargetAndPayload'\n\t\t\t\t)\n\t\t\t\tassert.isTruthy(\n\t\t\t\t\tcontract.eventSignatures[name].emitPayloadSchema?.fields?.target\n\t\t\t\t)\n\t\t\t\tassert.isTruthy(\n\t\t\t\t\tcontract.eventSignatures[name].emitPayloadSchema?.fields?.payload\n\t\t\t\t)\n\t\t\t\tassert.isTruthy(contract.eventSignatures[name].responsePayloadSchema)\n\t\t\t\tassert.isTruthy(contract.eventSignatures[name].emitPermissionContract)\n\t\t\t\tassert.isTruthy(contract.eventSignatures[name].listenPermissionContract)\n\n\t\t\t\tvalidateEventContract(contract)\n\t\t\t}\n\t\t}\n\n\t\tassert.isTrue(wasFound)\n\t}\n\n\t@test()\n\tprotected static async mixesInLocalContractWithGlobalEventsAndDoesNotReturnContractTwice() {\n\t\tconst { skill, fqen } = await this.installAndRegisterOneGlobalEvent()\n\n\t\tconst { contracts } = await this.Store('event').fetchEventContracts({\n\t\t\tlocalNamespace: skill.slug,\n\t\t})\n\n\t\tconst totalMatches = contracts.reduce((count, contract) => {\n\t\t\tif (contract.eventSignatures[fqen]) {\n\t\t\t\tcount++\n\t\t\t}\n\t\t\treturn count\n\t\t}, 0)\n\n\t\tassert.isEqual(totalMatches, 1)\n\t}\n\n\t@test()\n\tprotected static async doesNotLoadGlobalContractsForSelf() {\n\t\tconst { fqen, skill } = await this.installAndRegisterOneGlobalEvent()\n\n\t\tconst eventsPath = this.resolvePath('src', 'events')\n\t\tdiskUtil.deleteDir(eventsPath)\n\n\t\tconst { contracts } = await this.Store('event').fetchEventContracts({\n\t\t\tlocalNamespace: skill.slug,\n\t\t})\n\n\t\tconst unified = eventContractUtil.unifyContracts(contracts)\n\n\t\tassert.isTruthy(unified)\n\t\tassert.doesThrow(() => eventContractUtil.getSignatureByName(unified, fqen))\n\t}\n\n\t@test()\n\tprotected static async globbyPatternLooksEverywhere() {\n\t\tconst store = this.Store('event')\n\t\tconst expected = this.resolvePath(\n\t\t\t'src',\n\t\t\t'**',\n\t\t\t'events',\n\t\t\t'**/*.(builder|options).ts'\n\t\t)\n\n\t\t//@ts-ignore\n\t\tassert.isEqual(store.generateGlobbyForLocalEvents(), expected)\n\t}\n\n\tprivate static async installAndRegisterOneGlobalEvent() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'event store test skill',\n\t\t})\n\n\t\tconst results = await this.createAction.execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t\tisGlobal: true,\n\t\t})\n\n\t\tconst { fqen } = results.meta ?? {}\n\n\t\tassert.isTruthy(fqen)\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot.meta?.kill()\n\n\t\tEventStore.clearCache()\n\n\t\treturn { boot, skill, fqen, createResults: results }\n\t}\n\n\tprivate static async seedSkillAndInstallAtOrg(org: any, name: string) {\n\t\tconst skill = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname,\n\t\t})\n\n\t\tawait this.getOrganizationFixture().installSkillAtOrganization(\n\t\t\tskill.id,\n\t\t\torg.id\n\t\t)\n\n\t\tconst client = await this.connectToApi({\n\t\t\tskillId: skill.id,\n\t\t\tapiKey: skill.apiKey,\n\t\t})\n\n\t\tconst eventStore = this.Store('event', {\n\t\t\tapiClientFactory: async () => {\n\t\t\t\treturn client\n\t\t\t},\n\t\t})\n\n\t\treturn { eventStore, skill }\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAIA;;AAMA;;AACA;;AAGA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,IAAMA,mBAAmB,GAAG,8BAA5B;AACA,IAAMC,UAAU,GAAG,8BAAnB;AACA,IAAMC,WAAW,GAAG,0BAApB;IAEqBC,c,WAanB,IAAAC,eAAA,G,UAKA,IAAAA,eAAA,G,UAKA,IAAAA,eAAA,G,UAgBA,IAAAA,eAAA,G,UA4DA,IAAAA,eAAA,G,UAmCA,IAAAA,eAAA,G,UAmCA,IAAAA,eAAA,G,UAwDA,IAAAA,eAAA,G,UAkBA,IAAAA,eAAA,G,WAiBA,IAAAA,eAAA,G;;;;;;;;;;;;SAlQD,eAA+B;MAC9B,OAAOC,6BAAA,CAAYC,eAAZ,EAAP;IACA;;;;sGAED;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAEC,KAAKC,YAAL,GAAoB,KAAKC,MAAL,CAA0B,OAA1B,EAAmC,QAAnC,CAApB;;gBACAC,0BAAA,CAASC,SAAT,CAAmB,KAAKC,WAAL,CAAiB,cAAjB,CAAnB,EAAqD,IAArD;;gBAHD;gBAAA,OAIO,KAAKC,MAAL,CAAYC,iBAAZ,CAA8BC,kCAA9B,CAJP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;oHAOA;QAAA;UAAA;YAAA;cAAA;gBAECC,iBAAA,CAAOC,QAAP,CAAgB,KAAKC,KAAL,CAAW,OAAX,CAAhB;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wHAKA;QAAA;UAAA;YAAA;cAAA;gBAECF,iBAAA,CAAOG,UAAP,CAAkB,KAAKD,KAAL,CAAW,OAAX,EAAoBE,mBAAtC;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;qHAKA;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,KAAKF,KAAL,CAAW,OAAX,EAAoBE,mBAApB,CAAwC;kBAC7DC,cAAc,EAAE;gBAD6C,CAAxC,CAFvB;;cAAA;gBAEOC,OAFP;gBAKSC,SALT,GAK+BD,OAL/B,CAKSC,SALT,EAKoBC,MALpB,GAK+BF,OAL/B,CAKoBE,MALpB;;gBAOCR,iBAAA,CAAOS,MAAP,CAAcF,SAAS,CAACG,MAAV,IAAoB,CAAlC;;gBAPD,uCASwBH,SATxB;;gBAAA;kBASC,oDAAkC;oBAAvBI,QAAuB;oBACjC,IAAAC,mCAAA,EAAsBD,QAAtB;kBACA;gBAXF;kBAAA;gBAAA;kBAAA;gBAAA;;gBAaCX,iBAAA,CAAOa,OAAP,CAAeL,MAAM,CAACE,MAAtB,EAA8B,CAA9B;;cAbD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;iHAgBA;QAAA;;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAEOI,mBAFP,GAE6B,KAAKC,sBAAL,EAF7B;gBAAA;gBAAA,OAGmBD,mBAAmB,CAACE,WAApB,CAAgC;kBACjDC,IAAI,EAAE;gBAD2C,CAAhC,CAHnB;;cAAA;gBAGOC,GAHP;gBAAA;gBAAA,OAQQ,KAAKC,wBAAL,CAA8BD,GAA9B,EAAmC,SAAnC,CARR;;cAAA;gBAAA;gBAOqBE,WAPrB,yBAOSC,UAPT;gBAOyCC,MAPzC,yBAOkCC,KAPlC;gBAAA;gBAAA,OAU2C,KAAKJ,wBAAL,CACzCD,GADyC,EAEzC,SAFyC,CAV3C;;cAAA;gBAAA;gBAUqBM,WAVrB,0BAUSH,UAVT;gBAAA;gBAAA,OAeOD,WAAW,CAACK,qBAAZ,CAAkC;kBACvCC,aAAa,EAAE;oBACdC,eAAe,qEACU,KAAKC,OAAL,CAAaC,UADvB,GACsC;sBACnDC,iBAAiB,EAAE,IAAAC,iDAAA,EAAgC;wBAClDC,SAAS,gCAAyB,KAAKJ,OAAL,CAAaC,UAAtC,CADyC;wBAElDI,YAAY,EAAEC;sBAFoC,CAAhC,CADgC;sBAKnDC,sBAAsB,EAAE,IAAAC,qCAAA,EAAwB;wBAC/CC,EAAE,EAAE,6BAD2C;wBAE/CpB,IAAI,EAAE,sBAFyC;wBAG/CqB,WAAW,EAAE,CACZ;0BACCD,EAAE,EAAE,gBADL;0BAECpB,IAAI,EAAE,eAFP;0BAGCsB,QAAQ,EAAE;4BACThB,KAAK,EAAE;0BADE;wBAHX,CADY;sBAHkC,CAAxB;oBAL2B,CADtC;kBADD;gBADwB,CAAlC,CAfP;;cAAA;gBAAA;gBAAA,OAyC6BC,WAAW,CAACpB,mBAAZ,CAAgC;kBAC3DC,cAAc,EAAE;gBAD2C,CAAhC,CAzC7B;;cAAA;gBAAA;gBAyCSE,SAzCT,yBAyCSA,SAzCT;;gBA6CCP,iBAAA,CAAOS,MAAP,CAAcF,SAAS,CAACG,MAAV,GAAmB,CAAjC;;gBAEM8B,aA/CP,GA+CuBjC,SAAS,CAAC,CAAD,CA/ChC;gBAiDOkC,GAjDP,GAiDaC,mCAAA,CAAkBC,kBAAlB,CACXH,aADW,YAERlB,MAAM,CAACsB,IAFC,kCAE2B,KAAKhB,OAAL,CAAaC,UAFxC,EAjDb;;gBAsDC7B,iBAAA,CAAOa,OAAP,0BACC4B,GAAG,CAACN,sBADL,0DACC,sBAA4BE,EAD7B,EAEC,6BAFD;;cAtDD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;2HA4DA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKQ,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;cAAA;gBAAA;gBAAA,OAIqB,KAAKC,eAAL,GAAuBC,oBAAvB,CAA4C;kBAC/D/B,IAAI,EAAE;gBADyD,CAA5C,CAJrB;;cAAA;gBAIOM,KAJP;gBAAA;gBAAA,OAQuB,KAAK/B,YAAL,CAAkByD,OAAlB,CAA0B;kBAC/CC,YAAY,EAAEjE,mBADiC;kBAE/CkE,SAAS,EAAEjE,UAFoC;kBAG/CkE,SAAS,EAAEjE;gBAHoC,CAA1B,CARvB;;cAAA;gBAQOmB,OARP;;gBAcCN,iBAAA,CAAOqD,OAAP,CAAe/C,OAAO,CAACE,MAAvB;;gBAEM8C,KAhBP,GAgBeC,gBAAA,CAASC,gCAAT,2BAEblD,OAAO,CAACmD,KAFK,CAhBf;;gBAqBC/D,0BAAA,CAASC,SAAT,CAAmB2D,KAAnB,EAA0B,mBAA1B;;gBArBD;gBAAA,OAuBmBtD,iBAAA,CAAO0D,cAAP,CACjB;kBAAA,OAAM,KAAI,CAACxD,KAAL,CAAW,OAAX,EAAoByD,iBAApB,CAAsCpC,KAAK,CAACqB,IAA5C,CAAN;gBAAA,CADiB,EAEjB,IAAIgB,MAAJ,WACIrC,KAAK,CAACqB,IADV,cACkB1D,UADlB,eAEEI,6BAAA,CAAYC,eAAZ,GAA8BsC,UAFhC,EAFiB,CAvBnB;;cAAA;gBAuBOgC,GAvBP;;gBAgCCC,sBAAA,CAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,wBAA7B;;cAhCD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;6GAmCA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKhB,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;cAAA;gBAAA;gBAAA,OAIqB,KAAKC,eAAL,GAAuBC,oBAAvB,CAA4C;kBAC/D/B,IAAI,EAAE;gBADyD,CAA5C,CAJrB;;cAAA;gBAIOM,KAJP;gBAAA;gBAAA,OAQuB,KAAK/B,YAAL,CAAkByD,OAAlB,CAA0B;kBAC/CC,YAAY,EAAEjE,mBADiC;kBAE/CkE,SAAS,EAAEjE,UAFoC;kBAG/CkE,SAAS,EAAEjE;gBAHoC,CAA1B,CARvB;;cAAA;gBAQOmB,OARP;;gBAcCN,iBAAA,CAAOqD,OAAP,CAAe/C,OAAO,CAACE,MAAvB;;gBAEM8C,KAhBP,GAgBeC,gBAAA,CAASC,gCAAT,qBAEblD,OAAO,CAACmD,KAFK,CAhBf;;gBAqBC/D,0BAAA,CAASC,SAAT,CAAmB2D,KAAnB,EAA0B,6BAA1B;;gBArBD;gBAAA,OAuBmBtD,iBAAA,CAAO0D,cAAP,CACjB;kBAAA,OAAM,MAAI,CAACxD,KAAL,CAAW,OAAX,EAAoByD,iBAApB,CAAsCpC,KAAK,CAACqB,IAA5C,CAAN;gBAAA,CADiB,EAEjB,IAAIgB,MAAJ,WACIrC,KAAK,CAACqB,IADV,cACkB1D,UADlB,eAEEI,6BAAA,CAAYC,eAAZ,GAA8BsC,UAFhC,EAFiB,CAvBnB;;cAAA;gBAuBOgC,GAvBP;;gBAgCCC,sBAAA,CAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,wBAA7B;;cAhCD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;iHAmCA;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKhB,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;cAAA;gBAAA;gBAAA,OAIqB,KAAKC,eAAL,GAAuBC,oBAAvB,CAA4C;kBAC/D/B,IAAI,EAAE;gBADyD,CAA5C,CAJrB;;cAAA;gBAIOM,KAJP;gBAAA;gBAAA,OAQO,KAAK/B,YAAL,CAAkByD,OAAlB,CAA0B;kBAC/BC,YAAY,EAAEjE,mBADiB;kBAE/BkE,SAAS,EAAEjE,UAFoB;kBAG/BkE,SAAS,EAAEjE;gBAHoB,CAA1B,CARP;;cAAA;gBAAA;gBAAA,OAcO,KAAK6E,+BAAL,CAAqC9E,UAArC,CAdP;;cAAA;gBAAA;gBAAA,OAgBO,KAAKO,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BwD,OAA7B,CAAqC,EAArC,CAhBP;;cAAA;gBAAA;gBAAA,OAkB6B,KAAK/C,KAAL,CAAW,OAAX,EAAoBE,mBAApB,CAAwC;kBACnEC,cAAc,EAAEkB,KAAK,CAACqB,IAD6C;kBAEnEqB,UAAU,EAAE,CAAC,MAAD;gBAFuD,CAAxC,CAlB7B;;cAAA;gBAAA;gBAkBS1D,SAlBT,yBAkBSA,SAlBT;;gBAuBCP,iBAAA,CAAOkE,QAAP,CAAgB3D,SAAhB,EAA2B,CAA3B;;gBAEMU,IAzBP,GAyBckD,+BAAA,CAAcC,IAAd,CAAmB;kBAC/BpC,SAAS,EAAE9C,UADoB;kBAE/BmF,cAAc,EAAE9C,KAAK,CAACqB,IAFS;kBAG/BhB,OAAO,EAAE,KAAKA,OAAL,CAAaC;gBAHS,CAAnB,CAzBd;gBA+BKyC,QA/BL,GA+BgB,KA/BhB;gBAAA,wCAgCwB/D,SAhCxB;;gBAAA;kBAgCC,uDAAkC;oBAAvBI,QAAuB;;oBACjC,6BAAIA,QAAQ,CAACgB,eAAT,CAAyBV,IAAzB,CAAJ,kDAAI,sBAAgCa,iBAApC,EAAuD;sBACtDwC,QAAQ,GAAG,IAAX;;sBACAtE,iBAAA,CAAOa,OAAP,2BACCF,QAAQ,CAACgB,eAAT,CAAyBV,IAAzB,EAA+Ba,iBADhC,2DACC,uBAAkDO,EADnD,EAEClD,WAAW,GAAG,sBAFf;;sBAIAa,iBAAA,CAAOC,QAAP,2BACCU,QAAQ,CAACgB,eAAT,CAAyBV,IAAzB,EAA+Ba,iBADhC,qFACC,uBAAkDyC,MADnD,2DACC,uBAA0DC,MAD3D;;sBAGAxE,iBAAA,CAAOC,QAAP,2BACCU,QAAQ,CAACgB,eAAT,CAAyBV,IAAzB,EAA+Ba,iBADhC,qFACC,uBAAkDyC,MADnD,2DACC,uBAA0DE,OAD3D;;sBAGAzE,iBAAA,CAAOC,QAAP,CAAgBU,QAAQ,CAACgB,eAAT,CAAyBV,IAAzB,EAA+ByD,qBAA/C;;sBACA1E,iBAAA,CAAOC,QAAP,CAAgBU,QAAQ,CAACgB,eAAT,CAAyBV,IAAzB,EAA+BkB,sBAA/C;;sBACAnC,iBAAA,CAAOC,QAAP,CAAgBU,QAAQ,CAACgB,eAAT,CAAyBV,IAAzB,EAA+B0D,wBAA/C;;sBAEA,IAAA/D,mCAAA,EAAsBD,QAAtB;oBACA;kBACD;gBAnDF;kBAAA;gBAAA;kBAAA;gBAAA;;gBAqDCX,iBAAA,CAAOS,MAAP,CAAc6D,QAAd;;cArDD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;6JAwDA;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAE+B,KAAKM,gCAAL,EAF/B;;cAAA;gBAAA;gBAESrD,KAFT,yBAESA,KAFT;gBAEgBsD,IAFhB,yBAEgBA,IAFhB;gBAAA;gBAAA,OAI6B,KAAK3E,KAAL,CAAW,OAAX,EAAoBE,mBAApB,CAAwC;kBACnEC,cAAc,EAAEkB,KAAK,CAACqB;gBAD6C,CAAxC,CAJ7B;;cAAA;gBAAA;gBAISrC,SAJT,0BAISA,SAJT;gBAQOuE,YARP,GAQsBvE,SAAS,CAACwE,MAAV,CAAiB,UAACC,KAAD,EAAQrE,QAAR,EAAqB;kBAC1D,IAAIA,QAAQ,CAACgB,eAAT,CAAyBkD,IAAzB,CAAJ,EAAoC;oBACnCG,KAAK;kBACL;;kBACD,OAAOA,KAAP;gBACA,CALoB,EAKlB,CALkB,CARtB;;gBAeChF,iBAAA,CAAOa,OAAP,CAAeiE,YAAf,EAA6B,CAA7B;;cAfD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;6HAkBA;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAE+B,KAAKF,gCAAL,EAF/B;;cAAA;gBAAA;gBAESC,IAFT,0BAESA,IAFT;gBAEetD,KAFf,0BAEeA,KAFf;gBAIO0D,UAJP,GAIoB,KAAKrF,WAAL,CAAiB,KAAjB,EAAwB,QAAxB,CAJpB;;gBAKCF,0BAAA,CAASwF,SAAT,CAAmBD,UAAnB;;gBALD;gBAAA,OAO6B,KAAK/E,KAAL,CAAW,OAAX,EAAoBE,mBAApB,CAAwC;kBACnEC,cAAc,EAAEkB,KAAK,CAACqB;gBAD6C,CAAxC,CAP7B;;cAAA;gBAAA;gBAOSrC,SAPT,0BAOSA,SAPT;gBAWO4E,OAXP,GAWiBzC,mCAAA,CAAkB0C,cAAlB,CAAiC7E,SAAjC,CAXjB;;gBAaCP,iBAAA,CAAOC,QAAP,CAAgBkF,OAAhB;;gBACAnF,iBAAA,CAAOqF,SAAP,CAAiB;kBAAA,OAAM3C,mCAAA,CAAkBC,kBAAlB,CAAqCwC,OAArC,EAA8CN,IAA9C,CAAN;gBAAA,CAAjB;;cAdD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wHAiBA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOS,KAFP,GAEe,KAAKpF,KAAL,CAAW,OAAX,CAFf;gBAGOqF,QAHP,GAGkB,KAAK3F,WAAL,CAChB,KADgB,EAEhB,IAFgB,EAGhB,QAHgB,EAIhB,2BAJgB,CAHlB,EAUC;;gBACAI,iBAAA,CAAOa,OAAP,CAAeyE,KAAK,CAACE,4BAAN,EAAf,EAAqDD,QAArD;;cAXD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;4HAcA;QAAA;;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACO,KAAK1C,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CADP;;cAAA;gBAAA;gBAAA,OAGqB,KAAKC,eAAL,GAAuBC,oBAAvB,CAA4C;kBAC/D/B,IAAI,EAAE;gBADyD,CAA5C,CAHrB;;cAAA;gBAGOM,KAHP;gBAAA;gBAAA,OAOuB,KAAK/B,YAAL,CAAkByD,OAAlB,CAA0B;kBAC/CC,YAAY,EAAEjE,mBADiC;kBAE/CkE,SAAS,EAAEjE,UAFoC;kBAG/CkE,SAAS,EAAEjE,WAHoC;kBAI/CsG,QAAQ,EAAE;gBAJqC,CAA1B,CAPvB;;cAAA;gBAOOnF,OAPP;gBAAA,wBAckBA,OAAO,CAACoF,IAd1B,yDAckC,EAdlC,EAcSb,IAdT,QAcSA,IAdT;;gBAgBC7E,iBAAA,CAAOC,QAAP,CAAgB4E,IAAhB;;gBAhBD;gBAAA,OAkBoB,KAAKpF,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BwD,OAA7B,CAAqC;kBAAE0C,KAAK,EAAE;gBAAT,CAArC,CAlBpB;;cAAA;gBAkBOC,IAlBP;gBAoBC,cAAAA,IAAI,CAACF,IAAL,0DAAWG,IAAX;;gBAEAC,sBAAA,CAAWC,UAAX;;gBAtBD,mCAwBQ;kBAAEH,IAAI,EAAJA,IAAF;kBAAQrE,KAAK,EAALA,KAAR;kBAAesD,IAAI,EAAJA,IAAf;kBAAqBmB,aAAa,EAAE1F;gBAApC,CAxBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;oHA2BA,mBAA8CY,GAA9C,EAAwDD,IAAxD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACqB,KAAK8B,eAAL,GAAuBkD,aAAvB,CAAqC;kBACxDhF,IAAI,EAAJA;gBADwD,CAArC,CADrB;;cAAA;gBACOM,KADP;gBAAA;gBAAA,OAKO,KAAKR,sBAAL,GAA8BmF,0BAA9B,CACL3E,KAAK,CAACc,EADD,EAELnB,GAAG,CAACmB,EAFC,CALP;;cAAA;gBAAA;gBAAA,OAUsB,KAAK8D,YAAL,CAAkB;kBACtCC,OAAO,EAAE7E,KAAK,CAACc,EADuB;kBAEtCgE,MAAM,EAAE9E,KAAK,CAAC8E;gBAFwB,CAAlB,CAVtB;;cAAA;gBAUOC,MAVP;gBAeOjF,UAfP,GAeoB,KAAKnB,KAAL,CAAW,OAAX,EAAoB;kBACtCqG,gBAAgB;oBAAA,sGAAE;sBAAA;wBAAA;0BAAA;4BAAA;8BAAA,mCACVD,MADU;;4BAAA;4BAAA;8BAAA;0BAAA;wBAAA;sBAAA;oBAAA,CAAF;;oBAAA;sBAAA;oBAAA;;oBAAA;kBAAA;gBADsB,CAApB,CAfpB;gBAAA,mCAqBQ;kBAAEjF,UAAU,EAAVA,UAAF;kBAAcE,KAAK,EAALA;gBAAd,CArBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EA7S2CiF,8B"}
@@ -33,7 +33,7 @@ var _schema = require("@sprucelabs/schema");
33
33
 
34
34
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
35
35
 
36
- var _test = require("@sprucelabs/test");
36
+ var _testUtils = require("@sprucelabs/test-utils");
37
37
 
38
38
  var _EventTemplateItemBuilder = _interopRequireDefault(require("../../templateItemBuilders/EventTemplateItemBuilder"));
39
39
 
@@ -250,7 +250,7 @@ var expectedContractWithEmitPayloadTemplateItem = {
250
250
  emitPayloadSchema: _objectSpread({}, proximityEmitPayloadTemplateItem)
251
251
  })
252
252
  };
253
- var EventTemplateItemBuilderTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)('builds emit payload schema into a template item', [contractWithEmitPayload], [expectedContractWithEmitPayloadTemplateItem], [relatedToRelatedToProximitySchemaTemplateItem, relatedToProximitySchemaTemplateItem, proximityEmitPayloadTemplateItem]), _dec5 = (0, _test.test)('turns 1 contract with 2 event signature into 2 template items', [contractWith2Signatures], [didBookTemplateItem, willBookTemplateItem]), _dec6 = (0, _test.test)('turns 2 contract with 2 event signature into 4 template items', [contractWith2Signatures, contractWith2Signatures], [didBookTemplateItem, didBookTemplateItem, willBookTemplateItem, willBookTemplateItem]), _dec7 = (0, _test.test)('turns 1 contract with 2 namespaced event signatures to 2 template items', [contractWith2NamespacedSignatures], [didBookWithNamespaceTemplateItem, willBookWithNamespaceTemplateItem]), _dec8 = (0, _test.test)(), _dec9 = (0, _test.test)(), _dec10 = (0, _test.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractCliTest) {
253
+ var EventTemplateItemBuilderTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)('builds emit payload schema into a template item', [contractWithEmitPayload], [expectedContractWithEmitPayloadTemplateItem], [relatedToRelatedToProximitySchemaTemplateItem, relatedToProximitySchemaTemplateItem, proximityEmitPayloadTemplateItem]), _dec5 = (0, _testUtils.test)('turns 1 contract with 2 event signature into 2 template items', [contractWith2Signatures], [didBookTemplateItem, willBookTemplateItem]), _dec6 = (0, _testUtils.test)('turns 2 contract with 2 event signature into 4 template items', [contractWith2Signatures, contractWith2Signatures], [didBookTemplateItem, didBookTemplateItem, willBookTemplateItem, willBookTemplateItem]), _dec7 = (0, _testUtils.test)('turns 1 contract with 2 namespaced event signatures to 2 template items', [contractWith2NamespacedSignatures], [didBookWithNamespaceTemplateItem, willBookWithNamespaceTemplateItem]), _dec8 = (0, _testUtils.test)(), _dec9 = (0, _testUtils.test)(), _dec10 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractCliTest) {
254
254
  (0, _inherits2["default"])(EventTemplateItemBuilderTest, _AbstractCliTest);
255
255
 
256
256
  var _super = _createSuper(EventTemplateItemBuilderTest);
@@ -296,7 +296,7 @@ var EventTemplateItemBuilderTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.
296
296
  while (1) {
297
297
  switch (_context2.prev = _context2.next) {
298
298
  case 0:
299
- _test.assert.isTruthy(this.itemBuilder);
299
+ _testUtils.assert.isTruthy(this.itemBuilder);
300
300
 
301
301
  case 1:
302
302
  case "end":
@@ -320,7 +320,7 @@ var EventTemplateItemBuilderTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.
320
320
  while (1) {
321
321
  switch (_context3.prev = _context3.next) {
322
322
  case 0:
323
- _test.assert.isFunction(this.itemBuilder.buildTemplateItems);
323
+ _testUtils.assert.isFunction(this.itemBuilder.buildTemplateItems);
324
324
 
325
325
  case 1:
326
326
  case "end":
@@ -347,7 +347,7 @@ var EventTemplateItemBuilderTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.
347
347
 
348
348
  var actual = eventContractTemplateItems[0];
349
349
 
350
- _test.assert.isEqualDeep(actual, didBookTemplateItem);
350
+ _testUtils.assert.isEqualDeep(actual, didBookTemplateItem);
351
351
  }
352
352
  }, {
353
353
  key: "generateItems",
@@ -361,9 +361,9 @@ var EventTemplateItemBuilderTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.
361
361
  eventContractTemplateItems = _this$itemBuilder$bui2.eventContractTemplateItems,
362
362
  schemaTemplateItems = _this$itemBuilder$bui2.schemaTemplateItems;
363
363
 
364
- _test.assert.isEqualDeep(eventContractTemplateItems, expectedEventContractTemplateItems);
364
+ _testUtils.assert.isEqualDeep(eventContractTemplateItems, expectedEventContractTemplateItems);
365
365
 
366
- _test.assert.isEqualDeep(schemaTemplateItems, expectedSchemaTemplateItems);
366
+ _testUtils.assert.isEqualDeep(schemaTemplateItems, expectedSchemaTemplateItems);
367
367
  }
368
368
  }, {
369
369
  key: "canPullEventContractSchemaFromCoreEventContract",
@@ -382,7 +382,7 @@ var EventTemplateItemBuilderTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.
382
382
  return item.id === 'eventSource';
383
383
  });
384
384
 
385
- _test.assert.isTruthy(match);
385
+ _testUtils.assert.isTruthy(match);
386
386
  }
387
387
  }, {
388
388
  key: "sortsEventsAlphabetically",
@@ -398,9 +398,9 @@ var EventTemplateItemBuilderTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.
398
398
  }),
399
399
  eventContractTemplateItems = _this$itemBuilder$bui4.eventContractTemplateItems;
400
400
 
401
- _test.assert.isEqual(eventContractTemplateItems[0].nameCamel, 'registerEvents');
401
+ _testUtils.assert.isEqual(eventContractTemplateItems[0].nameCamel, 'registerEvents');
402
402
 
403
- _test.assert.isEqual(eventContractTemplateItems[1].nameCamel, 'zebraCheeta');
403
+ _testUtils.assert.isEqual(eventContractTemplateItems[1].nameCamel, 'zebraCheeta');
404
404
  }
405
405
  }, {
406
406
  key: "eventContractTemplateItemsHaveProperNamespacesImports",
@@ -491,9 +491,9 @@ var EventTemplateItemBuilderTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.
491
491
  }),
492
492
  eventContractTemplateItems = _this$itemBuilder$bui5.eventContractTemplateItems;
493
493
 
494
- _test.assert.isEqualDeep(eventContractTemplateItems[0].imports, groupsExpectedImports);
494
+ _testUtils.assert.isEqualDeep(eventContractTemplateItems[0].imports, groupsExpectedImports);
495
495
 
496
- _test.assert.isEqualDeep(eventContractTemplateItems[1].imports, appointmentsExpectedImports);
496
+ _testUtils.assert.isEqualDeep(eventContractTemplateItems[1].imports, appointmentsExpectedImports);
497
497
  }
498
498
  }]);
499
499
  return EventTemplateItemBuilderTest;
@@ -1 +1 @@
1
- {"version":3,"file":"EventTemplateItemBuilder.test.js","names":["expectedVersion","versionUtil","generateVersion","dirValue","bookContract","eventSignatures","contractWith2Signatures","contractWith2NamespacedSignatures","didBookTemplateItem","version","namePascal","nameCamel","isLocal","namespace","namesUtil","toKebab","MERCURY_API_NAMESPACE","namespaceCamel","toCamel","namespacePascal","toPascal","imports","importAs","willBookTemplateItem","didBookWithNamespaceTemplateItem","willBookWithNamespaceTemplateItem","relatedToRelatedToProximitySchema","buildSchema","id","fields","onlyField","type","relatedToRelatedToProximitySchemaTemplateItem","nameReadable","schema","isNested","destinationDir","relatedToProximitySchema","boolField","relatedToRelatedSchema","options","relatedToProximitySchemaTemplateItem","schemaIds","proximityEmitPayloadSchema","textField","relatedSchema","proximityEmitPayloadTemplateItem","contractWithEmitPayload","emitPayloadSchema","expectedContractWithEmitPayloadTemplateItem","EventTemplateItemBuilderTest","test","itemBuilder","EventTemplateItemBuilder","assert","isTruthy","isFunction","buildTemplateItems","contracts","localNamespace","eventContractTemplateItems","actual","isEqualDeep","expectedEventContractTemplateItems","expectedSchemaTemplateItems","schemaTemplateItems","coreEventContracts","match","find","item","isEqual","groupsExpectedImports","appointmentsExpectedImports","name","responsePayloadSchema","emitPermissionContract","requireAllPermissions","permissions","listenPermissionContract","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/EventTemplateItemBuilder.test.ts"],"sourcesContent":["import { coreEventContracts } from '@sprucelabs/mercury-core-events'\nimport { EventContract } from '@sprucelabs/mercury-types'\nimport { buildSchema, SchemaTemplateItem } from '@sprucelabs/schema'\nimport {\n\tMERCURY_API_NAMESPACE,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { EventContractTemplateItem } from '@sprucelabs/spruce-templates'\nimport { test, assert } from '@sprucelabs/test'\nimport EventTemplateItemBuilder from '../../templateItemBuilders/EventTemplateItemBuilder'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nconst expectedVersion = versionUtil.generateVersion().dirValue\n\nconst bookContract: EventContract = {\n\teventSignatures: {\n\t\t[`did-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst contractWith2Signatures: EventContract = {\n\teventSignatures: {\n\t\t[`did-book::${expectedVersion}`]: {},\n\t\t[`will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst contractWith2NamespacedSignatures: EventContract = {\n\teventSignatures: {\n\t\t[`appointments.did-book::${expectedVersion}`]: {},\n\t\t[`appointments.will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst didBookTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'DidBook',\n\tnameCamel: 'didBook',\n\tisLocal: false,\n\tnamespace: namesUtil.toKebab(MERCURY_API_NAMESPACE),\n\tnamespaceCamel: namesUtil.toCamel(MERCURY_API_NAMESPACE),\n\tnamespacePascal: namesUtil.toPascal(MERCURY_API_NAMESPACE),\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`did-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst willBookTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'WillBook',\n\tnameCamel: 'willBook',\n\tisLocal: false,\n\tnamespace: namesUtil.toKebab(MERCURY_API_NAMESPACE),\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\tnamespaceCamel: namesUtil.toCamel(MERCURY_API_NAMESPACE),\n\tnamespacePascal: namesUtil.toPascal(MERCURY_API_NAMESPACE),\n\teventSignatures: {\n\t\t[`will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst didBookWithNamespaceTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'DidBook',\n\tnameCamel: 'didBook',\n\tisLocal: true,\n\tnamespace: 'appointments',\n\tnamespaceCamel: 'appointments',\n\tnamespacePascal: 'Appointments',\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`appointments.did-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst willBookWithNamespaceTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'WillBook',\n\tnameCamel: 'willBook',\n\tisLocal: true,\n\tnamespace: 'appointments',\n\tnamespaceCamel: 'appointments',\n\tnamespacePascal: 'Appointments',\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`appointments.will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst relatedToRelatedToProximitySchema = buildSchema({\n\tid: 'relatedToRelatedToProximitySchema',\n\tversion: expectedVersion,\n\tfields: {\n\t\tonlyField: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n})\n\nconst relatedToRelatedToProximitySchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'proximity',\n\tid: relatedToRelatedToProximitySchema.id,\n\tnameCamel: 'relatedToRelatedToProximitySchema',\n\tnamePascal: 'RelatedToRelatedToProximitySchema',\n\tnameReadable: 'relatedToRelatedToProximitySchema',\n\tschema: {\n\t\t...relatedToRelatedToProximitySchema,\n\t\tnamespace: 'proximity',\n\t},\n\tisNested: true,\n\tdestinationDir: '#spruce/events',\n}\n\nconst relatedToProximitySchema = buildSchema({\n\tversion: expectedVersion,\n\tid: 'relatedToProximitySchema',\n\tfields: {\n\t\tboolField: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\trelatedToRelatedSchema: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: relatedToRelatedToProximitySchema,\n\t\t\t},\n\t\t},\n\t},\n})\n\nconst relatedToProximitySchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'proximity',\n\tid: relatedToProximitySchema.id,\n\tnameCamel: 'relatedToProximitySchema',\n\tnamePascal: 'RelatedToProximitySchema',\n\tnameReadable: 'relatedToProximitySchema',\n\tschema: {\n\t\tid: 'relatedToProximitySchema',\n\t\tnamespace: 'proximity',\n\t\tversion: expectedVersion,\n\t\tfields: {\n\t\t\tboolField: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\trelatedToRelatedSchema: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'relatedToRelatedToProximitySchema',\n\t\t\t\t\t\t\tnamespace: 'proximity',\n\t\t\t\t\t\t\tversion: expectedVersion,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: true,\n\tdestinationDir: '#spruce/events',\n}\n\nconst proximityEmitPayloadSchema = buildSchema({\n\tversion: expectedVersion,\n\tid: 'proximityEmitPayload',\n\tnamespace: 'proximity',\n\tfields: {\n\t\ttextField: {\n\t\t\ttype: 'text',\n\t\t},\n\t\trelatedSchema: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: relatedToProximitySchema,\n\t\t\t},\n\t\t},\n\t},\n})\n\nconst proximityEmitPayloadTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'proximity',\n\tid: proximityEmitPayloadSchema.id,\n\tnameCamel: 'proximityEmitPayload',\n\tnamePascal: 'ProximityEmitPayload',\n\tnameReadable: 'proximityEmitPayload',\n\tschema: {\n\t\tid: 'proximityEmitPayload',\n\t\tnamespace: 'proximity',\n\t\tversion: expectedVersion,\n\t\tfields: {\n\t\t\ttextField: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\trelatedSchema: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'relatedToProximitySchema',\n\t\t\t\t\t\t\tnamespace: 'proximity',\n\t\t\t\t\t\t\tversion: expectedVersion,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: false,\n\tdestinationDir: '#spruce/events',\n}\n\nconst contractWithEmitPayload: EventContract = {\n\teventSignatures: {\n\t\t[`proximity.did-enter::${expectedVersion}`]: {\n\t\t\temitPayloadSchema: proximityEmitPayloadSchema,\n\t\t},\n\t},\n}\n\nconst expectedContractWithEmitPayloadTemplateItem: EventContractTemplateItem = {\n\tnamePascal: 'DidEnter',\n\tnameCamel: 'didEnter',\n\tnamespace: 'proximity',\n\tisLocal: false,\n\tversion: expectedVersion,\n\tnamespaceCamel: 'proximity',\n\tnamespacePascal: 'Proximity',\n\timports: [\n\t\t{\n\t\t\tpackage: `#spruce/schemas/proximity/${expectedVersion}/proximityEmitPayload.schema`,\n\t\t\timportAs: 'proximityEmitPayloadSchema',\n\t\t},\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`proximity.did-enter::${expectedVersion}`]: {\n\t\t\temitPayloadSchema: {\n\t\t\t\t...proximityEmitPayloadTemplateItem,\n\t\t\t},\n\t\t},\n\t},\n}\n\nexport default class EventTemplateItemBuilderTest extends AbstractCliTest {\n\tprivate static itemBuilder: EventTemplateItemBuilder\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.itemBuilder = new EventTemplateItemBuilder()\n\t}\n\n\t@test()\n\tprotected static async canCreateNewItemBuilder() {\n\t\tassert.isTruthy(this.itemBuilder)\n\t}\n\n\t@test()\n\tprotected static async hasGenerateFunction() {\n\t\tassert.isFunction(this.itemBuilder.buildTemplateItems)\n\t}\n\n\t@test()\n\tprotected static turnsSingleContractIntoTemplateItem() {\n\t\tconst { eventContractTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [bookContract],\n\t\t\tlocalNamespace: 'test-namespace',\n\t\t})\n\n\t\tconst actual = eventContractTemplateItems[0]\n\n\t\tassert.isEqualDeep(actual, didBookTemplateItem)\n\t}\n\n\t@test(\n\t\t'builds emit payload schema into a template item',\n\t\t[contractWithEmitPayload],\n\t\t[expectedContractWithEmitPayloadTemplateItem],\n\t\t[\n\t\t\trelatedToRelatedToProximitySchemaTemplateItem,\n\t\t\trelatedToProximitySchemaTemplateItem,\n\t\t\tproximityEmitPayloadTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'turns 1 contract with 2 event signature into 2 template items',\n\t\t[contractWith2Signatures],\n\t\t[didBookTemplateItem, willBookTemplateItem]\n\t)\n\t@test(\n\t\t'turns 2 contract with 2 event signature into 4 template items',\n\t\t[contractWith2Signatures, contractWith2Signatures],\n\t\t[\n\t\t\tdidBookTemplateItem,\n\t\t\tdidBookTemplateItem,\n\t\t\twillBookTemplateItem,\n\t\t\twillBookTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'turns 1 contract with 2 namespaced event signatures to 2 template items',\n\t\t[contractWith2NamespacedSignatures],\n\t\t[didBookWithNamespaceTemplateItem, willBookWithNamespaceTemplateItem]\n\t)\n\tprotected static generateItems(\n\t\tcontracts: EventContract[],\n\t\texpectedEventContractTemplateItems: EventContractTemplateItem[],\n\t\texpectedSchemaTemplateItems: SchemaTemplateItem[] = []\n\t) {\n\t\tconst { eventContractTemplateItems, schemaTemplateItems } =\n\t\t\tthis.itemBuilder.buildTemplateItems({\n\t\t\t\tcontracts,\n\t\t\t\tlocalNamespace: 'appointments',\n\t\t\t})\n\n\t\tassert.isEqualDeep(\n\t\t\teventContractTemplateItems,\n\t\t\texpectedEventContractTemplateItems\n\t\t)\n\t\tassert.isEqualDeep(schemaTemplateItems, expectedSchemaTemplateItems)\n\t}\n\n\t@test()\n\tprotected static canPullEventContractSchemaFromCoreEventContract() {\n\t\tconst { schemaTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [\n\t\t\t\t{\n\t\t\t\t\teventSignatures: {\n\t\t\t\t\t\t'register-events':\n\t\t\t\t\t\t\tcoreEventContracts[0].eventSignatures['can-listen::v2020_12_25'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tlocalNamespace: 'testing',\n\t\t})\n\n\t\tconst match = schemaTemplateItems.find((item) => item.id === 'eventSource')\n\t\tassert.isTruthy(match)\n\t}\n\n\t@test()\n\tprotected static sortsEventsAlphabetically() {\n\t\tconst { eventContractTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [\n\t\t\t\t{\n\t\t\t\t\teventSignatures: {\n\t\t\t\t\t\t'zebra-cheeta': {},\n\t\t\t\t\t\t'register-events':\n\t\t\t\t\t\t\tcoreEventContracts[0].eventSignatures['can-listen::v2020_12_25'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tlocalNamespace: 'testing',\n\t\t})\n\n\t\tassert.isEqual(eventContractTemplateItems[0].nameCamel, 'registerEvents')\n\t\tassert.isEqual(eventContractTemplateItems[1].nameCamel, 'zebraCheeta')\n\t}\n\n\t@test()\n\tprotected static eventContractTemplateItemsHaveProperNamespacesImports() {\n\t\tconst groupsExpectedImports = [\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/groups/v2021_12_01/listEmitTargetAndPayload.schema',\n\t\t\t\timportAs: 'listEmitTargetAndPayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/groups/v2021_12_01/listResponsePayload.schema',\n\t\t\t\timportAs: 'listResponsePayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildEventContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildPermissionContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t]\n\n\t\tconst appointmentsExpectedImports = [\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/appointments/v2021_06_23/listEmitTargetAndPayload.schema',\n\t\t\t\timportAs: 'listEmitTargetAndPayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/appointments/v2021_06_23/listResponsePayload.schema',\n\t\t\t\timportAs: 'listResponsePayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildEventContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildPermissionContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t]\n\n\t\tconst { eventContractTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [\n\t\t\t\t{\n\t\t\t\t\teventSignatures: {\n\t\t\t\t\t\t'groups.list::v2021_12_01': {\n\t\t\t\t\t\t\temitPayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listEmitTargetAndPayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_12_01',\n\t\t\t\t\t\t\t\tnamespace: 'Groups',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listResponsePayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_12_01',\n\t\t\t\t\t\t\t\tnamespace: 'Groups',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissionContract: {\n\t\t\t\t\t\t\t\tid: 'listEmitPermissions',\n\t\t\t\t\t\t\t\tname: 'list',\n\t\t\t\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\t\t\t\tpermissions: [],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\n\t\t\t\t\t\t'appointments.list::v2021_06_23': {\n\t\t\t\t\t\t\temitPayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listEmitTargetAndPayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_06_23',\n\t\t\t\t\t\t\t\tnamespace: 'Appointments',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listResponsePayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_06_23',\n\t\t\t\t\t\t\t\tnamespace: 'Appointments',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissionContract: {\n\t\t\t\t\t\t\t\tid: 'listEmitPermissions',\n\t\t\t\t\t\t\t\tname: 'list appointments',\n\t\t\t\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\t\t\t\tpermissions: [],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlistenPermissionContract: {\n\t\t\t\t\t\t\t\tid: 'listListenPermissions',\n\t\t\t\t\t\t\t\tname: 'list appointments',\n\t\t\t\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\t\t\t\tpermissions: [],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tlocalNamespace: 'testing',\n\t\t})\n\n\t\tassert.isEqualDeep(\n\t\t\teventContractTemplateItems[0].imports,\n\t\t\tgroupsExpectedImports\n\t\t)\n\t\tassert.isEqualDeep(\n\t\t\teventContractTemplateItems[1].imports,\n\t\t\tappointmentsExpectedImports\n\t\t)\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"EventTemplateItemBuilder.test.js","names":["expectedVersion","versionUtil","generateVersion","dirValue","bookContract","eventSignatures","contractWith2Signatures","contractWith2NamespacedSignatures","didBookTemplateItem","version","namePascal","nameCamel","isLocal","namespace","namesUtil","toKebab","MERCURY_API_NAMESPACE","namespaceCamel","toCamel","namespacePascal","toPascal","imports","importAs","willBookTemplateItem","didBookWithNamespaceTemplateItem","willBookWithNamespaceTemplateItem","relatedToRelatedToProximitySchema","buildSchema","id","fields","onlyField","type","relatedToRelatedToProximitySchemaTemplateItem","nameReadable","schema","isNested","destinationDir","relatedToProximitySchema","boolField","relatedToRelatedSchema","options","relatedToProximitySchemaTemplateItem","schemaIds","proximityEmitPayloadSchema","textField","relatedSchema","proximityEmitPayloadTemplateItem","contractWithEmitPayload","emitPayloadSchema","expectedContractWithEmitPayloadTemplateItem","EventTemplateItemBuilderTest","test","itemBuilder","EventTemplateItemBuilder","assert","isTruthy","isFunction","buildTemplateItems","contracts","localNamespace","eventContractTemplateItems","actual","isEqualDeep","expectedEventContractTemplateItems","expectedSchemaTemplateItems","schemaTemplateItems","coreEventContracts","match","find","item","isEqual","groupsExpectedImports","appointmentsExpectedImports","name","responsePayloadSchema","emitPermissionContract","requireAllPermissions","permissions","listenPermissionContract","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/EventTemplateItemBuilder.test.ts"],"sourcesContent":["import { coreEventContracts } from '@sprucelabs/mercury-core-events'\nimport { EventContract } from '@sprucelabs/mercury-types'\nimport { buildSchema, SchemaTemplateItem } from '@sprucelabs/schema'\nimport {\n\tMERCURY_API_NAMESPACE,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { EventContractTemplateItem } from '@sprucelabs/spruce-templates'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport EventTemplateItemBuilder from '../../templateItemBuilders/EventTemplateItemBuilder'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nconst expectedVersion = versionUtil.generateVersion().dirValue\n\nconst bookContract: EventContract = {\n\teventSignatures: {\n\t\t[`did-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst contractWith2Signatures: EventContract = {\n\teventSignatures: {\n\t\t[`did-book::${expectedVersion}`]: {},\n\t\t[`will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst contractWith2NamespacedSignatures: EventContract = {\n\teventSignatures: {\n\t\t[`appointments.did-book::${expectedVersion}`]: {},\n\t\t[`appointments.will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst didBookTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'DidBook',\n\tnameCamel: 'didBook',\n\tisLocal: false,\n\tnamespace: namesUtil.toKebab(MERCURY_API_NAMESPACE),\n\tnamespaceCamel: namesUtil.toCamel(MERCURY_API_NAMESPACE),\n\tnamespacePascal: namesUtil.toPascal(MERCURY_API_NAMESPACE),\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`did-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst willBookTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'WillBook',\n\tnameCamel: 'willBook',\n\tisLocal: false,\n\tnamespace: namesUtil.toKebab(MERCURY_API_NAMESPACE),\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\tnamespaceCamel: namesUtil.toCamel(MERCURY_API_NAMESPACE),\n\tnamespacePascal: namesUtil.toPascal(MERCURY_API_NAMESPACE),\n\teventSignatures: {\n\t\t[`will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst didBookWithNamespaceTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'DidBook',\n\tnameCamel: 'didBook',\n\tisLocal: true,\n\tnamespace: 'appointments',\n\tnamespaceCamel: 'appointments',\n\tnamespacePascal: 'Appointments',\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`appointments.did-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst willBookWithNamespaceTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'WillBook',\n\tnameCamel: 'willBook',\n\tisLocal: true,\n\tnamespace: 'appointments',\n\tnamespaceCamel: 'appointments',\n\tnamespacePascal: 'Appointments',\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`appointments.will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst relatedToRelatedToProximitySchema = buildSchema({\n\tid: 'relatedToRelatedToProximitySchema',\n\tversion: expectedVersion,\n\tfields: {\n\t\tonlyField: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n})\n\nconst relatedToRelatedToProximitySchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'proximity',\n\tid: relatedToRelatedToProximitySchema.id,\n\tnameCamel: 'relatedToRelatedToProximitySchema',\n\tnamePascal: 'RelatedToRelatedToProximitySchema',\n\tnameReadable: 'relatedToRelatedToProximitySchema',\n\tschema: {\n\t\t...relatedToRelatedToProximitySchema,\n\t\tnamespace: 'proximity',\n\t},\n\tisNested: true,\n\tdestinationDir: '#spruce/events',\n}\n\nconst relatedToProximitySchema = buildSchema({\n\tversion: expectedVersion,\n\tid: 'relatedToProximitySchema',\n\tfields: {\n\t\tboolField: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\trelatedToRelatedSchema: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: relatedToRelatedToProximitySchema,\n\t\t\t},\n\t\t},\n\t},\n})\n\nconst relatedToProximitySchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'proximity',\n\tid: relatedToProximitySchema.id,\n\tnameCamel: 'relatedToProximitySchema',\n\tnamePascal: 'RelatedToProximitySchema',\n\tnameReadable: 'relatedToProximitySchema',\n\tschema: {\n\t\tid: 'relatedToProximitySchema',\n\t\tnamespace: 'proximity',\n\t\tversion: expectedVersion,\n\t\tfields: {\n\t\t\tboolField: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\trelatedToRelatedSchema: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'relatedToRelatedToProximitySchema',\n\t\t\t\t\t\t\tnamespace: 'proximity',\n\t\t\t\t\t\t\tversion: expectedVersion,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: true,\n\tdestinationDir: '#spruce/events',\n}\n\nconst proximityEmitPayloadSchema = buildSchema({\n\tversion: expectedVersion,\n\tid: 'proximityEmitPayload',\n\tnamespace: 'proximity',\n\tfields: {\n\t\ttextField: {\n\t\t\ttype: 'text',\n\t\t},\n\t\trelatedSchema: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: relatedToProximitySchema,\n\t\t\t},\n\t\t},\n\t},\n})\n\nconst proximityEmitPayloadTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'proximity',\n\tid: proximityEmitPayloadSchema.id,\n\tnameCamel: 'proximityEmitPayload',\n\tnamePascal: 'ProximityEmitPayload',\n\tnameReadable: 'proximityEmitPayload',\n\tschema: {\n\t\tid: 'proximityEmitPayload',\n\t\tnamespace: 'proximity',\n\t\tversion: expectedVersion,\n\t\tfields: {\n\t\t\ttextField: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\trelatedSchema: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'relatedToProximitySchema',\n\t\t\t\t\t\t\tnamespace: 'proximity',\n\t\t\t\t\t\t\tversion: expectedVersion,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: false,\n\tdestinationDir: '#spruce/events',\n}\n\nconst contractWithEmitPayload: EventContract = {\n\teventSignatures: {\n\t\t[`proximity.did-enter::${expectedVersion}`]: {\n\t\t\temitPayloadSchema: proximityEmitPayloadSchema,\n\t\t},\n\t},\n}\n\nconst expectedContractWithEmitPayloadTemplateItem: EventContractTemplateItem = {\n\tnamePascal: 'DidEnter',\n\tnameCamel: 'didEnter',\n\tnamespace: 'proximity',\n\tisLocal: false,\n\tversion: expectedVersion,\n\tnamespaceCamel: 'proximity',\n\tnamespacePascal: 'Proximity',\n\timports: [\n\t\t{\n\t\t\tpackage: `#spruce/schemas/proximity/${expectedVersion}/proximityEmitPayload.schema`,\n\t\t\timportAs: 'proximityEmitPayloadSchema',\n\t\t},\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`proximity.did-enter::${expectedVersion}`]: {\n\t\t\temitPayloadSchema: {\n\t\t\t\t...proximityEmitPayloadTemplateItem,\n\t\t\t},\n\t\t},\n\t},\n}\n\nexport default class EventTemplateItemBuilderTest extends AbstractCliTest {\n\tprivate static itemBuilder: EventTemplateItemBuilder\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.itemBuilder = new EventTemplateItemBuilder()\n\t}\n\n\t@test()\n\tprotected static async canCreateNewItemBuilder() {\n\t\tassert.isTruthy(this.itemBuilder)\n\t}\n\n\t@test()\n\tprotected static async hasGenerateFunction() {\n\t\tassert.isFunction(this.itemBuilder.buildTemplateItems)\n\t}\n\n\t@test()\n\tprotected static turnsSingleContractIntoTemplateItem() {\n\t\tconst { eventContractTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [bookContract],\n\t\t\tlocalNamespace: 'test-namespace',\n\t\t})\n\n\t\tconst actual = eventContractTemplateItems[0]\n\n\t\tassert.isEqualDeep(actual, didBookTemplateItem)\n\t}\n\n\t@test(\n\t\t'builds emit payload schema into a template item',\n\t\t[contractWithEmitPayload],\n\t\t[expectedContractWithEmitPayloadTemplateItem],\n\t\t[\n\t\t\trelatedToRelatedToProximitySchemaTemplateItem,\n\t\t\trelatedToProximitySchemaTemplateItem,\n\t\t\tproximityEmitPayloadTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'turns 1 contract with 2 event signature into 2 template items',\n\t\t[contractWith2Signatures],\n\t\t[didBookTemplateItem, willBookTemplateItem]\n\t)\n\t@test(\n\t\t'turns 2 contract with 2 event signature into 4 template items',\n\t\t[contractWith2Signatures, contractWith2Signatures],\n\t\t[\n\t\t\tdidBookTemplateItem,\n\t\t\tdidBookTemplateItem,\n\t\t\twillBookTemplateItem,\n\t\t\twillBookTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'turns 1 contract with 2 namespaced event signatures to 2 template items',\n\t\t[contractWith2NamespacedSignatures],\n\t\t[didBookWithNamespaceTemplateItem, willBookWithNamespaceTemplateItem]\n\t)\n\tprotected static generateItems(\n\t\tcontracts: EventContract[],\n\t\texpectedEventContractTemplateItems: EventContractTemplateItem[],\n\t\texpectedSchemaTemplateItems: SchemaTemplateItem[] = []\n\t) {\n\t\tconst { eventContractTemplateItems, schemaTemplateItems } =\n\t\t\tthis.itemBuilder.buildTemplateItems({\n\t\t\t\tcontracts,\n\t\t\t\tlocalNamespace: 'appointments',\n\t\t\t})\n\n\t\tassert.isEqualDeep(\n\t\t\teventContractTemplateItems,\n\t\t\texpectedEventContractTemplateItems\n\t\t)\n\t\tassert.isEqualDeep(schemaTemplateItems, expectedSchemaTemplateItems)\n\t}\n\n\t@test()\n\tprotected static canPullEventContractSchemaFromCoreEventContract() {\n\t\tconst { schemaTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [\n\t\t\t\t{\n\t\t\t\t\teventSignatures: {\n\t\t\t\t\t\t'register-events':\n\t\t\t\t\t\t\tcoreEventContracts[0].eventSignatures['can-listen::v2020_12_25'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tlocalNamespace: 'testing',\n\t\t})\n\n\t\tconst match = schemaTemplateItems.find((item) => item.id === 'eventSource')\n\t\tassert.isTruthy(match)\n\t}\n\n\t@test()\n\tprotected static sortsEventsAlphabetically() {\n\t\tconst { eventContractTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [\n\t\t\t\t{\n\t\t\t\t\teventSignatures: {\n\t\t\t\t\t\t'zebra-cheeta': {},\n\t\t\t\t\t\t'register-events':\n\t\t\t\t\t\t\tcoreEventContracts[0].eventSignatures['can-listen::v2020_12_25'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tlocalNamespace: 'testing',\n\t\t})\n\n\t\tassert.isEqual(eventContractTemplateItems[0].nameCamel, 'registerEvents')\n\t\tassert.isEqual(eventContractTemplateItems[1].nameCamel, 'zebraCheeta')\n\t}\n\n\t@test()\n\tprotected static eventContractTemplateItemsHaveProperNamespacesImports() {\n\t\tconst groupsExpectedImports = [\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/groups/v2021_12_01/listEmitTargetAndPayload.schema',\n\t\t\t\timportAs: 'listEmitTargetAndPayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/groups/v2021_12_01/listResponsePayload.schema',\n\t\t\t\timportAs: 'listResponsePayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildEventContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildPermissionContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t]\n\n\t\tconst appointmentsExpectedImports = [\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/appointments/v2021_06_23/listEmitTargetAndPayload.schema',\n\t\t\t\timportAs: 'listEmitTargetAndPayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/appointments/v2021_06_23/listResponsePayload.schema',\n\t\t\t\timportAs: 'listResponsePayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildEventContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildPermissionContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t]\n\n\t\tconst { eventContractTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [\n\t\t\t\t{\n\t\t\t\t\teventSignatures: {\n\t\t\t\t\t\t'groups.list::v2021_12_01': {\n\t\t\t\t\t\t\temitPayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listEmitTargetAndPayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_12_01',\n\t\t\t\t\t\t\t\tnamespace: 'Groups',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listResponsePayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_12_01',\n\t\t\t\t\t\t\t\tnamespace: 'Groups',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissionContract: {\n\t\t\t\t\t\t\t\tid: 'listEmitPermissions',\n\t\t\t\t\t\t\t\tname: 'list',\n\t\t\t\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\t\t\t\tpermissions: [],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\n\t\t\t\t\t\t'appointments.list::v2021_06_23': {\n\t\t\t\t\t\t\temitPayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listEmitTargetAndPayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_06_23',\n\t\t\t\t\t\t\t\tnamespace: 'Appointments',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listResponsePayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_06_23',\n\t\t\t\t\t\t\t\tnamespace: 'Appointments',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissionContract: {\n\t\t\t\t\t\t\t\tid: 'listEmitPermissions',\n\t\t\t\t\t\t\t\tname: 'list appointments',\n\t\t\t\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\t\t\t\tpermissions: [],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlistenPermissionContract: {\n\t\t\t\t\t\t\t\tid: 'listListenPermissions',\n\t\t\t\t\t\t\t\tname: 'list appointments',\n\t\t\t\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\t\t\t\tpermissions: [],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tlocalNamespace: 'testing',\n\t\t})\n\n\t\tassert.isEqualDeep(\n\t\t\teventContractTemplateItems[0].imports,\n\t\t\tgroupsExpectedImports\n\t\t)\n\t\tassert.isEqualDeep(\n\t\t\teventContractTemplateItems[1].imports,\n\t\t\tappointmentsExpectedImports\n\t\t)\n\t}\n}\n"],"mappings":"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"}
@@ -29,7 +29,7 @@ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/
29
29
 
30
30
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
31
31
 
32
- var _test = require("@sprucelabs/test");
32
+ var _testUtils = require("@sprucelabs/test-utils");
33
33
 
34
34
  var _FeatureCommandAttacher = _interopRequireDefault(require("../../features/FeatureCommandAttacher"));
35
35
 
@@ -43,7 +43,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
43
43
 
44
44
  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; } }
45
45
 
46
- var FeatureCommandAttacherTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = _test.test.skip('enable when private fields can be optionally shown in help.'), _dec6 = (0, _test.test)(), _dec7 = (0, _test.test)(), _dec8 = (0, _test.test)(), _dec9 = (0, _test.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractCliTest) {
46
+ var FeatureCommandAttacherTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)(), _dec5 = _testUtils.test.skip('enable when private fields can be optionally shown in help.'), _dec6 = (0, _testUtils.test)(), _dec7 = (0, _testUtils.test)(), _dec8 = (0, _testUtils.test)(), _dec9 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractCliTest) {
47
47
  (0, _inherits2["default"])(FeatureCommandAttacherTest, _AbstractCliTest);
48
48
 
49
49
  var _super = _createSuper(FeatureCommandAttacherTest);
@@ -91,12 +91,12 @@ var FeatureCommandAttacherTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
91
91
  }, {
92
92
  key: "canInstantiateAttacher",
93
93
  value: function canInstantiateAttacher() {
94
- _test.assert.isTruthy(this.attacher);
94
+ _testUtils.assert.isTruthy(this.attacher);
95
95
  }
96
96
  }, {
97
97
  key: "hasAttachMethod",
98
98
  value: function hasAttachMethod() {
99
- _test.assert.isFunction(this.attacher.attachFeature);
99
+ _testUtils.assert.isFunction(this.attacher.attachFeature);
100
100
  }
101
101
  }, {
102
102
  key: "attachFeatureSetsUpCommands",
@@ -110,29 +110,29 @@ var FeatureCommandAttacherTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
110
110
  return this.attachSchemaFeature();
111
111
 
112
112
  case 2:
113
- _test.assert.doesInclude(this.program.commandInvocations, 'create.schema');
113
+ _testUtils.assert.doesInclude(this.program.commandInvocations, 'create.schema');
114
114
 
115
- _test.assert.doesInclude(this.program.commandInvocations, 'sync.schemas');
115
+ _testUtils.assert.doesInclude(this.program.commandInvocations, 'sync.schemas');
116
116
 
117
- _test.assert.doesInclude(this.program.commandInvocations, 'sync.fields');
117
+ _testUtils.assert.doesInclude(this.program.commandInvocations, 'sync.fields');
118
118
 
119
- _test.assert.doesInclude(this.program.descriptionInvocations, {
119
+ _testUtils.assert.doesInclude(this.program.descriptionInvocations, {
120
120
  command: 'create.schema'
121
121
  });
122
122
 
123
- _test.assert.doesInclude(this.program.descriptionInvocations, {
123
+ _testUtils.assert.doesInclude(this.program.descriptionInvocations, {
124
124
  command: 'sync.schemas'
125
125
  });
126
126
 
127
- _test.assert.doesInclude(this.program.descriptionInvocations, {
127
+ _testUtils.assert.doesInclude(this.program.descriptionInvocations, {
128
128
  command: 'sync.fields'
129
129
  });
130
130
 
131
- _test.assert.doesInclude(this.program.actionInvocations, 'create.schema');
131
+ _testUtils.assert.doesInclude(this.program.actionInvocations, 'create.schema');
132
132
 
133
- _test.assert.doesInclude(this.program.actionInvocations, 'sync.schemas');
133
+ _testUtils.assert.doesInclude(this.program.actionInvocations, 'sync.schemas');
134
134
 
135
- _test.assert.doesInclude(this.program.actionInvocations, 'sync.fields');
135
+ _testUtils.assert.doesInclude(this.program.actionInvocations, 'sync.fields');
136
136
 
137
137
  case 11:
138
138
  case "end":
@@ -160,28 +160,28 @@ var FeatureCommandAttacherTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
160
160
  return this.attachSchemaFeature();
161
161
 
162
162
  case 2:
163
- _test.assert.doesInclude(this.program.optionInvocations, {
163
+ _testUtils.assert.doesInclude(this.program.optionInvocations, {
164
164
  command: 'create.schema',
165
165
  option: '--schemaBuilderDestinationDir <schemaBuilderDestinationDir>',
166
166
  defaultValue: 'src/schemas'
167
167
  });
168
168
 
169
- _test.assert.doesInclude(this.program.optionInvocations, {
169
+ _testUtils.assert.doesInclude(this.program.optionInvocations, {
170
170
  command: 'create.schema',
171
171
  option: '--description <description>'
172
172
  });
173
173
 
174
- _test.assert.doesInclude(this.program.optionInvocations, {
174
+ _testUtils.assert.doesInclude(this.program.optionInvocations, {
175
175
  command: 'sync.fields',
176
176
  option: '--addonsLookupDir <addonsLookupDir>'
177
177
  });
178
178
 
179
- _test.assert.doesInclude(this.program.optionInvocations, {
179
+ _testUtils.assert.doesInclude(this.program.optionInvocations, {
180
180
  command: 'sync.schemas',
181
181
  option: '--shouldFetchRemoteSchemas [true|false]'
182
182
  });
183
183
 
184
- _test.assert.doesInclude(this.program.optionInvocations, {
184
+ _testUtils.assert.doesInclude(this.program.optionInvocations, {
185
185
  command: 'sync.schemas',
186
186
  option: '--shouldGenerateCoreSchemaTypes [true|false]'
187
187
  });
@@ -212,7 +212,7 @@ var FeatureCommandAttacherTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
212
212
  return this.attachSchemaFeature();
213
213
 
214
214
  case 2:
215
- _test.assert.doesNotInclude(this.program.optionInvocations, {
215
+ _testUtils.assert.doesNotInclude(this.program.optionInvocations, {
216
216
  command: 'create.schema',
217
217
  option: '--shouldEnableVersioning [true|false]'
218
218
  });
@@ -250,7 +250,7 @@ var FeatureCommandAttacherTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
250
250
  return this.attacher.attachFeature(vscodeFeature);
251
251
 
252
252
  case 6:
253
- _test.assert.doesInclude(this.program.optionInvocations, {
253
+ _testUtils.assert.doesInclude(this.program.optionInvocations, {
254
254
  command: 'setup.vscode',
255
255
  option: '--all [true|false]'
256
256
  });
@@ -288,7 +288,7 @@ var FeatureCommandAttacherTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
288
288
  return this.attacher.attachFeature(feature);
289
289
 
290
290
  case 6:
291
- _test.assert.doesInclude(this.program.aliasesInvocations, 'update');
291
+ _testUtils.assert.doesInclude(this.program.aliasesInvocations, 'update');
292
292
 
293
293
  case 7:
294
294
  case "end":
@@ -327,7 +327,7 @@ var FeatureCommandAttacherTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
327
327
  return i === 'test';
328
328
  });
329
329
 
330
- _test.assert.isTruthy(match);
330
+ _testUtils.assert.isTruthy(match);
331
331
 
332
332
  case 8:
333
333
  case "end":
@@ -366,7 +366,7 @@ var FeatureCommandAttacherTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.te
366
366
  case 6:
367
367
  personPath = this.resolveHashSprucePath('schemas', 'spruce', 'v2020_07_22', 'person.schema.ts');
368
368
 
369
- _test.assert.isFalse(_spruceSkillUtils.diskUtil.doesFileExist(personPath));
369
+ _testUtils.assert.isFalse(_spruceSkillUtils.diskUtil.doesFileExist(personPath));
370
370
 
371
371
  case 8:
372
372
  case "end":
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureCommandAttacher.test.js","names":["FeatureCommandAttacherTest","test","skip","program","MockCommanderProgram","actionExecuter","ActionExecuter","attacher","FeatureCommandAttacher","ui","assert","isTruthy","isFunction","attachFeature","attachSchemaFeature","doesInclude","commandInvocations","descriptionInvocations","command","actionInvocations","optionInvocations","option","defaultValue","doesNotInclude","Cli","cli","vscodeFeature","getFeature","feature","aliasesInvocations","match","find","i","FeatureFixture","installCachedFeatures","actionHandler","personPath","resolveHashSprucePath","isFalse","diskUtil","doesFileExist","schemaFeature","MockProgramFactory","Program","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/FeatureCommandAttacher.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport FeatureCommandAttacher from '../../features/FeatureCommandAttacher'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport MockProgramFactory, { MockProgram } from '../../tests/MockProgramFactory'\n\nexport default class FeatureCommandAttacherTest extends AbstractCliTest {\n\tprivate static attacher: FeatureCommandAttacher\n\tprivate static program: MockProgram\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\tthis.program = this.MockCommanderProgram()\n\n\t\tconst actionExecuter = this.ActionExecuter()\n\n\t\tthis.attacher = new FeatureCommandAttacher({\n\t\t\tprogram: this.program,\n\t\t\tui: this.ui,\n\t\t\tactionExecuter,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canInstantiateAttacher() {\n\t\tassert.isTruthy(this.attacher)\n\t}\n\n\t@test()\n\tprotected static hasAttachMethod() {\n\t\tassert.isFunction(this.attacher.attachFeature)\n\t}\n\n\t@test()\n\tprotected static async attachFeatureSetsUpCommands() {\n\t\tawait this.attachSchemaFeature()\n\n\t\tassert.doesInclude(this.program.commandInvocations, 'create.schema')\n\t\tassert.doesInclude(this.program.commandInvocations, 'sync.schemas')\n\t\tassert.doesInclude(this.program.commandInvocations, 'sync.fields')\n\n\t\tassert.doesInclude(this.program.descriptionInvocations, {\n\t\t\tcommand: 'create.schema',\n\t\t})\n\t\tassert.doesInclude(this.program.descriptionInvocations, {\n\t\t\tcommand: 'sync.schemas',\n\t\t})\n\t\tassert.doesInclude(this.program.descriptionInvocations, {\n\t\t\tcommand: 'sync.fields',\n\t\t})\n\n\t\tassert.doesInclude(this.program.actionInvocations, 'create.schema')\n\t\tassert.doesInclude(this.program.actionInvocations, 'sync.schemas')\n\t\tassert.doesInclude(this.program.actionInvocations, 'sync.fields')\n\t}\n\n\t@test()\n\tprotected static async setsUpOptions() {\n\t\tawait this.attachSchemaFeature()\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'create.schema',\n\t\t\toption: '--schemaBuilderDestinationDir <schemaBuilderDestinationDir>',\n\t\t\tdefaultValue: 'src/schemas',\n\t\t})\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'create.schema',\n\t\t\toption: '--description <description>',\n\t\t})\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'sync.fields',\n\t\t\toption: '--addonsLookupDir <addonsLookupDir>',\n\t\t})\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'sync.schemas',\n\t\t\toption: '--shouldFetchRemoteSchemas [true|false]',\n\t\t})\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'sync.schemas',\n\t\t\toption: '--shouldGenerateCoreSchemaTypes [true|false]',\n\t\t})\n\t}\n\n\t@test.skip('enable when private fields can be optionally shown in help.')\n\tprotected static async ignoresPrivateFields() {\n\t\tawait this.attachSchemaFeature()\n\n\t\tassert.doesNotInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'create.schema',\n\t\t\toption: '--shouldEnableVersioning [true|false]',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async testBooleanArg() {\n\t\tconst cli = await this.Cli()\n\t\tconst vscodeFeature = cli.getFeature('vscode')\n\n\t\tawait this.attacher.attachFeature(vscodeFeature)\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'setup.vscode',\n\t\t\toption: '--all [true|false]',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async handlesAliases() {\n\t\tconst cli = await this.Cli()\n\t\tconst feature = cli.getFeature('node')\n\n\t\tawait this.attacher.attachFeature(feature)\n\n\t\tassert.doesInclude(this.program.aliasesInvocations, 'update')\n\t}\n\n\t@test()\n\tprotected static async testActionWithSameNameAsFeature() {\n\t\tconst cli = await this.Cli()\n\t\tconst vscodeFeature = cli.getFeature('test')\n\n\t\tawait this.attacher.attachFeature(vscodeFeature)\n\n\t\tconst match = this.program.commandInvocations.find((i) => i === 'test')\n\t\tassert.isTruthy(match)\n\t}\n\n\t@test()\n\tprotected static async optionsCanBeOverridden() {\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\t\tawait this.attachSchemaFeature()\n\n\t\tawait this.program.actionHandler({})\n\n\t\tconst personPath = this.resolveHashSprucePath(\n\t\t\t'schemas',\n\t\t\t'spruce',\n\t\t\t'v2020_07_22',\n\t\t\t'person.schema.ts'\n\t\t)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(personPath))\n\t}\n\n\tprivate static async attachSchemaFeature() {\n\t\tconst cli = await this.Cli()\n\t\tconst schemaFeature = cli.getFeature('schema')\n\n\t\tawait this.attacher.attachFeature(schemaFeature)\n\t}\n\n\tprivate static MockCommanderProgram(): MockProgram {\n\t\treturn MockProgramFactory.Program()\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FeatureCommandAttacher.test.js","names":["FeatureCommandAttacherTest","test","skip","program","MockCommanderProgram","actionExecuter","ActionExecuter","attacher","FeatureCommandAttacher","ui","assert","isTruthy","isFunction","attachFeature","attachSchemaFeature","doesInclude","commandInvocations","descriptionInvocations","command","actionInvocations","optionInvocations","option","defaultValue","doesNotInclude","Cli","cli","vscodeFeature","getFeature","feature","aliasesInvocations","match","find","i","FeatureFixture","installCachedFeatures","actionHandler","personPath","resolveHashSprucePath","isFalse","diskUtil","doesFileExist","schemaFeature","MockProgramFactory","Program","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/FeatureCommandAttacher.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport FeatureCommandAttacher from '../../features/FeatureCommandAttacher'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport MockProgramFactory, { MockProgram } from '../../tests/MockProgramFactory'\n\nexport default class FeatureCommandAttacherTest extends AbstractCliTest {\n\tprivate static attacher: FeatureCommandAttacher\n\tprivate static program: MockProgram\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\tthis.program = this.MockCommanderProgram()\n\n\t\tconst actionExecuter = this.ActionExecuter()\n\n\t\tthis.attacher = new FeatureCommandAttacher({\n\t\t\tprogram: this.program,\n\t\t\tui: this.ui,\n\t\t\tactionExecuter,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canInstantiateAttacher() {\n\t\tassert.isTruthy(this.attacher)\n\t}\n\n\t@test()\n\tprotected static hasAttachMethod() {\n\t\tassert.isFunction(this.attacher.attachFeature)\n\t}\n\n\t@test()\n\tprotected static async attachFeatureSetsUpCommands() {\n\t\tawait this.attachSchemaFeature()\n\n\t\tassert.doesInclude(this.program.commandInvocations, 'create.schema')\n\t\tassert.doesInclude(this.program.commandInvocations, 'sync.schemas')\n\t\tassert.doesInclude(this.program.commandInvocations, 'sync.fields')\n\n\t\tassert.doesInclude(this.program.descriptionInvocations, {\n\t\t\tcommand: 'create.schema',\n\t\t})\n\t\tassert.doesInclude(this.program.descriptionInvocations, {\n\t\t\tcommand: 'sync.schemas',\n\t\t})\n\t\tassert.doesInclude(this.program.descriptionInvocations, {\n\t\t\tcommand: 'sync.fields',\n\t\t})\n\n\t\tassert.doesInclude(this.program.actionInvocations, 'create.schema')\n\t\tassert.doesInclude(this.program.actionInvocations, 'sync.schemas')\n\t\tassert.doesInclude(this.program.actionInvocations, 'sync.fields')\n\t}\n\n\t@test()\n\tprotected static async setsUpOptions() {\n\t\tawait this.attachSchemaFeature()\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'create.schema',\n\t\t\toption: '--schemaBuilderDestinationDir <schemaBuilderDestinationDir>',\n\t\t\tdefaultValue: 'src/schemas',\n\t\t})\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'create.schema',\n\t\t\toption: '--description <description>',\n\t\t})\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'sync.fields',\n\t\t\toption: '--addonsLookupDir <addonsLookupDir>',\n\t\t})\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'sync.schemas',\n\t\t\toption: '--shouldFetchRemoteSchemas [true|false]',\n\t\t})\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'sync.schemas',\n\t\t\toption: '--shouldGenerateCoreSchemaTypes [true|false]',\n\t\t})\n\t}\n\n\t@test.skip('enable when private fields can be optionally shown in help.')\n\tprotected static async ignoresPrivateFields() {\n\t\tawait this.attachSchemaFeature()\n\n\t\tassert.doesNotInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'create.schema',\n\t\t\toption: '--shouldEnableVersioning [true|false]',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async testBooleanArg() {\n\t\tconst cli = await this.Cli()\n\t\tconst vscodeFeature = cli.getFeature('vscode')\n\n\t\tawait this.attacher.attachFeature(vscodeFeature)\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'setup.vscode',\n\t\t\toption: '--all [true|false]',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async handlesAliases() {\n\t\tconst cli = await this.Cli()\n\t\tconst feature = cli.getFeature('node')\n\n\t\tawait this.attacher.attachFeature(feature)\n\n\t\tassert.doesInclude(this.program.aliasesInvocations, 'update')\n\t}\n\n\t@test()\n\tprotected static async testActionWithSameNameAsFeature() {\n\t\tconst cli = await this.Cli()\n\t\tconst vscodeFeature = cli.getFeature('test')\n\n\t\tawait this.attacher.attachFeature(vscodeFeature)\n\n\t\tconst match = this.program.commandInvocations.find((i) => i === 'test')\n\t\tassert.isTruthy(match)\n\t}\n\n\t@test()\n\tprotected static async optionsCanBeOverridden() {\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\t\tawait this.attachSchemaFeature()\n\n\t\tawait this.program.actionHandler({})\n\n\t\tconst personPath = this.resolveHashSprucePath(\n\t\t\t'schemas',\n\t\t\t'spruce',\n\t\t\t'v2020_07_22',\n\t\t\t'person.schema.ts'\n\t\t)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(personPath))\n\t}\n\n\tprivate static async attachSchemaFeature() {\n\t\tconst cli = await this.Cli()\n\t\tconst schemaFeature = cli.getFeature('schema')\n\n\t\tawait this.attacher.attachFeature(schemaFeature)\n\t}\n\n\tprivate static MockCommanderProgram(): MockProgram {\n\t\treturn MockProgramFactory.Program()\n\t}\n}\n"],"mappings":"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"}
@@ -29,11 +29,11 @@ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/
29
29
 
30
30
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
31
31
 
32
- var _test = require("@sprucelabs/test");
32
+ var _testUtils = require("@sprucelabs/test-utils");
33
33
 
34
34
  var _AbstractCliTest2 = _interopRequireDefault(require("../../tests/AbstractCliTest"));
35
35
 
36
- var _test2 = _interopRequireDefault(require("../../tests/utilities/test.utility"));
36
+ var _test = _interopRequireDefault(require("../../tests/utilities/test.utility"));
37
37
 
38
38
  var _dec, _dec2, _class, _class2;
39
39
 
@@ -41,7 +41,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
41
41
 
42
42
  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; } }
43
43
 
44
- var FeatureFixtureTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractCliTest) {
44
+ var FeatureFixtureTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractCliTest) {
45
45
  (0, _inherits2["default"])(FeatureFixtureTest, _AbstractCliTest);
46
46
 
47
47
  var _super = _createSuper(FeatureFixtureTest);
@@ -123,12 +123,12 @@ var FeatureFixtureTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), (
123
123
  return (0, _get2["default"])((0, _getPrototypeOf2["default"])(FeatureFixtureTest), "afterAll", this).call(this);
124
124
 
125
125
  case 2:
126
- if (_test2["default"].shouldCleanupTestSkillDirs()) {
126
+ if (_test["default"].shouldCleanupTestSkillDirs()) {
127
127
  // first dir should stay because it's the cached source
128
- _test.assert.isTrue(_spruceSkillUtils.diskUtil.doesDirExist(this.cacheDirs[0])); // all other dirs are deleted
128
+ _testUtils.assert.isTrue(_spruceSkillUtils.diskUtil.doesDirExist(this.cacheDirs[0])); // all other dirs are deleted
129
129
 
130
130
 
131
- _test.assert.isFalse(_spruceSkillUtils.diskUtil.doesDirExist(this.cacheDirs[1]));
131
+ _testUtils.assert.isFalse(_spruceSkillUtils.diskUtil.doesDirExist(this.cacheDirs[1]));
132
132
  }
133
133
 
134
134
  case 3:
@@ -169,7 +169,7 @@ var FeatureFixtureTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), (
169
169
  case 3:
170
170
  cachedDir = this.resolvePath('');
171
171
 
172
- _test.assert.isTrue(_spruceSkillUtils.diskUtil.doesDirExist(cachedDir));
172
+ _testUtils.assert.isTrue(_spruceSkillUtils.diskUtil.doesDirExist(cachedDir));
173
173
 
174
174
  return _context4.abrupt("return", cachedDir);
175
175
 
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureFixture.test.js","names":["FeatureFixtureTest","test","installSkill","cachedDir","cacheDirs","push","testUtil","shouldCleanupTestSkillDirs","assert","isTrue","diskUtil","doesDirExist","isFalse","fixture","FeatureFixture","shouldGenerateCacheIfMissing","installFeatures","code","options","name","description","cacheKey","resolvePath","AbstractCliTest","Date","getTime"],"sources":["../../../src/__tests__/implementation/FeatureFixture.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class FeatureFixtureTest extends AbstractCliTest {\n\tprivate static cacheDirs: string[] = []\n\tprivate static cacheKey = `feature-fixture-${new Date().getTime()}`\n\n\t@test()\n\tprotected static async setsUpCachedDir() {\n\t\tconst cachedDir = await this.installSkill()\n\n\t\tthis.cacheDirs.push(cachedDir)\n\t}\n\n\t@test()\n\tprotected static async setsUpSecondCachedDir() {\n\t\tconst cachedDir = await this.installSkill()\n\n\t\tthis.cacheDirs.push(cachedDir)\n\t}\n\n\tpublic static async afterAll() {\n\t\tawait super.afterAll()\n\n\t\tif (testUtil.shouldCleanupTestSkillDirs()) {\n\t\t\t// first dir should stay because it's the cached source\n\t\t\tassert.isTrue(diskUtil.doesDirExist(this.cacheDirs[0]))\n\n\t\t\t// all other dirs are deleted\n\t\t\tassert.isFalse(diskUtil.doesDirExist(this.cacheDirs[1]))\n\t\t}\n\t}\n\n\tprivate static async installSkill() {\n\t\tconst fixture = this.FeatureFixture({ shouldGenerateCacheIfMissing: true })\n\n\t\tawait fixture.installFeatures(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tcode: 'skill',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'cache-cleaning',\n\t\t\t\t\t\tdescription: 'testing deleting cached dirs',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tthis.cacheKey\n\t\t)\n\n\t\tconst cachedDir = this.resolvePath('')\n\t\tassert.isTrue(diskUtil.doesDirExist(cachedDir))\n\t\treturn cachedDir\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,kB,WAInB,IAAAC,UAAA,G,UAOA,IAAAA,UAAA,G;;;;;;;;;;;;;2GAPD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEyB,KAAKC,YAAL,EAFzB;;cAAA;gBAEOC,SAFP;gBAIC,KAAKC,SAAL,CAAeC,IAAf,CAAoBF,SAApB;;cAJD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;iHAOA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEyB,KAAKD,YAAL,EAFzB;;cAAA;gBAEOC,SAFP;gBAIC,KAAKC,SAAL,CAAeC,IAAf,CAAoBF,SAApB;;cAJD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;oGAOA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAGC,IAAIG,iBAAA,CAASC,0BAAT,EAAJ,EAA2C;kBAC1C;kBACAC,YAAA,CAAOC,MAAP,CAAcC,0BAAA,CAASC,YAAT,CAAsB,KAAKP,SAAL,CAAe,CAAf,CAAtB,CAAd,EAF0C,CAI1C;;;kBACAI,YAAA,CAAOI,OAAP,CAAeF,0BAAA,CAASC,YAAT,CAAsB,KAAKP,SAAL,CAAe,CAAf,CAAtB,CAAf;gBACA;;cATF;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wGAYA;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOS,OADP,GACiB,KAAKC,cAAL,CAAoB;kBAAEC,4BAA4B,EAAE;gBAAhC,CAApB,CADjB;gBAAA;gBAAA,OAGOF,OAAO,CAACG,eAAR,CACL,CACC;kBACCC,IAAI,EAAE,OADP;kBAECC,OAAO,EAAE;oBACRC,IAAI,EAAE,gBADE;oBAERC,WAAW,EAAE;kBAFL;gBAFV,CADD,CADK,EAUL,KAAKC,QAVA,CAHP;;cAAA;gBAgBOlB,SAhBP,GAgBmB,KAAKmB,WAAL,CAAiB,EAAjB,CAhBnB;;gBAiBCd,YAAA,CAAOC,MAAP,CAAcC,0BAAA,CAASC,YAAT,CAAsBR,SAAtB,CAAd;;gBAjBD,kCAkBQA,SAlBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EA9B+CoB,4B,0DACV,E,mFACQ,IAAIC,IAAJ,GAAWC,OAAX,E"}
1
+ {"version":3,"file":"FeatureFixture.test.js","names":["FeatureFixtureTest","test","installSkill","cachedDir","cacheDirs","push","testUtil","shouldCleanupTestSkillDirs","assert","isTrue","diskUtil","doesDirExist","isFalse","fixture","FeatureFixture","shouldGenerateCacheIfMissing","installFeatures","code","options","name","description","cacheKey","resolvePath","AbstractCliTest","Date","getTime"],"sources":["../../../src/__tests__/implementation/FeatureFixture.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class FeatureFixtureTest extends AbstractCliTest {\n\tprivate static cacheDirs: string[] = []\n\tprivate static cacheKey = `feature-fixture-${new Date().getTime()}`\n\n\t@test()\n\tprotected static async setsUpCachedDir() {\n\t\tconst cachedDir = await this.installSkill()\n\n\t\tthis.cacheDirs.push(cachedDir)\n\t}\n\n\t@test()\n\tprotected static async setsUpSecondCachedDir() {\n\t\tconst cachedDir = await this.installSkill()\n\n\t\tthis.cacheDirs.push(cachedDir)\n\t}\n\n\tpublic static async afterAll() {\n\t\tawait super.afterAll()\n\n\t\tif (testUtil.shouldCleanupTestSkillDirs()) {\n\t\t\t// first dir should stay because it's the cached source\n\t\t\tassert.isTrue(diskUtil.doesDirExist(this.cacheDirs[0]))\n\n\t\t\t// all other dirs are deleted\n\t\t\tassert.isFalse(diskUtil.doesDirExist(this.cacheDirs[1]))\n\t\t}\n\t}\n\n\tprivate static async installSkill() {\n\t\tconst fixture = this.FeatureFixture({ shouldGenerateCacheIfMissing: true })\n\n\t\tawait fixture.installFeatures(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tcode: 'skill',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'cache-cleaning',\n\t\t\t\t\t\tdescription: 'testing deleting cached dirs',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tthis.cacheKey\n\t\t)\n\n\t\tconst cachedDir = this.resolvePath('')\n\t\tassert.isTrue(diskUtil.doesDirExist(cachedDir))\n\t\treturn cachedDir\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,kB,WAInB,IAAAC,eAAA,G,UAOA,IAAAA,eAAA,G;;;;;;;;;;;;;2GAPD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEyB,KAAKC,YAAL,EAFzB;;cAAA;gBAEOC,SAFP;gBAIC,KAAKC,SAAL,CAAeC,IAAf,CAAoBF,SAApB;;cAJD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;iHAOA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEyB,KAAKD,YAAL,EAFzB;;cAAA;gBAEOC,SAFP;gBAIC,KAAKC,SAAL,CAAeC,IAAf,CAAoBF,SAApB;;cAJD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;oGAOA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAGC,IAAIG,gBAAA,CAASC,0BAAT,EAAJ,EAA2C;kBAC1C;kBACAC,iBAAA,CAAOC,MAAP,CAAcC,0BAAA,CAASC,YAAT,CAAsB,KAAKP,SAAL,CAAe,CAAf,CAAtB,CAAd,EAF0C,CAI1C;;;kBACAI,iBAAA,CAAOI,OAAP,CAAeF,0BAAA,CAASC,YAAT,CAAsB,KAAKP,SAAL,CAAe,CAAf,CAAtB,CAAf;gBACA;;cATF;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wGAYA;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOS,OADP,GACiB,KAAKC,cAAL,CAAoB;kBAAEC,4BAA4B,EAAE;gBAAhC,CAApB,CADjB;gBAAA;gBAAA,OAGOF,OAAO,CAACG,eAAR,CACL,CACC;kBACCC,IAAI,EAAE,OADP;kBAECC,OAAO,EAAE;oBACRC,IAAI,EAAE,gBADE;oBAERC,WAAW,EAAE;kBAFL;gBAFV,CADD,CADK,EAUL,KAAKC,QAVA,CAHP;;cAAA;gBAgBOlB,SAhBP,GAgBmB,KAAKmB,WAAL,CAAiB,EAAjB,CAhBnB;;gBAiBCd,iBAAA,CAAOC,MAAP,CAAcC,0BAAA,CAASC,YAAT,CAAsBR,SAAtB,CAAd;;gBAjBD,kCAkBQA,SAlBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EA9B+CoB,4B,0DACV,E,mFACQ,IAAIC,IAAJ,GAAWC,OAAX,E"}