@sprucelabs/spruce-cli 18.2.0 → 18.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/build/.spruce/events/events.contract.d.ts +159 -0
  3. package/build/.spruce/events/events.contract.js +5 -1
  4. package/build/.spruce/events/events.contract.js.map +1 -1
  5. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.d.ts +46 -0
  6. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js +57 -0
  7. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -0
  8. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.d.ts +68 -0
  9. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js +78 -0
  10. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -0
  11. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.d.ts +40 -0
  12. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js +51 -0
  13. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -0
  14. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.d.ts +9 -0
  15. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js +17 -0
  16. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -0
  17. package/build/.spruce/schemas/schemas.types.d.ts +158 -55
  18. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  19. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.d.ts +3 -0
  20. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js +70 -0
  21. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -0
  22. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.d.ts +3 -0
  23. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js +35 -0
  24. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -0
  25. package/build/.spruce/settings.json +2 -1
  26. package/build/GlobalEmitter.d.ts +13 -38
  27. package/build/GlobalEmitter.js +3 -6
  28. package/build/GlobalEmitter.js.map +1 -1
  29. package/build/__tests__/behavioral/TestingAConversation.test.d.ts +2 -1
  30. package/build/__tests__/behavioral/TestingAConversation.test.js +74 -84
  31. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  32. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +38 -13
  33. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  34. package/build/__tests__/behavioral/events/EventWriter.test.d.ts +4 -0
  35. package/build/__tests__/behavioral/events/EventWriter.test.js +116 -0
  36. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -0
  37. package/build/__tests__/behavioral/{ListeningToCoreEvents.test.d.ts → events/ListeningToCoreEvents.test.d.ts} +1 -1
  38. package/build/__tests__/behavioral/{ListeningToCoreEvents.test.js → events/ListeningToCoreEvents.test.js} +1 -1
  39. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -0
  40. package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.d.ts → events/RegisteringEventsOnBoot.test.d.ts} +1 -1
  41. package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.js → events/RegisteringEventsOnBoot.test.js} +2 -2
  42. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -0
  43. package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.d.ts → events/RegisteringGlobalEvents.test.d.ts} +2 -3
  44. package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.js → events/RegisteringGlobalEvents.test.js} +45 -70
  45. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -0
  46. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.d.ts +1 -0
  47. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +16 -9
  48. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  49. package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.d.ts → events/SyncingEventsOnlyFromDependencies.test.d.ts} +1 -1
  50. package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.js → events/SyncingEventsOnlyFromDependencies.test.js} +1 -1
  51. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -0
  52. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.d.ts +2 -2
  53. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +7 -7
  54. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  55. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.d.ts +6 -0
  56. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +85 -0
  57. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -0
  58. package/build/__tests__/behavioral/permissions/PermissionStore.test.d.ts +5 -4
  59. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +97 -63
  60. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  61. package/build/__tests__/behavioral/permissions/PermissionWriter.test.d.ts +5 -0
  62. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +88 -0
  63. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -0
  64. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +15 -4
  65. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +325 -28
  66. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  67. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.d.ts +11 -0
  68. package/build/__tests__/behavioral/permissions/{AbstractPermissionsTest.js → support/AbstractPermissionsTest.js} +34 -2
  69. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -0
  70. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.d.ts +1 -0
  71. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js +11 -0
  72. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -0
  73. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.d.ts +1 -0
  74. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js +17 -0
  75. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -0
  76. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.d.ts +5 -0
  77. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js +10 -0
  78. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -0
  79. package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.d.ts → schemas/CreatingSchemasWithGenerics.test.d.ts} +1 -1
  80. package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.js → schemas/CreatingSchemasWithGenerics.test.js} +2 -2
  81. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -0
  82. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.d.ts +1 -1
  83. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +46 -46
  84. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  85. package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.d.ts → schemas/SettingUpSchemasForModuleDistribution.test.d.ts} +1 -1
  86. package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.js → schemas/SettingUpSchemasForModuleDistribution.test.js} +3 -3
  87. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -0
  88. package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.d.ts → skill/InstallingASkillAtAnOrg.test.d.ts} +1 -1
  89. package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.js → skill/InstallingASkillAtAnOrg.test.js} +2 -2
  90. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -0
  91. package/build/__tests__/behavioral/{LoggingInAsASkill.test.d.ts → skill/LoggingInAsASkill.test.d.ts} +1 -1
  92. package/build/__tests__/behavioral/{LoggingInAsASkill.test.js → skill/LoggingInAsASkill.test.js} +2 -2
  93. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -0
  94. package/build/__tests__/behavioral/{RebuildingASkill.test.d.ts → skill/RebuildingASkill.test.d.ts} +1 -1
  95. package/build/__tests__/behavioral/{RebuildingASkill.test.js → skill/RebuildingASkill.test.js} +2 -2
  96. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -0
  97. package/build/__tests__/behavioral/tests/CreatingATest.test.js +2 -2
  98. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  99. package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.d.ts → tests/SettingUpASkillForTesting.test.d.ts} +1 -1
  100. package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.js → tests/SettingUpASkillForTesting.test.js} +2 -2
  101. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -0
  102. package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.d.ts → tests/TestReporterSettingsRemembered.test.d.ts} +1 -1
  103. package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.js → tests/TestReporterSettingsRemembered.test.js} +1 -1
  104. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -0
  105. package/build/__tests__/behavioral/{TestingDataStores.test.d.ts → tests/TestingDataStores.test.d.ts} +1 -1
  106. package/build/__tests__/behavioral/{TestingDataStores.test.js → tests/TestingDataStores.test.js} +3 -3
  107. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -0
  108. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +7 -3
  109. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  110. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +2 -2
  111. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  112. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +1 -1
  113. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  114. package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.d.ts → views/RegisteringSkillViewOnBoot.test.d.ts} +4 -4
  115. package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.js → views/RegisteringSkillViewOnBoot.test.js} +2 -2
  116. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -0
  117. package/build/__tests__/behavioral/{WatchingSkillViews.test.d.ts → views/WatchingSkillViews.test.d.ts} +1 -1
  118. package/build/__tests__/behavioral/{WatchingSkillViews.test.js → views/WatchingSkillViews.test.js} +2 -2
  119. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -0
  120. package/build/__tests__/implementation/ActionExecuter2.test.d.ts +1 -1
  121. package/build/__tests__/implementation/ActionExecuter2.test.js +23 -11
  122. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  123. package/build/__tests__/implementation/GlobalEmitter.test.d.ts +1 -0
  124. package/build/__tests__/implementation/GlobalEmitter.test.js +40 -3
  125. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  126. package/build/__tests__/implementation/SkillStore.test.js +3 -4
  127. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  128. package/build/features/AbstractAction.d.ts +1 -1
  129. package/build/features/AbstractAction.js.map +1 -1
  130. package/build/features/AbstractFeature.d.ts +3 -3
  131. package/build/features/AbstractFeature.js +8 -8
  132. package/build/features/AbstractFeature.js.map +1 -1
  133. package/build/features/ActionExecuter.d.ts +1 -1
  134. package/build/features/ActionExecuter.js +3 -4
  135. package/build/features/ActionExecuter.js.map +1 -1
  136. package/build/features/ActionFactory.d.ts +12 -5
  137. package/build/features/ActionFactory.js +27 -6
  138. package/build/features/ActionFactory.js.map +1 -1
  139. package/build/features/ActionQuestionAsker.d.ts +1 -1
  140. package/build/features/ActionQuestionAsker.js +6 -6
  141. package/build/features/ActionQuestionAsker.js.map +1 -1
  142. package/build/features/conversation/ConversationFeature.js +1 -1
  143. package/build/features/conversation/ConversationFeature.js.map +1 -1
  144. package/build/features/dependencies/DependencyFeature.js +1 -1
  145. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  146. package/build/features/deploy/actions/HerokuAction.js +31 -33
  147. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  148. package/build/features/error/ErrorFeature.js +4 -4
  149. package/build/features/error/ErrorFeature.js.map +1 -1
  150. package/build/features/event/EventFeature.d.ts +8 -8
  151. package/build/features/event/EventFeature.js +7 -4
  152. package/build/features/event/EventFeature.js.map +1 -1
  153. package/build/features/event/actions/CreateAction.js.map +1 -1
  154. package/build/features/event/actions/ListenAction.js.map +1 -1
  155. package/build/features/event/stores/EventStore.d.ts +9 -9
  156. package/build/features/event/stores/EventStore.js +26 -26
  157. package/build/features/event/stores/EventStore.js.map +1 -1
  158. package/build/features/eventContract/EventContractFeature.js +4 -1
  159. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  160. package/build/features/eventContract/actions/PullAction.js +10 -5
  161. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  162. package/build/features/features.types.d.ts +2 -37
  163. package/build/features/features.types.js +0 -41
  164. package/build/features/features.types.js.map +1 -1
  165. package/build/features/log/LogFeature.js +1 -1
  166. package/build/features/log/LogFeature.js.map +1 -1
  167. package/build/features/node/NodeFeature.js.map +1 -1
  168. package/build/features/organization/actions/InstallAction.js.map +1 -1
  169. package/build/features/permission/PermissionFeature.d.ts +12 -2
  170. package/build/features/permission/PermissionFeature.js +138 -15
  171. package/build/features/permission/PermissionFeature.js.map +1 -1
  172. package/build/features/permission/actions/CreateAction.js +4 -1
  173. package/build/features/permission/actions/CreateAction.js.map +1 -1
  174. package/build/features/permission/actions/SyncAction.d.ts +5 -1
  175. package/build/features/permission/actions/SyncAction.js +28 -10
  176. package/build/features/permission/actions/SyncAction.js.map +1 -1
  177. package/build/features/permission/stores/PermissionStore.d.ts +6 -1
  178. package/build/features/permission/stores/PermissionStore.js +43 -31
  179. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  180. package/build/features/permission/writers/PermissionWriter.d.ts +7 -1
  181. package/build/features/permission/writers/PermissionWriter.js +67 -18
  182. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  183. package/build/features/person/PersonFeature.js +1 -1
  184. package/build/features/person/PersonFeature.js.map +1 -1
  185. package/build/features/sandbox/SandboxFeature.js +1 -1
  186. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  187. package/build/features/schema/SchemaFeature.d.ts +8 -8
  188. package/build/features/schema/SchemaFeature.js +4 -4
  189. package/build/features/schema/SchemaFeature.js.map +1 -1
  190. package/build/features/schema/writers/SchemaWriter.d.ts +12 -12
  191. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  192. package/build/features/skill/SkillFeature.d.ts +11 -11
  193. package/build/features/skill/SkillFeature.js +2 -2
  194. package/build/features/skill/SkillFeature.js.map +1 -1
  195. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  196. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  197. package/build/features/skill/stores/SkillStore.js +1 -2
  198. package/build/features/skill/stores/SkillStore.js.map +1 -1
  199. package/build/features/store/StoreFeature.js +1 -1
  200. package/build/features/store/StoreFeature.js.map +1 -1
  201. package/build/features/store/actions/SyncAction.d.ts +1 -1
  202. package/build/features/store/actions/SyncAction.js.map +1 -1
  203. package/build/features/test/TestFeature.js +1 -1
  204. package/build/features/test/TestFeature.js.map +1 -1
  205. package/build/features/view/ViewFeature.js +1 -1
  206. package/build/features/view/ViewFeature.js.map +1 -1
  207. package/build/schemas/v2020_07_22/actionResponse.builder.d.ts +85 -0
  208. package/build/schemas/v2020_07_22/actionResponse.builder.js +70 -0
  209. package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -0
  210. package/build/schemas/v2020_07_22/generatedFile.builder.d.ts +27 -0
  211. package/build/schemas/v2020_07_22/generatedFile.builder.js +45 -0
  212. package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -0
  213. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js +4 -40
  214. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  215. package/build/services/CommandService.d.ts +2 -2
  216. package/build/services/CommandService.js +6 -6
  217. package/build/services/CommandService.js.map +1 -1
  218. package/build/services/PkgService.d.ts +1 -0
  219. package/build/services/PkgService.js +5 -0
  220. package/build/services/PkgService.js.map +1 -1
  221. package/build/tests/AbstractCliTest.d.ts +7 -3
  222. package/build/tests/AbstractCliTest.js +81 -45
  223. package/build/tests/AbstractCliTest.js.map +1 -1
  224. package/build/tests/buildTestCache.js +7 -0
  225. package/build/tests/buildTestCache.js.map +1 -1
  226. package/build/tests/fixtures/FeatureFixture.js +1 -0
  227. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  228. package/build/tests/utilities/test.utility.d.ts +2 -0
  229. package/build/tests/utilities/test.utility.js +6 -0
  230. package/build/tests/utilities/test.utility.js.map +1 -1
  231. package/node_modules/@typescript-eslint/parser/package.json +5 -5
  232. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts +4 -2
  233. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map +1 -1
  234. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +13 -5
  235. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
  236. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts +2 -1
  237. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map +1 -1
  238. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +3 -0
  239. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
  240. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  241. package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +20 -2
  242. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +20 -2
  243. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
  244. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +2 -0
  245. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
  246. package/node_modules/@typescript-eslint/types/package.json +2 -2
  247. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
  248. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +2 -0
  249. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
  250. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +15 -3
  251. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
  252. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
  253. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
  254. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +2 -0
  255. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +1 -1
  256. package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
  257. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map +1 -1
  258. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +63 -49
  259. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
  260. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  261. package/package.json +65 -33
  262. package/src/.spruce/events/events.contract.ts +24 -0
  263. package/src/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.ts +54 -0
  264. package/src/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.ts +79 -0
  265. package/src/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.ts +48 -0
  266. package/src/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.ts +13 -0
  267. package/src/.spruce/schemas/schemas.types.ts +171 -52
  268. package/src/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.ts +58 -0
  269. package/src/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.ts +33 -0
  270. package/src/.spruce/settings.json +2 -1
  271. package/src/GlobalEmitter.ts +2 -7
  272. package/src/__tests__/behavioral/TestingAConversation.test.ts +20 -37
  273. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +14 -2
  274. package/src/__tests__/behavioral/events/EventWriter.test.ts +75 -0
  275. package/src/__tests__/behavioral/{ListeningToCoreEvents.test.ts → events/ListeningToCoreEvents.test.ts} +1 -1
  276. package/src/__tests__/behavioral/{RegisteringEventsOnBoot.test.ts → events/RegisteringEventsOnBoot.test.ts} +2 -2
  277. package/src/__tests__/behavioral/{RegisteringGlobalEvents.test.ts → events/RegisteringGlobalEvents.test.ts} +4 -12
  278. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +6 -0
  279. package/src/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.ts → events/SyncingEventsOnlyFromDependencies.test.ts} +2 -2
  280. package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +2 -2
  281. package/src/__tests__/behavioral/permissions/PermissionPlugin.test.ts +24 -0
  282. package/src/__tests__/behavioral/permissions/PermissionStore.test.ts +96 -38
  283. package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +24 -0
  284. package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +125 -8
  285. package/src/__tests__/behavioral/permissions/support/AbstractPermissionsTest.ts +38 -0
  286. package/src/__tests__/behavioral/permissions/support/generateShortAlphaId.ts +5 -0
  287. package/src/__tests__/behavioral/permissions/support/renderPermissionTestFile.ts +27 -0
  288. package/src/__tests__/behavioral/permissions/support/sortPermissionContracts.ts +3 -0
  289. package/src/__tests__/behavioral/{CreatingSchemasWithGenerics.test.ts → schemas/CreatingSchemasWithGenerics.test.ts} +2 -2
  290. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +12 -12
  291. package/src/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.ts → schemas/SettingUpSchemasForModuleDistribution.test.ts} +4 -4
  292. package/src/__tests__/behavioral/{InstallingASkillAtAnOrg.test.ts → skill/InstallingASkillAtAnOrg.test.ts} +2 -2
  293. package/src/__tests__/behavioral/{LoggingInAsASkill.test.ts → skill/LoggingInAsASkill.test.ts} +3 -3
  294. package/src/__tests__/behavioral/{RebuildingASkill.test.ts → skill/RebuildingASkill.test.ts} +2 -2
  295. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -2
  296. package/src/__tests__/behavioral/{SettingUpASkillForTesting.test.ts → tests/SettingUpASkillForTesting.test.ts} +2 -2
  297. package/src/__tests__/behavioral/{TestReporterSettingsRemembered.test.ts → tests/TestReporterSettingsRemembered.test.ts} +2 -2
  298. package/src/__tests__/behavioral/{TestingDataStores.test.ts → tests/TestingDataStores.test.ts} +3 -3
  299. package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +3 -0
  300. package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +3 -2
  301. package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
  302. package/src/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.ts → views/RegisteringSkillViewOnBoot.test.ts} +2 -2
  303. package/src/__tests__/behavioral/{WatchingSkillViews.test.ts → views/WatchingSkillViews.test.ts} +3 -3
  304. package/src/__tests__/implementation/ActionExecuter2.test.ts +13 -6
  305. package/src/__tests__/implementation/GlobalEmitter.test.ts +22 -1
  306. package/src/__tests__/implementation/SkillStore.test.ts +1 -2
  307. package/src/features/AbstractAction.ts +2 -2
  308. package/src/features/AbstractFeature.ts +8 -8
  309. package/src/features/ActionExecuter.ts +4 -5
  310. package/src/features/ActionFactory.ts +44 -20
  311. package/src/features/ActionQuestionAsker.ts +17 -17
  312. package/src/features/conversation/ConversationFeature.ts +1 -1
  313. package/src/features/dependencies/DependencyFeature.ts +1 -1
  314. package/src/features/deploy/actions/HerokuAction.ts +2 -2
  315. package/src/features/error/ErrorFeature.ts +4 -4
  316. package/src/features/event/EventFeature.ts +15 -14
  317. package/src/features/event/actions/CreateAction.ts +1 -1
  318. package/src/features/event/actions/ListenAction.ts +1 -1
  319. package/src/features/event/stores/EventStore.ts +37 -37
  320. package/src/features/eventContract/EventContractFeature.ts +6 -1
  321. package/src/features/eventContract/actions/PullAction.ts +7 -3
  322. package/src/features/features.types.ts +4 -41
  323. package/src/features/log/LogFeature.ts +1 -1
  324. package/src/features/node/NodeFeature.ts +1 -1
  325. package/src/features/organization/actions/InstallAction.ts +1 -1
  326. package/src/features/permission/PermissionFeature.ts +68 -11
  327. package/src/features/permission/actions/CreateAction.ts +2 -0
  328. package/src/features/permission/actions/SyncAction.ts +22 -3
  329. package/src/features/permission/stores/PermissionStore.ts +27 -8
  330. package/src/features/permission/writers/PermissionWriter.ts +62 -4
  331. package/src/features/person/PersonFeature.ts +1 -1
  332. package/src/features/sandbox/SandboxFeature.ts +1 -3
  333. package/src/features/schema/SchemaFeature.ts +14 -14
  334. package/src/features/schema/writers/SchemaWriter.ts +14 -15
  335. package/src/features/skill/SkillFeature.ts +18 -18
  336. package/src/features/skill/actions/RebuildAction.ts +1 -1
  337. package/src/features/skill/actions/RegisterAction.ts +1 -1
  338. package/src/features/skill/stores/SkillStore.ts +1 -2
  339. package/src/features/store/StoreFeature.ts +1 -1
  340. package/src/features/store/actions/SyncAction.ts +1 -1
  341. package/src/features/test/TestFeature.ts +1 -1
  342. package/src/features/view/ViewFeature.ts +1 -1
  343. package/src/schemas/v2020_07_22/actionResponse.builder.ts +62 -0
  344. package/src/schemas/v2020_07_22/generatedFile.builder.ts +44 -0
  345. package/src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts +3 -46
  346. package/src/services/CommandService.ts +5 -5
  347. package/src/services/PkgService.ts +4 -0
  348. package/src/tests/AbstractCliTest.ts +31 -13
  349. package/src/tests/buildTestCache.ts +7 -0
  350. package/src/tests/fixtures/FeatureFixture.ts +2 -0
  351. package/src/tests/utilities/test.utility.ts +13 -0
  352. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +0 -1
  353. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +0 -1
  354. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +0 -1
  355. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +0 -1
  356. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +0 -1
  357. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +0 -1
  358. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +0 -1
  359. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +0 -1
  360. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +0 -1
  361. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +0 -1
  362. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +0 -1
  363. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +0 -1
  364. package/build/__tests__/behavioral/TestingDataStores.test.js.map +0 -1
  365. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +0 -1
  366. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.d.ts +0 -8
  367. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.js.map +0 -1
  368. package/src/__tests__/behavioral/permissions/AbstractPermissionsTest.ts +0 -20
@@ -57,49 +57,20 @@ var GettingSchemasFromHealthCheckTest = (_dec = (0, _testUtils.test)(), _dec2 =
57
57
  return getsCoreSchemasFromHealthCheck;
58
58
  }()
59
59
  }, {
60
- key: "assertExpectedSchemas",
60
+ key: "getsCoreAndLocalSchemasFromHealthCheck",
61
61
  value: function () {
62
- var _assertExpectedSchemas = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(cli, expected) {
63
- var health;
62
+ var _getsCoreAndLocalSchemasFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
63
+ var cli, createSchema, cleanedExpected;
64
64
  return _regenerator["default"].wrap(function _callee2$(_context2) {
65
65
  while (1) {
66
66
  switch (_context2.prev = _context2.next) {
67
67
  case 0:
68
68
  _context2.next = 2;
69
- return cli.checkHealth();
70
- case 2:
71
- health = _context2.sent;
72
- _testUtils.assert.isFalsy(health.skill.errors);
73
- _testUtils.assert.isTruthy(health.schema);
74
- _testUtils.assert.isEqual(health.schema.status, 'passed');
75
- _testUtils.assert.isEqualDeep(this.sortSchemas(health.schema.schemas), expected);
76
- case 7:
77
- case "end":
78
- return _context2.stop();
79
- }
80
- }
81
- }, _callee2, this);
82
- }));
83
- function assertExpectedSchemas(_x, _x2) {
84
- return _assertExpectedSchemas.apply(this, arguments);
85
- }
86
- return assertExpectedSchemas;
87
- }()
88
- }, {
89
- key: "getsCoreAndLocalSchemasFromHealthCheck",
90
- value: function () {
91
- var _getsCoreAndLocalSchemasFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
92
- var cli, createSchema, cleanedExpected;
93
- return _regenerator["default"].wrap(function _callee3$(_context3) {
94
- while (1) {
95
- switch (_context3.prev = _context3.next) {
96
- case 0:
97
- _context3.next = 2;
98
69
  return this.installAndSyncSchemas();
99
70
  case 2:
100
- cli = _context3.sent;
71
+ cli = _context2.sent;
101
72
  createSchema = this.Action('schema', 'create');
102
- _context3.next = 6;
73
+ _context2.next = 6;
103
74
  return createSchema.execute({
104
75
  nameReadable: 'Test schema!',
105
76
  namePascal: 'Test',
@@ -114,14 +85,14 @@ var GettingSchemasFromHealthCheckTest = (_dec = (0, _testUtils.test)(), _dec2 =
114
85
  namespace: 'TestingSchemas',
115
86
  description: 'this is so great!'
116
87
  }]));
117
- _context3.next = 9;
88
+ _context2.next = 9;
118
89
  return this.assertExpectedSchemas(cli, cleanedExpected);
119
90
  case 9:
120
91
  case "end":
121
- return _context3.stop();
92
+ return _context2.stop();
122
93
  }
123
94
  }
124
- }, _callee3, this);
95
+ }, _callee2, this);
125
96
  }));
126
97
  function getsCoreAndLocalSchemasFromHealthCheck() {
127
98
  return _getsCoreAndLocalSchemasFromHealthCheck.apply(this, arguments);
@@ -131,32 +102,61 @@ var GettingSchemasFromHealthCheckTest = (_dec = (0, _testUtils.test)(), _dec2 =
131
102
  }, {
132
103
  key: "installAndSyncSchemas",
133
104
  value: function () {
134
- var _installAndSyncSchemas = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
105
+ var _installAndSyncSchemas = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
135
106
  var cli;
136
- return _regenerator["default"].wrap(function _callee4$(_context4) {
107
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
137
108
  while (1) {
138
- switch (_context4.prev = _context4.next) {
109
+ switch (_context3.prev = _context3.next) {
139
110
  case 0:
140
- _context4.next = 2;
111
+ _context3.next = 2;
141
112
  return this.installSchemaFeature('schemas');
142
113
  case 2:
143
- cli = _context4.sent;
144
- _context4.next = 5;
114
+ cli = _context3.sent;
115
+ _context3.next = 5;
145
116
  return this.Action('schema', 'sync').execute({});
146
117
  case 5:
147
- return _context4.abrupt("return", cli);
118
+ return _context3.abrupt("return", cli);
148
119
  case 6:
149
120
  case "end":
150
- return _context4.stop();
121
+ return _context3.stop();
151
122
  }
152
123
  }
153
- }, _callee4, this);
124
+ }, _callee3, this);
154
125
  }));
155
126
  function installAndSyncSchemas() {
156
127
  return _installAndSyncSchemas.apply(this, arguments);
157
128
  }
158
129
  return installAndSyncSchemas;
159
130
  }()
131
+ }, {
132
+ key: "assertExpectedSchemas",
133
+ value: function () {
134
+ var _assertExpectedSchemas = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(cli, expected) {
135
+ var health;
136
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
137
+ while (1) {
138
+ switch (_context4.prev = _context4.next) {
139
+ case 0:
140
+ _context4.next = 2;
141
+ return cli.checkHealth();
142
+ case 2:
143
+ health = _context4.sent;
144
+ _testUtils.assert.isFalsy(health.skill.errors);
145
+ _testUtils.assert.isTruthy(health.schema);
146
+ _testUtils.assert.isEqual(health.schema.status, 'passed');
147
+ _testUtils.assert.isEqualDeep(this.sortSchemas(health.schema.schemas), expected);
148
+ case 7:
149
+ case "end":
150
+ return _context4.stop();
151
+ }
152
+ }
153
+ }, _callee4, this);
154
+ }));
155
+ function assertExpectedSchemas(_x, _x2) {
156
+ return _assertExpectedSchemas.apply(this, arguments);
157
+ }
158
+ return assertExpectedSchemas;
159
+ }()
160
160
  }]);
161
161
  return GettingSchemasFromHealthCheckTest;
162
162
  }(_AbstractSchemaTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "getsCoreSchemasFromHealthCheck", [_dec], Object.getOwnPropertyDescriptor(_class, "getsCoreSchemasFromHealthCheck"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsCoreAndLocalSchemasFromHealthCheck", [_dec2], Object.getOwnPropertyDescriptor(_class, "getsCoreAndLocalSchemasFromHealthCheck"), _class)), _class));
@@ -1 +1 @@
1
- {"version":3,"file":"GettingSchemasFromHealthCheck.test.js","names":["GettingSchemasFromHealthCheckTest","test","installAndSyncSchemas","cli","cleanedExpected","generateExpectedHealthSchemas","Object","values","coreSchemas","assertExpectedSchemas","expected","checkHealth","health","assert","isFalsy","skill","errors","isTruthy","schema","isEqual","status","isEqualDeep","sortSchemas","schemas","createSchema","Action","execute","nameReadable","namePascal","nameCamel","description","id","name","version","versionUtil","generateVersion","constValue","namespace","installSchemaFeature","AbstractSchemaTest"],"sources":["../../../../src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts"],"sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { CliInterface } from '../../../cli'\nimport { coreSchemas } from '../../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\n\nexport default class GettingSchemasFromHealthCheckTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async getsCoreSchemasFromHealthCheck() {\n\t\tconst cli = await this.installAndSyncSchemas()\n\n\t\tconst cleanedExpected = this.generateExpectedHealthSchemas(\n\t\t\tObject.values(coreSchemas)\n\t\t)\n\n\t\tawait this.assertExpectedSchemas(cli, cleanedExpected)\n\t}\n\n\tprivate static async assertExpectedSchemas(\n\t\tcli: CliInterface,\n\t\texpected: Schema[]\n\t) {\n\t\tconst health = await cli.checkHealth()\n\t\tassert.isFalsy(health.skill.errors)\n\t\tassert.isTruthy(health.schema)\n\t\tassert.isEqual(health.schema.status, 'passed')\n\n\t\tassert.isEqualDeep(this.sortSchemas(health.schema.schemas), expected)\n\t}\n\n\t@test()\n\tprotected static async getsCoreAndLocalSchemasFromHealthCheck() {\n\t\tconst cli = await this.installAndSyncSchemas()\n\t\tconst createSchema = this.Action('schema', 'create')\n\n\t\tawait createSchema.execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'Test',\n\t\t\tnameCamel: 'test',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tconst cleanedExpected = this.generateExpectedHealthSchemas([\n\t\t\t...Object.values(coreSchemas),\n\t\t\t{\n\t\t\t\tid: 'test',\n\t\t\t\tname: 'Test schema!',\n\t\t\t\tversion: versionUtil.generateVersion().constValue,\n\t\t\t\tnamespace: 'TestingSchemas',\n\t\t\t\tdescription: 'this is so great!',\n\t\t\t},\n\t\t])\n\n\t\tawait this.assertExpectedSchemas(cli, cleanedExpected)\n\t}\n\n\tprivate static async installAndSyncSchemas() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\t\tawait this.Action('schema', 'sync').execute({})\n\t\treturn cli\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AACA;AACA;AAEA;AACA;AAAkE;AAAA;AAAA;AAAA,IAE7CA,iCAAiC,WACpD,IAAAC,eAAI,GAAE,UAuBN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,oHAvBP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,IAAI,CAACC,qBAAqB,EAAE;cAAA;gBAAxCC,GAAG;gBAEHC,eAAe,GAAG,IAAI,CAACC,6BAA6B,CACzDC,MAAM,CAACC,MAAM,CAACC,wBAAW,CAAC,CAC1B;gBAAA;gBAAA,OAEK,IAAI,CAACC,qBAAqB,CAACN,GAAG,EAAEC,eAAe,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2GAED,kBACCD,GAAiB,EACjBO,QAAkB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEGP,GAAG,CAACQ,WAAW,EAAE;cAAA;gBAAhCC,MAAM;gBACZC,iBAAM,CAACC,OAAO,CAACF,MAAM,CAACG,KAAK,CAACC,MAAM,CAAC;gBACnCH,iBAAM,CAACI,QAAQ,CAACL,MAAM,CAACM,MAAM,CAAC;gBAC9BL,iBAAM,CAACM,OAAO,CAACP,MAAM,CAACM,MAAM,CAACE,MAAM,EAAE,QAAQ,CAAC;gBAE9CP,iBAAM,CAACQ,WAAW,CAAC,IAAI,CAACC,WAAW,CAACV,MAAM,CAACM,MAAM,CAACK,OAAO,CAAC,EAAEb,QAAQ,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACrE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,4HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,IAAI,CAACR,qBAAqB,EAAE;cAAA;gBAAxCC,GAAG;gBACHqB,YAAY,GAAG,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAAA;gBAAA,OAE9CD,YAAY,CAACE,OAAO,CAAC;kBAC1BC,YAAY,EAAE,cAAc;kBAC5BC,UAAU,EAAE,MAAM;kBAClBC,SAAS,EAAE,MAAM;kBACjBC,WAAW,EAAE;gBACd,CAAC,CAAC;cAAA;gBAEI1B,eAAe,GAAG,IAAI,CAACC,6BAA6B,+CACtDC,MAAM,CAACC,MAAM,CAACC,wBAAW,CAAC,IAC7B;kBACCuB,EAAE,EAAE,MAAM;kBACVC,IAAI,EAAE,cAAc;kBACpBC,OAAO,EAAEC,6BAAW,CAACC,eAAe,EAAE,CAACC,UAAU;kBACjDC,SAAS,EAAE,gBAAgB;kBAC3BP,WAAW,EAAE;gBACd,CAAC,GACA;gBAAA;gBAAA,OAEI,IAAI,CAACrB,qBAAqB,CAACN,GAAG,EAAEC,eAAe,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACmB,IAAI,CAACkC,oBAAoB,CAAC,SAAS,CAAC;cAAA;gBAAhDnC,GAAG;gBAAA;gBAAA,OACH,IAAI,CAACsB,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAA,kCACxCvB,GAAG;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACV;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAtD6DoC,+BAAkB;AAAA"}
1
+ {"version":3,"file":"GettingSchemasFromHealthCheck.test.js","names":["GettingSchemasFromHealthCheckTest","test","installAndSyncSchemas","cli","cleanedExpected","generateExpectedHealthSchemas","Object","values","coreSchemas","assertExpectedSchemas","createSchema","Action","execute","nameReadable","namePascal","nameCamel","description","id","name","version","versionUtil","generateVersion","constValue","namespace","installSchemaFeature","expected","checkHealth","health","assert","isFalsy","skill","errors","isTruthy","schema","isEqual","status","isEqualDeep","sortSchemas","schemas","AbstractSchemaTest"],"sources":["../../../../src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts"],"sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { CliInterface } from '../../../cli'\nimport { coreSchemas } from '../../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\n\nexport default class GettingSchemasFromHealthCheckTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async getsCoreSchemasFromHealthCheck() {\n\t\tconst cli = await this.installAndSyncSchemas()\n\n\t\tconst cleanedExpected = this.generateExpectedHealthSchemas(\n\t\t\tObject.values(coreSchemas)\n\t\t)\n\n\t\tawait this.assertExpectedSchemas(cli, cleanedExpected)\n\t}\n\n\t@test()\n\tprotected static async getsCoreAndLocalSchemasFromHealthCheck() {\n\t\tconst cli = await this.installAndSyncSchemas()\n\t\tconst createSchema = this.Action('schema', 'create')\n\n\t\tawait createSchema.execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'Test',\n\t\t\tnameCamel: 'test',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tconst cleanedExpected = this.generateExpectedHealthSchemas([\n\t\t\t...Object.values(coreSchemas),\n\t\t\t{\n\t\t\t\tid: 'test',\n\t\t\t\tname: 'Test schema!',\n\t\t\t\tversion: versionUtil.generateVersion().constValue,\n\t\t\t\tnamespace: 'TestingSchemas',\n\t\t\t\tdescription: 'this is so great!',\n\t\t\t},\n\t\t])\n\n\t\tawait this.assertExpectedSchemas(cli, cleanedExpected)\n\t}\n\n\tprivate static async installAndSyncSchemas() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\t\tawait this.Action('schema', 'sync').execute({})\n\t\treturn cli\n\t}\n\n\tprivate static async assertExpectedSchemas(\n\t\tcli: CliInterface,\n\t\texpected: Schema[]\n\t) {\n\t\tconst health = await cli.checkHealth()\n\t\tassert.isFalsy(health.skill.errors)\n\t\tassert.isTruthy(health.schema)\n\t\tassert.isEqual(health.schema.status, 'passed')\n\n\t\tassert.isEqualDeep(this.sortSchemas(health.schema.schemas), expected)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AACA;AACA;AAEA;AACA;AAAkE;AAAA;AAAA;AAAA,IAE7CA,iCAAiC,WACpD,IAAAC,eAAI,GAAE,UAWN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,oHAXP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,IAAI,CAACC,qBAAqB,EAAE;cAAA;gBAAxCC,GAAG;gBAEHC,eAAe,GAAG,IAAI,CAACC,6BAA6B,CACzDC,MAAM,CAACC,MAAM,CAACC,wBAAW,CAAC,CAC1B;gBAAA;gBAAA,OAEK,IAAI,CAACC,qBAAqB,CAACN,GAAG,EAAEC,eAAe,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,4HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,IAAI,CAACF,qBAAqB,EAAE;cAAA;gBAAxCC,GAAG;gBACHO,YAAY,GAAG,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAAA;gBAAA,OAE9CD,YAAY,CAACE,OAAO,CAAC;kBAC1BC,YAAY,EAAE,cAAc;kBAC5BC,UAAU,EAAE,MAAM;kBAClBC,SAAS,EAAE,MAAM;kBACjBC,WAAW,EAAE;gBACd,CAAC,CAAC;cAAA;gBAEIZ,eAAe,GAAG,IAAI,CAACC,6BAA6B,+CACtDC,MAAM,CAACC,MAAM,CAACC,wBAAW,CAAC,IAC7B;kBACCS,EAAE,EAAE,MAAM;kBACVC,IAAI,EAAE,cAAc;kBACpBC,OAAO,EAAEC,6BAAW,CAACC,eAAe,EAAE,CAACC,UAAU;kBACjDC,SAAS,EAAE,gBAAgB;kBAC3BP,WAAW,EAAE;gBACd,CAAC,GACA;gBAAA;gBAAA,OAEI,IAAI,CAACP,qBAAqB,CAACN,GAAG,EAAEC,eAAe,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACmB,IAAI,CAACoB,oBAAoB,CAAC,SAAS,CAAC;cAAA;gBAAhDrB,GAAG;gBAAA;gBAAA,OACH,IAAI,CAACQ,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAA,kCACxCT,GAAG;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACV;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2GAED,kBACCA,GAAiB,EACjBsB,QAAkB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEGtB,GAAG,CAACuB,WAAW,EAAE;cAAA;gBAAhCC,MAAM;gBACZC,iBAAM,CAACC,OAAO,CAACF,MAAM,CAACG,KAAK,CAACC,MAAM,CAAC;gBACnCH,iBAAM,CAACI,QAAQ,CAACL,MAAM,CAACM,MAAM,CAAC;gBAC9BL,iBAAM,CAACM,OAAO,CAACP,MAAM,CAACM,MAAM,CAACE,MAAM,EAAE,QAAQ,CAAC;gBAE9CP,iBAAM,CAACQ,WAAW,CAAC,IAAI,CAACC,WAAW,CAACV,MAAM,CAACM,MAAM,CAACK,OAAO,CAAC,EAAEb,QAAQ,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACrE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAtD6Dc,+BAAkB;AAAA"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class SettingUpSchemasForModuleDistributionTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  private static builder1;
@@ -16,9 +16,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
16
16
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
17
17
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
18
18
  var _testUtils = require("@sprucelabs/test-utils");
19
- var _SchemaTemplateItemBuilder = _interopRequireDefault(require("../../templateItemBuilders/SchemaTemplateItemBuilder"));
20
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
21
- var _test = _interopRequireDefault(require("../../tests/utilities/test.utility"));
19
+ var _SchemaTemplateItemBuilder = _interopRequireDefault(require("../../../templateItemBuilders/SchemaTemplateItemBuilder"));
20
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
21
+ var _test = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
22
22
  var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _class, _class2;
23
23
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
24
24
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingUpSchemasForModuleDistribution.test.js","names":["LOCAL_NAMESPACE","REMOTE_NAMESPACE","REMOTE_MODULE","REMOTE_MODULE2","SettingUpSchemasForModuleDistributionTest","test","namePascal","remoteModule","count","nameCamel","namesUtil","toCamel","promise","Action","execute","nameReadable","moduleToImportFromWhenRemote","wait","ui","isWaitingForInput","sendInput","versionUtil","generateVersion","constValue","results","assert","isFalsy","errors","builderFile","testUtil","assertFileByNameInGeneratedFiles","files","Service","importDefault","builder","isEqual","schemaFile","schema","id","templateItems","generateTemplateItems","templateItem","importFrom","isFalse","schemaNames","expectedModules","shouldConfirmInstall","reInstallSkill","Store","setCurrentSkillsNamespace","schemas","map","name","emitter","on","SyncAction","waitForInput","secondToLast","invocations","length","options","headline","expected","doesInclude","lines","pkg","isTrue","isInstalled","isTruthy","errorAssert","assertError","push","shouldInstallMissingDependencies","assertCalendarEventSchemaIsImported","doesThrow","importsWhenRemote","mySchema","fields","calendarEvent","type","schema1","namespace","version","localSchemaFile","localSchema","isEqualDeep","assertValidTypesFileWhenAddingRemoteImport","importGeneratedFile","completedFormBuilder","isRequired","personId","values","isArray","valueType","builderForm","dateDeleted","schemaId","itemBuilder","SchemaTemplateItemBuilder","buildTemplateItems","TestSkill","find","r","schemaIds","dirValue","schema2","schemaTypesFile","check","optionOverrides","fileName","imported","calendarEventContents","diskUtil","readFile","trim","builder1","nestedSchema","firstName","resolveHashSprucePath","typesContent","writeFile","AbstractSkillTest","fieldName1","label","fieldName2","hint"],"sources":["../../../../src/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.ts"],"sourcesContent":["import { Schema, SchemaTemplateItem } from '@sprucelabs/schema'\nimport {\n\tdiskUtil,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport SchemaTemplateItemBuilder from '../../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nconst LOCAL_NAMESPACE = 'TestingSchemas'\nconst REMOTE_NAMESPACE = 'RemoteSchemas'\n\nconst REMOTE_MODULE = '@sprucelabs/calendar-utils'\nconst REMOTE_MODULE2 = '@sprucelabs/spruce-templates'\n\nexport default class SettingUpSchemasForModuleDistributionTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'schemas'\n\tprivate static builder1: Schema\n\tprivate static schema1: Schema = {\n\t\tid: 'calendarEvent',\n\t\tversion: 'v2021_09_20',\n\t\tnamespace: 'TestingSchemas',\n\t\tname: 'Schema imported as module',\n\t\tmoduleToImportFromWhenRemote: '@sprucelabs/calendar-utils',\n\t\tfields: {\n\t\t\tfieldName1: { label: 'First Field', type: 'text', isRequired: true },\n\t\t\tfieldName2: {\n\t\t\t\tlabel: 'Second Field',\n\t\t\t\ttype: 'number',\n\t\t\t\tisRequired: true,\n\t\t\t\thint: 'A hint',\n\t\t\t},\n\t\t},\n\t}\n\t//@ts-ignore\n\tprivate static schema1b: Schema\n\tprivate static schema2: Schema = {\n\t\tid: 'calendarEvent2',\n\t\tversion: 'v2021_09_20',\n\t\tnamespace: 'TestingSchemas',\n\t\tname: 'Schema imported as module',\n\t\tmoduleToImportFromWhenRemote: '@sprucelabs/spruce-templates',\n\t\tfields: {\n\t\t\tfieldName1: { label: 'First Field', type: 'text', isRequired: true },\n\t\t\tfieldName2: {\n\t\t\t\tlabel: 'Second Field',\n\t\t\t\ttype: 'number',\n\t\t\t\tisRequired: true,\n\t\t\t\thint: 'A hint',\n\t\t\t},\n\t\t},\n\t}\n\n\t@test(\n\t\t'can specify importFromModuleWhenRemote 1',\n\t\t'CalendarEvent',\n\t\tREMOTE_MODULE,\n\t\t'1'\n\t)\n\t@test(\n\t\t'can specify importFromModuleWhenRemote 2',\n\t\t'CalendarEvent2',\n\t\tREMOTE_MODULE2,\n\t\t'2'\n\t)\n\tprotected static async canSpecifyModuleToImportFromWhenRemote(\n\t\tnamePascal: string,\n\t\tremoteModule: string,\n\t\tcount: '1' | '2'\n\t) {\n\t\tconst nameCamel = namesUtil.toCamel(namePascal)\n\t\tconst promise = this.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Schema imported as module',\n\t\t\tnamePascal,\n\t\t\tnameCamel,\n\t\t\tmoduleToImportFromWhenRemote: remoteModule,\n\t\t})\n\n\t\tawait this.wait(10)\n\n\t\tif (this.ui.isWaitingForInput()) {\n\t\t\tawait this.ui.sendInput(versionUtil.generateVersion().constValue)\n\t\t}\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst builderFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`${nameCamel}.builder.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tconst builder = await this.Service('import').importDefault(builderFile)\n\t\tassert.isEqual(builder.moduleToImportFromWhenRemote, remoteModule)\n\n\t\t//@ts-ignore\n\t\tthis[`builder${count}`] = builder\n\n\t\tconst schemaFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`${nameCamel}.schema.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tconst schema = await this.Service('import').importDefault(schemaFile)\n\t\tassert.isEqual(schema.moduleToImportFromWhenRemote, remoteModule)\n\n\t\t//@ts-ignore\n\t\tthis[`schema${count}`] = schema\n\t\t//@ts-ignore\n\t\tthis[`schema${count}b`] = { ...schema, id: `schema${count}B` }\n\t}\n\n\t@test()\n\tprotected static async templateItemGeneratorHonorsModuleToImportWhenRemoteWhenInRemoteNamespace() {\n\t\tconst templateItems = this.generateTemplateItems(REMOTE_NAMESPACE)\n\n\t\tfor (const templateItem of templateItems) {\n\t\t\tassert.isEqual(\n\t\t\t\ttemplateItem.schema.moduleToImportFromWhenRemote,\n\t\t\t\tREMOTE_MODULE\n\t\t\t)\n\t\t\tassert.isEqual(templateItem.importFrom, REMOTE_MODULE)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async moduleToImportWhenRemoteIgnoredWhenInSameNamespace() {\n\t\tconst templateItems = this.generateTemplateItems(LOCAL_NAMESPACE)\n\t\tfor (const templateItem of templateItems) {\n\t\t\tassert.isEqual(\n\t\t\t\ttemplateItem.schema.moduleToImportFromWhenRemote,\n\t\t\t\tREMOTE_MODULE\n\t\t\t)\n\t\t\tassert.isFalse('importFrom' in templateItem)\n\t\t}\n\t}\n\n\t@test(\n\t\t'should ask about missing module and cancel install',\n\t\t['schema1'],\n\t\t[REMOTE_MODULE],\n\t\tfalse\n\t)\n\t@test(\n\t\t'should ask about missing module and do install',\n\t\t['schema1'],\n\t\t[REMOTE_MODULE],\n\t\ttrue\n\t)\n\t@test(\n\t\t'should ask about missing module and do install',\n\t\t['schema1', 'schema2'],\n\t\t[REMOTE_MODULE, REMOTE_MODULE2],\n\t\ttrue\n\t)\n\t@test(\n\t\t'does not return the same module twice',\n\t\t['schema1', 'schema1b', 'schema2'],\n\t\t[REMOTE_MODULE, REMOTE_MODULE2],\n\t\ttrue\n\t)\n\tprotected static async asksIfModuleShouldBeInstalled(\n\t\tschemaNames: ('schema1' | 'schema2')[],\n\t\texpectedModules: string[],\n\t\tshouldConfirmInstall: boolean\n\t) {\n\t\tawait this.reInstallSkill()\n\n\t\tawait this.Store('skill').setCurrentSkillsNamespace('TestingTwo')\n\n\t\tconst schemas = schemaNames.map((name) => this[name])\n\n\t\tawait this.emitter.on('schema.did-fetch-schemas', async () => {\n\t\t\treturn {\n\t\t\t\tschemas,\n\t\t\t}\n\t\t})\n\n\t\tconst promise = this.SyncAction().execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst secondToLast = this.ui.invocations[this.ui.invocations.length - 2]\n\n\t\tassert.isEqual(\n\t\t\tsecondToLast.options.headline,\n\t\t\t`Missing ${expectedModules.length} module${\n\t\t\t\texpectedModules.length === 1 ? '' : 's'\n\t\t\t}`\n\t\t)\n\n\t\tfor (const expected of expectedModules) {\n\t\t\tassert.doesInclude(secondToLast.options.lines, expected)\n\t\t}\n\n\t\tawait this.ui.sendInput(shouldConfirmInstall ? 'y' : 'n')\n\n\t\tconst results = await promise\n\n\t\tif (shouldConfirmInstall) {\n\t\t\tassert.isFalsy(results.errors)\n\t\t\tconst pkg = this.Service('pkg')\n\t\t\tfor (const expected of expectedModules) {\n\t\t\t\tassert.isTrue(pkg.isInstalled(expected))\n\t\t\t}\n\t\t} else {\n\t\t\tassert.isTruthy(results.errors)\n\t\t\terrorAssert.assertError(results.errors[0], 'ACTION_CANCELLED')\n\t\t}\n\t}\n\n\t@test('schemas are imported from one module', ['schema1'])\n\t@test('schemas are imported from two modules', ['schema1', 'schema2'])\n\tprotected static async schemasAreImportedFromModuleWhenSyncedFromDifferentNamespace(\n\t\tschemaNames: ('schema1' | 'schema2')[]\n\t) {\n\t\tawait this.reInstallSkill()\n\t\tawait this.Store('skill').setCurrentSkillsNamespace('TestingTwo')\n\n\t\tconst schemas: Schema[] = []\n\n\t\tfor (const name of schemaNames) {\n\t\t\tschemas.push(this[name])\n\t\t}\n\n\t\tawait this.emitter.on('schema.did-fetch-schemas', async () => {\n\t\t\treturn {\n\t\t\t\tschemas,\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.SyncAction().execute({\n\t\t\tshouldInstallMissingDependencies: true,\n\t\t})\n\n\t\tawait this.assertCalendarEventSchemaIsImported(results)\n\n\t\tassert.doesThrow(() =>\n\t\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\t'schemas.types.ts',\n\t\t\t\tresults.files\n\t\t\t)\n\t\t)\n\t}\n\n\t@test('can reference impored from another module', [\n\t\t`import * as HeartwoodTypesLocal from '@sprucelabs/heartwood-view-controllers'`,\n\t])\n\t@test('can reference impored from another module with two importsWhenLocal', [\n\t\t`import * as HeartwoodTypesLocal from '@sprucelabs/heartwood-view-controllers'`,\n\t\t`import * as HeartwoodTypesLocal2 from '@sprucelabs/heartwood-view-controllers'`,\n\t])\n\tprotected static async canReferenceSchemaImportedFromAnotherModule(\n\t\timportsWhenRemote: string[]\n\t) {\n\t\tawait this.reInstallSkill()\n\t\tawait this.Store('skill').setCurrentSkillsNamespace('TestingTwo')\n\n\t\tconst mySchema = {\n\t\t\tid: 'localSchema',\n\t\t\timportsWhenRemote,\n\t\t\tfields: {\n\t\t\t\tcalendarEvent: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t...this.schema1,\n\t\t\t\t\t\t\tnamespace: 'CalendarUtils',\n\t\t\t\t\t\t\tversion: 'v2021_05_19',\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\tawait this.emitter.on('schema.did-fetch-schemas', async () => {\n\t\t\treturn {\n\t\t\t\tschemas: [mySchema],\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.SyncAction().execute({\n\t\t\tshouldInstallMissingDependencies: true,\n\t\t})\n\n\t\tconst localSchemaFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'localSchema.schema.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst localSchema = await this.Service('import').importDefault(\n\t\t\tlocalSchemaFile\n\t\t)\n\n\t\tassert.isEqualDeep(localSchema.importsWhenRemote, importsWhenRemote)\n\n\t\tawait this.assertCalendarEventSchemaIsImported(results)\n\t\tawait this.assertValidTypesFileWhenAddingRemoteImport(results)\n\t}\n\n\t@test()\n\tprotected static async canSetImportFromModuleWithNestedSchemasWhenRemoteWhenSyncing() {\n\t\tawait this.reInstallSkill()\n\n\t\tawait this.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Schema imported as module',\n\t\t\tnamePascal: 'CalandarEvent',\n\t\t\tnameCamel: 'calendarEvent',\n\t\t})\n\n\t\tconst results = await this.SyncAction().execute({\n\t\t\tmoduleToImportFromWhenRemote: REMOTE_MODULE,\n\t\t})\n\n\t\tthis.schema1 = (await this.importGeneratedFile(\n\t\t\tresults,\n\t\t\t`calendarEvent.schema.ts`\n\t\t)) as Schema\n\n\t\tassert.isEqual(this.schema1.moduleToImportFromWhenRemote, REMOTE_MODULE)\n\t}\n\n\t@test()\n\tprotected static async canHandleFormBuilderImportExportObject() {\n\t\tconst version = versionUtil.generateVersion().constValue\n\n\t\tconst completedFormBuilder = {\n\t\t\tid: 'fullCompletedForm',\n\t\t\tversion,\n\t\t\tmoduleToImportFromWhenRemote: '@sprucelabs/heartwood-view-controllers',\n\t\t\tfields: {\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tpersonId: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tvalues: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvalueType: 'Record<string, any>',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\n\t\tconst builderForm = {\n\t\t\tid: 'builtForm',\n\t\t\tversion,\n\t\t\tmoduleToImportFromWhenRemote: '@sprucelabs/heartwood-view-controllers',\n\t\t\tfields: {\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tdateDeleted: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t},\n\t\t\t\tcompletedFormBuilder: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaId: {\n\t\t\t\t\t\t\tversion,\n\t\t\t\t\t\t\tid: 'fullCompletedForm',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\n\t\tconst itemBuilder = new SchemaTemplateItemBuilder('TestSkill')\n\n\t\tconst results = itemBuilder.buildTemplateItems({\n\t\t\t//@ts-ignore\n\t\t\tTestSkill: [completedFormBuilder, builderForm],\n\t\t})\n\n\t\tassert.isFalsy(\n\t\t\t(\n\t\t\t\tresults.find((r) => r.id === 'builtForm')?.schema.fields\n\t\t\t\t\t?.completedFormBuilder?.options as any\n\t\t\t)?.schemaIds?.[0]?.moduleToImportFromWhenRemote\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async importedSchemasDoNotShowUpInSchemaTypes() {\n\t\t// await this.reInstallSkill()\n\t\tawait this.Store('skill').setCurrentSkillsNamespace('TestingTwo')\n\n\t\tconst schema1 = {\n\t\t\tid: 'fullCompletedForm',\n\t\t\tnamespace: 'Heartwood',\n\t\t\tversion: versionUtil.generateVersion().dirValue,\n\t\t\tmoduleToImportFromWhenRemote: '@sprucelabs/heartwood-view-controllers',\n\t\t\timportsWhenRemote: ['import * from bananarama'],\n\t\t\tfields: {\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tpersonId: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tvalues: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvalueType: 'Record<string, any>',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\n\t\tconst schema2 = {\n\t\t\tid: 'localCompleted',\n\t\t\tversion: versionUtil.generateVersion().dirValue,\n\t\t\tfields: {\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tpersonId: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tvalues: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvalueType: 'Record<string, any>',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\n\t\tawait this.emitter.on('schema.did-fetch-schemas', async () => {\n\t\t\treturn {\n\t\t\t\tschemas: [schema1, schema2],\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.SyncAction().execute({\n\t\t\tshouldInstallMissingDependencies: true,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst schemaTypesFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'schemas.types.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(schemaTypesFile)\n\t}\n\n\tprivate static SyncAction() {\n\t\treturn this.Action('schema', 'sync', {\n\t\t\toptionOverrides: {\n\t\t\t\t'sync.schemas': {},\n\t\t\t},\n\t\t})\n\t}\n\n\tprivate static async importGeneratedFile(\n\t\tresults: FeatureActionResponse,\n\t\tfileName: string\n\t) {\n\t\tconst schemaFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\tfileName,\n\t\t\tresults.files\n\t\t)\n\n\t\treturn await this.Service('import').importDefault(schemaFile)\n\t}\n\n\tprivate static async assertCalendarEventSchemaIsImported(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst imported = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'calendarEvent.schema.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst calendarEventContents = diskUtil.readFile(imported)\n\n\t\tassert.isEqual(\n\t\t\tcalendarEventContents.trim(),\n\t\t\t`export { calendarEventSchema as default } from '@sprucelabs/calendar-utils'`\n\t\t)\n\t}\n\n\tprivate static generateTemplateItems(namespace: string) {\n\t\tconst itemBuilder = new SchemaTemplateItemBuilder(namespace)\n\t\tconst templateItems = itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[LOCAL_NAMESPACE]: [\n\t\t\t\t\t{\n\t\t\t\t\t\t...this.builder1,\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t...this.builder1.fields,\n\t\t\t\t\t\t\tnestedSchema: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'nested',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\tfirstName: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\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\tthis.resolveHashSprucePath('schemas')\n\t\t)\n\t\treturn templateItems as SchemaTemplateItem[]\n\t}\n\n\tprivate static async assertValidTypesFileWhenAddingRemoteImport(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tconst schemaTypesFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'schemas.types.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst typesContent = `import '${REMOTE_MODULE}'\\n\\n${diskUtil.readFile(\n\t\t\tschemaTypesFile\n\t\t)}`\n\t\tdiskUtil.writeFile(schemaTypesFile, typesContent)\n\n\t\tawait this.Service('typeChecker').check(schemaTypesFile)\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import AbstractCliTest from '../../tests/AbstractCliTest';
1
+ import AbstractCliTest from '../../../tests/AbstractCliTest';
2
2
  export default class InstallingASkillAtAnOrgTest extends AbstractCliTest {
3
3
  protected static beforeEach(): Promise<void>;
4
4
  protected static hasInstallAction(): Promise<void>;
@@ -16,8 +16,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
16
16
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
17
17
  var _spruceEventUtils = require("@sprucelabs/spruce-event-utils");
18
18
  var _testUtils = require("@sprucelabs/test-utils");
19
- var _AbstractCliTest2 = _interopRequireDefault(require("../../tests/AbstractCliTest"));
20
- var _constants = require("../../tests/constants");
19
+ var _AbstractCliTest2 = _interopRequireDefault(require("../../../tests/AbstractCliTest"));
20
+ var _constants = require("../../../tests/constants");
21
21
  var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class;
22
22
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
23
23
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstallingASkillAtAnOrg.test.js","names":["InstallingASkillAtAnOrgTest","test","login","getOrganizationFixture","clearAllOrgs","Cli","assert","isFunction","Action","execute","seedDemoOrg","name","org","FeatureFixture","installCachedFeatures","getSkillFixture","registerCurrentSkill","people","logout","organizationId","id","anonResults","isTruthy","errors","eventAssertUtil","assertError","errorAssert","skill","promise","waitForInput","doesInclude","ui","getLastInvocation","command","assertUtil","stringify","sendInput","results","isFalsy","Store","isSkillInstalledAtOrg","isInstalled","org2","options","type","loginAsDemoPerson","DEMO_NUMBER_INSTALL_SKILL","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.ts"],"sourcesContent":["import { eventAssertUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert, assertUtil } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport { DEMO_NUMBER_INSTALL_SKILL } from '../../../tests/constants'\n\nexport default class InstallingASkillAtAnOrgTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tawait this.login()\n\t\tawait this.getOrganizationFixture().clearAllOrgs()\n\t}\n\n\t@test()\n\tprotected static async hasInstallAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('organization', 'install').execute)\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutBeingLoggedIn() {\n\t\tconst org = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'new org',\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tawait this.people.logout()\n\n\t\tawait this.Cli()\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({\n\t\t\torganizationId: org.id,\n\t\t})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\teventAssertUtil.assertError(anonResults.errors[0], 'UNAUTHORIZED_ACCESS')\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutAnyOrgs() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\terrorAssert.assertError(anonResults.errors[0], 'NO_ORGANIZATIONS_FOUND')\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutBeingRegistered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\terrorAssert.assertError(anonResults.errors[0], 'SKILL_NOT_REGISTERED')\n\t}\n\n\t@test()\n\tprotected static async canInstallSkillAtOrg() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tconst org = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst promise = this.Action('organization', 'install').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(\n\t\t\tthis.ui.getLastInvocation().command,\n\t\t\t'confirm',\n\t\t\t`ui didn't get back a confirm, got back \\n\\n${assertUtil.stringify(\n\t\t\t\tthis.ui.getLastInvocation()\n\t\t\t)}`\n\t\t)\n\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst isInstalled = await this.Store('organization').isSkillInstalledAtOrg(\n\t\t\tskill.id,\n\t\t\torg.id\n\t\t)\n\n\t\tassert.isTruthy(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async asksYouToSelectOrgWithMoreThanOne() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst org2 = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst promise = this.Action('organization', 'install').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().options, {\n\t\t\ttype: 'select',\n\t\t})\n\n\t\tawait this.ui.sendInput(org2.id)\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst isInstalled = await this.Store('organization').isSkillInstalledAtOrg(\n\t\t\tskill.id,\n\t\t\torg2.id\n\t\t)\n\n\t\tassert.isTruthy(isInstalled)\n\t}\n\n\tprivate static async login() {\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_INSTALL_SKILL)\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class LoggingInAsASkillTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  private static skill1;
@@ -16,8 +16,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
16
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
17
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
18
18
  var _testUtils = require("@sprucelabs/test-utils");
19
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
20
- var _constants = require("../../tests/constants");
19
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
20
+ var _constants = require("../../../tests/constants");
21
21
  var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _class2;
22
22
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
23
23
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggingInAsASkill.test.js","names":["LoggingInAsASkillTest","test","people","loginAsDemoPerson","DEMO_NUMBER_LOGIN_AS_SKILL","skillFixture","getSkillFixture","clearAllSkills","logout","assert","isFunction","Action","execute","waitForInput","doesInclude","ui","getLastInvocation","options","label","reset","login","results","isTruthy","errors","isLength","errorAssert","assertError","person","Service","setLoggedInPerson","seedDemoSkill","name","Date","getTime","skill1","isFalsy","loggedIn","getCurrentSkill","isEqual","id","skill2","promise","command","type","isEqualDeep","choices","map","s","value","sendInput","skillSlug","skill3","slug","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/skill/LoggingInAsASkill.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport { DEMO_NUMBER_LOGIN_AS_SKILL } from '../../../tests/constants'\nimport { RegisteredSkill } from '../../../types/cli.types'\n\nexport default class LoggingInAsASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\tprivate static skill1: RegisteredSkill\n\tprivate static skill2: RegisteredSkill\n\tprivate static skill3: RegisteredSkill\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_LOGIN_AS_SKILL)\n\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tawait skillFixture.clearAllSkills()\n\n\t\tawait this.people.logout()\n\t}\n\n\t@test()\n\tprotected static async hasLoginAction() {\n\t\tassert.isFunction(this.Action('skill', 'login').execute)\n\t}\n\n\t@test()\n\tprotected static async asksToLoginIfNotLoggedIn() {\n\t\tvoid this.Action('skill', 'login').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().options.label, 'Phone')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async returnsErrorIfNoSkillHasEverBeenRegistered() {\n\t\tawait this.login()\n\n\t\tconst results = await this.Action('skill', 'login').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\t\terrorAssert.assertError(results.errors[0], 'NO_SKILLS_REGISTERED')\n\t}\n\n\tprivate static async login() {\n\t\tconst person = await this.people.loginAsDemoPerson(\n\t\t\tDEMO_NUMBER_LOGIN_AS_SKILL\n\t\t)\n\n\t\tthis.Service('auth').setLoggedInPerson(person)\n\t}\n\n\t@test()\n\tprotected static async logsInAsOnlySkillIfOnly1Registered() {\n\t\tawait this.login()\n\n\t\tthis.skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst results = await this.Action('skill', 'login').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill1.id)\n\t}\n\n\t@test()\n\tprotected static async letsYouSelectSkillIfMoreThan1IsRegistered() {\n\t\tawait this.login()\n\n\t\tthis.skill2 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill 2 ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst promise = this.Action('skill', 'login').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().command, 'prompt')\n\t\tassert.doesInclude(this.ui.getLastInvocation().options.type, 'select')\n\t\tassert.isEqualDeep(\n\t\t\tthis.ui.getLastInvocation().options.options.choices,\n\t\t\t[this.skill1, this.skill2].map((s) => ({\n\t\t\t\tlabel: s.name,\n\t\t\t\tvalue: s.id,\n\t\t\t}))\n\t\t)\n\n\t\tawait this.ui.sendInput(this.skill2.id)\n\n\t\tawait promise\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill2.id)\n\t}\n\n\t@test()\n\tprotected static async cantLoginWithSlugYouDontOwn() {\n\t\tawait this.login()\n\t\tconst results = await this.Action('skill', 'login').execute({\n\t\t\tskillSlug: 'never found',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'SKILL_NOT_FOUND')\n\t}\n\n\t@test()\n\tprotected static async canLoginWithSlugYouOwn() {\n\t\tawait this.login()\n\n\t\tthis.skill3 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill 3 ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst results = await this.Action('skill', 'login').execute({\n\t\t\tskillSlug: this.skill3.slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill3.id)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAEA;AACA;AAAqE;AAAA;AAAA;AAAA,IAGhDA,qBAAqB,WAiBxC,IAAAC,eAAI,GAAE,UAKN,IAAAA,eAAI,GAAE,UAWN,IAAAA,eAAI,GAAE,UAmBN,IAAAA,eAAI,GAAE,UAgBN,IAAAA,eAAI,GAAE,UA8BN,IAAAA,eAAI,GAAE,UAYN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,+FAxGP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA,OAGO,IAAI,CAACC,MAAM,CAACC,iBAAiB,CAACC,qCAA0B,CAAC;cAAA;gBAEzDC,YAAY,GAAG,IAAI,CAACC,eAAe,EAAE;gBAAA;gBAAA,OACrCD,YAAY,CAACE,cAAc,EAAE;cAAA;gBAAA;gBAAA,OAE7B,IAAI,CAACL,MAAM,CAACM,MAAM,EAAE;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC1B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,oGAED;QAAA;UAAA;YAAA;cAAA;gBAECC,iBAAM,CAACC,UAAU,CAAC,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAACC,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACxD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,8GAED;QAAA;UAAA;YAAA;cAAA;gBAEC,KAAK,IAAI,CAACD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAAA;gBAAA,OAExC,IAAI,CAACC,YAAY,EAAE;cAAA;gBAEzBJ,iBAAM,CAACK,WAAW,CAAC,IAAI,CAACC,EAAE,CAACC,iBAAiB,EAAE,CAACC,OAAO,CAACC,KAAK,EAAE,OAAO,CAAC;gBAEtE,IAAI,CAACH,EAAE,CAACI,KAAK,EAAE;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACf;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,gIAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACC,KAAK,EAAE;cAAA;gBAAA;gBAAA,OAEI,IAAI,CAACT,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAzDS,OAAO;gBAEbZ,iBAAM,CAACa,QAAQ,CAACD,OAAO,CAACE,MAAM,CAAC;gBAC/Bd,iBAAM,CAACe,QAAQ,CAACH,OAAO,CAACE,MAAM,EAAE,CAAC,CAAC;gBAClCE,sBAAW,CAACC,WAAW,CAACL,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2FAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACsB,IAAI,CAACrB,MAAM,CAACC,iBAAiB,CACjDC,qCAA0B,CAC1B;cAAA;gBAFKuB,MAAM;gBAIZ,IAAI,CAACC,OAAO,CAAC,MAAM,CAAC,CAACC,iBAAiB,CAACF,MAAM,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC9C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,wHAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACP,KAAK,EAAE;cAAA;gBAAA;gBAAA,OAEE,IAAI,CAACd,eAAe,EAAE,CAACwB,aAAa,CAAC;kBACxDC,IAAI,wBAAiB,IAAIC,IAAI,EAAE,CAACC,OAAO,EAAE;gBAC1C,CAAC,CAAC;cAAA;gBAFF,IAAI,CAACC,MAAM;gBAAA;gBAAA,OAIW,IAAI,CAACvB,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAzDS,OAAO;gBAEbZ,iBAAM,CAAC0B,OAAO,CAACd,OAAO,CAACE,MAAM,CAAC;gBAExBa,QAAQ,GAAG,IAAI,CAACR,OAAO,CAAC,MAAM,CAAC,CAACS,eAAe,EAAE;gBACvD5B,iBAAM,CAAC6B,OAAO,CAACF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEG,EAAE,EAAE,IAAI,CAACL,MAAM,CAACK,EAAE,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC5C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,+HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACnB,KAAK,EAAE;cAAA;gBAAA;gBAAA,OAEE,IAAI,CAACd,eAAe,EAAE,CAACwB,aAAa,CAAC;kBACxDC,IAAI,0BAAmB,IAAIC,IAAI,EAAE,CAACC,OAAO,EAAE;gBAC5C,CAAC,CAAC;cAAA;gBAFF,IAAI,CAACO,MAAM;gBAILC,OAAO,GAAG,IAAI,CAAC9B,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAAA;gBAAA,OAEnD,IAAI,CAACC,YAAY,EAAE;cAAA;gBAEzBJ,iBAAM,CAACK,WAAW,CAAC,IAAI,CAACC,EAAE,CAACC,iBAAiB,EAAE,CAAC0B,OAAO,EAAE,QAAQ,CAAC;gBACjEjC,iBAAM,CAACK,WAAW,CAAC,IAAI,CAACC,EAAE,CAACC,iBAAiB,EAAE,CAACC,OAAO,CAAC0B,IAAI,EAAE,QAAQ,CAAC;gBACtElC,iBAAM,CAACmC,WAAW,CACjB,IAAI,CAAC7B,EAAE,CAACC,iBAAiB,EAAE,CAACC,OAAO,CAACA,OAAO,CAAC4B,OAAO,EACnD,CAAC,IAAI,CAACX,MAAM,EAAE,IAAI,CAACM,MAAM,CAAC,CAACM,GAAG,CAAC,UAACC,CAAC;kBAAA,OAAM;oBACtC7B,KAAK,EAAE6B,CAAC,CAAChB,IAAI;oBACbiB,KAAK,EAAED,CAAC,CAACR;kBACV,CAAC;gBAAA,CAAC,CAAC,CACH;gBAAA;gBAAA,OAEK,IAAI,CAACxB,EAAE,CAACkC,SAAS,CAAC,IAAI,CAACT,MAAM,CAACD,EAAE,CAAC;cAAA;gBAAA;gBAAA,OAEjCE,OAAO;cAAA;gBAEPL,QAAQ,GAAG,IAAI,CAACR,OAAO,CAAC,MAAM,CAAC,CAACS,eAAe,EAAE;gBACvD5B,iBAAM,CAAC6B,OAAO,CAACF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEG,EAAE,EAAE,IAAI,CAACC,MAAM,CAACD,EAAE,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC5C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,iHAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACnB,KAAK,EAAE;cAAA;gBAAA;gBAAA,OACI,IAAI,CAACT,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAACC,OAAO,CAAC;kBAC3DsC,SAAS,EAAE;gBACZ,CAAC,CAAC;cAAA;gBAFI7B,OAAO;gBAIbZ,iBAAM,CAACa,QAAQ,CAACD,OAAO,CAACE,MAAM,CAAC;gBAE/BE,sBAAW,CAACC,WAAW,CAACL,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC7D;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,4GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACH,KAAK,EAAE;cAAA;gBAAA;gBAAA,OAEE,IAAI,CAACd,eAAe,EAAE,CAACwB,aAAa,CAAC;kBACxDC,IAAI,0BAAmB,IAAIC,IAAI,EAAE,CAACC,OAAO,EAAE;gBAC5C,CAAC,CAAC;cAAA;gBAFF,IAAI,CAACkB,MAAM;gBAAA;gBAAA,OAIW,IAAI,CAACxC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAACC,OAAO,CAAC;kBAC3DsC,SAAS,EAAE,IAAI,CAACC,MAAM,CAACC;gBACxB,CAAC,CAAC;cAAA;gBAFI/B,OAAO;gBAIbZ,iBAAM,CAAC0B,OAAO,CAACd,OAAO,CAACE,MAAM,CAAC;gBAExBa,QAAQ,GAAG,IAAI,CAACR,OAAO,CAAC,MAAM,CAAC,CAACS,eAAe,EAAE;gBACvD5B,iBAAM,CAAC6B,OAAO,CAACF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEG,EAAE,EAAE,IAAI,CAACY,MAAM,CAACZ,EAAE,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC5C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA9HiDc,8BAAiB,8DAClC,QAAQ;AAAA"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class RebuildingASkillTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  protected static hasRebuildCommand(): Promise<void>;
@@ -15,8 +15,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
17
17
  var _testUtils = require("@sprucelabs/test-utils");
18
- var _CommandService = _interopRequireDefault(require("../../services/CommandService"));
19
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
18
+ var _CommandService = _interopRequireDefault(require("../../../services/CommandService"));
19
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
20
20
  var _dec, _dec2, _dec3, _class, _class2;
21
21
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
22
22
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RebuildingASkill.test.js","names":["RebuildingASkillTest","test","assert","isFunction","Action","execute","CommandService","fakeCommand","code","shouldPlayGames","results","isFalsy","errors","isArray","errorAssert","assertError","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/skill/RebuildingASkill.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport CommandService from '../../../services/CommandService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\n\nexport default class RebuildingASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\n\t@test()\n\tprotected static async hasRebuildCommand() {\n\t\tassert.isFunction(this.Action('skill', 'rebuild').execute)\n\t}\n\n\t@test()\n\tprotected static async runsExpectedCommand() {\n\t\tCommandService.fakeCommand('yarn rebuild', { code: 0 })\n\n\t\tconst results = await this.Action('skill', 'rebuild').execute({\n\t\t\tshouldPlayGames: false,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async handlesError() {\n\t\tCommandService.fakeCommand('yarn rebuild', { code: 1 })\n\n\t\tconst results = await this.Action('skill', 'rebuild').execute({\n\t\t\tshouldPlayGames: false,\n\t\t})\n\n\t\tassert.isArray(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'EXECUTING_COMMAND_FAILED')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAEA;AACA;AAAgE;AAAA;AAAA;AAAA,IAE3CA,oBAAoB,WAGvC,IAAAC,eAAI,GAAE,UAKN,IAAAA,eAAI,GAAE,UAWN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,uGAhBP;QAAA;UAAA;YAAA;cAAA;gBAECC,iBAAM,CAACC,UAAU,CAAC,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAACC,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC1D;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,yGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAECC,0BAAc,CAACC,WAAW,CAAC,cAAc,EAAE;kBAAEC,IAAI,EAAE;gBAAE,CAAC,CAAC;gBAAA;gBAAA,OAEjC,IAAI,CAACJ,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAACC,OAAO,CAAC;kBAC7DI,eAAe,EAAE;gBAClB,CAAC,CAAC;cAAA;gBAFIC,OAAO;gBAIbR,iBAAM,CAACS,OAAO,CAACD,OAAO,CAACE,MAAM,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC9B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,kGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAECN,0BAAc,CAACC,WAAW,CAAC,cAAc,EAAE;kBAAEC,IAAI,EAAE;gBAAE,CAAC,CAAC;gBAAA;gBAAA,OAEjC,IAAI,CAACJ,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAACC,OAAO,CAAC;kBAC7DI,eAAe,EAAE;gBAClB,CAAC,CAAC;cAAA;gBAFIC,OAAO;gBAIbR,iBAAM,CAACW,OAAO,CAACH,OAAO,CAACE,MAAM,CAAC;gBAE9BE,sBAAW,CAACC,WAAW,CAACL,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA9BgDI,8BAAiB,8DACjC,QAAQ;AAAA"}
@@ -68,8 +68,8 @@ var CreatingBehavioralTestsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _t
68
68
  case 5:
69
69
  candidates = _context2.sent;
70
70
  _testUtils.assert.doesInclude(candidates, {
71
- label: 'AbstractSpruceFixtureTest (requires install)',
72
- name: 'AbstractSpruceFixtureTest'
71
+ label: 'AbstractStoreTest (requires install)',
72
+ name: 'AbstractStoreTest'
73
73
  });
74
74
  case 7:
75
75
  case "end":
@@ -1 +1 @@
1
- {"version":3,"file":"CreatingATest.test.js","names":["CreatingBehavioralTestsTest","test","assert","isFunction","Action","execute","installTests","testFeature","featureInstaller","getFeature","buildParentClassCandidates","candidates","doesInclude","label","name","testName","LintService","enableLinting","createTestAndGetFile","match","Service","build","doesThrowAsync","testType","createTestSubDir","installAndStartTestActionAndWaitForInput","promise","uiAssert","assertSelectRenderChoice","ui","sendInput","waitAndSelectSubClass","dirs","dir","dirName","results","expectedPath","resolvePath","isEqual","files","path","file","resolveTestDir","diskUtil","writeFile","assertSelectDidNotRenderChoice","reset","testFile","contents","readFile","newDir","createDir","testDirs","selectOptionBasedOnLabel","response","type","nameReadable","nameCamel","namePascal","waitForInput","selectedSubClass","createTest","testUtil","assertFileByNameInGeneratedFiles","AbstractTestTest"],"sources":["../../../../src/__tests__/behavioral/tests/CreatingATest.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport LintService from '../../../services/LintService'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport uiAssert from '../../../tests/utilities/uiAssert.utility'\n\nexport default class CreatingBehavioralTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tassert.isFunction(this.Action('test', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async requiresInstallIfFeatureNotInstalled() {\n\t\tawait this.installTests('testsInNodeModule')\n\n\t\tconst testFeature = this.featureInstaller.getFeature('test')\n\t\tconst candidates = await testFeature.buildParentClassCandidates()\n\n\t\tassert.doesInclude(candidates, {\n\t\t\tlabel: 'AbstractSpruceFixtureTest (requires install)',\n\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t})\n\t}\n\n\t@test(\n\t\t'can create behavioral test with AbstractSpruceFixtureTest',\n\t\t'AbstractSpruceFixtureTest'\n\t)\n\t@test(\n\t\t'can create behavioral test with AbstractStoreTest',\n\t\t'AbstractStoreTest (requires install)'\n\t)\n\tprotected static async canCreateBehavioralTest(testName: string) {\n\t\tLintService.enableLinting()\n\t\tconst match = await this.createTestAndGetFile(testName)\n\n\t\tassert.doesInclude(match, 'behavioral')\n\n\t\tawait this.Service('build').build()\n\n\t\tawait assert.doesThrowAsync(\n\t\t\t() => this.Service('command').execute('yarn test'),\n\t\t\t/false.*?does not equal.*?true/gis\n\t\t)\n\t}\n\n\t@test('finds folders inside behavioral', 'behavioral')\n\t@test('finds folders inside implementation', 'implementation')\n\tprotected static async promptsToSelectFolderIfInsideTestDir(\n\t\ttestType: string\n\t) {\n\t\tawait this.installTests()\n\n\t\tthis.createTestSubDir(testType, 'dummy1')\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput(\n\t\t\ttestType\n\t\t)\n\n\t\tuiAssert.assertSelectRenderChoice(this.ui, '.', testType)\n\t\tuiAssert.assertSelectRenderChoice(this.ui, `dummy1`, `${testType}/dummy1`)\n\n\t\tawait this.ui.sendInput('.')\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tawait promise\n\t}\n\n\t@test()\n\tprotected static async listsManyDirsIfExistInsideTestDir() {\n\t\tawait this.installTests()\n\n\t\tconst dirs = ['dir1', 'dir2', 'dir3']\n\n\t\tfor (const dir of dirs) {\n\t\t\tthis.createTestSubDir('behavioral', dir)\n\t\t}\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput()\n\n\t\tfor (const dir of dirs) {\n\t\t\tuiAssert.assertSelectRenderChoice(this.ui, `${dir}`, `behavioral/${dir}`)\n\t\t}\n\n\t\tawait this.ui.sendInput('.')\n\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tawait promise\n\t}\n\n\t@test('can select sub dir 1', 'test')\n\t@test('can select sub dir 2', 'test-2')\n\tprotected static async selectingAnOptionRendersToSubDir(dirName: string) {\n\t\tawait this.installTests()\n\t\tthis.createTestSubDir('behavioral', dirName)\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput(\n\t\t\t'behavioral'\n\t\t)\n\n\t\tawait this.ui.sendInput(`${dirName}`)\n\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tconst results = await promise\n\n\t\tconst expectedPath = this.resolvePath(\n\t\t\t'src',\n\t\t\t'__tests__',\n\t\t\t'behavioral',\n\t\t\tdirName,\n\t\t\t'CanBookAppointment.test.ts'\n\t\t)\n\n\t\tassert.isEqual(expectedPath, results.files?.[0]?.path)\n\t}\n\n\t@test()\n\tprotected static async doesNotListFiles() {\n\t\tawait this.installTests()\n\t\tthis.createTestSubDir('behavioral', 'subdir')\n\n\t\tconst file = this.resolveTestDir('behavioral', 'test.ts')\n\t\tdiskUtil.writeFile(file, 'what the!?')\n\n\t\tawait this.installAndStartTestActionAndWaitForInput()\n\n\t\tuiAssert.assertSelectDidNotRenderChoice(\n\t\t\tthis.ui,\n\t\t\t'test',\n\t\t\t`behavioral/test/test.ts`\n\t\t)\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async allTestsComeFakedToStart() {\n\t\tconst testFile = await this.createTestAndGetFile()\n\t\tconst contents = diskUtil.readFile(testFile)\n\t\tassert.doesInclude(contents, 'fake.login()')\n\t}\n\n\tprivate static createTestSubDir(...testDirs: string[]) {\n\t\tconst newDir = this.resolveTestDir(...testDirs)\n\t\tdiskUtil.createDir(newDir)\n\t}\n\n\tprivate static resolveTestDir(...testDirs: string[]) {\n\t\treturn this.resolvePath('src', '__tests__', ...testDirs)\n\t}\n\n\tprivate static async createTest(testName = 'AbstractSpruceFixtureTest') {\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput()\n\n\t\tthis.selectOptionBasedOnLabel(testName)\n\n\t\tconst response = await promise\n\t\treturn response\n\t}\n\n\tprivate static async installAndStartTestActionAndWaitForInput(\n\t\ttestType = 'behavioral'\n\t) {\n\t\tawait this.installTests()\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: testType,\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\treturn { promise }\n\t}\n\n\tprivate static async waitAndSelectSubClass(selectedSubClass?: string) {\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput(selectedSubClass ?? '')\n\t}\n\n\tprivate static async createTestAndGetFile(testName?: string) {\n\t\tconst response = await this.createTest(testName)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresponse.files\n\t\t)\n\t\treturn match\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CreatingATest.test.js","names":["CreatingBehavioralTestsTest","test","assert","isFunction","Action","execute","installTests","testFeature","featureInstaller","getFeature","buildParentClassCandidates","candidates","doesInclude","label","name","testName","LintService","enableLinting","createTestAndGetFile","match","Service","build","doesThrowAsync","testType","createTestSubDir","installAndStartTestActionAndWaitForInput","promise","uiAssert","assertSelectRenderChoice","ui","sendInput","waitAndSelectSubClass","dirs","dir","dirName","results","expectedPath","resolvePath","isEqual","files","path","file","resolveTestDir","diskUtil","writeFile","assertSelectDidNotRenderChoice","reset","testFile","contents","readFile","newDir","createDir","testDirs","selectOptionBasedOnLabel","response","type","nameReadable","nameCamel","namePascal","waitForInput","selectedSubClass","createTest","testUtil","assertFileByNameInGeneratedFiles","AbstractTestTest"],"sources":["../../../../src/__tests__/behavioral/tests/CreatingATest.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport LintService from '../../../services/LintService'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport uiAssert from '../../../tests/utilities/uiAssert.utility'\n\nexport default class CreatingBehavioralTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tassert.isFunction(this.Action('test', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async requiresInstallIfFeatureNotInstalled() {\n\t\tawait this.installTests('testsInNodeModule')\n\n\t\tconst testFeature = this.featureInstaller.getFeature('test')\n\t\tconst candidates = await testFeature.buildParentClassCandidates()\n\n\t\tassert.doesInclude(candidates, {\n\t\t\tlabel: 'AbstractStoreTest (requires install)',\n\t\t\tname: 'AbstractStoreTest',\n\t\t})\n\t}\n\n\t@test(\n\t\t'can create behavioral test with AbstractSpruceFixtureTest',\n\t\t'AbstractSpruceFixtureTest'\n\t)\n\t@test(\n\t\t'can create behavioral test with AbstractStoreTest',\n\t\t'AbstractStoreTest (requires install)'\n\t)\n\tprotected static async canCreateBehavioralTest(testName: string) {\n\t\tLintService.enableLinting()\n\t\tconst match = await this.createTestAndGetFile(testName)\n\n\t\tassert.doesInclude(match, 'behavioral')\n\n\t\tawait this.Service('build').build()\n\n\t\tawait assert.doesThrowAsync(\n\t\t\t() => this.Service('command').execute('yarn test'),\n\t\t\t/false.*?does not equal.*?true/gis\n\t\t)\n\t}\n\n\t@test('finds folders inside behavioral', 'behavioral')\n\t@test('finds folders inside implementation', 'implementation')\n\tprotected static async promptsToSelectFolderIfInsideTestDir(\n\t\ttestType: string\n\t) {\n\t\tawait this.installTests()\n\n\t\tthis.createTestSubDir(testType, 'dummy1')\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput(\n\t\t\ttestType\n\t\t)\n\n\t\tuiAssert.assertSelectRenderChoice(this.ui, '.', testType)\n\t\tuiAssert.assertSelectRenderChoice(this.ui, `dummy1`, `${testType}/dummy1`)\n\n\t\tawait this.ui.sendInput('.')\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tawait promise\n\t}\n\n\t@test()\n\tprotected static async listsManyDirsIfExistInsideTestDir() {\n\t\tawait this.installTests()\n\n\t\tconst dirs = ['dir1', 'dir2', 'dir3']\n\n\t\tfor (const dir of dirs) {\n\t\t\tthis.createTestSubDir('behavioral', dir)\n\t\t}\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput()\n\n\t\tfor (const dir of dirs) {\n\t\t\tuiAssert.assertSelectRenderChoice(this.ui, `${dir}`, `behavioral/${dir}`)\n\t\t}\n\n\t\tawait this.ui.sendInput('.')\n\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tawait promise\n\t}\n\n\t@test('can select sub dir 1', 'test')\n\t@test('can select sub dir 2', 'test-2')\n\tprotected static async selectingAnOptionRendersToSubDir(dirName: string) {\n\t\tawait this.installTests()\n\t\tthis.createTestSubDir('behavioral', dirName)\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput(\n\t\t\t'behavioral'\n\t\t)\n\n\t\tawait this.ui.sendInput(`${dirName}`)\n\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tconst results = await promise\n\n\t\tconst expectedPath = this.resolvePath(\n\t\t\t'src',\n\t\t\t'__tests__',\n\t\t\t'behavioral',\n\t\t\tdirName,\n\t\t\t'CanBookAppointment.test.ts'\n\t\t)\n\n\t\tassert.isEqual(expectedPath, results.files?.[0]?.path)\n\t}\n\n\t@test()\n\tprotected static async doesNotListFiles() {\n\t\tawait this.installTests()\n\t\tthis.createTestSubDir('behavioral', 'subdir')\n\n\t\tconst file = this.resolveTestDir('behavioral', 'test.ts')\n\t\tdiskUtil.writeFile(file, 'what the!?')\n\n\t\tawait this.installAndStartTestActionAndWaitForInput()\n\n\t\tuiAssert.assertSelectDidNotRenderChoice(\n\t\t\tthis.ui,\n\t\t\t'test',\n\t\t\t`behavioral/test/test.ts`\n\t\t)\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async allTestsComeFakedToStart() {\n\t\tconst testFile = await this.createTestAndGetFile()\n\t\tconst contents = diskUtil.readFile(testFile)\n\t\tassert.doesInclude(contents, 'fake.login()')\n\t}\n\n\tprivate static createTestSubDir(...testDirs: string[]) {\n\t\tconst newDir = this.resolveTestDir(...testDirs)\n\t\tdiskUtil.createDir(newDir)\n\t}\n\n\tprivate static resolveTestDir(...testDirs: string[]) {\n\t\treturn this.resolvePath('src', '__tests__', ...testDirs)\n\t}\n\n\tprivate static async createTest(testName = 'AbstractSpruceFixtureTest') {\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput()\n\n\t\tthis.selectOptionBasedOnLabel(testName)\n\n\t\tconst response = await promise\n\t\treturn response\n\t}\n\n\tprivate static async installAndStartTestActionAndWaitForInput(\n\t\ttestType = 'behavioral'\n\t) {\n\t\tawait this.installTests()\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: testType,\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\treturn { promise }\n\t}\n\n\tprivate static async waitAndSelectSubClass(selectedSubClass?: string) {\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput(selectedSubClass ?? '')\n\t}\n\n\tprivate static async createTestAndGetFile(testName?: string) {\n\t\tconst response = await this.createTest(testName)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresponse.files\n\t\t)\n\t\treturn match\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class SettingUpASkillForTestingTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  protected static skillSlug: string;
@@ -15,8 +15,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
17
17
  var _testUtils = require("@sprucelabs/test-utils");
18
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
19
- var _constants = require("../../tests/constants");
18
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
19
+ var _constants = require("../../../tests/constants");
20
20
  var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2;
21
21
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
22
22
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingUpASkillForTesting.test.js","names":["SettingUpASkillForTestingTest","test","assert","isFunction","Action","execute","demoNumber","DEMO_NUMBER","skillSlug","results","isFalsy","errors","auth","Service","person","getLoggedInPerson","isTruthy","skill","getCurrentSkill","isEqual","slug","updateCurrentSkill","fail","AbstractSkillTest","Date","getTime"],"sources":["../../../../src/__tests__/behavioral/tests/SettingUpASkillForTesting.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport { DEMO_NUMBER } from '../../../tests/constants'\n\nexport default class SettingUpASkillForTestingTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'tests'\n\tprotected static skillSlug = `test-skill-${new Date().getTime()}`\n\n\t@test()\n\tprotected static async hasSetupAction() {\n\t\tassert.isFunction(this.Action('test', 'setup').execute)\n\t}\n\n\t@test()\n\tprotected static async logsInAsDemoPerson() {\n\t\tconst results = await this.Action('test', 'setup').execute({\n\t\t\tdemoNumber: DEMO_NUMBER,\n\t\t\tskillSlug: this.skillSlug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst auth = this.Service('auth')\n\t\tconst person = auth.getLoggedInPerson()\n\n\t\tassert.isTruthy(person)\n\t}\n\n\t@test()\n\tprotected static async registersCurrentSkill() {\n\t\tconst auth = this.Service('auth')\n\t\tconst skill = auth.getCurrentSkill()\n\n\t\tassert.isTruthy(skill)\n\t}\n\n\t@test()\n\tprotected static async canRunAgainWithoutError() {\n\t\tconst results = await this.Action('test', 'setup').execute({\n\t\t\tdemoNumber: DEMO_NUMBER,\n\t\t\tskillSlug: this.skillSlug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst auth = this.Service('auth')\n\t\tconst skill = auth.getCurrentSkill()\n\n\t\tassert.isEqual(skill?.slug, this.skillSlug)\n\t}\n\n\t@test()\n\tprotected static async canCorrectInvalidAuth() {\n\t\tconst auth = this.Service('auth')\n\t\t//@ts-ignore\n\t\tauth.updateCurrentSkill({ fail: true })\n\n\t\tconst results = await this.Action('test', 'setup').execute({\n\t\t\tdemoNumber: DEMO_NUMBER,\n\t\t\tskillSlug: this.skillSlug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst skill = auth.getCurrentSkill()\n\n\t\tassert.isEqual(skill?.slug, this.skillSlug)\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import AbstractTestTest from '../../tests/AbstractTestTest';
1
+ import AbstractTestTest from '../../../tests/AbstractTestTest';
2
2
  export default class TestReporterSettingsRememberedTest extends AbstractTestTest {
3
3
  protected static emptyToMakeThingsPassForSomeReason(): void;
4
4
  protected static watchSettingsRemembered(): Promise<void>;
@@ -14,7 +14,7 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
14
14
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
15
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
16
16
  var _testUtils = require("@sprucelabs/test-utils");
17
- var _AbstractTestTest2 = _interopRequireDefault(require("../../tests/AbstractTestTest"));
17
+ var _AbstractTestTest2 = _interopRequireDefault(require("../../../tests/AbstractTestTest"));
18
18
  var _dec, _dec2, _dec3, _class;
19
19
  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); }; }
20
20
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestReporterSettingsRemembered.test.js","names":["TestReporterSettingsRememberedTest","test","FeatureFixture","installCachedFeatures","settings","Service","set","action","Action","execute","shouldReturnImmediately","shouldReportWhileRunning","results","meta","assert","isTruthy","isEqual","getWatchMode","kill","promise","isUndefined","get","setWatchMode","AbstractTestTest"],"sources":["../../../../src/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport TestAction from '../../../features/test/actions/TestAction'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\n\nexport default class TestReporterSettingsRememberedTest extends AbstractTestTest {\n\t@test()\n\tprotected static emptyToMakeThingsPassForSomeReason() {}\n\n\t@test()\n\tprotected static async watchSettingsRemembered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('tests')\n\t\tconst settings = this.Service('settings')\n\n\t\tsettings.set('test.watchMode', 'smart')\n\n\t\tconst action = this.Action('test', 'test')\n\n\t\tconst results = await action.execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tconst meta = (results as any).meta\n\t\tconst test = meta.test as TestAction\n\n\t\tassert.isTruthy(test)\n\n\t\tassert.isEqual(test.getWatchMode(), 'smart')\n\t\ttest.kill()\n\n\t\tawait meta.promise\n\t}\n\n\t@test()\n\tprotected static async watchSettingsSaved() {\n\t\tawait this.FeatureFixture().installCachedFeatures('tests')\n\n\t\tconst action = this.Action('test', 'test')\n\n\t\tconst results = await action.execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tconst meta = (results as any).meta\n\t\tconst test = meta.test as TestAction\n\n\t\tconst settings = this.Service('settings')\n\t\tassert.isUndefined(settings.get('test.watchMode'))\n\n\t\ttest.setWatchMode('smart')\n\n\t\tassert.isEqual(test.getWatchMode(), 'smart')\n\n\t\ttest.kill()\n\n\t\tawait meta.promise\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAEA;AAA8D;AAAA;AAAA;AAAA,IAEzCA,kCAAkC,WACrD,IAAAC,eAAI,GAAE,UAGN,IAAAA,eAAI,GAAE,UAyBN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA,OA5BP,8CACsD,CAAC;EAAC;IAAA;IAAA;MAAA,6GAExD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACC,cAAc,EAAE,CAACC,qBAAqB,CAAC,OAAO,CAAC;cAAA;gBACpDC,QAAQ,GAAG,IAAI,CAACC,OAAO,CAAC,UAAU,CAAC;gBAEzCD,QAAQ,CAACE,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC;gBAEjCC,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;gBAAA;gBAAA,OAEpBD,MAAM,CAACE,OAAO,CAAC;kBACpCC,uBAAuB,EAAE,IAAI;kBAC7BC,wBAAwB,EAAE;gBAC3B,CAAC,CAAC;cAAA;gBAHIC,OAAO;gBAKPC,IAAI,GAAID,OAAO,CAASC,IAAI;gBAC5BZ,IAAI,GAAGY,IAAI,CAACZ,IAAI;gBAEtBa,iBAAM,CAACC,QAAQ,CAACd,IAAI,CAAC;gBAErBa,iBAAM,CAACE,OAAO,CAACf,IAAI,CAACgB,YAAY,EAAE,EAAE,OAAO,CAAC;gBAC5ChB,IAAI,CAACiB,IAAI,EAAE;gBAAA;gBAAA,OAELL,IAAI,CAACM,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,wGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACjB,cAAc,EAAE,CAACC,qBAAqB,CAAC,OAAO,CAAC;cAAA;gBAEpDI,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;gBAAA;gBAAA,OAEpBD,MAAM,CAACE,OAAO,CAAC;kBACpCC,uBAAuB,EAAE,IAAI;kBAC7BC,wBAAwB,EAAE;gBAC3B,CAAC,CAAC;cAAA;gBAHIC,OAAO;gBAKPC,IAAI,GAAID,OAAO,CAASC,IAAI;gBAC5BZ,IAAI,GAAGY,IAAI,CAACZ,IAAI;gBAEhBG,QAAQ,GAAG,IAAI,CAACC,OAAO,CAAC,UAAU,CAAC;gBACzCS,iBAAM,CAACM,WAAW,CAAChB,QAAQ,CAACiB,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAElDpB,IAAI,CAACqB,YAAY,CAAC,OAAO,CAAC;gBAE1BR,iBAAM,CAACE,OAAO,CAACf,IAAI,CAACgB,YAAY,EAAE,EAAE,OAAO,CAAC;gBAE5ChB,IAAI,CAACiB,IAAI,EAAE;gBAAA;gBAAA,OAELL,IAAI,CAACM,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EArD8DI,6BAAgB;AAAA"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class TestingDataStoresTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  protected static cantSelectAbstractStoreIfStoreFeatureNotInstalled(): Promise<void>;
@@ -16,9 +16,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
16
16
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
17
17
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
18
18
  var _testUtils = require("@sprucelabs/test-utils");
19
- var _LintService = _interopRequireDefault(require("../../services/LintService"));
20
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
21
- var _test = _interopRequireDefault(require("../../tests/utilities/test.utility"));
19
+ var _LintService = _interopRequireDefault(require("../../../services/LintService"));
20
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
21
+ var _test = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
22
22
  var _dec, _dec2, _class, _class2;
23
23
  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); }; }
24
24
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestingDataStores.test.js","names":["TestingDataStoresTest","test","storeFeature","cli","getFeature","isInstalled","Action","execute","type","nameReadable","nameCamel","namePascal","waitForInput","last","ui","getLastInvocation","assert","isTruthy","options","choices","doesInclude","label","reset","LintService","enableLinting","promise","selectOptionBasedOnLabel","results","isFalsy","errors","match","testUtil","assertFileByNameInGeneratedFiles","files","contents","diskUtil","readFile","Service","build","shouldReportWhileRunning","testResults","isArray","isLength","first","message","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/tests/TestingDataStores.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport LintService from '../../../services/LintService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class TestingDataStoresTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'storesWithTests'\n\n\t@test()\n\tprotected static async cantSelectAbstractStoreIfStoreFeatureNotInstalled() {\n\t\tconst storeFeature = this.cli.getFeature('store')\n\n\t\tstoreFeature.isInstalled = async () => false\n\n\t\tvoid this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.isTruthy(last.options.options.choices)\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractStoreTest (requires install)',\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async letsYouSelectAbstractStoreTest() {\n\t\tLintService.enableLinting()\n\t\tthis.cli.getFeature('store').isInstalled = async () => true\n\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.isTruthy(last.options.options.choices)\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractStoreTest',\n\t\t})\n\n\t\tawait this.selectOptionBasedOnLabel('AbstractStoreTest')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'CanBookAppointmentTest extends AbstractStoreTest'\n\t\t)\n\n\t\tawait this.Service('build').build()\n\n\t\tconst testResults = await this.Action('test', 'test').execute({\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tassert.isArray(testResults.errors)\n\t\tassert.isLength(testResults.errors, 1)\n\n\t\tconst first = testResults.errors[0]\n\n\t\tassert.doesInclude(first.message, 'does not equal')\n\t}\n}\n"],"mappings":"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"}