@sprucelabs/spruce-cli 19.1.24 → 19.1.25

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 (562) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/__tests__/behavioral/AddingADependency.test.js +29 -57
  3. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  4. package/build/__tests__/behavioral/BlockingCommands.test.js +9 -17
  5. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  6. package/build/__tests__/behavioral/BootingTheCli.test.js +9 -17
  7. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  8. package/build/__tests__/behavioral/BootingWithBadFiles.test.js +13 -25
  9. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  10. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +13 -25
  11. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  12. package/build/__tests__/behavioral/DeployingASkill.test.js +73 -145
  13. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  14. package/build/__tests__/behavioral/DeployingToSandbox.test.js +61 -121
  15. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  16. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +33 -65
  17. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  18. package/build/__tests__/behavioral/GettingCliVersion.test.js +13 -25
  19. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  20. package/build/__tests__/behavioral/ManagingDependencies.test.js +21 -41
  21. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  22. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +9 -17
  23. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  24. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +10 -18
  25. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  26. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +17 -33
  27. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  28. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +29 -57
  29. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  30. package/build/__tests__/behavioral/SettingRemote.test.js +21 -41
  31. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  32. package/build/__tests__/behavioral/SettingUpVscode.test.js +9 -17
  33. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  34. package/build/__tests__/behavioral/TestingAConversation.test.js +25 -49
  35. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  36. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +21 -41
  37. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  38. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +9 -17
  39. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  40. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +21 -41
  41. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  42. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +9 -17
  43. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  44. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +45 -89
  45. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  46. package/build/__tests__/behavioral/events/CreatingAListener.test.js +73 -145
  47. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  48. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +53 -105
  49. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  50. package/build/__tests__/behavioral/events/EventWriter.test.js +5 -9
  51. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -1
  52. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +61 -121
  53. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  54. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +41 -81
  55. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  56. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +13 -25
  57. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  58. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +9 -17
  59. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  60. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js +9 -17
  61. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -1
  62. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js +14 -26
  63. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -1
  64. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js +26 -50
  65. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -1
  66. package/build/__tests__/behavioral/events/SettingUpEvents.test.js +5 -9
  67. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  68. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +13 -25
  69. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  70. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js +13 -25
  71. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  72. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +13 -25
  73. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  74. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +13 -25
  75. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  76. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +9 -17
  77. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  78. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +13 -25
  79. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  80. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +9 -17
  81. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -1
  82. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +49 -97
  83. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  84. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +9 -17
  85. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
  86. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +59 -113
  87. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  88. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js +13 -25
  89. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -1
  90. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +37 -73
  91. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  92. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +13 -25
  93. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  94. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +29 -57
  95. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
  96. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +41 -81
  97. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  98. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js +5 -9
  99. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -1
  100. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +9 -17
  101. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  102. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +17 -33
  103. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  104. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +21 -41
  105. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  106. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +5 -9
  107. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  108. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +81 -161
  109. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  110. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +13 -25
  111. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  112. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js +49 -97
  113. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  114. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +5 -9
  115. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  116. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +5 -9
  117. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  118. package/build/__tests__/behavioral/skill/BootingASkill.test.js +13 -25
  119. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  120. package/build/__tests__/behavioral/skill/CreatingASkill.test.js +9 -17
  121. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  122. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js +33 -65
  123. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -1
  124. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js +37 -73
  125. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -1
  126. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js +13 -25
  127. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -1
  128. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +17 -33
  129. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  130. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +29 -57
  131. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  132. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +45 -89
  133. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  134. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +41 -81
  135. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  136. package/build/__tests__/behavioral/tests/CreatingATest.test.js +41 -81
  137. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  138. package/build/__tests__/behavioral/tests/RunningTests.test.js +17 -33
  139. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  140. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +45 -89
  141. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  142. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js +21 -41
  143. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -1
  144. package/build/__tests__/behavioral/tests/SettingUpTests.test.js +9 -17
  145. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  146. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js +9 -17
  147. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -1
  148. package/build/__tests__/behavioral/tests/TestingDataStores.test.js +9 -17
  149. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -1
  150. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +17 -33
  151. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  152. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +21 -41
  153. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  154. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +17 -33
  155. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  156. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +41 -81
  157. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  158. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +29 -57
  159. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  160. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +41 -81
  161. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  162. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +17 -33
  163. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  164. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +29 -57
  165. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  166. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +18 -32
  167. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  168. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +29 -57
  169. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  170. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +53 -105
  171. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  172. package/build/__tests__/behavioral/views/CreatingATheme.test.js +30 -56
  173. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  174. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +25 -49
  175. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  176. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js +25 -49
  177. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -1
  178. package/build/__tests__/behavioral/views/SettingUpViews.test.js +9 -17
  179. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  180. package/build/__tests__/behavioral/views/TestingViewControllers.test.js +21 -41
  181. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  182. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js +13 -25
  183. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -1
  184. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +53 -105
  185. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  186. package/build/__tests__/implementation/ActionExecuter.test.js +9 -17
  187. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  188. package/build/__tests__/implementation/ActionExecuter2.test.js +33 -65
  189. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  190. package/build/__tests__/implementation/ActionExecuter3.test.js +17 -33
  191. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  192. package/build/__tests__/implementation/ActionExecuter4.test.js +13 -25
  193. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  194. package/build/__tests__/implementation/ArgParser.test.js +9 -17
  195. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  196. package/build/__tests__/implementation/BuildService.test.js +9 -17
  197. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  198. package/build/__tests__/implementation/BulkImporting.test.js +41 -81
  199. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  200. package/build/__tests__/implementation/CachingImports.test.js +21 -41
  201. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  202. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +37 -73
  203. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  204. package/build/__tests__/implementation/DataStoreStore.test.js +41 -81
  205. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  206. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +13 -25
  207. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  208. package/build/__tests__/implementation/EventContractCleanerUtil.test.js +17 -33
  209. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  210. package/build/__tests__/implementation/EventStore.test.js +58 -113
  211. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  212. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +13 -25
  213. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  214. package/build/__tests__/implementation/FeatureCommandAttacher.test.js +37 -73
  215. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  216. package/build/__tests__/implementation/FeatureFixture.test.js +17 -33
  217. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  218. package/build/__tests__/implementation/FeatureInstaller.test.js +17 -33
  219. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  220. package/build/__tests__/implementation/FeaturesUtil.test.js +5 -9
  221. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  222. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +5 -9
  223. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  224. package/build/__tests__/implementation/GlobalEmitter.test.js +9 -17
  225. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  226. package/build/__tests__/implementation/JestJsonParser.test.js +5 -9
  227. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  228. package/build/__tests__/implementation/LintService.test.js +9 -17
  229. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  230. package/build/__tests__/implementation/OnboardingScriptLoader.test.js +19 -34
  231. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  232. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +58 -103
  233. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  234. package/build/__tests__/implementation/OnboardingStore.test.js +9 -17
  235. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  236. package/build/__tests__/implementation/OrganizationStore.test.js +21 -41
  237. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  238. package/build/__tests__/implementation/ParentTestFinder.test.js +13 -25
  239. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  240. package/build/__tests__/implementation/PkgService.test.js +25 -49
  241. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  242. package/build/__tests__/implementation/SchemaStore.test.js +65 -129
  243. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  244. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +5 -9
  245. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  246. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +29 -57
  247. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  248. package/build/__tests__/implementation/ServiceFactory.test.js +5 -9
  249. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  250. package/build/__tests__/implementation/SettingUpANodeModule.test.js +13 -25
  251. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  252. package/build/__tests__/implementation/SkillStore.test.js +33 -65
  253. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  254. package/build/__tests__/implementation/StoreFeature.test.js +10 -16
  255. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  256. package/build/__tests__/implementation/TestReporter.test.js +17 -33
  257. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  258. package/build/__tests__/implementation/TestRunner.test.js +37 -73
  259. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  260. package/build/__tests__/implementation/ValueTypeMapping.test.js +9 -17
  261. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  262. package/build/__tests__/implementation/Widgets.test.js +17 -33
  263. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  264. package/build/__tests__/support/EventFaker.js +5 -9
  265. package/build/__tests__/support/EventFaker.js.map +1 -1
  266. package/build/__tests__/support/scripts/first.script.js +5 -7
  267. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  268. package/build/boot.js +5 -12
  269. package/build/boot.js.map +1 -1
  270. package/build/cli/Cli.js +42 -80
  271. package/build/cli/Cli.js.map +1 -1
  272. package/build/components/FormComponent.js +9 -17
  273. package/build/components/FormComponent.js.map +1 -1
  274. package/build/components/QuizComponent.js +9 -17
  275. package/build/components/QuizComponent.js.map +1 -1
  276. package/build/features/AbstractAction.js +13 -25
  277. package/build/features/AbstractAction.js.map +1 -1
  278. package/build/features/AbstractFeature.js +17 -33
  279. package/build/features/AbstractFeature.js.map +1 -1
  280. package/build/features/ActionExecuter.js +11 -17
  281. package/build/features/ActionExecuter.js.map +1 -1
  282. package/build/features/ActionQuestionAsker.js +35 -65
  283. package/build/features/ActionQuestionAsker.js.map +1 -1
  284. package/build/features/FeatureCommandAttacher.js +5 -9
  285. package/build/features/FeatureCommandAttacher.js.map +1 -1
  286. package/build/features/FeatureInstaller.js +43 -81
  287. package/build/features/FeatureInstaller.js.map +1 -1
  288. package/build/features/OverrideActionDecorator.js +6 -8
  289. package/build/features/OverrideActionDecorator.js.map +1 -1
  290. package/build/features/cache/CacheFeature.js +5 -9
  291. package/build/features/cache/CacheFeature.js.map +1 -1
  292. package/build/features/cache/actions/DisableAction.js +5 -9
  293. package/build/features/cache/actions/DisableAction.js.map +1 -1
  294. package/build/features/cache/actions/EnableAction.js +5 -9
  295. package/build/features/cache/actions/EnableAction.js.map +1 -1
  296. package/build/features/conversation/ConversationFeature.js +13 -25
  297. package/build/features/conversation/ConversationFeature.js.map +1 -1
  298. package/build/features/conversation/actions/CreateAction.js +5 -9
  299. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  300. package/build/features/conversation/actions/TestAction.js +14 -24
  301. package/build/features/conversation/actions/TestAction.js.map +1 -1
  302. package/build/features/conversation/stores/ConversationStore.js +5 -9
  303. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  304. package/build/features/conversation/writers/ConversationWriter.js +5 -9
  305. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  306. package/build/features/dependencies/DependencyFeature.js +5 -9
  307. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  308. package/build/features/dependencies/actions/AddAction.js +5 -9
  309. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  310. package/build/features/dependencies/actions/ManageAction.js +5 -9
  311. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  312. package/build/features/deploy/DeployFeature.js +5 -9
  313. package/build/features/deploy/DeployFeature.js.map +1 -1
  314. package/build/features/deploy/actions/HerokuAction.js +41 -81
  315. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  316. package/build/features/error/ErrorFeature.js +13 -25
  317. package/build/features/error/ErrorFeature.js.map +1 -1
  318. package/build/features/error/ParentTestFinder.js +5 -9
  319. package/build/features/error/ParentTestFinder.js.map +1 -1
  320. package/build/features/error/actions/CreateAction.js +5 -9
  321. package/build/features/error/actions/CreateAction.js.map +1 -1
  322. package/build/features/error/actions/SyncAction.js +13 -25
  323. package/build/features/error/actions/SyncAction.js.map +1 -1
  324. package/build/features/error/writers/ErrorWriter.js +21 -41
  325. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  326. package/build/features/event/EventFeature.js +29 -57
  327. package/build/features/event/EventFeature.js.map +1 -1
  328. package/build/features/event/actions/CreateAction.js +5 -9
  329. package/build/features/event/actions/CreateAction.js.map +1 -1
  330. package/build/features/event/actions/ListenAction.js +29 -57
  331. package/build/features/event/actions/ListenAction.js.map +1 -1
  332. package/build/features/event/actions/SetRemoteAction.js +5 -9
  333. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  334. package/build/features/event/actions/SyncAction.js +5 -9
  335. package/build/features/event/actions/SyncAction.js.map +1 -1
  336. package/build/features/event/actions/SyncListenersAction.js +5 -9
  337. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  338. package/build/features/event/builders/EventContractBuilder.js +17 -33
  339. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  340. package/build/features/event/stores/EventStore.js +26 -48
  341. package/build/features/event/stores/EventStore.js.map +1 -1
  342. package/build/features/event/stores/ListenerStore.js +5 -9
  343. package/build/features/event/stores/ListenerStore.js.map +1 -1
  344. package/build/features/event/writers/EventWriter.js +25 -49
  345. package/build/features/event/writers/EventWriter.js.map +1 -1
  346. package/build/features/eventContract/actions/PullAction.js +9 -17
  347. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  348. package/build/features/log/actions/CreateTransportAction.js +5 -9
  349. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  350. package/build/features/log/writers/LogWriter.js +5 -9
  351. package/build/features/log/writers/LogWriter.js.map +1 -1
  352. package/build/features/node/NodeFeature.js +22 -40
  353. package/build/features/node/NodeFeature.js.map +1 -1
  354. package/build/features/node/actions/CreateAction.js +5 -9
  355. package/build/features/node/actions/CreateAction.js.map +1 -1
  356. package/build/features/node/actions/UpdateDependenciesAction.js +9 -17
  357. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  358. package/build/features/node/actions/UpgradeAction.js +13 -25
  359. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  360. package/build/features/node/writers/NodeWriter.js +5 -9
  361. package/build/features/node/writers/NodeWriter.js.map +1 -1
  362. package/build/features/onboard/OnboardFeature.js +18 -33
  363. package/build/features/onboard/OnboardFeature.js.map +1 -1
  364. package/build/features/onboard/ScriptLoader.js +5 -9
  365. package/build/features/onboard/ScriptLoader.js.map +1 -1
  366. package/build/features/onboard/ScriptPlayer.js +13 -25
  367. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  368. package/build/features/onboard/actions/OnboardAction.js +5 -9
  369. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  370. package/build/features/onboard/scripts/onboarding.first.script.js +18 -37
  371. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  372. package/build/features/onboard/scripts/onboarding.immersive.script.js +8 -13
  373. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  374. package/build/features/onboard/scripts/onboarding.returning.script.js +5 -7
  375. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  376. package/build/features/onboard/scripts/onboarding.short.script.js +17 -31
  377. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  378. package/build/features/onboard/scripts/todo/todo.create.skill.script.js +5 -7
  379. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  380. package/build/features/onboard/scripts/todo/todo.test.script.js +5 -7
  381. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  382. package/build/features/onboard/scripts/wrongCommand.script.js +5 -7
  383. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  384. package/build/features/organization/actions/CreateAction.js +5 -9
  385. package/build/features/organization/actions/CreateAction.js.map +1 -1
  386. package/build/features/organization/actions/InstallAction.js +5 -9
  387. package/build/features/organization/actions/InstallAction.js.map +1 -1
  388. package/build/features/organization/stores/OrganizationStore.js +21 -41
  389. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  390. package/build/features/permission/PermissionFeature.js +17 -33
  391. package/build/features/permission/PermissionFeature.js.map +1 -1
  392. package/build/features/permission/actions/CreateAction.js +5 -9
  393. package/build/features/permission/actions/CreateAction.js.map +1 -1
  394. package/build/features/permission/actions/SyncAction.js +8 -15
  395. package/build/features/permission/actions/SyncAction.js.map +1 -1
  396. package/build/features/permission/stores/PermissionStore.js +9 -17
  397. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  398. package/build/features/permission/writers/PermissionWriter.js +13 -25
  399. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  400. package/build/features/person/actions/LoginAction.js +5 -9
  401. package/build/features/person/actions/LoginAction.js.map +1 -1
  402. package/build/features/person/actions/LogoutAction.js +5 -9
  403. package/build/features/person/actions/LogoutAction.js.map +1 -1
  404. package/build/features/person/actions/WhoamiAction.js +5 -9
  405. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  406. package/build/features/polish/actions/SetupAction.js +5 -9
  407. package/build/features/polish/actions/SetupAction.js.map +1 -1
  408. package/build/features/polish/writers/PolishWriter.js +5 -9
  409. package/build/features/polish/writers/PolishWriter.js.map +1 -1
  410. package/build/features/sandbox/SandboxFeature.js +5 -7
  411. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  412. package/build/features/sandbox/actions/SetupAction.js +5 -9
  413. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  414. package/build/features/sandbox/writers/SandboxWriter.js +5 -9
  415. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  416. package/build/features/schema/SchemaFeature.js +17 -33
  417. package/build/features/schema/SchemaFeature.js.map +1 -1
  418. package/build/features/schema/ValueTypeBuilder.js +5 -9
  419. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  420. package/build/features/schema/actions/CreateAction.js +5 -9
  421. package/build/features/schema/actions/CreateAction.js.map +1 -1
  422. package/build/features/schema/actions/SyncAction.js +21 -41
  423. package/build/features/schema/actions/SyncAction.js.map +1 -1
  424. package/build/features/schema/actions/SyncFieldsAction.js +5 -9
  425. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  426. package/build/features/schema/services/SchemaService.js +5 -9
  427. package/build/features/schema/services/SchemaService.js.map +1 -1
  428. package/build/features/schema/stores/SchemaStore.js +31 -57
  429. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  430. package/build/features/schema/writers/SchemaWriter.js +25 -49
  431. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  432. package/build/features/skill/SkillFeature.js +25 -49
  433. package/build/features/skill/SkillFeature.js.map +1 -1
  434. package/build/features/skill/actions/BootAction.js +9 -17
  435. package/build/features/skill/actions/BootAction.js.map +1 -1
  436. package/build/features/skill/actions/CreateAction.js +5 -9
  437. package/build/features/skill/actions/CreateAction.js.map +1 -1
  438. package/build/features/skill/actions/DashboardAction.js +5 -9
  439. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  440. package/build/features/skill/actions/LoginAction.js +5 -9
  441. package/build/features/skill/actions/LoginAction.js.map +1 -1
  442. package/build/features/skill/actions/RebuildAction.js +5 -9
  443. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  444. package/build/features/skill/actions/RegisterAction.js +5 -9
  445. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  446. package/build/features/skill/stores/SkillStore.js +37 -73
  447. package/build/features/skill/stores/SkillStore.js.map +1 -1
  448. package/build/features/skill/updaters/Updater.js +5 -9
  449. package/build/features/skill/updaters/Updater.js.map +1 -1
  450. package/build/features/skill/writers/SkillWriter.js +5 -9
  451. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  452. package/build/features/store/StoreFeature.js +13 -25
  453. package/build/features/store/StoreFeature.js.map +1 -1
  454. package/build/features/store/actions/CreateAction.js +5 -9
  455. package/build/features/store/actions/CreateAction.js.map +1 -1
  456. package/build/features/store/actions/SyncAction.js +5 -9
  457. package/build/features/store/actions/SyncAction.js.map +1 -1
  458. package/build/features/store/stores/StoreStore.js +5 -9
  459. package/build/features/store/stores/StoreStore.js.map +1 -1
  460. package/build/features/store/writers/StoreWriter.js +17 -33
  461. package/build/features/store/writers/StoreWriter.js.map +1 -1
  462. package/build/features/test/TestFeature.js +9 -17
  463. package/build/features/test/TestFeature.js.map +1 -1
  464. package/build/features/test/TestReporter.js +17 -33
  465. package/build/features/test/TestReporter.js.map +1 -1
  466. package/build/features/test/TestRunner.js +14 -26
  467. package/build/features/test/TestRunner.js.map +1 -1
  468. package/build/features/test/actions/CreateAction.js +17 -33
  469. package/build/features/test/actions/CreateAction.js.map +1 -1
  470. package/build/features/test/actions/SetupAction.js +5 -9
  471. package/build/features/test/actions/SetupAction.js.map +1 -1
  472. package/build/features/test/actions/TestAction.js +21 -41
  473. package/build/features/test/actions/TestAction.js.map +1 -1
  474. package/build/features/test/writers/TestWriter.js +5 -9
  475. package/build/features/test/writers/TestWriter.js.map +1 -1
  476. package/build/features/view/ViewFeature.js +10 -16
  477. package/build/features/view/ViewFeature.js.map +1 -1
  478. package/build/features/view/actions/CreateAction.js +5 -9
  479. package/build/features/view/actions/CreateAction.js.map +1 -1
  480. package/build/features/view/actions/CreateThemeAction.js +5 -9
  481. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  482. package/build/features/view/actions/SyncAction.js +5 -9
  483. package/build/features/view/actions/SyncAction.js.map +1 -1
  484. package/build/features/view/actions/WatchAction.js +5 -9
  485. package/build/features/view/actions/WatchAction.js.map +1 -1
  486. package/build/features/view/stores/ViewStore.js +5 -9
  487. package/build/features/view/stores/ViewStore.js.map +1 -1
  488. package/build/features/view/writers/ViewWriter.js +9 -17
  489. package/build/features/view/writers/ViewWriter.js.map +1 -1
  490. package/build/features/vscode/actions/SetupAction.js +21 -41
  491. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  492. package/build/features/vscode/services/VsCodeService.js +13 -25
  493. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  494. package/build/features/vscode/writers/VsCodeWriter.js +5 -9
  495. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  496. package/build/features/watch/WatchFeature.js +23 -41
  497. package/build/features/watch/WatchFeature.js.map +1 -1
  498. package/build/interfaces/SpyInterface.js +25 -49
  499. package/build/interfaces/SpyInterface.js.map +1 -1
  500. package/build/interfaces/TerminalInterface.js +33 -65
  501. package/build/interfaces/TerminalInterface.js.map +1 -1
  502. package/build/services/BuildService.js +5 -9
  503. package/build/services/BuildService.js.map +1 -1
  504. package/build/services/CommandService.js +5 -9
  505. package/build/services/CommandService.js.map +1 -1
  506. package/build/services/GameService.js +5 -9
  507. package/build/services/GameService.js.map +1 -1
  508. package/build/services/ImportService.js +21 -31
  509. package/build/services/ImportService.js.map +1 -1
  510. package/build/services/LintService.js +6 -8
  511. package/build/services/LintService.js.map +1 -1
  512. package/build/services/PkgService.js +9 -17
  513. package/build/services/PkgService.js.map +1 -1
  514. package/build/services/TypeCheckerService.js +6 -8
  515. package/build/services/TypeCheckerService.js.map +1 -1
  516. package/build/stores/AbstractStore.js +5 -9
  517. package/build/stores/AbstractStore.js.map +1 -1
  518. package/build/tests/AbstractCliTest.js +61 -121
  519. package/build/tests/AbstractCliTest.js.map +1 -1
  520. package/build/tests/AbstractErrorTest.js +5 -9
  521. package/build/tests/AbstractErrorTest.js.map +1 -1
  522. package/build/tests/AbstractEventTest.js +17 -33
  523. package/build/tests/AbstractEventTest.js.map +1 -1
  524. package/build/tests/AbstractSchemaTest.js +13 -25
  525. package/build/tests/AbstractSchemaTest.js.map +1 -1
  526. package/build/tests/AbstractSkillTest.js +13 -25
  527. package/build/tests/AbstractSkillTest.js.map +1 -1
  528. package/build/tests/AbstractTestTest.js +5 -9
  529. package/build/tests/AbstractTestTest.js.map +1 -1
  530. package/build/tests/MockProgramFactory.js +10 -15
  531. package/build/tests/MockProgramFactory.js.map +1 -1
  532. package/build/tests/buildTestCache.js +32 -49
  533. package/build/tests/buildTestCache.js.map +1 -1
  534. package/build/tests/cleanTestData.js +27 -45
  535. package/build/tests/cleanTestData.js.map +1 -1
  536. package/build/tests/fixtures/FeatureFixture.js +25 -49
  537. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  538. package/build/tests/fixtures/MercuryFixture.js +5 -9
  539. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  540. package/build/tests/fixtures/OrganizationFixture.js +13 -25
  541. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  542. package/build/tests/fixtures/PersonFixture.js +9 -17
  543. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  544. package/build/tests/fixtures/SkillFixture.js +31 -57
  545. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  546. package/build/tests/fixtures/ViewFixture.js +5 -9
  547. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  548. package/build/updaters/ScriptUpdater.js +5 -9
  549. package/build/updaters/ScriptUpdater.js.map +1 -1
  550. package/build/widgets/terminalKit/TkBaseWidget.js +5 -9
  551. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  552. package/build/widgets/terminalKit/TkInputWidget.js +9 -17
  553. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  554. package/build/widgets/terminalKit/TkLayoutWidget.js +5 -9
  555. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  556. package/build/widgets/terminalKit/TkTextWidget.js +5 -9
  557. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  558. package/build/widgets/terminalKit/TkWindowWidget.js +9 -17
  559. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  560. package/build/writers/AbstractWriter.js +13 -25
  561. package/build/writers/AbstractWriter.js.map +1 -1
  562. package/package.json +29 -29
@@ -1 +1 @@
1
- {"version":3,"file":"KeepingEventsInSync.test.js","names":["_path","_interopRequireDefault","require","_mercuryCoreEvents","_mercuryTypes","_schema","_spruceEventUtils","_spruceSkillUtils","_testUtils","_AbstractEventTest2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_class","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","coreContract","eventContractUtil","unifyContracts","coreEventContracts","KeepingEventsInSyncTest","_AbstractEventTest","_inherits2","_super","_classCallCheck2","_createClass2","key","get","resolveHashSprucePath","_hasSyncEventsAction","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","Cli","assert","isFunction","Action","execute","stop","hasSyncEventsAction","_syncsWithoutSavingCoreEventsByDefault","_callee2","_this","results","_callee2$","_context2","FeatureFixture","installCachedFeatures","skipInstallSkillPrompts","sent","assertValidSyncEventsResults","syncsWithoutSavingCoreEventsByDefault","_mergesGlobalEvents","_callee3","skills","skill2","fqen","_callee3$","_context3","getSkillFixture","registerCurrentSkill","seedDemoSkill","Service","add","id","namespace","slug","registerEventContract","eventSignatures","isGlobal","eventNameUtil","join","eventName","version","eventNamespace","assertGlobalEventsAreTyped","mergesGlobalEvents","_canSetSkillEventContractTypesFile","_callee4","_this2","contents","_callee4$","_context4","skillEventContractTypesFile","diskUtil","readFile","eventContractPath","doesInclude","canSetSkillEventContractTypesFile","_canSyncOnlyCoreEvents","_callee5","promise","_callee5$","_context5","syncCoreEventsPretendingToBeMercuryTypes","canSyncOnlyCoreEvents","_syncingSchemasDoesNotSyncEventSchemasIfEventsHaveNeverBeenSynced","_callee6","cli","event","wasHit","_callee6$","_context6","getFeature","getEventContractBuilder","assertCoreEventContractsSavedToDisk","assertCorePayloadSchemasAreCreated","isFalse","doesFileExist","syncingSchemasDoesNotSyncEventSchemasIfEventsHaveNeverBeenSynced","_syncingSchemaAfterSyncEventsSyncsSchemasAndDoesNotWriteCoreEvents","_callee7","oldGetter","_callee7$","_context7","bind","isTrue","assertValidSyncSchemasResults","syncingSchemaAfterSyncEventsSyncsSchemasAndDoesNotWriteCoreEvents","_syncingSchemasAfterSyncingCoreEventsSavesCoreEvents","_callee8","_callee8$","_context8","syncingSchemasAfterSyncingCoreEventsSavesCoreEvents","_syncCoreEventsPretendingToBeMercuryTypes","_callee9","builder","_callee9$","_context9","shouldSyncOnlyCoreEvents","eventBuilderFile","writeFile","resolvePath","uninstall","abrupt","_assertValidSyncEventsResults","_callee10","_args10","_callee10$","_context10","undefined","isFalsy","errors","_x","_assertGlobalEventsAreTyped","_callee11","_callee11$","_context11","concat","_x2","_assertValidSyncSchemasResults","_callee12","coreContractContents","search","_callee12$","_context12","assertEventsHavePayloads","assertCombinedContractContents","doesNotInclude","_x3","_x4","_assertCombinedContractContents","_callee13","imported","localContract","sigs","_iterator","_step","sig","_callee13$","_context13","importCombinedContractsFile","isTruthy","getNamedEventSignatures","getSignatureByName","fullyQualifiedEventName","_importCombinedContractsFile","_callee14","eventContractsFile","_callee14$","_context14","doesDirExist","importDefault","_assertEventsHavePayloads","_callee15","contract","signature","_args15","_callee15$","_context15","validateEventContract","emitPayloadSchema","validateSchema","responsePayloadSchema","_x5","shouldHaveWritten","filesToCheck","path","pathUtil","sep","MERCURY_API_NAMESPACE","assertFilesWereGenerated","_iterator2","_step2","file","expected","doesExist","_iterator3","_step3","namesUtil","toCamel","AbstractEventTest","_applyDecoratedDescriptor2","getOwnPropertyDescriptor","exports"],"sources":["../../../../src/__tests__/behavioral/events/KeepingEventsInSync.test.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { coreEventContracts } from '@sprucelabs/mercury-core-events'\nimport {\n\tEventContract,\n\tSpruceSchemas,\n\tvalidateEventContract,\n} from '@sprucelabs/mercury-types'\nimport { validateSchema } from '@sprucelabs/schema'\nimport {\n\teventContractUtil,\n\teventNameUtil,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tMERCURY_API_NAMESPACE,\n\tnamesUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\n\nconst coreContract = eventContractUtil.unifyContracts(\n\tcoreEventContracts as any\n) as SpruceSchemas.Mercury.v2020_12_25.EventContract\n\nexport default class KeepingEventsInSyncTest extends AbstractEventTest {\n\tprivate static get eventContractPath() {\n\t\treturn this.resolveHashSprucePath('events', 'events.contract.ts')\n\t}\n\n\t@test()\n\tprotected static async hasSyncEventsAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('event', 'sync').execute)\n\t}\n\n\t@test()\n\tprotected static async syncsWithoutSavingCoreEventsByDefault() {\n\t\tawait this.FeatureFixture().installCachedFeatures('eventsInNodeModule')\n\n\t\tconst results = await this.skipInstallSkillPrompts(() =>\n\t\t\tthis.Action('event', 'sync').execute({})\n\t\t)\n\n\t\tawait this.assertValidSyncEventsResults(results)\n\t}\n\n\t@test()\n\tprotected static async mergesGlobalEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skills = this.getSkillFixture()\n\t\tawait skills.registerCurrentSkill({\n\t\t\tname: 'events in sync skill',\n\t\t})\n\n\t\tconst skill2 = await skills.seedDemoSkill({ name: 'a temp skill' })\n\n\t\tawait this.Service('dependency').add({\n\t\t\tid: skill2.id,\n\t\t\tnamespace: skill2.slug,\n\t\t})\n\n\t\tawait skills.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t'test-sync::v2021_01_01': {\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\tawait this.assertValidSyncEventsResults(results)\n\n\t\tconst fqen = eventNameUtil.join({\n\t\t\teventName: 'test-sync',\n\t\t\tversion: 'v2021_01_01',\n\t\t\teventNamespace: skill2.slug,\n\t\t})\n\t\tawait this.assertGlobalEventsAreTyped(fqen)\n\t}\n\n\t@test()\n\tprotected static async canSetSkillEventContractTypesFile() {\n\t\tawait this.FeatureFixture().installCachedFeatures('eventsInNodeModule')\n\n\t\tawait this.skipInstallSkillPrompts(() =>\n\t\t\tthis.Action('event', 'sync').execute({\n\t\t\t\tskillEventContractTypesFile: 'testy test',\n\t\t\t})\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(this.eventContractPath)\n\t\tassert.doesInclude(contents, `declare module 'testy test'`)\n\t}\n\n\t@test()\n\tprotected static async canSyncOnlyCoreEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('eventsInNodeModule')\n\n\t\tconst promise = this.syncCoreEventsPretendingToBeMercuryTypes()\n\n\t\tawait this.skipInstallSkillPrompts()\n\n\t\tconst results = await promise\n\n\t\tawait this.assertValidSyncEventsResults(results, true)\n\t}\n\n\t@test()\n\tprotected static async syncingSchemasDoesNotSyncEventSchemasIfEventsHaveNeverBeenSynced() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('events')\n\t\tconst event = cli.getFeature('event')\n\t\tlet wasHit = false\n\n\t\t//@ts-ignore\n\t\tevent.getEventContractBuilder = () => {\n\t\t\twasHit = true\n\t\t}\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tthis.assertCoreEventContractsSavedToDisk(false)\n\t\tthis.assertCorePayloadSchemasAreCreated(results, false)\n\n\t\tassert.isFalse(wasHit)\n\t\tassert.isFalse(diskUtil.doesFileExist(this.eventContractPath))\n\t}\n\n\t@test()\n\tprotected static async syncingSchemaAfterSyncEventsSyncsSchemasAndDoesNotWriteCoreEvents() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('events')\n\n\t\tawait this.Action('event', 'sync').execute({})\n\n\t\tconst event = cli.getFeature('event')\n\t\tlet wasHit = false\n\n\t\tconst oldGetter = event.getEventContractBuilder.bind(event)\n\n\t\t//@ts-ignore\n\t\tevent.getEventContractBuilder = () => {\n\t\t\twasHit = true\n\t\t\treturn oldGetter()\n\t\t}\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isTrue(wasHit)\n\n\t\tawait this.assertValidSyncSchemasResults(results, false)\n\t}\n\n\t@test()\n\tprotected static async syncingSchemasAfterSyncingCoreEventsSavesCoreEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tawait this.syncCoreEventsPretendingToBeMercuryTypes()\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tawait this.assertValidSyncSchemasResults(results, true)\n\t}\n\n\tprivate static async syncCoreEventsPretendingToBeMercuryTypes() {\n\t\tconst results = await this.Action('event', 'sync').execute({\n\t\t\tshouldSyncOnlyCoreEvents: true,\n\t\t\teventBuilderFile: '../../../builder',\n\t\t\tskillEventContractTypesFile: '../../builder',\n\t\t})\n\n\t\tconst builder = `\nexport function buildEventContract(..._: any[]):any { return _[0] }\nexport function buildPermissionContract(..._: any[]):any { return _[0] }\n`\n\n\t\tdiskUtil.writeFile(this.resolvePath('src', 'builder.ts'), builder)\n\t\tawait this.Service('pkg').uninstall([\n\t\t\t'@sprucelabs/mercury-types',\n\t\t\t'@sprucelabs/mercury-client',\n\t\t\t'@sprucelabs/spruce-event-plugin',\n\t\t])\n\t\treturn results\n\t}\n\n\tprivate static async assertValidSyncEventsResults(\n\t\tresults: FeatureActionResponse,\n\t\tshouldSyncOnlyCoreEvents = false\n\t) {\n\t\tassert.isFalsy(results.errors)\n\n\t\tawait this.assertValidSyncSchemasResults(results, shouldSyncOnlyCoreEvents)\n\t}\n\n\tprivate static async assertGlobalEventsAreTyped(eventName: string) {\n\t\tconst contents = diskUtil.readFile(this.eventContractPath)\n\n\t\tassert.doesInclude(contents, `'${eventName}':`)\n\t}\n\n\tprivate static async assertValidSyncSchemasResults(\n\t\tresults: FeatureActionResponse,\n\t\tshouldSyncOnlyCoreEvents: boolean\n\t) {\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.assertCoreEventContractsSavedToDisk(shouldSyncOnlyCoreEvents)\n\t\tthis.assertCorePayloadSchemasAreCreated(results, shouldSyncOnlyCoreEvents)\n\n\t\tawait this.assertEventsHavePayloads(results)\n\t\tawait this.assertCombinedContractContents()\n\n\t\tconst coreContractContents = diskUtil.readFile(this.eventContractPath)\n\t\tconst search = `did-message::v2020_12_25': MercuryDidMessageEventContract_v2020_12_25['eventSignatures']['did-message::v2020_12_25']`\n\n\t\tif (shouldSyncOnlyCoreEvents) {\n\t\t\tassert.doesInclude(coreContractContents, search)\n\t\t} else {\n\t\t\tassert.doesNotInclude(coreContractContents, search)\n\t\t}\n\t}\n\n\tprivate static async assertCombinedContractContents() {\n\t\tconst imported = await this.importCombinedContractsFile()\n\n\t\tassert.isTruthy(imported)\n\t\tassert.isArray(imported)\n\n\t\tconst localContract = eventContractUtil.unifyContracts(imported)\n\t\tassert.isTruthy(localContract)\n\n\t\tconst sigs = eventContractUtil.getNamedEventSignatures(coreContract)\n\n\t\tfor (const sig of sigs) {\n\t\t\teventContractUtil.getSignatureByName(\n\t\t\t\tlocalContract,\n\t\t\t\tsig.fullyQualifiedEventName\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate static async importCombinedContractsFile(): Promise<EventContract[]> {\n\t\tconst eventContractsFile = this.eventContractPath\n\n\t\t// hack import to bring types in when importing contract file\n\t\tif (\n\t\t\tdiskUtil.doesDirExist(\n\t\t\t\tthis.resolvePath('node_modules/@sprucelabs/mercury-types')\n\t\t\t)\n\t\t) {\n\t\t\tconst contents = diskUtil.readFile(eventContractsFile)\n\t\t\tdiskUtil.writeFile(\n\t\t\t\teventContractsFile,\n\t\t\t\t`import '@sprucelabs/mercury-types'\\n${contents}`\n\t\t\t)\n\t\t}\n\n\t\tconst imported: EventContract[] =\n\t\t\tawait this.Service('import').importDefault(eventContractsFile)\n\n\t\treturn imported\n\t}\n\n\tprivate static async assertEventsHavePayloads(\n\t\tresults: FeatureActionResponse,\n\t\teventName = 'authenticate'\n\t) {\n\t\tconst imported = await this.importCombinedContractsFile()\n\t\tconst contract = eventContractUtil.unifyContracts(imported)\n\n\t\tassert.isTruthy(contract)\n\n\t\tvalidateEventContract(contract)\n\n\t\tconst signature = eventContractUtil.getSignatureByName(contract, eventName)\n\n\t\tassert.isTruthy(signature.emitPayloadSchema)\n\t\tvalidateSchema(signature.emitPayloadSchema)\n\n\t\tassert.isTruthy(signature.responsePayloadSchema)\n\t\tvalidateSchema(signature.responsePayloadSchema)\n\t}\n\n\tprivate static assertCorePayloadSchemasAreCreated(\n\t\tresults: FeatureActionResponse,\n\t\tshouldHaveWritten = true\n\t) {\n\t\tconst filesToCheck = [\n\t\t\t{\n\t\t\t\tname: `unregisterListenersEmitTargetAndPayload.schema.ts`,\n\t\t\t\tpath: `schemas${pathUtil.sep}${MERCURY_API_NAMESPACE}`,\n\t\t\t},\n\t\t]\n\n\t\tthis.assertFilesWereGenerated(filesToCheck, results, shouldHaveWritten)\n\t}\n\n\tprivate static assertFilesWereGenerated(\n\t\tfilesToCheck: { name: string; path: string }[],\n\t\tresults: FeatureActionResponse,\n\t\tshouldHaveWritten = true\n\t) {\n\t\tfor (const file of filesToCheck) {\n\t\t\tconst expected = this.resolveHashSprucePath(\n\t\t\t\t'schemas/mercury/v2020_12_25',\n\t\t\t\tfile.name\n\t\t\t)\n\t\t\tconst doesExist = diskUtil.doesFileExist(expected)\n\n\t\t\tif (shouldHaveWritten) {\n\t\t\t\tassert.isTrue(doesExist, `Expected to find ${file} on the filesystem.`)\n\t\t\t} else {\n\t\t\t\tassert.isFalse(doesExist, `Should not have written ${file}.`)\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static assertCoreEventContractsSavedToDisk(shouldHaveWritten = true) {\n\t\tconst sigs = eventContractUtil.getNamedEventSignatures(coreContract)\n\n\t\tfor (const sig of sigs) {\n\t\t\tconst expected = this.resolveHashSprucePath(\n\t\t\t\t`events/mercury/${namesUtil.toCamel(\n\t\t\t\t\tsig.eventName\n\t\t\t\t)}.v2020_12_25.contract.ts`\n\t\t\t)\n\t\t\tconst doesExist = diskUtil.doesFileExist(expected)\n\n\t\t\tif (shouldHaveWritten) {\n\t\t\t\tassert.isTrue(doesExist, `Expected to write a file ${expected}.`)\n\t\t\t} else {\n\t\t\t\tassert.isFalse(\n\t\t\t\t\tdoesExist,\n\t\t\t\t\t`Generated contract for ${sig.fullyQualifiedEventName} and it should not have because it's a core contract.`\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"KeepingEventsInSync.test.js","names":["_path","_interopRequireDefault","require","_mercuryCoreEvents","_mercuryTypes","_schema","_spruceEventUtils","_spruceSkillUtils","_testUtils","_AbstractEventTest2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_class","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","coreContract","eventContractUtil","unifyContracts","coreEventContracts","KeepingEventsInSyncTest","_AbstractEventTest","_hasSyncEventsAction","_syncsWithoutSavingCoreEventsByDefault","_mergesGlobalEvents","_canSetSkillEventContractTypesFile","_canSyncOnlyCoreEvents","_syncingSchemasDoesNotSyncEventSchemasIfEventsHaveNeverBeenSynced","_syncingSchemaAfterSyncEventsSyncsSchemasAndDoesNotWriteCoreEvents","_syncingSchemasAfterSyncingCoreEventsSavesCoreEvents","_syncCoreEventsPretendingToBeMercuryTypes","_assertValidSyncEventsResults","_assertGlobalEventsAreTyped","_assertValidSyncSchemasResults","_assertCombinedContractContents","_importCombinedContractsFile","_assertEventsHavePayloads","_inherits2","_super","_classCallCheck2","_createClass2","key","get","resolveHashSprucePath","hasSyncEventsAction","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","Cli","assert","isFunction","Action","execute","stop","syncsWithoutSavingCoreEventsByDefault","_callee2","_this","results","_callee2$","_context2","FeatureFixture","installCachedFeatures","skipInstallSkillPrompts","sent","assertValidSyncEventsResults","mergesGlobalEvents","_callee3","skills","skill2","fqen","_callee3$","_context3","getSkillFixture","registerCurrentSkill","seedDemoSkill","Service","add","id","namespace","slug","registerEventContract","eventSignatures","isGlobal","eventNameUtil","join","eventName","version","eventNamespace","assertGlobalEventsAreTyped","canSetSkillEventContractTypesFile","_callee4","_this2","contents","_callee4$","_context4","skillEventContractTypesFile","diskUtil","readFile","eventContractPath","doesInclude","canSyncOnlyCoreEvents","_callee5","promise","_callee5$","_context5","syncCoreEventsPretendingToBeMercuryTypes","syncingSchemasDoesNotSyncEventSchemasIfEventsHaveNeverBeenSynced","_callee6","cli","event","wasHit","_callee6$","_context6","getFeature","getEventContractBuilder","assertCoreEventContractsSavedToDisk","assertCorePayloadSchemasAreCreated","isFalse","doesFileExist","syncingSchemaAfterSyncEventsSyncsSchemasAndDoesNotWriteCoreEvents","_callee7","oldGetter","_callee7$","_context7","bind","isTrue","assertValidSyncSchemasResults","syncingSchemasAfterSyncingCoreEventsSavesCoreEvents","_callee8","_callee8$","_context8","_callee9","builder","_callee9$","_context9","shouldSyncOnlyCoreEvents","eventBuilderFile","writeFile","resolvePath","uninstall","abrupt","_x","_callee10","_args10","_callee10$","_context10","undefined","isFalsy","errors","_x2","_callee11","_callee11$","_context11","concat","_x3","_x4","_callee12","coreContractContents","search","_callee12$","_context12","assertEventsHavePayloads","assertCombinedContractContents","doesNotInclude","_callee13","imported","localContract","sigs","_iterator","_step","sig","_callee13$","_context13","importCombinedContractsFile","isTruthy","getNamedEventSignatures","getSignatureByName","fullyQualifiedEventName","_callee14","eventContractsFile","_callee14$","_context14","doesDirExist","importDefault","_x5","_callee15","contract","signature","_args15","_callee15$","_context15","validateEventContract","emitPayloadSchema","validateSchema","responsePayloadSchema","shouldHaveWritten","filesToCheck","path","pathUtil","sep","MERCURY_API_NAMESPACE","assertFilesWereGenerated","_iterator2","_step2","file","expected","doesExist","_iterator3","_step3","namesUtil","toCamel","AbstractEventTest","_applyDecoratedDescriptor2","getOwnPropertyDescriptor","exports"],"sources":["../../../../src/__tests__/behavioral/events/KeepingEventsInSync.test.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { coreEventContracts } from '@sprucelabs/mercury-core-events'\nimport {\n\tEventContract,\n\tSpruceSchemas,\n\tvalidateEventContract,\n} from '@sprucelabs/mercury-types'\nimport { validateSchema } from '@sprucelabs/schema'\nimport {\n\teventContractUtil,\n\teventNameUtil,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tMERCURY_API_NAMESPACE,\n\tnamesUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\n\nconst coreContract = eventContractUtil.unifyContracts(\n\tcoreEventContracts as any\n) as SpruceSchemas.Mercury.v2020_12_25.EventContract\n\nexport default class KeepingEventsInSyncTest extends AbstractEventTest {\n\tprivate static get eventContractPath() {\n\t\treturn this.resolveHashSprucePath('events', 'events.contract.ts')\n\t}\n\n\t@test()\n\tprotected static async hasSyncEventsAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('event', 'sync').execute)\n\t}\n\n\t@test()\n\tprotected static async syncsWithoutSavingCoreEventsByDefault() {\n\t\tawait this.FeatureFixture().installCachedFeatures('eventsInNodeModule')\n\n\t\tconst results = await this.skipInstallSkillPrompts(() =>\n\t\t\tthis.Action('event', 'sync').execute({})\n\t\t)\n\n\t\tawait this.assertValidSyncEventsResults(results)\n\t}\n\n\t@test()\n\tprotected static async mergesGlobalEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst skills = this.getSkillFixture()\n\t\tawait skills.registerCurrentSkill({\n\t\t\tname: 'events in sync skill',\n\t\t})\n\n\t\tconst skill2 = await skills.seedDemoSkill({ name: 'a temp skill' })\n\n\t\tawait this.Service('dependency').add({\n\t\t\tid: skill2.id,\n\t\t\tnamespace: skill2.slug,\n\t\t})\n\n\t\tawait skills.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t'test-sync::v2021_01_01': {\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\tawait this.assertValidSyncEventsResults(results)\n\n\t\tconst fqen = eventNameUtil.join({\n\t\t\teventName: 'test-sync',\n\t\t\tversion: 'v2021_01_01',\n\t\t\teventNamespace: skill2.slug,\n\t\t})\n\t\tawait this.assertGlobalEventsAreTyped(fqen)\n\t}\n\n\t@test()\n\tprotected static async canSetSkillEventContractTypesFile() {\n\t\tawait this.FeatureFixture().installCachedFeatures('eventsInNodeModule')\n\n\t\tawait this.skipInstallSkillPrompts(() =>\n\t\t\tthis.Action('event', 'sync').execute({\n\t\t\t\tskillEventContractTypesFile: 'testy test',\n\t\t\t})\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(this.eventContractPath)\n\t\tassert.doesInclude(contents, `declare module 'testy test'`)\n\t}\n\n\t@test()\n\tprotected static async canSyncOnlyCoreEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('eventsInNodeModule')\n\n\t\tconst promise = this.syncCoreEventsPretendingToBeMercuryTypes()\n\n\t\tawait this.skipInstallSkillPrompts()\n\n\t\tconst results = await promise\n\n\t\tawait this.assertValidSyncEventsResults(results, true)\n\t}\n\n\t@test()\n\tprotected static async syncingSchemasDoesNotSyncEventSchemasIfEventsHaveNeverBeenSynced() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('events')\n\t\tconst event = cli.getFeature('event')\n\t\tlet wasHit = false\n\n\t\t//@ts-ignore\n\t\tevent.getEventContractBuilder = () => {\n\t\t\twasHit = true\n\t\t}\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tthis.assertCoreEventContractsSavedToDisk(false)\n\t\tthis.assertCorePayloadSchemasAreCreated(results, false)\n\n\t\tassert.isFalse(wasHit)\n\t\tassert.isFalse(diskUtil.doesFileExist(this.eventContractPath))\n\t}\n\n\t@test()\n\tprotected static async syncingSchemaAfterSyncEventsSyncsSchemasAndDoesNotWriteCoreEvents() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('events')\n\n\t\tawait this.Action('event', 'sync').execute({})\n\n\t\tconst event = cli.getFeature('event')\n\t\tlet wasHit = false\n\n\t\tconst oldGetter = event.getEventContractBuilder.bind(event)\n\n\t\t//@ts-ignore\n\t\tevent.getEventContractBuilder = () => {\n\t\t\twasHit = true\n\t\t\treturn oldGetter()\n\t\t}\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isTrue(wasHit)\n\n\t\tawait this.assertValidSyncSchemasResults(results, false)\n\t}\n\n\t@test()\n\tprotected static async syncingSchemasAfterSyncingCoreEventsSavesCoreEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tawait this.syncCoreEventsPretendingToBeMercuryTypes()\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tawait this.assertValidSyncSchemasResults(results, true)\n\t}\n\n\tprivate static async syncCoreEventsPretendingToBeMercuryTypes() {\n\t\tconst results = await this.Action('event', 'sync').execute({\n\t\t\tshouldSyncOnlyCoreEvents: true,\n\t\t\teventBuilderFile: '../../../builder',\n\t\t\tskillEventContractTypesFile: '../../builder',\n\t\t})\n\n\t\tconst builder = `\nexport function buildEventContract(..._: any[]):any { return _[0] }\nexport function buildPermissionContract(..._: any[]):any { return _[0] }\n`\n\n\t\tdiskUtil.writeFile(this.resolvePath('src', 'builder.ts'), builder)\n\t\tawait this.Service('pkg').uninstall([\n\t\t\t'@sprucelabs/mercury-types',\n\t\t\t'@sprucelabs/mercury-client',\n\t\t\t'@sprucelabs/spruce-event-plugin',\n\t\t])\n\t\treturn results\n\t}\n\n\tprivate static async assertValidSyncEventsResults(\n\t\tresults: FeatureActionResponse,\n\t\tshouldSyncOnlyCoreEvents = false\n\t) {\n\t\tassert.isFalsy(results.errors)\n\n\t\tawait this.assertValidSyncSchemasResults(results, shouldSyncOnlyCoreEvents)\n\t}\n\n\tprivate static async assertGlobalEventsAreTyped(eventName: string) {\n\t\tconst contents = diskUtil.readFile(this.eventContractPath)\n\n\t\tassert.doesInclude(contents, `'${eventName}':`)\n\t}\n\n\tprivate static async assertValidSyncSchemasResults(\n\t\tresults: FeatureActionResponse,\n\t\tshouldSyncOnlyCoreEvents: boolean\n\t) {\n\t\tassert.isFalsy(results.errors)\n\n\t\tthis.assertCoreEventContractsSavedToDisk(shouldSyncOnlyCoreEvents)\n\t\tthis.assertCorePayloadSchemasAreCreated(results, shouldSyncOnlyCoreEvents)\n\n\t\tawait this.assertEventsHavePayloads(results)\n\t\tawait this.assertCombinedContractContents()\n\n\t\tconst coreContractContents = diskUtil.readFile(this.eventContractPath)\n\t\tconst search = `did-message::v2020_12_25': MercuryDidMessageEventContract_v2020_12_25['eventSignatures']['did-message::v2020_12_25']`\n\n\t\tif (shouldSyncOnlyCoreEvents) {\n\t\t\tassert.doesInclude(coreContractContents, search)\n\t\t} else {\n\t\t\tassert.doesNotInclude(coreContractContents, search)\n\t\t}\n\t}\n\n\tprivate static async assertCombinedContractContents() {\n\t\tconst imported = await this.importCombinedContractsFile()\n\n\t\tassert.isTruthy(imported)\n\t\tassert.isArray(imported)\n\n\t\tconst localContract = eventContractUtil.unifyContracts(imported)\n\t\tassert.isTruthy(localContract)\n\n\t\tconst sigs = eventContractUtil.getNamedEventSignatures(coreContract)\n\n\t\tfor (const sig of sigs) {\n\t\t\teventContractUtil.getSignatureByName(\n\t\t\t\tlocalContract,\n\t\t\t\tsig.fullyQualifiedEventName\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate static async importCombinedContractsFile(): Promise<EventContract[]> {\n\t\tconst eventContractsFile = this.eventContractPath\n\n\t\t// hack import to bring types in when importing contract file\n\t\tif (\n\t\t\tdiskUtil.doesDirExist(\n\t\t\t\tthis.resolvePath('node_modules/@sprucelabs/mercury-types')\n\t\t\t)\n\t\t) {\n\t\t\tconst contents = diskUtil.readFile(eventContractsFile)\n\t\t\tdiskUtil.writeFile(\n\t\t\t\teventContractsFile,\n\t\t\t\t`import '@sprucelabs/mercury-types'\\n${contents}`\n\t\t\t)\n\t\t}\n\n\t\tconst imported: EventContract[] =\n\t\t\tawait this.Service('import').importDefault(eventContractsFile)\n\n\t\treturn imported\n\t}\n\n\tprivate static async assertEventsHavePayloads(\n\t\tresults: FeatureActionResponse,\n\t\teventName = 'authenticate'\n\t) {\n\t\tconst imported = await this.importCombinedContractsFile()\n\t\tconst contract = eventContractUtil.unifyContracts(imported)\n\n\t\tassert.isTruthy(contract)\n\n\t\tvalidateEventContract(contract)\n\n\t\tconst signature = eventContractUtil.getSignatureByName(contract, eventName)\n\n\t\tassert.isTruthy(signature.emitPayloadSchema)\n\t\tvalidateSchema(signature.emitPayloadSchema)\n\n\t\tassert.isTruthy(signature.responsePayloadSchema)\n\t\tvalidateSchema(signature.responsePayloadSchema)\n\t}\n\n\tprivate static assertCorePayloadSchemasAreCreated(\n\t\tresults: FeatureActionResponse,\n\t\tshouldHaveWritten = true\n\t) {\n\t\tconst filesToCheck = [\n\t\t\t{\n\t\t\t\tname: `unregisterListenersEmitTargetAndPayload.schema.ts`,\n\t\t\t\tpath: `schemas${pathUtil.sep}${MERCURY_API_NAMESPACE}`,\n\t\t\t},\n\t\t]\n\n\t\tthis.assertFilesWereGenerated(filesToCheck, results, shouldHaveWritten)\n\t}\n\n\tprivate static assertFilesWereGenerated(\n\t\tfilesToCheck: { name: string; path: string }[],\n\t\tresults: FeatureActionResponse,\n\t\tshouldHaveWritten = true\n\t) {\n\t\tfor (const file of filesToCheck) {\n\t\t\tconst expected = this.resolveHashSprucePath(\n\t\t\t\t'schemas/mercury/v2020_12_25',\n\t\t\t\tfile.name\n\t\t\t)\n\t\t\tconst doesExist = diskUtil.doesFileExist(expected)\n\n\t\t\tif (shouldHaveWritten) {\n\t\t\t\tassert.isTrue(doesExist, `Expected to find ${file} on the filesystem.`)\n\t\t\t} else {\n\t\t\t\tassert.isFalse(doesExist, `Should not have written ${file}.`)\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static assertCoreEventContractsSavedToDisk(shouldHaveWritten = true) {\n\t\tconst sigs = eventContractUtil.getNamedEventSignatures(coreContract)\n\n\t\tfor (const sig of sigs) {\n\t\t\tconst expected = this.resolveHashSprucePath(\n\t\t\t\t`events/mercury/${namesUtil.toCamel(\n\t\t\t\t\tsig.eventName\n\t\t\t\t)}.v2020_12_25.contract.ts`\n\t\t\t)\n\t\t\tconst doesExist = diskUtil.doesFileExist(expected)\n\n\t\t\tif (shouldHaveWritten) {\n\t\t\t\tassert.isTrue(doesExist, `Expected to write a file ${expected}.`)\n\t\t\t} else {\n\t\t\t\tassert.isFalse(\n\t\t\t\t\tdoesExist,\n\t\t\t\t\t`Generated contract for ${sig.fullyQualifiedEventName} and it should not have because it's a core contract.`\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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"}
@@ -30,7 +30,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
30
30
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
31
31
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
32
32
  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; } }
33
- var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate connection errors'), _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) {
33
+ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate connection errors'), _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, _syncingSchemasWithDisconnectedStopsWithError, _syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled, _canGetNumberOfEventsBackFromHealthCheck, _syncsEventsFromOtherSkills, _twoSkillsWithSameEventCanBeSynced, _skillWithSameEventNameButDifferentVersionsCanBeSynced, _unRegisteredEventsAreRemoved, _syncCoreEventsPretendingToBeMercuryTypes, _seedSkillsAndRegisterAndSyncEvents, _registerEventAndSync) {
34
34
  (0, _inherits2["default"])(KeepingEventsInSyncTest, _AbstractEventTest);
35
35
  var _super = _createSuper(KeepingEventsInSyncTest);
36
36
  function KeepingEventsInSyncTest() {
@@ -44,8 +44,8 @@ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate
44
44
  }
45
45
  }, {
46
46
  key: "syncingSchemasWithDisconnectedStopsWithError",
47
- value: function () {
48
- var _syncingSchemasWithDisconnectedStopsWithError = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
47
+ value: function syncingSchemasWithDisconnectedStopsWithError() {
48
+ return (_syncingSchemasWithDisconnectedStopsWithError = _syncingSchemasWithDisconnectedStopsWithError || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
49
49
  var results, match, client, results2;
50
50
  return _regenerator["default"].wrap(function _callee$(_context) {
51
51
  while (1) switch (_context.prev = _context.next) {
@@ -82,16 +82,12 @@ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate
82
82
  return _context.stop();
83
83
  }
84
84
  }, _callee, this);
85
- }));
86
- function syncingSchemasWithDisconnectedStopsWithError() {
87
- return _syncingSchemasWithDisconnectedStopsWithError.apply(this, arguments);
88
- }
89
- return syncingSchemasWithDisconnectedStopsWithError;
90
- }()
85
+ }))).apply(this, arguments);
86
+ }
91
87
  }, {
92
88
  key: "syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled",
93
- value: function () {
94
- var _syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
89
+ value: function syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled() {
90
+ return (_syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled = _syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
95
91
  var _this = this;
96
92
  var results;
97
93
  return _regenerator["default"].wrap(function _callee2$(_context2) {
@@ -112,16 +108,12 @@ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate
112
108
  return _context2.stop();
113
109
  }
114
110
  }, _callee2, this);
115
- }));
116
- function syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled() {
117
- return _syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled.apply(this, arguments);
118
- }
119
- return syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled;
120
- }()
111
+ }))).apply(this, arguments);
112
+ }
121
113
  }, {
122
114
  key: "canGetNumberOfEventsBackFromHealthCheck",
123
- value: function () {
124
- var _canGetNumberOfEventsBackFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
115
+ value: function canGetNumberOfEventsBackFromHealthCheck() {
116
+ return (_canGetNumberOfEventsBackFromHealthCheck = _canGetNumberOfEventsBackFromHealthCheck || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
125
117
  var cli, results, health;
126
118
  return _regenerator["default"].wrap(function _callee3$(_context3) {
127
119
  while (1) switch (_context3.prev = _context3.next) {
@@ -155,16 +147,12 @@ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate
155
147
  return _context3.stop();
156
148
  }
157
149
  }, _callee3, this);
158
- }));
159
- function canGetNumberOfEventsBackFromHealthCheck() {
160
- return _canGetNumberOfEventsBackFromHealthCheck.apply(this, arguments);
161
- }
162
- return canGetNumberOfEventsBackFromHealthCheck;
163
- }()
150
+ }))).apply(this, arguments);
151
+ }
164
152
  }, {
165
153
  key: "syncsEventsFromOtherSkills",
166
- value: function () {
167
- var _syncsEventsFromOtherSkills = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
154
+ value: function syncsEventsFromOtherSkills() {
155
+ return (_syncsEventsFromOtherSkills = _syncsEventsFromOtherSkills || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
168
156
  var _sig$emitPayloadSchem, _sig$responsePayloadS;
169
157
  var _yield$this$seedDummy, skillFixture, skill2, eventName, fqen, results, match, contract, sig;
170
158
  return _regenerator["default"].wrap(function _callee4$(_context4) {
@@ -256,16 +244,12 @@ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate
256
244
  return _context4.stop();
257
245
  }
258
246
  }, _callee4, this);
259
- }));
260
- function syncsEventsFromOtherSkills() {
261
- return _syncsEventsFromOtherSkills.apply(this, arguments);
262
- }
263
- return syncsEventsFromOtherSkills;
264
- }()
247
+ }))).apply(this, arguments);
248
+ }
265
249
  }, {
266
250
  key: "twoSkillsWithSameEventCanBeSynced",
267
- value: function () {
268
- var _twoSkillsWithSameEventCanBeSynced = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
251
+ value: function twoSkillsWithSameEventCanBeSynced() {
252
+ return (_twoSkillsWithSameEventCanBeSynced = _twoSkillsWithSameEventCanBeSynced || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
269
253
  var _yield$this$seedDummy2, skill2, skillFixture, orgFixture, org, skill3, eventName, results, contract;
270
254
  return _regenerator["default"].wrap(function _callee5$(_context5) {
271
255
  while (1) switch (_context5.prev = _context5.next) {
@@ -329,16 +313,12 @@ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate
329
313
  return _context5.stop();
330
314
  }
331
315
  }, _callee5, this);
332
- }));
333
- function twoSkillsWithSameEventCanBeSynced() {
334
- return _twoSkillsWithSameEventCanBeSynced.apply(this, arguments);
335
- }
336
- return twoSkillsWithSameEventCanBeSynced;
337
- }()
316
+ }))).apply(this, arguments);
317
+ }
338
318
  }, {
339
319
  key: "skillWithSameEventNameButDifferentVersionsCanBeSynced",
340
- value: function () {
341
- var _skillWithSameEventNameButDifferentVersionsCanBeSynced = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
320
+ value: function skillWithSameEventNameButDifferentVersionsCanBeSynced() {
321
+ return (_skillWithSameEventNameButDifferentVersionsCanBeSynced = _skillWithSameEventNameButDifferentVersionsCanBeSynced || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
342
322
  var _eventSignatures4;
343
323
  var _yield$this$seedDummy3, skill2, skillFixture, eventName, eventName2, results, contract;
344
324
  return _regenerator["default"].wrap(function _callee6$(_context6) {
@@ -385,16 +365,12 @@ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate
385
365
  return _context6.stop();
386
366
  }
387
367
  }, _callee6, this);
388
- }));
389
- function skillWithSameEventNameButDifferentVersionsCanBeSynced() {
390
- return _skillWithSameEventNameButDifferentVersionsCanBeSynced.apply(this, arguments);
391
- }
392
- return skillWithSameEventNameButDifferentVersionsCanBeSynced;
393
- }()
368
+ }))).apply(this, arguments);
369
+ }
394
370
  }, {
395
371
  key: "unRegisteredEventsAreRemoved",
396
- value: function () {
397
- var _unRegisteredEventsAreRemoved = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
372
+ value: function unRegisteredEventsAreRemoved() {
373
+ return (_unRegisteredEventsAreRemoved = _unRegisteredEventsAreRemoved || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
398
374
  var _yield$this$seedSkill, skillFixture, syncResults, skill2, contractFileName, eventContract, dirname;
399
375
  return _regenerator["default"].wrap(function _callee7$(_context7) {
400
376
  while (1) switch (_context7.prev = _context7.next) {
@@ -428,16 +404,12 @@ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate
428
404
  return _context7.stop();
429
405
  }
430
406
  }, _callee7, this);
431
- }));
432
- function unRegisteredEventsAreRemoved() {
433
- return _unRegisteredEventsAreRemoved.apply(this, arguments);
434
- }
435
- return unRegisteredEventsAreRemoved;
436
- }()
407
+ }))).apply(this, arguments);
408
+ }
437
409
  }, {
438
410
  key: "syncCoreEventsPretendingToBeMercuryTypes",
439
- value: function () {
440
- var _syncCoreEventsPretendingToBeMercuryTypes = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
411
+ value: function syncCoreEventsPretendingToBeMercuryTypes() {
412
+ return (_syncCoreEventsPretendingToBeMercuryTypes = _syncCoreEventsPretendingToBeMercuryTypes || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
441
413
  var results, builder;
442
414
  return _regenerator["default"].wrap(function _callee8$(_context8) {
443
415
  while (1) switch (_context8.prev = _context8.next) {
@@ -461,16 +433,12 @@ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate
461
433
  return _context8.stop();
462
434
  }
463
435
  }, _callee8, this);
464
- }));
465
- function syncCoreEventsPretendingToBeMercuryTypes() {
466
- return _syncCoreEventsPretendingToBeMercuryTypes.apply(this, arguments);
467
- }
468
- return syncCoreEventsPretendingToBeMercuryTypes;
469
- }()
436
+ }))).apply(this, arguments);
437
+ }
470
438
  }, {
471
439
  key: "seedSkillsAndRegisterAndSyncEvents",
472
- value: function () {
473
- var _seedSkillsAndRegisterAndSyncEvents = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(signature) {
440
+ value: function seedSkillsAndRegisterAndSyncEvents(_x) {
441
+ return (_seedSkillsAndRegisterAndSyncEvents = _seedSkillsAndRegisterAndSyncEvents || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(signature) {
474
442
  var _yield$this$seedDummy4, skill2, skillFixture, cli, _yield$this$registerE, results, filename;
475
443
  return _regenerator["default"].wrap(function _callee9$(_context9) {
476
444
  while (1) switch (_context9.prev = _context9.next) {
@@ -500,16 +468,12 @@ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate
500
468
  return _context9.stop();
501
469
  }
502
470
  }, _callee9, this);
503
- }));
504
- function seedSkillsAndRegisterAndSyncEvents(_x) {
505
- return _seedSkillsAndRegisterAndSyncEvents.apply(this, arguments);
506
- }
507
- return seedSkillsAndRegisterAndSyncEvents;
508
- }()
471
+ }))).apply(this, arguments);
472
+ }
509
473
  }, {
510
474
  key: "registerEventAndSync",
511
- value: function () {
512
- var _registerEventAndSync = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10(skill, signature) {
475
+ value: function registerEventAndSync(_x2, _x3) {
476
+ return (_registerEventAndSync = _registerEventAndSync || (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10(skill, signature) {
513
477
  var skillFixture, stamp, eventName, filename, results;
514
478
  return _regenerator["default"].wrap(function _callee10$(_context10) {
515
479
  while (1) switch (_context10.prev = _context10.next) {
@@ -550,12 +514,8 @@ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate
550
514
  return _context10.stop();
551
515
  }
552
516
  }, _callee10, this);
553
- }));
554
- function registerEventAndSync(_x2, _x3) {
555
- return _registerEventAndSync.apply(this, arguments);
556
- }
557
- return registerEventAndSync;
558
- }()
517
+ }))).apply(this, arguments);
518
+ }
559
519
  }, {
560
520
  key: "assertCorePayloadSchemasAreCreated",
561
521
  value: function assertCorePayloadSchemasAreCreated(results) {
@@ -1 +1 @@
1
- {"version":3,"file":"KeepingEventsInSync2.test.js","names":["_path","_interopRequireDefault","require","_mercuryTypes","_spruceEventUtils","_spruceSkillUtils","_testUtils","_EventWriter","_AbstractEventTest2","_test","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_class","_class2","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","KeepingEventsInSyncTest","skip","_AbstractEventTest","_inherits2","_super","_classCallCheck2","_createClass2","key","get","versionUtil","generateVersion","_syncingSchemasWithDisconnectedStopsWithError","_asyncToGenerator2","_regenerator","mark","_callee","results","match","client","results2","wrap","_callee$","_context","prev","FeatureFixture","installCachedFeatures","syncCoreEventsPretendingToBeMercuryTypes","Action","execute","sent","testUtil","assertFileByNameInGeneratedFiles","files","assert","isTrue","diskUtil","doesFileExist","getMercuryFixture","connectToApi","shouldAuthAsCurrentSkill","disconnect","isTruthy","errors","stop","syncingSchemasWithDisconnectedStopsWithError","_syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled","_callee2","_this","_callee2$","_context2","doesThrow","assertCorePayloadSchemasAreCreated","syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled","_canGetNumberOfEventsBackFromHealthCheck","_callee3","cli","health","_callee3$","_context3","isFalsy","Service","build","checkHealth","shouldRunOnSourceFiles","skill","event","isEqual","status","contracts","isAbove","canGetNumberOfEventsBackFromHealthCheck","_syncsEventsFromOtherSkills","_callee4","_sig$emitPayloadSchem","_sig$responsePayloadS","_yield$this$seedDummy","skillFixture","skill2","eventName","fqen","contract","sig","_callee4$","_context4","seedDummySkillRegisterCurrentSkillAndInstallToOrg","concat","todaysVersion","constValue","slug","registerEventContract","eventSignatures","emitPayloadSchema","buildEmitTargetAndPayloadSchema","targetSchema","eventTargetSchema","payloadSchema","id","fields","onlyField","type","responsePayloadSchema","emitPermissionContract","buildPermissionContract","permissions","defaults","guest","listenPermissionContract","add","namespace","dirValue","doesInclude","namesUtil","toCamel","pathUtil","sep","importDefault","eventContractUtil","getSignatureByName","payload","options","schema","syncsEventsFromOtherSkills","_twoSkillsWithSameEventCanBeSynced","_callee5","_yield$this$seedDummy2","orgFixture","org","skill3","_callee5$","_context5","seedDemoSkill","installSkillAtOrganization","set","check","twoSkillsWithSameEventCanBeSynced","_skillWithSameEventNameButDifferentVersionsCanBeSynced","_callee6","_eventSignatures4","_yield$this$seedDummy3","eventName2","_callee6$","_context6","randomVersion","skillWithSameEventNameButDifferentVersionsCanBeSynced","_unRegisteredEventsAreRemoved","_callee7","_yield$this$seedSkill","syncResults","contractFileName","eventContract","dirname","_callee7$","_context7","seedSkillsAndRegisterAndSyncEvents","assertValidActionResponseFiles","unRegisterEvents","shouldUnregisterAll","isFalse","doesDirExist","unRegisteredEventsAreRemoved","_syncCoreEventsPretendingToBeMercuryTypes","_callee8","builder","_callee8$","_context8","shouldSyncOnlyCoreEvents","eventBuilderFile","skillEventContractTypesFile","writeFile","resolvePath","uninstall","abrupt","_seedSkillsAndRegisterAndSyncEvents","_callee9","signature","_yield$this$seedDummy4","_yield$this$registerE","filename","_callee9$","_context9","registerEventAndSync","_x","_registerEventAndSync","_callee10","stamp","_callee10$","_context10","getSkillFixture","Date","getTime","generateEventContractFileName","nameCamel","version","_x2","_x3","shouldHaveWritten","undefined","filesToCheck","path","MERCURY_API_NAMESPACE","assertFilesWereGenerated","_iterator","_step","file","expected","resolveHashSprucePath","doesExist","AbstractEventTest","_applyDecoratedDescriptor2","exports"],"sources":["../../../../src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts"],"sourcesContent":["import pathUtil from 'path'\nimport {\n\tbuildPermissionContract,\n\tEventSignature,\n} from '@sprucelabs/mercury-types'\nimport {\n\tbuildEmitTargetAndPayloadSchema,\n\teventContractUtil,\n\teventTargetSchema,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tMERCURY_API_NAMESPACE,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { generateEventContractFileName } from '../../../features/event/writers/EventWriter'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport { RegisteredSkill } from '../../../types/cli.types'\n\nexport default class KeepingEventsInSyncTest extends AbstractEventTest {\n\tprivate static randomVersion = 'v2020_01_01'\n\n\tprivate static get todaysVersion() {\n\t\treturn versionUtil.generateVersion()\n\t}\n\n\t@test.skip('find how to simulate connection errors')\n\tprotected static async syncingSchemasWithDisconnectedStopsWithError() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tawait this.syncCoreEventsPretendingToBeMercuryTypes()\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'sendMessageEmitPayload.schema.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(match))\n\n\t\tconst client = await this.getMercuryFixture().connectToApi({\n\t\t\tshouldAuthAsCurrentSkill: true,\n\t\t})\n\n\t\tawait client.disconnect()\n\n\t\tconst results2 = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isTruthy(results2.errors)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(match))\n\t}\n\n\t@test()\n\tprotected static async syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled() {\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.doesThrow(() => this.assertCorePayloadSchemasAreCreated(results))\n\t}\n\n\t@test()\n\tprotected static async canGetNumberOfEventsBackFromHealthCheck() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tawait this.Service('build').build()\n\n\t\tconst health = await cli.checkHealth({ shouldRunOnSourceFiles: false })\n\n\t\tassert.isTruthy(health.skill)\n\t\tassert.isFalsy(health.skill.errors)\n\t\tassert.isTruthy(health.event)\n\t\tassert.isEqual(health.event.status, 'passed')\n\t\tassert.isTruthy(health.event.contracts)\n\n\t\tassert.isAbove(health.event.contracts.length, 0)\n\t}\n\n\t@test()\n\tprotected static async syncsEventsFromOtherSkills() {\n\t\tconst { skillFixture, skill2 } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst eventName = `my-new-event::${this.todaysVersion.constValue}`\n\t\tconst fqen = `${skill2.slug}.my-new-event::${this.todaysVersion.constValue}`\n\n\t\tawait skillFixture.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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: 'myNewEventEmitPayloadId',\n\t\t\t\t\t\t\tfields: { onlyField: { type: 'text' } },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\tid: 'myNewEventResponsePayloadId',\n\t\t\t\t\t\tfields: {},\n\t\t\t\t\t},\n\t\t\t\t\temitPermissionContract: buildPermissionContract({\n\t\t\t\t\t\tid: 'myNewEventEmitPermissionContract',\n\t\t\t\t\t\tname: 'My new event emit permissionContract',\n\t\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'can-emit',\n\t\t\t\t\t\t\t\tname: 'Can emit my new event',\n\t\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\t\tguest: {\n\t\t\t\t\t\t\t\t\t\tdefault: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}),\n\t\t\t\t\tlistenPermissionContract: buildPermissionContract({\n\t\t\t\t\t\tid: 'myNewEventListenPermissionContract',\n\t\t\t\t\t\tname: 'My new event listen permissionContract',\n\t\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'can-listen',\n\t\t\t\t\t\t\t\tname: 'Can emit my new event',\n\t\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\t\tguest: {\n\t\t\t\t\t\t\t\t\t\tdefault: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\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.Action('event', 'sync').execute({})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`myNewEvent.${this.todaysVersion.dirValue}.contract.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tmatch,\n\t\t\t`${namesUtil.toCamel(skill2.slug)}${pathUtil.sep}myNewEvent.${\n\t\t\t\tthis.todaysVersion.dirValue\n\t\t\t}.contract.ts`\n\t\t)\n\n\t\tconst contract = (await this.Service('import').importDefault(match)) as any\n\t\tconst sig = eventContractUtil.getSignatureByName(contract, fqen)\n\n\t\tassert.isTruthy(sig.emitPayloadSchema)\n\t\tassert.isTruthy(\n\t\t\t//@ts-ignore\n\t\t\tsig.emitPayloadSchema.fields?.payload?.options?.schema?.id,\n\t\t\t'myNewEventEmitPayloadId'\n\t\t)\n\t\tassert.isTruthy(\n\t\t\tsig.responsePayloadSchema?.id,\n\t\t\t'myNewEventResponsePayloadId'\n\t\t)\n\n\t\tassert.isTruthy(sig.emitPermissionContract)\n\t\tassert.isEqual(\n\t\t\tsig.emitPermissionContract.id,\n\t\t\t`${skill2.slug}.myNewEventEmitPermissionContract`\n\t\t)\n\t\tassert.isEqual(sig.emitPermissionContract.permissions[0].id, 'can-emit')\n\t\tassert.isTruthy(sig.listenPermissionContract)\n\t\tassert.isEqual(\n\t\t\tsig.listenPermissionContract.id,\n\t\t\t`${skill2.slug}.myNewEventListenPermissionContract`\n\t\t)\n\t\tassert.isEqual(sig.listenPermissionContract.permissions[0].id, 'can-listen')\n\t}\n\n\t@test()\n\tprotected static async twoSkillsWithSameEventCanBeSynced() {\n\t\tconst { skill2, skillFixture, orgFixture, org } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst skill3 = await skillFixture.seedDemoSkill({ name: 'a third skill' })\n\n\t\tawait orgFixture.installSkillAtOrganization(skill3.id, org.id)\n\n\t\tconst eventName = `my-new-event::${this.todaysVersion.constValue}`\n\n\t\tawait skillFixture.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait skillFixture.registerEventContract(skill3, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.Service('dependency').set([\n\t\t\t{\n\t\t\t\tid: skill2.id,\n\t\t\t\tnamespace: skill2.slug,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: skill3.id,\n\t\t\t\tnamespace: skill3.slug,\n\t\t\t},\n\t\t])\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\tconst contract = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(contract)\n\t}\n\n\t@test()\n\tprotected static async skillWithSameEventNameButDifferentVersionsCanBeSynced() {\n\t\tconst { skill2, skillFixture } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst eventName = `my-new-event::${this.todaysVersion.constValue}`\n\t\tconst eventName2 = `my-new-event::${this.randomVersion}`\n\n\t\tawait skillFixture.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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}),\n\t\t\t\t},\n\t\t\t\t[eventName2]: {\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}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.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.Action('event', 'sync').execute({})\n\n\t\tconst contract = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(contract)\n\t}\n\n\t@test()\n\tprotected static async unRegisteredEventsAreRemoved() {\n\t\tconst { skillFixture, syncResults, skill2, contractFileName } =\n\t\t\tawait this.seedSkillsAndRegisterAndSyncEvents()\n\n\t\tawait this.assertValidActionResponseFiles(syncResults)\n\n\t\tawait skillFixture.unRegisterEvents(skill2, {\n\t\t\tshouldUnregisterAll: true,\n\t\t})\n\n\t\tconst eventContract = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\tcontractFileName,\n\t\t\tsyncResults.files\n\t\t)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(eventContract))\n\n\t\tawait this.Action('event', 'sync').execute({})\n\n\t\tassert.isFalse(diskUtil.doesFileExist(eventContract))\n\n\t\tconst dirname = pathUtil.dirname(eventContract)\n\t\tassert.isFalse(diskUtil.doesDirExist(dirname))\n\t}\n\n\tprivate static async syncCoreEventsPretendingToBeMercuryTypes() {\n\t\tconst results = await this.Action('event', 'sync').execute({\n\t\t\tshouldSyncOnlyCoreEvents: true,\n\t\t\teventBuilderFile: '../../../builder',\n\t\t\tskillEventContractTypesFile: '../../builder',\n\t\t})\n\n\t\tconst builder = `\nexport function buildEventContract(..._: any[]):any { return _[0] }\nexport function buildPermissionContract(..._: any[]):any { return _[0] }\n`\n\n\t\tdiskUtil.writeFile(this.resolvePath('src', 'builder.ts'), builder)\n\t\tawait this.Service('pkg').uninstall([\n\t\t\t'@sprucelabs/mercury-types',\n\t\t\t'@sprucelabs/mercury-client',\n\t\t\t'@sprucelabs/spruce-event-plugin',\n\t\t])\n\t\treturn results\n\t}\n\n\tprivate static async seedSkillsAndRegisterAndSyncEvents(\n\t\tsignature?: EventSignature\n\t) {\n\t\tconst { skill2, skillFixture, cli } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst { results, filename } = await this.registerEventAndSync(\n\t\t\tskill2,\n\t\t\tsignature\n\t\t)\n\n\t\treturn {\n\t\t\tskillFixture,\n\t\t\tsyncResults: results,\n\t\t\tcli,\n\t\t\tskill2,\n\t\t\tcontractFileName: filename,\n\t\t}\n\t}\n\n\tprivate static async registerEventAndSync(\n\t\tskill: RegisteredSkill,\n\t\tsignature?: EventSignature\n\t) {\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tconst stamp = new Date().getTime()\n\t\tconst eventName = `cleanup-event-test-${stamp}::${this.todaysVersion.constValue}`\n\t\tconst filename = generateEventContractFileName({\n\t\t\tnameCamel: `cleanupEventTest${stamp}`,\n\t\t\tversion: this.todaysVersion.constValue,\n\t\t})\n\n\t\tawait skillFixture.registerEventContract(skill, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName,\n\t\t\t\t\t\ttargetSchema: eventTargetSchema,\n\t\t\t\t\t}),\n\t\t\t\t\t...signature,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.Service('dependency').add({\n\t\t\tid: skill.id,\n\t\t\tnamespace: skill.slug,\n\t\t})\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\treturn { results, filename }\n\t}\n\n\tprivate static assertCorePayloadSchemasAreCreated(\n\t\tresults: FeatureActionResponse,\n\t\tshouldHaveWritten = true\n\t) {\n\t\tconst filesToCheck = [\n\t\t\t{\n\t\t\t\tname: `unregisterListenersEmitTargetAndPayload.schema.ts`,\n\t\t\t\tpath: `schemas${pathUtil.sep}${MERCURY_API_NAMESPACE}`,\n\t\t\t},\n\t\t]\n\n\t\tthis.assertFilesWereGenerated(filesToCheck, results, shouldHaveWritten)\n\t}\n\n\tprivate static assertFilesWereGenerated(\n\t\tfilesToCheck: { name: string; path: string }[],\n\t\tresults: FeatureActionResponse,\n\t\tshouldHaveWritten = true\n\t) {\n\t\tfor (const file of filesToCheck) {\n\t\t\tconst expected = this.resolveHashSprucePath(\n\t\t\t\t'schemas/mercury/v2020_12_25',\n\t\t\t\tfile.name\n\t\t\t)\n\t\t\tconst doesExist = diskUtil.doesFileExist(expected)\n\n\t\t\tif (shouldHaveWritten) {\n\t\t\t\tassert.isTrue(doesExist, `Expected to find ${file} on the filesystem.`)\n\t\t\t} else {\n\t\t\t\tassert.isFalse(doesExist, `Should not have written ${file}.`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"KeepingEventsInSync2.test.js","names":["_path","_interopRequireDefault","require","_mercuryTypes","_spruceEventUtils","_spruceSkillUtils","_testUtils","_EventWriter","_AbstractEventTest2","_test","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_class","_class2","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","KeepingEventsInSyncTest","skip","_AbstractEventTest","_syncingSchemasWithDisconnectedStopsWithError","_syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled","_canGetNumberOfEventsBackFromHealthCheck","_syncsEventsFromOtherSkills","_twoSkillsWithSameEventCanBeSynced","_skillWithSameEventNameButDifferentVersionsCanBeSynced","_unRegisteredEventsAreRemoved","_syncCoreEventsPretendingToBeMercuryTypes","_seedSkillsAndRegisterAndSyncEvents","_registerEventAndSync","_inherits2","_super","_classCallCheck2","_createClass2","key","get","versionUtil","generateVersion","syncingSchemasWithDisconnectedStopsWithError","_asyncToGenerator2","_regenerator","mark","_callee","results","match","client","results2","wrap","_callee$","_context","prev","FeatureFixture","installCachedFeatures","syncCoreEventsPretendingToBeMercuryTypes","Action","execute","sent","testUtil","assertFileByNameInGeneratedFiles","files","assert","isTrue","diskUtil","doesFileExist","getMercuryFixture","connectToApi","shouldAuthAsCurrentSkill","disconnect","isTruthy","errors","stop","syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled","_callee2","_this","_callee2$","_context2","doesThrow","assertCorePayloadSchemasAreCreated","canGetNumberOfEventsBackFromHealthCheck","_callee3","cli","health","_callee3$","_context3","isFalsy","Service","build","checkHealth","shouldRunOnSourceFiles","skill","event","isEqual","status","contracts","isAbove","syncsEventsFromOtherSkills","_callee4","_sig$emitPayloadSchem","_sig$responsePayloadS","_yield$this$seedDummy","skillFixture","skill2","eventName","fqen","contract","sig","_callee4$","_context4","seedDummySkillRegisterCurrentSkillAndInstallToOrg","concat","todaysVersion","constValue","slug","registerEventContract","eventSignatures","emitPayloadSchema","buildEmitTargetAndPayloadSchema","targetSchema","eventTargetSchema","payloadSchema","id","fields","onlyField","type","responsePayloadSchema","emitPermissionContract","buildPermissionContract","permissions","defaults","guest","listenPermissionContract","add","namespace","dirValue","doesInclude","namesUtil","toCamel","pathUtil","sep","importDefault","eventContractUtil","getSignatureByName","payload","options","schema","twoSkillsWithSameEventCanBeSynced","_callee5","_yield$this$seedDummy2","orgFixture","org","skill3","_callee5$","_context5","seedDemoSkill","installSkillAtOrganization","set","check","skillWithSameEventNameButDifferentVersionsCanBeSynced","_callee6","_eventSignatures4","_yield$this$seedDummy3","eventName2","_callee6$","_context6","randomVersion","unRegisteredEventsAreRemoved","_callee7","_yield$this$seedSkill","syncResults","contractFileName","eventContract","dirname","_callee7$","_context7","seedSkillsAndRegisterAndSyncEvents","assertValidActionResponseFiles","unRegisterEvents","shouldUnregisterAll","isFalse","doesDirExist","_callee8","builder","_callee8$","_context8","shouldSyncOnlyCoreEvents","eventBuilderFile","skillEventContractTypesFile","writeFile","resolvePath","uninstall","abrupt","_x","_callee9","signature","_yield$this$seedDummy4","_yield$this$registerE","filename","_callee9$","_context9","registerEventAndSync","_x2","_x3","_callee10","stamp","_callee10$","_context10","getSkillFixture","Date","getTime","generateEventContractFileName","nameCamel","version","shouldHaveWritten","undefined","filesToCheck","path","MERCURY_API_NAMESPACE","assertFilesWereGenerated","_iterator","_step","file","expected","resolveHashSprucePath","doesExist","AbstractEventTest","_applyDecoratedDescriptor2","exports"],"sources":["../../../../src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts"],"sourcesContent":["import pathUtil from 'path'\nimport {\n\tbuildPermissionContract,\n\tEventSignature,\n} from '@sprucelabs/mercury-types'\nimport {\n\tbuildEmitTargetAndPayloadSchema,\n\teventContractUtil,\n\teventTargetSchema,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tMERCURY_API_NAMESPACE,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { generateEventContractFileName } from '../../../features/event/writers/EventWriter'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport { RegisteredSkill } from '../../../types/cli.types'\n\nexport default class KeepingEventsInSyncTest extends AbstractEventTest {\n\tprivate static randomVersion = 'v2020_01_01'\n\n\tprivate static get todaysVersion() {\n\t\treturn versionUtil.generateVersion()\n\t}\n\n\t@test.skip('find how to simulate connection errors')\n\tprotected static async syncingSchemasWithDisconnectedStopsWithError() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tawait this.syncCoreEventsPretendingToBeMercuryTypes()\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'sendMessageEmitPayload.schema.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(match))\n\n\t\tconst client = await this.getMercuryFixture().connectToApi({\n\t\t\tshouldAuthAsCurrentSkill: true,\n\t\t})\n\n\t\tawait client.disconnect()\n\n\t\tconst results2 = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isTruthy(results2.errors)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(match))\n\t}\n\n\t@test()\n\tprotected static async syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled() {\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.doesThrow(() => this.assertCorePayloadSchemasAreCreated(results))\n\t}\n\n\t@test()\n\tprotected static async canGetNumberOfEventsBackFromHealthCheck() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tawait this.Service('build').build()\n\n\t\tconst health = await cli.checkHealth({ shouldRunOnSourceFiles: false })\n\n\t\tassert.isTruthy(health.skill)\n\t\tassert.isFalsy(health.skill.errors)\n\t\tassert.isTruthy(health.event)\n\t\tassert.isEqual(health.event.status, 'passed')\n\t\tassert.isTruthy(health.event.contracts)\n\n\t\tassert.isAbove(health.event.contracts.length, 0)\n\t}\n\n\t@test()\n\tprotected static async syncsEventsFromOtherSkills() {\n\t\tconst { skillFixture, skill2 } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst eventName = `my-new-event::${this.todaysVersion.constValue}`\n\t\tconst fqen = `${skill2.slug}.my-new-event::${this.todaysVersion.constValue}`\n\n\t\tawait skillFixture.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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: 'myNewEventEmitPayloadId',\n\t\t\t\t\t\t\tfields: { onlyField: { type: 'text' } },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\tid: 'myNewEventResponsePayloadId',\n\t\t\t\t\t\tfields: {},\n\t\t\t\t\t},\n\t\t\t\t\temitPermissionContract: buildPermissionContract({\n\t\t\t\t\t\tid: 'myNewEventEmitPermissionContract',\n\t\t\t\t\t\tname: 'My new event emit permissionContract',\n\t\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'can-emit',\n\t\t\t\t\t\t\t\tname: 'Can emit my new event',\n\t\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\t\tguest: {\n\t\t\t\t\t\t\t\t\t\tdefault: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}),\n\t\t\t\t\tlistenPermissionContract: buildPermissionContract({\n\t\t\t\t\t\tid: 'myNewEventListenPermissionContract',\n\t\t\t\t\t\tname: 'My new event listen permissionContract',\n\t\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'can-listen',\n\t\t\t\t\t\t\t\tname: 'Can emit my new event',\n\t\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\t\tguest: {\n\t\t\t\t\t\t\t\t\t\tdefault: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\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.Action('event', 'sync').execute({})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`myNewEvent.${this.todaysVersion.dirValue}.contract.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tmatch,\n\t\t\t`${namesUtil.toCamel(skill2.slug)}${pathUtil.sep}myNewEvent.${\n\t\t\t\tthis.todaysVersion.dirValue\n\t\t\t}.contract.ts`\n\t\t)\n\n\t\tconst contract = (await this.Service('import').importDefault(match)) as any\n\t\tconst sig = eventContractUtil.getSignatureByName(contract, fqen)\n\n\t\tassert.isTruthy(sig.emitPayloadSchema)\n\t\tassert.isTruthy(\n\t\t\t//@ts-ignore\n\t\t\tsig.emitPayloadSchema.fields?.payload?.options?.schema?.id,\n\t\t\t'myNewEventEmitPayloadId'\n\t\t)\n\t\tassert.isTruthy(\n\t\t\tsig.responsePayloadSchema?.id,\n\t\t\t'myNewEventResponsePayloadId'\n\t\t)\n\n\t\tassert.isTruthy(sig.emitPermissionContract)\n\t\tassert.isEqual(\n\t\t\tsig.emitPermissionContract.id,\n\t\t\t`${skill2.slug}.myNewEventEmitPermissionContract`\n\t\t)\n\t\tassert.isEqual(sig.emitPermissionContract.permissions[0].id, 'can-emit')\n\t\tassert.isTruthy(sig.listenPermissionContract)\n\t\tassert.isEqual(\n\t\t\tsig.listenPermissionContract.id,\n\t\t\t`${skill2.slug}.myNewEventListenPermissionContract`\n\t\t)\n\t\tassert.isEqual(sig.listenPermissionContract.permissions[0].id, 'can-listen')\n\t}\n\n\t@test()\n\tprotected static async twoSkillsWithSameEventCanBeSynced() {\n\t\tconst { skill2, skillFixture, orgFixture, org } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst skill3 = await skillFixture.seedDemoSkill({ name: 'a third skill' })\n\n\t\tawait orgFixture.installSkillAtOrganization(skill3.id, org.id)\n\n\t\tconst eventName = `my-new-event::${this.todaysVersion.constValue}`\n\n\t\tawait skillFixture.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait skillFixture.registerEventContract(skill3, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.Service('dependency').set([\n\t\t\t{\n\t\t\t\tid: skill2.id,\n\t\t\t\tnamespace: skill2.slug,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: skill3.id,\n\t\t\t\tnamespace: skill3.slug,\n\t\t\t},\n\t\t])\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\tconst contract = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(contract)\n\t}\n\n\t@test()\n\tprotected static async skillWithSameEventNameButDifferentVersionsCanBeSynced() {\n\t\tconst { skill2, skillFixture } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst eventName = `my-new-event::${this.todaysVersion.constValue}`\n\t\tconst eventName2 = `my-new-event::${this.randomVersion}`\n\n\t\tawait skillFixture.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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}),\n\t\t\t\t},\n\t\t\t\t[eventName2]: {\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}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.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.Action('event', 'sync').execute({})\n\n\t\tconst contract = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(contract)\n\t}\n\n\t@test()\n\tprotected static async unRegisteredEventsAreRemoved() {\n\t\tconst { skillFixture, syncResults, skill2, contractFileName } =\n\t\t\tawait this.seedSkillsAndRegisterAndSyncEvents()\n\n\t\tawait this.assertValidActionResponseFiles(syncResults)\n\n\t\tawait skillFixture.unRegisterEvents(skill2, {\n\t\t\tshouldUnregisterAll: true,\n\t\t})\n\n\t\tconst eventContract = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\tcontractFileName,\n\t\t\tsyncResults.files\n\t\t)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(eventContract))\n\n\t\tawait this.Action('event', 'sync').execute({})\n\n\t\tassert.isFalse(diskUtil.doesFileExist(eventContract))\n\n\t\tconst dirname = pathUtil.dirname(eventContract)\n\t\tassert.isFalse(diskUtil.doesDirExist(dirname))\n\t}\n\n\tprivate static async syncCoreEventsPretendingToBeMercuryTypes() {\n\t\tconst results = await this.Action('event', 'sync').execute({\n\t\t\tshouldSyncOnlyCoreEvents: true,\n\t\t\teventBuilderFile: '../../../builder',\n\t\t\tskillEventContractTypesFile: '../../builder',\n\t\t})\n\n\t\tconst builder = `\nexport function buildEventContract(..._: any[]):any { return _[0] }\nexport function buildPermissionContract(..._: any[]):any { return _[0] }\n`\n\n\t\tdiskUtil.writeFile(this.resolvePath('src', 'builder.ts'), builder)\n\t\tawait this.Service('pkg').uninstall([\n\t\t\t'@sprucelabs/mercury-types',\n\t\t\t'@sprucelabs/mercury-client',\n\t\t\t'@sprucelabs/spruce-event-plugin',\n\t\t])\n\t\treturn results\n\t}\n\n\tprivate static async seedSkillsAndRegisterAndSyncEvents(\n\t\tsignature?: EventSignature\n\t) {\n\t\tconst { skill2, skillFixture, cli } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst { results, filename } = await this.registerEventAndSync(\n\t\t\tskill2,\n\t\t\tsignature\n\t\t)\n\n\t\treturn {\n\t\t\tskillFixture,\n\t\t\tsyncResults: results,\n\t\t\tcli,\n\t\t\tskill2,\n\t\t\tcontractFileName: filename,\n\t\t}\n\t}\n\n\tprivate static async registerEventAndSync(\n\t\tskill: RegisteredSkill,\n\t\tsignature?: EventSignature\n\t) {\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tconst stamp = new Date().getTime()\n\t\tconst eventName = `cleanup-event-test-${stamp}::${this.todaysVersion.constValue}`\n\t\tconst filename = generateEventContractFileName({\n\t\t\tnameCamel: `cleanupEventTest${stamp}`,\n\t\t\tversion: this.todaysVersion.constValue,\n\t\t})\n\n\t\tawait skillFixture.registerEventContract(skill, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName,\n\t\t\t\t\t\ttargetSchema: eventTargetSchema,\n\t\t\t\t\t}),\n\t\t\t\t\t...signature,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.Service('dependency').add({\n\t\t\tid: skill.id,\n\t\t\tnamespace: skill.slug,\n\t\t})\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\treturn { results, filename }\n\t}\n\n\tprivate static assertCorePayloadSchemasAreCreated(\n\t\tresults: FeatureActionResponse,\n\t\tshouldHaveWritten = true\n\t) {\n\t\tconst filesToCheck = [\n\t\t\t{\n\t\t\t\tname: `unregisterListenersEmitTargetAndPayload.schema.ts`,\n\t\t\t\tpath: `schemas${pathUtil.sep}${MERCURY_API_NAMESPACE}`,\n\t\t\t},\n\t\t]\n\n\t\tthis.assertFilesWereGenerated(filesToCheck, results, shouldHaveWritten)\n\t}\n\n\tprivate static assertFilesWereGenerated(\n\t\tfilesToCheck: { name: string; path: string }[],\n\t\tresults: FeatureActionResponse,\n\t\tshouldHaveWritten = true\n\t) {\n\t\tfor (const file of filesToCheck) {\n\t\t\tconst expected = this.resolveHashSprucePath(\n\t\t\t\t'schemas/mercury/v2020_12_25',\n\t\t\t\tfile.name\n\t\t\t)\n\t\t\tconst doesExist = diskUtil.doesFileExist(expected)\n\n\t\t\tif (shouldHaveWritten) {\n\t\t\t\tassert.isTrue(doesExist, `Expected to find ${file} on the filesystem.`)\n\t\t\t} else {\n\t\t\t\tassert.isFalse(doesExist, `Should not have written ${file}.`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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"}