@sprucelabs/spruce-cli 17.1.38 → 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 (428) hide show
  1. package/CHANGELOG.md +24 -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/node_modules/@typescript-eslint/parser/package.json +5 -5
  286. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  287. package/node_modules/@typescript-eslint/types/package.json +2 -2
  288. package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
  289. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  290. package/package.json +32 -32
  291. package/src/__tests__/behavioral/AddingADependency.test.ts +1 -1
  292. package/src/__tests__/behavioral/BlockingCommands.test.ts +1 -1
  293. package/src/__tests__/behavioral/BootingTheCli.test.ts +1 -1
  294. package/src/__tests__/behavioral/BootingWithBadFiles.test.ts +1 -1
  295. package/src/__tests__/behavioral/CreatingAConversationTopic.test.ts +1 -1
  296. package/src/__tests__/behavioral/CreatingSchemasWithGenerics.test.ts +1 -1
  297. package/src/__tests__/behavioral/DeployingASkill.test.ts +1 -1
  298. package/src/__tests__/behavioral/DeployingToSandbox.test.ts +1 -1
  299. package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +1 -1
  300. package/src/__tests__/behavioral/GettingCliVersion.test.ts +1 -1
  301. package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +1 -1
  302. package/src/__tests__/behavioral/ListeningToCoreEvents.test.ts +1 -1
  303. package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +1 -1
  304. package/src/__tests__/behavioral/ManagingDependencies.test.ts +1 -1
  305. package/src/__tests__/behavioral/OverridingCommandsInPackageJson.test.ts +1 -1
  306. package/src/__tests__/behavioral/RebuildingASkill.test.ts +1 -1
  307. package/src/__tests__/behavioral/RegisteringConversationsOnBoot.test.ts +1 -1
  308. package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +1 -1
  309. package/src/__tests__/behavioral/RegisteringGlobalEvents.test.ts +1 -1
  310. package/src/__tests__/behavioral/RegisteringSkillViewOnBoot.test.ts +1 -1
  311. package/src/__tests__/behavioral/RememberingUpgradeSelections.test.ts +1 -1
  312. package/src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts +1 -1
  313. package/src/__tests__/behavioral/SettingRemote.test.ts +1 -1
  314. package/src/__tests__/behavioral/SettingUpASkillForTesting.test.ts +1 -1
  315. package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +1 -1
  316. package/src/__tests__/behavioral/SettingUpVscode.test.ts +1 -1
  317. package/src/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.ts +1 -1
  318. package/src/__tests__/behavioral/TestReporterSettingsRemembered.test.ts +1 -1
  319. package/src/__tests__/behavioral/TestingAConversation.test.ts +1 -1
  320. package/src/__tests__/behavioral/TestingDataStores.test.ts +1 -1
  321. package/src/__tests__/behavioral/WatchingSkillViews.test.ts +1 -1
  322. package/src/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.ts +1 -1
  323. package/src/__tests__/behavioral/errors/KeepingErrorClassInSync.test.ts +1 -1
  324. package/src/__tests__/behavioral/errors/KeepingErrorsInSync.test.ts +1 -1
  325. package/src/__tests__/behavioral/errors/SettingUpErrors.test.ts +1 -1
  326. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +1 -1
  327. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +1 -1
  328. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +1 -1
  329. package/src/__tests__/behavioral/events/KeepingEventsInSync.test.ts +1 -1
  330. package/src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts +1 -1
  331. package/src/__tests__/behavioral/events/KeepingListenersInSync.test.ts +1 -1
  332. package/src/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.ts +1 -1
  333. package/src/__tests__/behavioral/events/SettingUpEvents.test.ts +1 -1
  334. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +1 -1
  335. package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +1 -1
  336. package/src/__tests__/behavioral/onboard/StartingOnboarding.test.ts +1 -1
  337. package/src/__tests__/behavioral/organization/CreatingAnOrg.test.ts +1 -1
  338. package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +1 -1
  339. package/src/__tests__/behavioral/person/LoggingInAsPerson.test.ts +1 -1
  340. package/src/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.ts +1 -1
  341. package/src/__tests__/behavioral/polish/SettingUpPolish.test.ts +1 -1
  342. package/src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts +1 -1
  343. package/src/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.ts +1 -1
  344. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +1 -1
  345. package/src/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.ts +1 -1
  346. package/src/__tests__/behavioral/schemas/ImportingSchemaImports.test.ts +1 -1
  347. package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +1 -1
  348. package/src/__tests__/behavioral/schemas/SettingUpSchemas.test.ts +1 -1
  349. package/src/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.ts +1 -1
  350. package/src/__tests__/behavioral/schemas/UsingSchemasInCli.test.ts +1 -1
  351. package/src/__tests__/behavioral/skill/BootingASkill.test.ts +1 -1
  352. package/src/__tests__/behavioral/skill/CreatingASkill.test.ts +1 -1
  353. package/src/__tests__/behavioral/skill/RegisteringASkill.test.ts +1 -1
  354. package/src/__tests__/behavioral/skill/SettingUpASkill.test.ts +1 -1
  355. package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +1 -1
  356. package/src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts +1 -1
  357. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +1 -1
  358. package/src/__tests__/behavioral/tests/RunningTests.test.ts +1 -1
  359. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +1 -1
  360. package/src/__tests__/behavioral/tests/SettingUpTests.test.ts +1 -1
  361. package/src/__tests__/behavioral/upgrading/UpdatingDependencies.test.ts +1 -1
  362. package/src/__tests__/behavioral/upgrading/UpdatingDependencies2.test.ts +1 -1
  363. package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +1 -1
  364. package/src/__tests__/behavioral/upgrading/UpgradingASkill.test.ts +1 -1
  365. package/src/__tests__/behavioral/upgrading/UpgradingASkill2.test.ts +1 -1
  366. package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +1 -1
  367. package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
  368. package/src/__tests__/behavioral/upgrading/UpgradingASkill5.test.ts +1 -1
  369. package/src/__tests__/behavioral/upgrading/UpgradingWithListeners.test.ts +1 -1
  370. package/src/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.ts +1 -1
  371. package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +1 -1
  372. package/src/__tests__/behavioral/views/CreatingATheme.test.ts +1 -1
  373. package/src/__tests__/behavioral/views/KeepingViewsInSync.test.ts +1 -1
  374. package/src/__tests__/behavioral/views/SettingUpViews.test.ts +1 -1
  375. package/src/__tests__/behavioral/views/TestingViewControllers.test.ts +1 -1
  376. package/src/__tests__/behavioral/watchers/WatchingForChanges.test.ts +1 -1
  377. package/src/__tests__/implementation/ActionExecuter.test.ts +1 -1
  378. package/src/__tests__/implementation/ActionExecuter2.test.ts +1 -1
  379. package/src/__tests__/implementation/ActionExecuter3.test.ts +1 -1
  380. package/src/__tests__/implementation/ActionExecuter4.test.ts +1 -1
  381. package/src/__tests__/implementation/ArgParser.test.ts +1 -1
  382. package/src/__tests__/implementation/BuildService.test.ts +1 -1
  383. package/src/__tests__/implementation/BulkImporting.test.ts +1 -1
  384. package/src/__tests__/implementation/CachingImports.test.ts +1 -1
  385. package/src/__tests__/implementation/CommandOptionBuilder.test.ts +1 -1
  386. package/src/__tests__/implementation/CommanderCommandResultMapper.test.ts +1 -1
  387. package/src/__tests__/implementation/DataStoreStore.test.ts +1 -1
  388. package/src/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.ts +1 -1
  389. package/src/__tests__/implementation/EventContractCleanerUtil.test.ts +1 -1
  390. package/src/__tests__/implementation/EventStore.test.ts +1 -1
  391. package/src/__tests__/implementation/EventTemplateItemBuilder.test.ts +1 -1
  392. package/src/__tests__/implementation/FeatureCommandAttacher.test.ts +1 -1
  393. package/src/__tests__/implementation/FeatureFixture.test.ts +1 -1
  394. package/src/__tests__/implementation/FeatureInstaller.test.ts +1 -1
  395. package/src/__tests__/implementation/FeaturesUtil.test.ts +1 -1
  396. package/src/__tests__/implementation/FieldTemplateItemBuilder.test.ts +1 -1
  397. package/src/__tests__/implementation/GlobalEmitter.ts +1 -1
  398. package/src/__tests__/implementation/Introspection.test.ts +1 -1
  399. package/src/__tests__/implementation/JestJsonParser.test.ts +1 -1
  400. package/src/__tests__/implementation/LintService.test.ts +1 -1
  401. package/src/__tests__/implementation/ListenerStore.test.ts +1 -1
  402. package/src/__tests__/implementation/OnboardingScriptLoader.test.ts +1 -1
  403. package/src/__tests__/implementation/OnboardingScriptPlayer.test.ts +1 -1
  404. package/src/__tests__/implementation/OnboardingStore.test.ts +1 -1
  405. package/src/__tests__/implementation/OrganizationStore.test.ts +1 -1
  406. package/src/__tests__/implementation/ParentTestFinder.test.ts +1 -1
  407. package/src/__tests__/implementation/PkgService.test.ts +1 -1
  408. package/src/__tests__/implementation/SchemaStore.test.ts +1 -1
  409. package/src/__tests__/implementation/SchemaTemplateItemBuilder.test.ts +1 -1
  410. package/src/__tests__/implementation/SchemaValueTypeWriter.test.ts +1 -1
  411. package/src/__tests__/implementation/ServiceFactory.test.ts +1 -1
  412. package/src/__tests__/implementation/SettingUpANodeModule.test.ts +1 -1
  413. package/src/__tests__/implementation/SkillStore.test.ts +1 -1
  414. package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
  415. package/src/__tests__/implementation/TestReporter.test.ts +1 -1
  416. package/src/__tests__/implementation/TestRunner.test.ts +1 -1
  417. package/src/__tests__/implementation/ValueTypeMapping.test.ts +1 -1
  418. package/src/__tests__/implementation/Widgets.test.ts +1 -1
  419. package/src/__tests__/testDirsAndFiles/abstract_tests/AbstractTest.ts +1 -1
  420. package/src/__tests__/testDirsAndFiles/abstract_tests/AbstractTest2.ts +1 -1
  421. package/src/__tests__/testDirsAndFiles/abstract_tests/deeper/AbstractBananaTest.ts +1 -1
  422. package/src/features/onboard/templates/ManagingTodos.test.ts.hbs +1 -1
  423. package/src/features/test/TestLogItemGenerator.ts +1 -1
  424. package/src/interfaces/SpyInterface.ts +1 -1
  425. package/src/tests/AbstractCliTest.ts +1 -1
  426. package/src/tests/AbstractSchemaTest.ts +1 -1
  427. package/src/tests/utilities/test.utility.ts +1 -1
  428. package/src/tests/utilities/uiAssert.utility.ts +1 -1
@@ -41,15 +41,13 @@ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
41
41
 
42
42
  var _spruceTestFixtures = require("@sprucelabs/spruce-test-fixtures");
43
43
 
44
- var _test = require("@sprucelabs/test");
45
-
46
44
  var _testUtils = require("@sprucelabs/test-utils");
47
45
 
48
46
  var _ListenAction = require("../../../features/event/actions/ListenAction");
49
47
 
50
48
  var _AbstractEventTest2 = _interopRequireDefault(require("../../../tests/AbstractEventTest"));
51
49
 
52
- var _test2 = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
50
+ var _test = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
53
51
 
54
52
  var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _class, _class2;
55
53
 
@@ -57,7 +55,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
57
55
 
58
56
  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; } }
59
57
 
60
- var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), _dec7 = (0, _test.test)(), _dec8 = (0, _test.test)(), _dec9 = (0, _test.test)(), _dec10 = (0, _test.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractEventTest) {
58
+ var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)(), _dec5 = (0, _testUtils.test)(), _dec6 = (0, _testUtils.test)(), _dec7 = (0, _testUtils.test)(), _dec8 = (0, _testUtils.test)(), _dec9 = (0, _testUtils.test)(), _dec10 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractEventTest) {
61
59
  (0, _inherits2["default"])(CreatingAListenerTest, _AbstractEventTest);
62
60
 
63
61
  var _super = _createSuper(CreatingAListenerTest);
@@ -116,7 +114,7 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
116
114
  case 4:
117
115
  results = _context2.sent;
118
116
 
119
- _test.assert.isTruthy(results.errors);
117
+ _testUtils.assert.isTruthy(results.errors);
120
118
 
121
119
  err = results.errors[0];
122
120
 
@@ -160,7 +158,7 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
160
158
  case 4:
161
159
  results = _context3.sent;
162
160
 
163
- _test.assert.isTruthy(results.errors);
161
+ _testUtils.assert.isTruthy(results.errors);
164
162
 
165
163
  err = results.errors[0];
166
164
 
@@ -198,7 +196,7 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
198
196
  case 2:
199
197
  _yield$this$installEv = _context4.sent;
200
198
  results = _yield$this$installEv.results;
201
- match = _test2["default"].assertFileByNameInGeneratedFiles("listeners.ts", results.files);
199
+ match = _test["default"].assertFileByNameInGeneratedFiles("listeners.ts", results.files);
202
200
  _context4.next = 7;
203
201
  return this.Service('typeChecker').check(match);
204
202
 
@@ -236,9 +234,9 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
236
234
  version = _yield$this$installEv2.version;
237
235
  results = _yield$this$installEv2.results;
238
236
  cli = _yield$this$installEv2.cli;
239
- match = _test2["default"].assertFileByNameInGeneratedFiles("will-boot.".concat(version, ".listener.ts"), results.files);
237
+ match = _test["default"].assertFileByNameInGeneratedFiles("will-boot.".concat(version, ".listener.ts"), results.files);
240
238
 
241
- _test.assert.doesInclude(match, version);
239
+ _testUtils.assert.doesInclude(match, version);
242
240
 
243
241
  _context5.next = 10;
244
242
  return this.Service('typeChecker').check(match);
@@ -250,15 +248,15 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
250
248
  case 12:
251
249
  health = _context5.sent;
252
250
 
253
- _test.assert.isFalsy(health === null || health === void 0 ? void 0 : (_health$event = health.event) === null || _health$event === void 0 ? void 0 : _health$event.errors);
251
+ _testUtils.assert.isFalsy(health === null || health === void 0 ? void 0 : (_health$event = health.event) === null || _health$event === void 0 ? void 0 : _health$event.errors);
254
252
 
255
- _test.assert.isTruthy(health.skill);
253
+ _testUtils.assert.isTruthy(health.skill);
256
254
 
257
- _test.assert.isUndefined(health.skill.errors);
255
+ _testUtils.assert.isUndefined(health.skill.errors);
258
256
 
259
- _test.assert.isTruthy(health.event);
257
+ _testUtils.assert.isTruthy(health.event);
260
258
 
261
- _test.assert.doesInclude(health.event.listeners, {
259
+ _testUtils.assert.doesInclude(health.event.listeners, {
262
260
  eventName: 'will-boot',
263
261
  eventNamespace: 'skill',
264
262
  version: version
@@ -297,9 +295,9 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
297
295
  case 4:
298
296
  lastInvocation = this.ui.getLastInvocation();
299
297
 
300
- _test.assert.isEqual(lastInvocation.command, 'prompt');
298
+ _testUtils.assert.isEqual(lastInvocation.command, 'prompt');
301
299
 
302
- _test.assert.doesInclude(lastInvocation.options.label, 'namespace');
300
+ _testUtils.assert.doesInclude(lastInvocation.options.label, 'namespace');
303
301
 
304
302
  _context6.next = 9;
305
303
  return this.ui.sendInput(_spruceSkillUtils.MERCURY_API_NAMESPACE);
@@ -311,7 +309,7 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
311
309
  case 11:
312
310
  lastInvocation = this.ui.getLastInvocation();
313
311
 
314
- _test.assert.doesInclude(lastInvocation.options.label, 'event');
312
+ _testUtils.assert.doesInclude(lastInvocation.options.label, 'event');
315
313
 
316
314
  this.ui.reset();
317
315
 
@@ -349,7 +347,7 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
349
347
  return this.installAddDependencyExecuteAndWaitForInput(namespace);
350
348
 
351
349
  case 5:
352
- _test.assert.isEqualDeep(passedTarget, {
350
+ _testUtils.assert.isEqualDeep(passedTarget, {
353
351
  namespaces: [namespace, _ListenAction.CORE_EVENT_NAMESPACE]
354
352
  });
355
353
 
@@ -419,7 +417,7 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
419
417
  _yield$this$setupSkil = _context9.sent;
420
418
  contents = _yield$this$setupSkil.contents;
421
419
 
422
- _test.assert.doesInclude(contents, 'export default async (event: SpruceEvent): SpruceEventResponse');
420
+ _testUtils.assert.doesInclude(contents, 'export default async (event: SpruceEvent): SpruceEventResponse');
423
421
 
424
422
  case 5:
425
423
  case "end":
@@ -466,9 +464,9 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
466
464
  contents = _yield$this$setupSkil2.contents;
467
465
  skill2 = _yield$this$setupSkil2.skill2;
468
466
 
469
- _test.assert.doesInclude(contents, 'event: SpruceEvent<SkillEventContract, EmitPayload>');
467
+ _testUtils.assert.doesInclude(contents, 'event: SpruceEvent<SkillEventContract, EmitPayload>');
470
468
 
471
- _test.assert.doesInclude(contents, "fullyQualifiedEventName: '".concat(skill2.slug, ".my-new-event::").concat(this.expectedVersion, "'"));
469
+ _testUtils.assert.doesInclude(contents, "fullyQualifiedEventName: '".concat(skill2.slug, ".my-new-event::").concat(this.expectedVersion, "'"));
472
470
 
473
471
  case 7:
474
472
  case "end":
@@ -553,7 +551,7 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
553
551
  case 14:
554
552
  boot = _context11.sent;
555
553
 
556
- _test.assert.isFalsy(boot.errors); //give the skill time to boot
554
+ _testUtils.assert.isFalsy(boot.errors); //give the skill time to boot
557
555
 
558
556
 
559
557
  _context11.next = 18;
@@ -598,20 +596,20 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
598
596
  }
599
597
 
600
598
  case 29:
601
- _test.assert.isEqual(results.totalContracts, 1);
599
+ _testUtils.assert.isEqual(results.totalContracts, 1);
602
600
 
603
- _test.assert.isEqual(results.totalErrors, 1);
601
+ _testUtils.assert.isEqual(results.totalErrors, 1);
604
602
 
605
- _test.assert.isEqual(results.totalResponses, 1);
603
+ _testUtils.assert.isEqual(results.totalResponses, 1);
606
604
 
607
605
  (_boot$meta = boot.meta) === null || _boot$meta === void 0 ? void 0 : (_boot$meta$promise = _boot$meta.promise) === null || _boot$meta$promise === void 0 ? void 0 : _boot$meta$promise["catch"](function (err) {
608
- _test.assert.fail(err.stack);
606
+ _testUtils.assert.fail(err.stack);
609
607
  });
610
608
  _context11.next = 35;
611
609
  return (_boot$meta2 = boot.meta) === null || _boot$meta2 === void 0 ? void 0 : _boot$meta2.kill();
612
610
 
613
611
  case 35:
614
- error = _test.assert.doesThrow(function () {
612
+ error = _testUtils.assert.doesThrow(function () {
615
613
  return _spruceEventUtils.eventResponseUtil.getFirstResponseOrThrow(results);
616
614
  });
617
615
 
@@ -619,7 +617,7 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
619
617
 
620
618
  responderRef = results.responses[0].responderRef;
621
619
 
622
- _test.assert.isEqual(responderRef, "skill:".concat(currentSkill.id, ":").concat(currentSkill.slug));
620
+ _testUtils.assert.isEqual(responderRef, "skill:".concat(currentSkill.id, ":").concat(currentSkill.slug));
623
621
 
624
622
  case 39:
625
623
  case "end":
@@ -773,7 +771,7 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
773
771
  case 6:
774
772
  results = _context15.sent;
775
773
 
776
- _test.assert.isFalsy(results.errors);
774
+ _testUtils.assert.isFalsy(results.errors);
777
775
 
778
776
  return _context15.abrupt("return", {
779
777
  version: version,
@@ -837,9 +835,9 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
837
835
  case 15:
838
836
  results = _context16.sent;
839
837
 
840
- _test.assert.isFalsy(results.errors);
838
+ _testUtils.assert.isFalsy(results.errors);
841
839
 
842
- listener = _test2["default"].assertFileByNameInGeneratedFiles("my-new-event.".concat(expectedVersion, ".listener.ts"), results.files);
840
+ listener = _test["default"].assertFileByNameInGeneratedFiles("my-new-event.".concat(expectedVersion, ".listener.ts"), results.files);
843
841
  _context16.next = 20;
844
842
  return this.Service('typeChecker').check(listener);
845
843
 
@@ -1 +1 @@
1
- {"version":3,"file":"CreatingAListener.test.js","names":["CreatingAListenerTest","test","listen","Action","installEventFeature","execute","namespace","results","assert","isTruthy","errors","err","errorAssert","assertError","namespaces","eventName","parameters","installEventsAndCreateListener","match","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","version","cli","doesInclude","checkHealth","health","isFalsy","event","skill","isUndefined","listeners","eventNamespace","executeAndWaitForInput","lastInvocation","ui","getLastInvocation","isEqual","command","options","label","sendInput","MERCURY_API_NAMESPACE","waitForInput","reset","fakeGetEventContracts","target","passedTarget","installAddDependencyExecuteAndWaitForInput","isEqualDeep","CORE_EVENT_NAMESPACE","cb","eventFaker","on","contracts","coreEventContracts","setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener","isGlobal","contents","emitPayloadSchema","buildEmitTargetAndPayloadSchema","targetSchema","eventTargetSchema","payloadSchema","id","fields","booleanField","type","skill2","slug","expectedVersion","organizationId","isRequired","responsePayloadSchema","buildSchema","currentSkill","eventContract","org","connectToApi","shouldAuthAsCurrentSkill","currentClient","disconnect","local","boot","wait","skillId","apiKey","client","mixinContract","eventSignatures","emit","payload","totalContracts","totalErrors","totalResponses","meta","promise","fail","stack","kill","error","doesThrow","eventResponseUtil","getFirstResponseOrThrow","eventAssertUtil","responderRef","responses","listenerPath","MercuryClientFactory","setIsTestMode","addDependency","dependencies","add","eventSignature","seedDummySkillRegisterCurrentSkillAndInstallToOrg","skillFixture","registerEventContract","listener","diskUtil","readFile","AbstractEventTest","versionUtil","generateVersion","constValue"],"sources":["../../../../src/__tests__/behavioral/events/CreatingAListener.test.ts"],"sourcesContent":["import { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { coreEventContracts } from '@sprucelabs/mercury-core-events'\nimport { EventSignature, SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { buildSchema } from '@sprucelabs/schema'\nimport {\n\tbuildEmitTargetAndPayloadSchema,\n\teventAssertUtil,\n\teventResponseUtil,\n\teventTargetSchema,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tMERCURY_API_NAMESPACE,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { eventFaker } from '@sprucelabs/spruce-test-fixtures'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport ListenAction, {\n\tCORE_EVENT_NAMESPACE,\n} from '../../../features/event/actions/ListenAction'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingAListenerTest extends AbstractEventTest {\n\tprivate static readonly expectedVersion =\n\t\tversionUtil.generateVersion().constValue\n\tprivate static listen: ListenAction\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.listen = this.Action('event', 'listen')\n\t}\n\n\t@test()\n\tprotected static async throwsWithBadNamespace() {\n\t\tawait this.installEventFeature('events')\n\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: 'taco-bell',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tconst err = results.errors[0]\n\n\t\terrorAssert.assertError(err, 'INVALID_NAMESPACES', {\n\t\t\tnamespaces: ['taco-bell'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async throwsWithBadEventName() {\n\t\tawait this.installEventFeature('events')\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: 'heartwood',\n\t\t\teventName: 'bad-time',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tconst err = results.errors[0]\n\n\t\terrorAssert.assertError(err, 'INVALID_PARAMETERS', {\n\t\t\tparameters: ['eventName'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesMapFile() {\n\t\tconst { results } = await this.installEventsAndCreateListener()\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`listeners.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(match)\n\t}\n\n\t@test()\n\tprotected static async createsValidListener() {\n\t\tconst { version, results, cli } =\n\t\t\tawait this.installEventsAndCreateListener()\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(match, version)\n\n\t\tawait this.Service('typeChecker').check(match)\n\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isFalsy(health?.event?.errors)\n\t\tassert.isTruthy(health.skill)\n\n\t\tassert.isUndefined(health.skill.errors)\n\t\tassert.isTruthy(health.event)\n\n\t\tassert.doesInclude(health.event.listeners, {\n\t\t\teventName: 'will-boot',\n\t\t\teventNamespace: 'skill',\n\t\t\tversion,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async creatingANewListenerAsksWhichEventToListenTo() {\n\t\tawait this.installEventFeature('events')\n\t\tawait this.executeAndWaitForInput()\n\n\t\tlet lastInvocation = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(lastInvocation.command, 'prompt')\n\t\tassert.doesInclude(lastInvocation.options.label, 'namespace')\n\n\t\tawait this.ui.sendInput(MERCURY_API_NAMESPACE)\n\n\t\tawait this.waitForInput()\n\n\t\tlastInvocation = this.ui.getLastInvocation()\n\n\t\tassert.doesInclude(lastInvocation.options.label, 'event')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async loadsContractsFilteringByDependencies() {\n\t\tlet passedTarget: any\n\t\tawait this.fakeGetEventContracts((target) => {\n\t\t\tpassedTarget = target\n\t\t})\n\n\t\tconst namespace = 'waka'\n\t\tawait this.installAddDependencyExecuteAndWaitForInput(namespace)\n\n\t\tassert.isEqualDeep(passedTarget, {\n\t\t\tnamespaces: [namespace, CORE_EVENT_NAMESPACE],\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\tprivate static async fakeGetEventContracts(\n\t\tcb?: (\n\t\t\ttarget?: SpruceSchemas.Mercury.v2020_12_25.GetEventContractsTarget | null\n\t\t) => void,\n\t\tresults?: SpruceSchemas.Mercury.v2020_12_25.GetEventContractsResponsePayload['contracts']\n\t) {\n\t\tawait eventFaker.on('get-event-contracts::v2020_12_25', ({ target }) => {\n\t\t\tcb?.(target)\n\t\t\treturn {\n\t\t\t\tcontracts: results ?? [...(coreEventContracts as any)],\n\t\t\t}\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesTypedListenerWithoutPayloads() {\n\t\tconst { contents } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t}\n\t\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default async (event: SpruceEvent): SpruceEventResponse'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async generatesTypedListenerWithEmitPayload() {\n\t\tconst { contents, skill2 } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName: 'my-new-event',\n\t\t\t\t\t\ttargetSchema: eventTargetSchema,\n\t\t\t\t\t\tpayloadSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitPayload',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\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\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'event: SpruceEvent<SkillEventContract, EmitPayload>'\n\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t`fullyQualifiedEventName: '${skill2.slug}.my-new-event::${this.expectedVersion}'`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async emittingEventTriggersListenerAndCrashesWithListenerNotImplemented() {\n\t\tconst { currentSkill, skill2, eventContract, org } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName: 'my-new-event',\n\t\t\t\t\t\ttargetSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitTarget',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\torganizationId: {\n\t\t\t\t\t\t\t\t\ttype: 'id',\n\t\t\t\t\t\t\t\t\tisRequired: true,\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\tpayloadSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitPayload',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\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\tresponsePayloadSchema: buildSchema({\n\t\t\t\t\t\tid: 'myNewEventResponsePayload',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\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\n\t\tconst currentClient = await this.connectToApi({\n\t\t\tshouldAuthAsCurrentSkill: true,\n\t\t})\n\n\t\tawait currentClient.disconnect()\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tassert.isFalsy(boot.errors)\n\n\t\t//give the skill time to boot\n\t\tawait this.wait(20000)\n\n\t\tconst client = (await this.connectToApi({\n\t\t\tskillId: skill2.id,\n\t\t\tapiKey: skill2.apiKey,\n\t\t})) as any\n\n\t\tconst eventName = `${skill2.slug}.my-new-event::${this.expectedVersion}`\n\n\t\tclient.mixinContract({\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]:\n\t\t\t\t\teventContract.eventSignatures[\n\t\t\t\t\t\t`my-new-event::${this.expectedVersion}`\n\t\t\t\t\t],\n\t\t\t},\n\t\t})\n\n\t\tlet results: any\n\n\t\tdo {\n\t\t\tawait this.wait(5000)\n\n\t\t\tresults = await client.emit(eventName, {\n\t\t\t\ttarget: {\n\t\t\t\t\torganizationId: org.id,\n\t\t\t\t},\n\t\t\t\tpayload: {\n\t\t\t\t\tbooleanField: true,\n\t\t\t\t},\n\t\t\t})\n\t\t} while (results.totalContracts < 1)\n\n\t\tassert.isEqual(results.totalContracts, 1)\n\t\tassert.isEqual(results.totalErrors, 1)\n\t\tassert.isEqual(results.totalResponses, 1)\n\n\t\tboot.meta?.promise?.catch((err: Error) => {\n\t\t\tassert.fail(err.stack)\n\t\t})\n\n\t\tawait boot.meta?.kill()\n\n\t\tconst error = assert.doesThrow(() =>\n\t\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\t\t)\n\n\t\teventAssertUtil.assertError(error, 'LISTENER_NOT_IMPLEMENTED')\n\n\t\tconst responderRef = results.responses[0].responderRef\n\t\tassert.isEqual(\n\t\t\tresponderRef,\n\t\t\t`skill:${currentSkill.id}:${currentSkill.slug}`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener() {\n\t\tconst { listenerPath } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\tid: 'test',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\ttype: 'id',\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\n\t\tawait this.Service('typeChecker').check(listenerPath)\n\t}\n\n\tprivate static async installAddDependencyExecuteAndWaitForInput(\n\t\tnamespace: string\n\t) {\n\t\tawait this.installEventFeature('events')\n\t\tMercuryClientFactory.setIsTestMode(true)\n\t\tthis.addDependency(namespace)\n\t\tawait this.executeAndWaitForInput()\n\t\treturn this.ui.getLastInvocation()\n\t}\n\n\tprivate static async executeAndWaitForInput() {\n\t\tvoid this.listen.execute({})\n\t\tawait this.waitForInput()\n\t}\n\n\tprivate static addDependency(namespace: string) {\n\t\tconst dependencies = this.Service('dependency')\n\t\tdependencies.add({\n\t\t\tid: namespace,\n\t\t\tnamespace: 'waka',\n\t\t})\n\t}\n\n\tprivate static async installEventsAndCreateListener() {\n\t\tconst cli = await this.installEventFeature('events')\n\n\t\tconst version = 'v2020_01_01'\n\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: 'will-boot',\n\t\t\tversion,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\treturn { version, results, cli }\n\t}\n\n\tprivate static async setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\teventSignature: EventSignature\n\t) {\n\t\tconst expectedVersion = this.expectedVersion\n\n\t\tconst eventContract = {\n\t\t\teventSignatures: {\n\t\t\t\t[`my-new-event::${expectedVersion}`]: eventSignature,\n\t\t\t},\n\t\t} as const\n\n\t\tconst { skillFixture, skill2, currentSkill, cli, org } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tawait skillFixture.registerEventContract(skill2, eventContract)\n\n\t\tthis.Service('dependency').add({\n\t\t\tid: skill2.id,\n\t\t\tnamespace: skill2.slug,\n\t\t})\n\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: skill2.slug,\n\t\t\teventName: `my-new-event`,\n\t\t\tversion: expectedVersion,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst listener = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`my-new-event.${expectedVersion}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(listener)\n\n\t\tconst contents = diskUtil.readFile(listener)\n\n\t\treturn {\n\t\t\tcontents,\n\t\t\tskill2,\n\t\t\tlistenerPath: listener,\n\t\t\tcli,\n\t\t\teventContract,\n\t\t\torg,\n\t\t\tcurrentSkill,\n\t\t}\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CreatingAListener.test.js","names":["CreatingAListenerTest","test","listen","Action","installEventFeature","execute","namespace","results","assert","isTruthy","errors","err","errorAssert","assertError","namespaces","eventName","parameters","installEventsAndCreateListener","match","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","version","cli","doesInclude","checkHealth","health","isFalsy","event","skill","isUndefined","listeners","eventNamespace","executeAndWaitForInput","lastInvocation","ui","getLastInvocation","isEqual","command","options","label","sendInput","MERCURY_API_NAMESPACE","waitForInput","reset","fakeGetEventContracts","target","passedTarget","installAddDependencyExecuteAndWaitForInput","isEqualDeep","CORE_EVENT_NAMESPACE","cb","eventFaker","on","contracts","coreEventContracts","setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener","isGlobal","contents","emitPayloadSchema","buildEmitTargetAndPayloadSchema","targetSchema","eventTargetSchema","payloadSchema","id","fields","booleanField","type","skill2","slug","expectedVersion","organizationId","isRequired","responsePayloadSchema","buildSchema","currentSkill","eventContract","org","connectToApi","shouldAuthAsCurrentSkill","currentClient","disconnect","local","boot","wait","skillId","apiKey","client","mixinContract","eventSignatures","emit","payload","totalContracts","totalErrors","totalResponses","meta","promise","fail","stack","kill","error","doesThrow","eventResponseUtil","getFirstResponseOrThrow","eventAssertUtil","responderRef","responses","listenerPath","MercuryClientFactory","setIsTestMode","addDependency","dependencies","add","eventSignature","seedDummySkillRegisterCurrentSkillAndInstallToOrg","skillFixture","registerEventContract","listener","diskUtil","readFile","AbstractEventTest","versionUtil","generateVersion","constValue"],"sources":["../../../../src/__tests__/behavioral/events/CreatingAListener.test.ts"],"sourcesContent":["import { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { coreEventContracts } from '@sprucelabs/mercury-core-events'\nimport { EventSignature, SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { buildSchema } from '@sprucelabs/schema'\nimport {\n\tbuildEmitTargetAndPayloadSchema,\n\teventAssertUtil,\n\teventResponseUtil,\n\teventTargetSchema,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tMERCURY_API_NAMESPACE,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { eventFaker } from '@sprucelabs/spruce-test-fixtures'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport ListenAction, {\n\tCORE_EVENT_NAMESPACE,\n} from '../../../features/event/actions/ListenAction'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingAListenerTest extends AbstractEventTest {\n\tprivate static readonly expectedVersion =\n\t\tversionUtil.generateVersion().constValue\n\tprivate static listen: ListenAction\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.listen = this.Action('event', 'listen')\n\t}\n\n\t@test()\n\tprotected static async throwsWithBadNamespace() {\n\t\tawait this.installEventFeature('events')\n\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: 'taco-bell',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tconst err = results.errors[0]\n\n\t\terrorAssert.assertError(err, 'INVALID_NAMESPACES', {\n\t\t\tnamespaces: ['taco-bell'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async throwsWithBadEventName() {\n\t\tawait this.installEventFeature('events')\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: 'heartwood',\n\t\t\teventName: 'bad-time',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tconst err = results.errors[0]\n\n\t\terrorAssert.assertError(err, 'INVALID_PARAMETERS', {\n\t\t\tparameters: ['eventName'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesMapFile() {\n\t\tconst { results } = await this.installEventsAndCreateListener()\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`listeners.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(match)\n\t}\n\n\t@test()\n\tprotected static async createsValidListener() {\n\t\tconst { version, results, cli } =\n\t\t\tawait this.installEventsAndCreateListener()\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(match, version)\n\n\t\tawait this.Service('typeChecker').check(match)\n\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isFalsy(health?.event?.errors)\n\t\tassert.isTruthy(health.skill)\n\n\t\tassert.isUndefined(health.skill.errors)\n\t\tassert.isTruthy(health.event)\n\n\t\tassert.doesInclude(health.event.listeners, {\n\t\t\teventName: 'will-boot',\n\t\t\teventNamespace: 'skill',\n\t\t\tversion,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async creatingANewListenerAsksWhichEventToListenTo() {\n\t\tawait this.installEventFeature('events')\n\t\tawait this.executeAndWaitForInput()\n\n\t\tlet lastInvocation = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(lastInvocation.command, 'prompt')\n\t\tassert.doesInclude(lastInvocation.options.label, 'namespace')\n\n\t\tawait this.ui.sendInput(MERCURY_API_NAMESPACE)\n\n\t\tawait this.waitForInput()\n\n\t\tlastInvocation = this.ui.getLastInvocation()\n\n\t\tassert.doesInclude(lastInvocation.options.label, 'event')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async loadsContractsFilteringByDependencies() {\n\t\tlet passedTarget: any\n\t\tawait this.fakeGetEventContracts((target) => {\n\t\t\tpassedTarget = target\n\t\t})\n\n\t\tconst namespace = 'waka'\n\t\tawait this.installAddDependencyExecuteAndWaitForInput(namespace)\n\n\t\tassert.isEqualDeep(passedTarget, {\n\t\t\tnamespaces: [namespace, CORE_EVENT_NAMESPACE],\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\tprivate static async fakeGetEventContracts(\n\t\tcb?: (\n\t\t\ttarget?: SpruceSchemas.Mercury.v2020_12_25.GetEventContractsTarget | null\n\t\t) => void,\n\t\tresults?: SpruceSchemas.Mercury.v2020_12_25.GetEventContractsResponsePayload['contracts']\n\t) {\n\t\tawait eventFaker.on('get-event-contracts::v2020_12_25', ({ target }) => {\n\t\t\tcb?.(target)\n\t\t\treturn {\n\t\t\t\tcontracts: results ?? [...(coreEventContracts as any)],\n\t\t\t}\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesTypedListenerWithoutPayloads() {\n\t\tconst { contents } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t}\n\t\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default async (event: SpruceEvent): SpruceEventResponse'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async generatesTypedListenerWithEmitPayload() {\n\t\tconst { contents, skill2 } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName: 'my-new-event',\n\t\t\t\t\t\ttargetSchema: eventTargetSchema,\n\t\t\t\t\t\tpayloadSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitPayload',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\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\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'event: SpruceEvent<SkillEventContract, EmitPayload>'\n\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t`fullyQualifiedEventName: '${skill2.slug}.my-new-event::${this.expectedVersion}'`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async emittingEventTriggersListenerAndCrashesWithListenerNotImplemented() {\n\t\tconst { currentSkill, skill2, eventContract, org } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName: 'my-new-event',\n\t\t\t\t\t\ttargetSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitTarget',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\torganizationId: {\n\t\t\t\t\t\t\t\t\ttype: 'id',\n\t\t\t\t\t\t\t\t\tisRequired: true,\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\tpayloadSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitPayload',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\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\tresponsePayloadSchema: buildSchema({\n\t\t\t\t\t\tid: 'myNewEventResponsePayload',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\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\n\t\tconst currentClient = await this.connectToApi({\n\t\t\tshouldAuthAsCurrentSkill: true,\n\t\t})\n\n\t\tawait currentClient.disconnect()\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tassert.isFalsy(boot.errors)\n\n\t\t//give the skill time to boot\n\t\tawait this.wait(20000)\n\n\t\tconst client = (await this.connectToApi({\n\t\t\tskillId: skill2.id,\n\t\t\tapiKey: skill2.apiKey,\n\t\t})) as any\n\n\t\tconst eventName = `${skill2.slug}.my-new-event::${this.expectedVersion}`\n\n\t\tclient.mixinContract({\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]:\n\t\t\t\t\teventContract.eventSignatures[\n\t\t\t\t\t\t`my-new-event::${this.expectedVersion}`\n\t\t\t\t\t],\n\t\t\t},\n\t\t})\n\n\t\tlet results: any\n\n\t\tdo {\n\t\t\tawait this.wait(5000)\n\n\t\t\tresults = await client.emit(eventName, {\n\t\t\t\ttarget: {\n\t\t\t\t\torganizationId: org.id,\n\t\t\t\t},\n\t\t\t\tpayload: {\n\t\t\t\t\tbooleanField: true,\n\t\t\t\t},\n\t\t\t})\n\t\t} while (results.totalContracts < 1)\n\n\t\tassert.isEqual(results.totalContracts, 1)\n\t\tassert.isEqual(results.totalErrors, 1)\n\t\tassert.isEqual(results.totalResponses, 1)\n\n\t\tboot.meta?.promise?.catch((err: Error) => {\n\t\t\tassert.fail(err.stack)\n\t\t})\n\n\t\tawait boot.meta?.kill()\n\n\t\tconst error = assert.doesThrow(() =>\n\t\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\t\t)\n\n\t\teventAssertUtil.assertError(error, 'LISTENER_NOT_IMPLEMENTED')\n\n\t\tconst responderRef = results.responses[0].responderRef\n\t\tassert.isEqual(\n\t\t\tresponderRef,\n\t\t\t`skill:${currentSkill.id}:${currentSkill.slug}`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener() {\n\t\tconst { listenerPath } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\tid: 'test',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\ttype: 'id',\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\n\t\tawait this.Service('typeChecker').check(listenerPath)\n\t}\n\n\tprivate static async installAddDependencyExecuteAndWaitForInput(\n\t\tnamespace: string\n\t) {\n\t\tawait this.installEventFeature('events')\n\t\tMercuryClientFactory.setIsTestMode(true)\n\t\tthis.addDependency(namespace)\n\t\tawait this.executeAndWaitForInput()\n\t\treturn this.ui.getLastInvocation()\n\t}\n\n\tprivate static async executeAndWaitForInput() {\n\t\tvoid this.listen.execute({})\n\t\tawait this.waitForInput()\n\t}\n\n\tprivate static addDependency(namespace: string) {\n\t\tconst dependencies = this.Service('dependency')\n\t\tdependencies.add({\n\t\t\tid: namespace,\n\t\t\tnamespace: 'waka',\n\t\t})\n\t}\n\n\tprivate static async installEventsAndCreateListener() {\n\t\tconst cli = await this.installEventFeature('events')\n\n\t\tconst version = 'v2020_01_01'\n\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: 'will-boot',\n\t\t\tversion,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\treturn { version, results, cli }\n\t}\n\n\tprivate static async setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\teventSignature: EventSignature\n\t) {\n\t\tconst expectedVersion = this.expectedVersion\n\n\t\tconst eventContract = {\n\t\t\teventSignatures: {\n\t\t\t\t[`my-new-event::${expectedVersion}`]: eventSignature,\n\t\t\t},\n\t\t} as const\n\n\t\tconst { skillFixture, skill2, currentSkill, cli, org } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tawait skillFixture.registerEventContract(skill2, eventContract)\n\n\t\tthis.Service('dependency').add({\n\t\t\tid: skill2.id,\n\t\t\tnamespace: skill2.slug,\n\t\t})\n\n\t\tconst results = await this.listen.execute({\n\t\t\tnamespace: skill2.slug,\n\t\t\teventName: `my-new-event`,\n\t\t\tversion: expectedVersion,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst listener = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`my-new-event.${expectedVersion}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(listener)\n\n\t\tconst contents = diskUtil.readFile(listener)\n\n\t\treturn {\n\t\t\tcontents,\n\t\t\tskill2,\n\t\t\tlistenerPath: listener,\n\t\t\tcli,\n\t\t\teventContract,\n\t\t\torg,\n\t\t\tcurrentSkill,\n\t\t}\n\t}\n}\n"],"mappings":"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"}
@@ -29,15 +29,13 @@ var _spruceEventUtils = require("@sprucelabs/spruce-event-utils");
29
29
 
30
30
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
31
31
 
32
- var _test = require("@sprucelabs/test");
33
-
34
32
  var _testUtils = require("@sprucelabs/test-utils");
35
33
 
36
34
  var _AbstractEventTest2 = _interopRequireDefault(require("../../../tests/AbstractEventTest"));
37
35
 
38
36
  var _constants = require("../../../tests/constants");
39
37
 
40
- var _test2 = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
38
+ var _test = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
41
39
 
42
40
  var _uiAssert = _interopRequireDefault(require("../../../tests/utilities/uiAssert.utility"));
43
41
 
@@ -56,7 +54,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
56
54
  var EVENT_NAME_READABLE = 'my fantastically amazing event';
57
55
  var EVENT_NAME = 'my-fantastically-amazing-event';
58
56
  var EVENT_CAMEL = 'myFantasticallyAmazingEvent';
59
- var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), _dec7 = (0, _test.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractEventTest) {
57
+ var CreatingAnEventTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)(), _dec5 = (0, _testUtils.test)(), _dec6 = (0, _testUtils.test)(), _dec7 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractEventTest) {
60
58
  (0, _inherits2["default"])(CreatingAnEventTest, _AbstractEventTest);
61
59
 
62
60
  var _super = _createSuper(CreatingAnEventTest);
@@ -74,7 +72,7 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
74
72
  while (1) {
75
73
  switch (_context.prev = _context.next) {
76
74
  case 0:
77
- _test.assert.isFunction(this.Action('event', 'create').execute);
75
+ _testUtils.assert.isFunction(this.Action('event', 'create').execute);
78
76
 
79
77
  case 1:
80
78
  case "end":
@@ -114,7 +112,7 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
114
112
  case 4:
115
113
  results = _context2.sent;
116
114
 
117
- _test.assert.isArray(results.errors);
115
+ _testUtils.assert.isArray(results.errors);
118
116
 
119
117
  _testUtils.errorAssert.assertError(results.errors[0], 'SKILL_NOT_REGISTERED');
120
118
 
@@ -160,7 +158,7 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
160
158
  }
161
159
 
162
160
  name = _filesThatShouldExist[_i];
163
- match = _test2["default"].assertFileByPathInGeneratedFiles(name, results.files);
161
+ match = _test["default"].assertFileByPathInGeneratedFiles(name, results.files);
164
162
  _context3.next = 13;
165
163
  return checker.check(match);
166
164
 
@@ -202,7 +200,7 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
202
200
  cli = _yield$this$createEve2.cli;
203
201
  skill = _yield$this$createEve2.skill;
204
202
 
205
- _test.assert.isFalsy(results.errors);
203
+ _testUtils.assert.isFalsy(results.errors);
206
204
 
207
205
  _context4.next = 9;
208
206
  return this.copyEventBuildersAndPermissions(EVENT_NAME);
@@ -214,7 +212,7 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
214
212
  case 11:
215
213
  syncResults = _context4.sent;
216
214
 
217
- _test.assert.isFalsy(syncResults.errors);
215
+ _testUtils.assert.isFalsy(syncResults.errors);
218
216
 
219
217
  mixedResults = _action["default"].mergeActionResults(results, syncResults);
220
218
  _context4.next = 16;
@@ -269,7 +267,7 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
269
267
  _yield$this$createEve3 = _context5.sent;
270
268
  results = _yield$this$createEve3.results;
271
269
 
272
- _test.assert.isFalsy(results.errors);
270
+ _testUtils.assert.isFalsy(results.errors);
273
271
 
274
272
  _ref = (_results$meta = results.meta) !== null && _results$meta !== void 0 ? _results$meta : {}, fqen = _ref.fqen;
275
273
  testFileContents = _spruceSkillUtils.diskUtil.readFile(this.resolveTestPath('client-test.ts.hbs')).replace('{{fqen}}', fqen);
@@ -314,7 +312,7 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
314
312
  return this.Service('pkg').install('@sprucelabs/heartwood-view-controllers');
315
313
 
316
314
  case 6:
317
- emitPayloadFile = _test2["default"].assertFileByNameInGeneratedFiles('emitPayload.builder.ts', results.files);
315
+ emitPayloadFile = _test["default"].assertFileByNameInGeneratedFiles('emitPayload.builder.ts', results.files);
318
316
  newContents = "import { formBuilderImportExportObjectSchema } from '@sprucelabs/heartwood-view-controllers'\nimport { buildSchema } from '@sprucelabs/schema'\n\nconst createFormEmitPayloadBuilder = buildSchema({\n\tid: 'myFantasticallyAmazingEventEmitPayload',\n\tfields: {\n\t\t...formBuilderImportExportObjectSchema.fields,\n\t},\n})\n\nexport default createFormEmitPayloadBuilder\n\t\t";
319
317
 
320
318
  _spruceSkillUtils.diskUtil.writeFile(emitPayloadFile, newContents);
@@ -325,7 +323,7 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
325
323
  case 11:
326
324
  syncResults = _context6.sent;
327
325
 
328
- _test.assert.isFalsy(syncResults.errors);
326
+ _testUtils.assert.isFalsy(syncResults.errors);
329
327
 
330
328
  case 13:
331
329
  case "end":
@@ -470,14 +468,14 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
470
468
  while (1) {
471
469
  switch (_context10.prev = _context10.next) {
472
470
  case 0:
473
- optionsFile = _test2["default"].assertFileByNameInGeneratedFiles('event.options.ts', results.files);
471
+ optionsFile = _test["default"].assertFileByNameInGeneratedFiles('event.options.ts', results.files);
474
472
  _context10.next = 3;
475
473
  return this.Service('import').importDefault(optionsFile);
476
474
 
477
475
  case 3:
478
476
  imported = _context10.sent;
479
477
 
480
- _test.assert.isEqualDeep(imported, {
478
+ _testUtils.assert.isEqualDeep(imported, {
481
479
  isGlobal: false
482
480
  });
483
481
 
@@ -506,18 +504,18 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
506
504
  while (1) {
507
505
  switch (_context11.prev = _context11.next) {
508
506
  case 0:
509
- match = _test2["default"].assertFileByPathInGeneratedFiles(new RegExp("".concat(_spruceSkillUtils.namesUtil.toCamel(skill.slug), ".*?").concat(this.expectedVersion, ".*?myFantasticallyAmazingEventEmitTargetAndPayload"), 'gis'), results.files);
507
+ match = _test["default"].assertFileByPathInGeneratedFiles(new RegExp("".concat(_spruceSkillUtils.namesUtil.toCamel(skill.slug), ".*?").concat(this.expectedVersion, ".*?myFantasticallyAmazingEventEmitTargetAndPayload"), 'gis'), results.files);
510
508
  _context11.next = 3;
511
509
  return this.Service('schema').importSchema(match);
512
510
 
513
511
  case 3:
514
512
  schema = _context11.sent;
515
513
 
516
- _test.assert.isEqual(schema.id, 'myFantasticallyAmazingEventEmitTargetAndPayload');
514
+ _testUtils.assert.isEqual(schema.id, 'myFantasticallyAmazingEventEmitTargetAndPayload');
517
515
 
518
- _test.assert.isTruthy((_schema$fields = schema.fields) === null || _schema$fields === void 0 ? void 0 : _schema$fields.payload);
516
+ _testUtils.assert.isTruthy((_schema$fields = schema.fields) === null || _schema$fields === void 0 ? void 0 : _schema$fields.payload);
519
517
 
520
- _test.assert.isTruthy((_schema$fields2 = schema.fields) === null || _schema$fields2 === void 0 ? void 0 : _schema$fields2.target);
518
+ _testUtils.assert.isTruthy((_schema$fields2 = schema.fields) === null || _schema$fields2 === void 0 ? void 0 : _schema$fields2.target);
521
519
 
522
520
  case 7:
523
521
  case "end":
@@ -552,12 +550,12 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
552
550
  for (_i2 = 0, _builders = builders; _i2 < _builders.length; _i2++) {
553
551
  builder = _builders[_i2];
554
552
  filename = builder.filename;
555
- match = _test2["default"].assertFileByNameInGeneratedFiles(filename, results.files);
553
+ match = _test["default"].assertFileByNameInGeneratedFiles(filename, results.files);
556
554
  path = _spruceSkillUtils.versionUtil.resolvePath(this.cwd, 'src/events/', EVENT_NAME, '{{@latest}}', filename);
557
555
 
558
- _test.assert.isEqual(match, path);
556
+ _testUtils.assert.isEqual(match, path);
559
557
 
560
- _test.assert.isTrue(_spruceSkillUtils.diskUtil.doesFileExist(path));
558
+ _testUtils.assert.isTrue(_spruceSkillUtils.diskUtil.doesFileExist(path));
561
559
  }
562
560
 
563
561
  case 2:
@@ -589,20 +587,20 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
589
587
  case 2:
590
588
  health = _context13.sent;
591
589
 
592
- _test.assert.isTruthy(health.event);
590
+ _testUtils.assert.isTruthy(health.event);
593
591
 
594
- _test.assert.isLength(health.event.events, 1);
592
+ _testUtils.assert.isLength(health.event.events, 1);
595
593
 
596
594
  eventName = EVENT_NAME;
597
595
  eventNamespace = _spruceSkillUtils.namesUtil.toKebab(skill.slug);
598
596
 
599
- _test.assert.doesInclude(health.event.events, {
597
+ _testUtils.assert.doesInclude(health.event.events, {
600
598
  eventName: eventName,
601
599
  eventNamespace: eventNamespace,
602
600
  version: this.expectedVersion
603
601
  });
604
602
 
605
- _test.assert.doesInclude(health.event.contracts, {
603
+ _testUtils.assert.doesInclude(health.event.contracts, {
606
604
  fullyQualifiedEventName: _spruceEventUtils.eventNameUtil.join({
607
605
  eventName: eventName,
608
606
  eventNamespace: eventNamespace,
@@ -654,9 +652,9 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
654
652
  }
655
653
 
656
654
  payload = _payloadSchemas[_i3];
657
- match = _test2["default"].assertFileByNameInGeneratedFiles(payload.fileName, results.files);
655
+ match = _test["default"].assertFileByNameInGeneratedFiles(payload.fileName, results.files);
658
656
 
659
- _test.assert.isEqual(match, _spruceEventUtils.eventDiskUtil.resolveEventPath(this.cwd + '/src/events', {
657
+ _testUtils.assert.isEqual(match, _spruceEventUtils.eventDiskUtil.resolveEventPath(this.cwd + '/src/events', {
660
658
  fileName: payload.fileName,
661
659
  eventName: EVENT_NAME,
662
660
  version: this.expectedVersion
@@ -668,7 +666,7 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
668
666
  case 9:
669
667
  imported = _context14.sent;
670
668
 
671
- _test.assert.isEqual(imported.id, payload.expectedId);
669
+ _testUtils.assert.isEqual(imported.id, payload.expectedId);
672
670
 
673
671
  case 11:
674
672
  _i3++;
@@ -1 +1 @@
1
- {"version":3,"file":"CreatingAnEvent.test.js","names":["EVENT_NAME_READABLE","EVENT_NAME","EVENT_CAMEL","CreatingAnEventTest","test","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","nameReadable","nameKebab","nameCamel","version","expectedVersion","results","isArray","errors","errorAssert","assertError","createEvent","skill","filesThatShouldExist","RegExp","namesUtil","toCamel","slug","checker","Service","name","match","testUtil","assertFileByPathInGeneratedFiles","files","check","cli","isFalsy","copyEventBuildersAndPermissions","syncResults","mixedResults","actionUtil","mergeActionResults","assertExpectedTargetAndPayload","assertExpectedPayloadSchemas","assertReturnsEventFromHealthCheck","createsExpectedPermissionContract","assertCreatesOptionsFile","meta","fqen","testFileContents","diskUtil","readFile","resolveTestPath","replace","testFile","resolvePath","writeFile","install","emitPayloadFile","assertFileByNameInGeneratedFiles","newContents","versionUtil","generateVersion","constValue","uiAssert","assertRendersSelect","ui","reset","options","registerCurrentSkill","getSkillFixture","phone","DEMO_NUMBER_CREATING_AN_EVENT","optionsFile","importDefault","imported","isEqualDeep","isGlobal","importSchema","schema","isEqual","id","isTruthy","fields","payload","target","builders","filename","builder","path","cwd","isTrue","doesFileExist","checkHealth","health","event","isLength","events","eventName","eventNamespace","toKebab","doesInclude","contracts","fullyQualifiedEventName","eventNameUtil","join","payloadSchemas","fileName","expectedId","schemas","eventDiskUtil","resolveEventPath","AbstractEventTest"],"sources":["../../../../src/__tests__/behavioral/events/CreatingAnEvent.test.ts"],"sourcesContent":["import { eventDiskUtil, eventNameUtil } from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { CliInterface } from '../../../cli'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport { DEMO_NUMBER_CREATING_AN_EVENT } from '../../../tests/constants'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport uiAssert from '../../../tests/utilities/uiAssert.utility'\nimport { RegisteredSkill } from '../../../types/cli.types'\nimport actionUtil from '../../../utilities/action.utility'\n\nconst EVENT_NAME_READABLE = 'my fantastically amazing event'\nconst EVENT_NAME = 'my-fantastically-amazing-event'\nconst EVENT_CAMEL = 'myFantasticallyAmazingEvent'\n\nexport default class CreatingAnEventTest extends AbstractEventTest {\n\tprivate static readonly expectedVersion =\n\t\tversionUtil.generateVersion().constValue\n\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tassert.isFunction(this.Action('event', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async cantCreateEventWithoutBeingRegistered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('event', 'create').execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t\tversion: this.expectedVersion,\n\t\t})\n\n\t\tassert.isArray(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'SKILL_NOT_REGISTERED')\n\t}\n\n\t@test()\n\tprotected static async createsPayloadBuildersAndSchemas() {\n\t\tconst { results, skill } = await this.createEvent()\n\n\t\tconst filesThatShouldExist = [\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventResponsePayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventEmitTargetAndPayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventEmitPayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\t'emitPayload.builder.ts',\n\t\t\t'emitTarget.builder.ts',\n\t\t]\n\n\t\tconst checker = this.Service('typeChecker')\n\n\t\tfor (const name of filesThatShouldExist) {\n\t\t\tconst match = testUtil.assertFileByPathInGeneratedFiles(\n\t\t\t\tname,\n\t\t\t\tresults.files\n\t\t\t)\n\t\t\tawait checker.check(match)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async createsEventWithPayloadsPermissionsAndOptions() {\n\t\tconst { results, cli, skill } = await this.createEvent()\n\t\tassert.isFalsy(results.errors)\n\n\t\tawait this.copyEventBuildersAndPermissions(EVENT_NAME)\n\n\t\tconst syncResults = await this.Action('event', 'sync').execute({})\n\t\tassert.isFalsy(syncResults.errors)\n\n\t\tconst mixedResults = actionUtil.mergeActionResults(results, syncResults)\n\n\t\tawait this.assertExpectedTargetAndPayload(mixedResults, skill)\n\t\tawait this.assertExpectedPayloadSchemas(mixedResults)\n\t\tawait this.assertReturnsEventFromHealthCheck(cli, skill)\n\t\tawait this.createsExpectedPermissionContract(mixedResults)\n\t\tawait this.assertCreatesOptionsFile(mixedResults)\n\t}\n\n\t@test()\n\tprotected static async createdEventsAreTypedCorrectly() {\n\t\tconst { results } = await this.createEvent()\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst { fqen } = results.meta ?? {}\n\n\t\tconst testFileContents = diskUtil\n\t\t\t.readFile(this.resolveTestPath('client-test.ts.hbs'))\n\t\t\t.replace('{{fqen}}', fqen)\n\n\t\tconst testFile = this.resolvePath('src', 'test-client.ts')\n\t\tdiskUtil.writeFile(testFile, testFileContents)\n\n\t\tawait this.Service('typeChecker').check(testFile)\n\t}\n\n\t@test()\n\tprotected static async canReferenceSchemaFromOtherModule() {\n\t\tconst { results } = await this.createEvent()\n\t\tawait this.Service('pkg').install('@sprucelabs/heartwood-view-controllers')\n\n\t\tconst emitPayloadFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'emitPayload.builder.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst newContents = `import { formBuilderImportExportObjectSchema } from '@sprucelabs/heartwood-view-controllers'\nimport { buildSchema } from '@sprucelabs/schema'\n\nconst createFormEmitPayloadBuilder = buildSchema({\n\tid: 'myFantasticallyAmazingEventEmitPayload',\n\tfields: {\n\t\t...formBuilderImportExportObjectSchema.fields,\n\t},\n})\n\nexport default createFormEmitPayloadBuilder\n\t\t`\n\n\t\tdiskUtil.writeFile(emitPayloadFile, newContents)\n\n\t\tconst syncResults = await this.Action('event', 'sync').execute({})\n\n\t\tassert.isFalsy(syncResults.errors)\n\t}\n\n\t@test()\n\tprotected static async asksForVersionIfPreviousVersionExistsOnDifferentDay() {\n\t\tawait this.createEvent({\n\t\t\tversion: versionUtil.generateVersion('2020_01_10').constValue,\n\t\t})\n\n\t\tvoid this.Action('event', 'create').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 uiAssert.assertRendersSelect(this.ui)\n\n\t\tthis.ui.reset()\n\t}\n\n\tprivate static async createEvent(options?: { version?: string }) {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.registerCurrentSkill()\n\n\t\tconst results = await this.Action('event', 'create').execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t\tversion: this.expectedVersion,\n\t\t\t...options,\n\t\t})\n\n\t\treturn { results, cli, skill }\n\t}\n\n\tprivate static async registerCurrentSkill() {\n\t\treturn await this.getSkillFixture().registerCurrentSkill(\n\t\t\t{\n\t\t\t\tname: 'my new skill',\n\t\t\t},\n\t\t\t{\n\t\t\t\tphone: DEMO_NUMBER_CREATING_AN_EVENT,\n\t\t\t}\n\t\t)\n\t}\n\n\tprivate static async assertCreatesOptionsFile(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tconst optionsFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'event.options.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst imported = await this.Service('import').importDefault(optionsFile)\n\n\t\tassert.isEqualDeep(imported, { isGlobal: false })\n\t}\n\n\tprivate static async assertExpectedTargetAndPayload(\n\t\tresults: FeatureActionResponse,\n\t\tskill: RegisteredSkill\n\t) {\n\t\tconst match = testUtil.assertFileByPathInGeneratedFiles(\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventEmitTargetAndPayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\tresults.files\n\t\t)\n\n\t\tconst schema = await this.Service('schema').importSchema(match)\n\n\t\tassert.isEqual(schema.id, 'myFantasticallyAmazingEventEmitTargetAndPayload')\n\t\tassert.isTruthy(schema.fields?.payload)\n\t\tassert.isTruthy(schema.fields?.target)\n\t}\n\n\tprotected static async createsExpectedPermissionContract(results: any) {\n\t\tconst builders = [\n\t\t\t{ filename: 'emitPermissions.builder.ts' },\n\t\t\t{ filename: 'listenPermissions.builder.ts' },\n\t\t]\n\n\t\tfor (const builder of builders) {\n\t\t\tconst { filename } = builder\n\n\t\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\tfilename,\n\t\t\t\tresults.files\n\t\t\t)\n\n\t\t\tconst path = versionUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\t'src/events/',\n\t\t\t\tEVENT_NAME,\n\t\t\t\t'{{@latest}}',\n\t\t\t\tfilename\n\t\t\t)\n\n\t\t\tassert.isEqual(match, path)\n\t\t\tassert.isTrue(diskUtil.doesFileExist(path))\n\t\t}\n\t}\n\n\tprivate static async assertReturnsEventFromHealthCheck(\n\t\tcli: CliInterface,\n\t\tskill: RegisteredSkill\n\t) {\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isTruthy(health.event)\n\t\tassert.isLength(health.event.events, 1)\n\n\t\tconst eventName = EVENT_NAME\n\t\tconst eventNamespace = namesUtil.toKebab(skill.slug)\n\n\t\tassert.doesInclude(health.event.events, {\n\t\t\teventName,\n\t\t\teventNamespace,\n\t\t\tversion: this.expectedVersion,\n\t\t})\n\n\t\tassert.doesInclude(health.event.contracts, {\n\t\t\tfullyQualifiedEventName: eventNameUtil.join({\n\t\t\t\teventName,\n\t\t\t\teventNamespace,\n\t\t\t\tversion: this.expectedVersion,\n\t\t\t}),\n\t\t})\n\t}\n\n\tprivate static async assertExpectedPayloadSchemas(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tconst payloadSchemas = [\n\t\t\t{\n\t\t\t\tfileName: 'emitPayload.builder.ts',\n\t\t\t\texpectedId: 'myFantasticallyAmazingEventEmitPayload',\n\t\t\t},\n\t\t\t{\n\t\t\t\tfileName: 'emitTarget.builder.ts',\n\t\t\t\texpectedId: 'myFantasticallyAmazingEventEmitTarget',\n\t\t\t},\n\t\t\t{\n\t\t\t\tfileName: 'responsePayload.builder.ts',\n\t\t\t\texpectedId: 'myFantasticallyAmazingEventResponsePayload',\n\t\t\t},\n\t\t]\n\n\t\tconst schemas = this.Service('schema')\n\n\t\tfor (const payload of payloadSchemas) {\n\t\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\tpayload.fileName,\n\t\t\t\tresults.files\n\t\t\t)\n\n\t\t\tassert.isEqual(\n\t\t\t\tmatch,\n\t\t\t\teventDiskUtil.resolveEventPath(this.cwd + '/src/events', {\n\t\t\t\t\tfileName: payload.fileName as any,\n\t\t\t\t\teventName: EVENT_NAME,\n\t\t\t\t\tversion: this.expectedVersion,\n\t\t\t\t})\n\t\t\t)\n\n\t\t\tconst imported = await schemas.importSchema(match)\n\t\t\tassert.isEqual(imported.id, payload.expectedId)\n\t\t}\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CreatingAnEvent.test.js","names":["EVENT_NAME_READABLE","EVENT_NAME","EVENT_CAMEL","CreatingAnEventTest","test","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","nameReadable","nameKebab","nameCamel","version","expectedVersion","results","isArray","errors","errorAssert","assertError","createEvent","skill","filesThatShouldExist","RegExp","namesUtil","toCamel","slug","checker","Service","name","match","testUtil","assertFileByPathInGeneratedFiles","files","check","cli","isFalsy","copyEventBuildersAndPermissions","syncResults","mixedResults","actionUtil","mergeActionResults","assertExpectedTargetAndPayload","assertExpectedPayloadSchemas","assertReturnsEventFromHealthCheck","createsExpectedPermissionContract","assertCreatesOptionsFile","meta","fqen","testFileContents","diskUtil","readFile","resolveTestPath","replace","testFile","resolvePath","writeFile","install","emitPayloadFile","assertFileByNameInGeneratedFiles","newContents","versionUtil","generateVersion","constValue","uiAssert","assertRendersSelect","ui","reset","options","registerCurrentSkill","getSkillFixture","phone","DEMO_NUMBER_CREATING_AN_EVENT","optionsFile","importDefault","imported","isEqualDeep","isGlobal","importSchema","schema","isEqual","id","isTruthy","fields","payload","target","builders","filename","builder","path","cwd","isTrue","doesFileExist","checkHealth","health","event","isLength","events","eventName","eventNamespace","toKebab","doesInclude","contracts","fullyQualifiedEventName","eventNameUtil","join","payloadSchemas","fileName","expectedId","schemas","eventDiskUtil","resolveEventPath","AbstractEventTest"],"sources":["../../../../src/__tests__/behavioral/events/CreatingAnEvent.test.ts"],"sourcesContent":["import { eventDiskUtil, eventNameUtil } from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { CliInterface } from '../../../cli'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport { DEMO_NUMBER_CREATING_AN_EVENT } from '../../../tests/constants'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport uiAssert from '../../../tests/utilities/uiAssert.utility'\nimport { RegisteredSkill } from '../../../types/cli.types'\nimport actionUtil from '../../../utilities/action.utility'\n\nconst EVENT_NAME_READABLE = 'my fantastically amazing event'\nconst EVENT_NAME = 'my-fantastically-amazing-event'\nconst EVENT_CAMEL = 'myFantasticallyAmazingEvent'\n\nexport default class CreatingAnEventTest extends AbstractEventTest {\n\tprivate static readonly expectedVersion =\n\t\tversionUtil.generateVersion().constValue\n\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tassert.isFunction(this.Action('event', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async cantCreateEventWithoutBeingRegistered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('event', 'create').execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t\tversion: this.expectedVersion,\n\t\t})\n\n\t\tassert.isArray(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'SKILL_NOT_REGISTERED')\n\t}\n\n\t@test()\n\tprotected static async createsPayloadBuildersAndSchemas() {\n\t\tconst { results, skill } = await this.createEvent()\n\n\t\tconst filesThatShouldExist = [\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventResponsePayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventEmitTargetAndPayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventEmitPayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\t'emitPayload.builder.ts',\n\t\t\t'emitTarget.builder.ts',\n\t\t]\n\n\t\tconst checker = this.Service('typeChecker')\n\n\t\tfor (const name of filesThatShouldExist) {\n\t\t\tconst match = testUtil.assertFileByPathInGeneratedFiles(\n\t\t\t\tname,\n\t\t\t\tresults.files\n\t\t\t)\n\t\t\tawait checker.check(match)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async createsEventWithPayloadsPermissionsAndOptions() {\n\t\tconst { results, cli, skill } = await this.createEvent()\n\t\tassert.isFalsy(results.errors)\n\n\t\tawait this.copyEventBuildersAndPermissions(EVENT_NAME)\n\n\t\tconst syncResults = await this.Action('event', 'sync').execute({})\n\t\tassert.isFalsy(syncResults.errors)\n\n\t\tconst mixedResults = actionUtil.mergeActionResults(results, syncResults)\n\n\t\tawait this.assertExpectedTargetAndPayload(mixedResults, skill)\n\t\tawait this.assertExpectedPayloadSchemas(mixedResults)\n\t\tawait this.assertReturnsEventFromHealthCheck(cli, skill)\n\t\tawait this.createsExpectedPermissionContract(mixedResults)\n\t\tawait this.assertCreatesOptionsFile(mixedResults)\n\t}\n\n\t@test()\n\tprotected static async createdEventsAreTypedCorrectly() {\n\t\tconst { results } = await this.createEvent()\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst { fqen } = results.meta ?? {}\n\n\t\tconst testFileContents = diskUtil\n\t\t\t.readFile(this.resolveTestPath('client-test.ts.hbs'))\n\t\t\t.replace('{{fqen}}', fqen)\n\n\t\tconst testFile = this.resolvePath('src', 'test-client.ts')\n\t\tdiskUtil.writeFile(testFile, testFileContents)\n\n\t\tawait this.Service('typeChecker').check(testFile)\n\t}\n\n\t@test()\n\tprotected static async canReferenceSchemaFromOtherModule() {\n\t\tconst { results } = await this.createEvent()\n\t\tawait this.Service('pkg').install('@sprucelabs/heartwood-view-controllers')\n\n\t\tconst emitPayloadFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'emitPayload.builder.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst newContents = `import { formBuilderImportExportObjectSchema } from '@sprucelabs/heartwood-view-controllers'\nimport { buildSchema } from '@sprucelabs/schema'\n\nconst createFormEmitPayloadBuilder = buildSchema({\n\tid: 'myFantasticallyAmazingEventEmitPayload',\n\tfields: {\n\t\t...formBuilderImportExportObjectSchema.fields,\n\t},\n})\n\nexport default createFormEmitPayloadBuilder\n\t\t`\n\n\t\tdiskUtil.writeFile(emitPayloadFile, newContents)\n\n\t\tconst syncResults = await this.Action('event', 'sync').execute({})\n\n\t\tassert.isFalsy(syncResults.errors)\n\t}\n\n\t@test()\n\tprotected static async asksForVersionIfPreviousVersionExistsOnDifferentDay() {\n\t\tawait this.createEvent({\n\t\t\tversion: versionUtil.generateVersion('2020_01_10').constValue,\n\t\t})\n\n\t\tvoid this.Action('event', 'create').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 uiAssert.assertRendersSelect(this.ui)\n\n\t\tthis.ui.reset()\n\t}\n\n\tprivate static async createEvent(options?: { version?: string }) {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skill = await this.registerCurrentSkill()\n\n\t\tconst results = await this.Action('event', 'create').execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t\tversion: this.expectedVersion,\n\t\t\t...options,\n\t\t})\n\n\t\treturn { results, cli, skill }\n\t}\n\n\tprivate static async registerCurrentSkill() {\n\t\treturn await this.getSkillFixture().registerCurrentSkill(\n\t\t\t{\n\t\t\t\tname: 'my new skill',\n\t\t\t},\n\t\t\t{\n\t\t\t\tphone: DEMO_NUMBER_CREATING_AN_EVENT,\n\t\t\t}\n\t\t)\n\t}\n\n\tprivate static async assertCreatesOptionsFile(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tconst optionsFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'event.options.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst imported = await this.Service('import').importDefault(optionsFile)\n\n\t\tassert.isEqualDeep(imported, { isGlobal: false })\n\t}\n\n\tprivate static async assertExpectedTargetAndPayload(\n\t\tresults: FeatureActionResponse,\n\t\tskill: RegisteredSkill\n\t) {\n\t\tconst match = testUtil.assertFileByPathInGeneratedFiles(\n\t\t\tnew RegExp(\n\t\t\t\t`${namesUtil.toCamel(skill.slug)}.*?${\n\t\t\t\t\tthis.expectedVersion\n\t\t\t\t}.*?myFantasticallyAmazingEventEmitTargetAndPayload`,\n\t\t\t\t'gis'\n\t\t\t),\n\t\t\tresults.files\n\t\t)\n\n\t\tconst schema = await this.Service('schema').importSchema(match)\n\n\t\tassert.isEqual(schema.id, 'myFantasticallyAmazingEventEmitTargetAndPayload')\n\t\tassert.isTruthy(schema.fields?.payload)\n\t\tassert.isTruthy(schema.fields?.target)\n\t}\n\n\tprotected static async createsExpectedPermissionContract(results: any) {\n\t\tconst builders = [\n\t\t\t{ filename: 'emitPermissions.builder.ts' },\n\t\t\t{ filename: 'listenPermissions.builder.ts' },\n\t\t]\n\n\t\tfor (const builder of builders) {\n\t\t\tconst { filename } = builder\n\n\t\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\tfilename,\n\t\t\t\tresults.files\n\t\t\t)\n\n\t\t\tconst path = versionUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\t'src/events/',\n\t\t\t\tEVENT_NAME,\n\t\t\t\t'{{@latest}}',\n\t\t\t\tfilename\n\t\t\t)\n\n\t\t\tassert.isEqual(match, path)\n\t\t\tassert.isTrue(diskUtil.doesFileExist(path))\n\t\t}\n\t}\n\n\tprivate static async assertReturnsEventFromHealthCheck(\n\t\tcli: CliInterface,\n\t\tskill: RegisteredSkill\n\t) {\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isTruthy(health.event)\n\t\tassert.isLength(health.event.events, 1)\n\n\t\tconst eventName = EVENT_NAME\n\t\tconst eventNamespace = namesUtil.toKebab(skill.slug)\n\n\t\tassert.doesInclude(health.event.events, {\n\t\t\teventName,\n\t\t\teventNamespace,\n\t\t\tversion: this.expectedVersion,\n\t\t})\n\n\t\tassert.doesInclude(health.event.contracts, {\n\t\t\tfullyQualifiedEventName: eventNameUtil.join({\n\t\t\t\teventName,\n\t\t\t\teventNamespace,\n\t\t\t\tversion: this.expectedVersion,\n\t\t\t}),\n\t\t})\n\t}\n\n\tprivate static async assertExpectedPayloadSchemas(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tconst payloadSchemas = [\n\t\t\t{\n\t\t\t\tfileName: 'emitPayload.builder.ts',\n\t\t\t\texpectedId: 'myFantasticallyAmazingEventEmitPayload',\n\t\t\t},\n\t\t\t{\n\t\t\t\tfileName: 'emitTarget.builder.ts',\n\t\t\t\texpectedId: 'myFantasticallyAmazingEventEmitTarget',\n\t\t\t},\n\t\t\t{\n\t\t\t\tfileName: 'responsePayload.builder.ts',\n\t\t\t\texpectedId: 'myFantasticallyAmazingEventResponsePayload',\n\t\t\t},\n\t\t]\n\n\t\tconst schemas = this.Service('schema')\n\n\t\tfor (const payload of payloadSchemas) {\n\t\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\tpayload.fileName,\n\t\t\t\tresults.files\n\t\t\t)\n\n\t\t\tassert.isEqual(\n\t\t\t\tmatch,\n\t\t\t\teventDiskUtil.resolveEventPath(this.cwd + '/src/events', {\n\t\t\t\t\tfileName: payload.fileName as any,\n\t\t\t\t\teventName: EVENT_NAME,\n\t\t\t\t\tversion: this.expectedVersion,\n\t\t\t\t})\n\t\t\t)\n\n\t\t\tconst imported = await schemas.importSchema(match)\n\t\t\tassert.isEqual(imported.id, payload.expectedId)\n\t\t}\n\t}\n}\n"],"mappings":"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"}