@sprucelabs/spruce-cli 19.1.5 → 19.1.7

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 (415) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  3. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  4. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  5. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  43. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  44. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  45. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  46. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  47. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  48. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  49. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  50. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTarget.schema.js.map +1 -1
  51. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTargetAndPayload.schema.js.map +1 -1
  52. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeResponsePayload.schema.js.map +1 -1
  53. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  54. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  55. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  56. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  57. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/registerDashboardCardsResponsePayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  60. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  61. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/theme.schema.js.map +1 -1
  63. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitPayload.schema.js.map +1 -1
  64. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTarget.schema.js.map +1 -1
  65. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTargetAndPayload.schema.js.map +1 -1
  66. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeResponsePayload.schema.js.map +1 -1
  67. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -1
  68. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  69. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  70. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  71. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  72. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  73. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  74. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  75. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  76. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  77. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  78. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  79. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  80. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -1
  81. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  82. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  83. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  84. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  85. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  86. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  87. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  88. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  89. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  90. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  91. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  92. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  93. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  94. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  95. package/build/InFlightEntertainment.js.map +1 -1
  96. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  97. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  98. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  99. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  100. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  101. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  102. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  103. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  104. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  105. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  106. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  107. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  108. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  109. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  110. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  111. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  112. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  113. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  114. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  115. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  116. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  117. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  118. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  119. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  120. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -1
  121. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  122. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  123. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  124. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  125. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -1
  126. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -1
  127. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -1
  128. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  129. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  130. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  131. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  132. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  133. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  134. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  135. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -1
  136. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  137. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
  138. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  139. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -1
  140. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -1
  141. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -1
  142. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  143. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  144. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
  145. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  146. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -1
  147. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  148. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  149. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  150. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  151. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  152. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  153. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  154. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  155. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  156. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  157. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  158. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -1
  159. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -1
  160. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -1
  161. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  162. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  163. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  164. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  165. package/build/__tests__/behavioral/tests/CreatingATest.test.d.ts +0 -2
  166. package/build/__tests__/behavioral/tests/CreatingATest.test.js +75 -147
  167. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  168. package/build/__tests__/behavioral/tests/RunningTests.test.d.ts +3 -0
  169. package/build/__tests__/behavioral/tests/RunningTests.test.js +99 -43
  170. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  171. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +3 -1
  172. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  173. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -1
  174. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  175. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -1
  176. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -1
  177. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  178. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  179. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  180. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  181. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  182. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  183. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  184. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  185. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  186. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  187. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  188. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  189. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  190. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -1
  191. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  192. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  193. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -1
  194. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  195. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  196. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  197. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  198. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  199. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  200. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  201. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  202. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  203. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  204. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  205. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  206. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  207. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  208. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  209. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  210. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  211. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  212. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  213. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  214. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  215. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  216. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  217. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  218. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  219. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
  220. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  221. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  222. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  223. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  224. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  225. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  226. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  227. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  228. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  229. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  230. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  231. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  232. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  233. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  234. package/build/__tests__/implementation/TestRunner.test.d.ts +1 -0
  235. package/build/__tests__/implementation/TestRunner.test.js +22 -10
  236. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  237. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  238. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  239. package/build/__tests__/support/EventFaker.js.map +1 -1
  240. package/build/boot.js.map +1 -1
  241. package/build/cli/Cli.js.map +1 -1
  242. package/build/components/AbstractComponent.js.map +1 -1
  243. package/build/components/FormComponent.js.map +1 -1
  244. package/build/components/QuizComponent.js.map +1 -1
  245. package/build/errors/SpruceError.js.map +1 -1
  246. package/build/features/AbstractAction.js.map +1 -1
  247. package/build/features/AbstractFeature.js.map +1 -1
  248. package/build/features/ActionExecuter.js.map +1 -1
  249. package/build/features/ActionFactory.js.map +1 -1
  250. package/build/features/ActionQuestionAsker.js.map +1 -1
  251. package/build/features/FeatureCommandAttacher.js.map +1 -1
  252. package/build/features/FeatureInstaller.js.map +1 -1
  253. package/build/features/OverrideActionDecorator.js.map +1 -1
  254. package/build/features/cache/actions/DisableAction.js.map +1 -1
  255. package/build/features/conversation/ConversationFeature.js.map +1 -1
  256. package/build/features/conversation/actions/TestAction.js.map +1 -1
  257. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  258. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  259. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  260. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  261. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  262. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  263. package/build/features/error/ErrorFeature.js.map +1 -1
  264. package/build/features/error/actions/CreateAction.js.map +1 -1
  265. package/build/features/error/actions/SyncAction.js.map +1 -1
  266. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  267. package/build/features/event/EventFeature.js.map +1 -1
  268. package/build/features/event/actions/CreateAction.js.map +1 -1
  269. package/build/features/event/actions/ListenAction.js.map +1 -1
  270. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  271. package/build/features/event/actions/SyncAction.js.map +1 -1
  272. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  273. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  274. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  275. package/build/features/event/stores/EventStore.js.map +1 -1
  276. package/build/features/event/stores/ListenerStore.js.map +1 -1
  277. package/build/features/event/writers/EventWriter.js.map +1 -1
  278. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  279. package/build/features/feature.utilities.js.map +1 -1
  280. package/build/features/log/writers/LogWriter.js.map +1 -1
  281. package/build/features/node/NodeFeature.js.map +1 -1
  282. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  283. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  284. package/build/features/node/writers/NodeWriter.js.map +1 -1
  285. package/build/features/onboard/OnboardFeature.js.map +1 -1
  286. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  287. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  288. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  289. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  290. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  291. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  292. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  293. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  294. package/build/features/organization/actions/InstallAction.js.map +1 -1
  295. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  296. package/build/features/permission/PermissionFeature.js.map +1 -1
  297. package/build/features/permission/actions/SyncAction.js.map +1 -1
  298. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  299. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  300. package/build/features/person/actions/LogoutAction.js.map +1 -1
  301. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  302. package/build/features/polish/actions/SetupAction.js.map +1 -1
  303. package/build/features/polish/writers/PolishWriter.js.map +1 -1
  304. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  305. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  306. package/build/features/schema/SchemaFeature.js.map +1 -1
  307. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  308. package/build/features/schema/actions/CreateAction.js.map +1 -1
  309. package/build/features/schema/actions/SyncAction.js.map +1 -1
  310. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  311. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  312. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  313. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  314. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  315. package/build/features/skill/SkillFeature.js.map +1 -1
  316. package/build/features/skill/actions/BootAction.js.map +1 -1
  317. package/build/features/skill/actions/LoginAction.js.map +1 -1
  318. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  319. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  320. package/build/features/skill/stores/SkillStore.js.map +1 -1
  321. package/build/features/skill/updaters/Updater.js.map +1 -1
  322. package/build/features/store/StoreFeature.js.map +1 -1
  323. package/build/features/store/actions/SyncAction.js.map +1 -1
  324. package/build/features/store/stores/StoreStore.js.map +1 -1
  325. package/build/features/store/writers/StoreWriter.js.map +1 -1
  326. package/build/features/test/TestFeature.js.map +1 -1
  327. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  328. package/build/features/test/TestReporter.js.map +1 -1
  329. package/build/features/test/TestRunner.js.map +1 -1
  330. package/build/features/test/actions/CreateAction.js +13 -29
  331. package/build/features/test/actions/CreateAction.js.map +1 -1
  332. package/build/features/test/actions/SetupAction.js.map +1 -1
  333. package/build/features/test/actions/TestAction.js.map +1 -1
  334. package/build/features/test/writers/TestWriter.js.map +1 -1
  335. package/build/features/view/actions/CreateAction.js.map +1 -1
  336. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  337. package/build/features/view/actions/SyncAction.js.map +1 -1
  338. package/build/features/view/actions/WatchAction.js.map +1 -1
  339. package/build/features/view/stores/ViewStore.js.map +1 -1
  340. package/build/features/view/writers/ViewWriter.js.map +1 -1
  341. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  342. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  343. package/build/features/watch/WatchFeature.js.map +1 -1
  344. package/build/index.js.map +1 -1
  345. package/build/interfaces/SpyInterface.d.ts +6 -1
  346. package/build/interfaces/SpyInterface.js +1 -1
  347. package/build/interfaces/SpyInterface.js.map +1 -1
  348. package/build/interfaces/TerminalInterface.js.map +1 -1
  349. package/build/services/BuildService.js.map +1 -1
  350. package/build/services/CommandService.js.map +1 -1
  351. package/build/services/DependencyService.js.map +1 -1
  352. package/build/services/GameService.js.map +1 -1
  353. package/build/services/ImportService.js.map +1 -1
  354. package/build/services/LintService.js.map +1 -1
  355. package/build/services/PkgService.js.map +1 -1
  356. package/build/services/ServiceFactory.js.map +1 -1
  357. package/build/stores/AbstractLocalStore.js.map +1 -1
  358. package/build/stores/StoreFactory.js.map +1 -1
  359. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  360. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  361. package/build/tests/AbstractCliTest.js.map +1 -1
  362. package/build/tests/AbstractErrorTest.js.map +1 -1
  363. package/build/tests/AbstractEventTest.js.map +1 -1
  364. package/build/tests/AbstractSchemaTest.js.map +1 -1
  365. package/build/tests/AbstractSkillTest.js.map +1 -1
  366. package/build/tests/AbstractTestTest.js.map +1 -1
  367. package/build/tests/JestJsonParser.js.map +1 -1
  368. package/build/tests/buildTestCache.js.map +1 -1
  369. package/build/tests/cleanTestCache.js.map +1 -1
  370. package/build/tests/cleanTestData.js.map +1 -1
  371. package/build/tests/constants.js.map +1 -1
  372. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  373. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  374. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  375. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  376. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  377. package/build/tests/utilities/test.utility.js.map +1 -1
  378. package/build/tests/utilities/uiAssert.utility.d.ts +1 -0
  379. package/build/tests/utilities/uiAssert.utility.js +9 -0
  380. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  381. package/build/updaters/ScriptUpdater.js.map +1 -1
  382. package/build/utilities/duration.utility.js.map +1 -1
  383. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  384. package/build/utilities/form.utility.js.map +1 -1
  385. package/build/utilities/introspection.utility.js.map +1 -1
  386. package/build/utilities/tsConfig.utility.js.map +1 -1
  387. package/build/utilities/ui.utility.js.map +1 -1
  388. package/build/widgets/WidgetFactory.js.map +1 -1
  389. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  390. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  391. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  392. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  393. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  394. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  395. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  396. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  397. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  398. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  399. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  400. package/build/widgets/widget.utilities.js.map +1 -1
  401. package/build/writers/AbstractWriter.js.map +1 -1
  402. package/build/writers/WriterFactory.js.map +1 -1
  403. package/node_modules/@typescript-eslint/parser/package.json +5 -5
  404. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  405. package/node_modules/@typescript-eslint/types/package.json +2 -2
  406. package/node_modules/@typescript-eslint/typescript-estree/package.json +4 -4
  407. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  408. package/package.json +35 -35
  409. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +8 -47
  410. package/src/__tests__/behavioral/tests/RunningTests.test.ts +34 -14
  411. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +2 -2
  412. package/src/__tests__/implementation/TestRunner.test.ts +9 -0
  413. package/src/features/test/actions/CreateAction.ts +13 -32
  414. package/src/interfaces/SpyInterface.ts +15 -3
  415. package/src/tests/utilities/uiAssert.utility.ts +9 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typescript-eslint/visitor-keys",
3
- "version": "5.58.0",
3
+ "version": "5.59.6",
4
4
  "description": "Visitor keys used to help traverse the TypeScript-ESTree AST",
5
5
  "keywords": [
6
6
  "eslint",
@@ -39,7 +39,7 @@
39
39
  "typecheck": "tsc -p tsconfig.json --noEmit"
40
40
  },
41
41
  "dependencies": {
42
- "@typescript-eslint/types": "5.58.0",
42
+ "@typescript-eslint/types": "5.59.6",
43
43
  "eslint-visitor-keys": "^3.3.0"
44
44
  },
45
45
  "devDependencies": {
@@ -56,5 +56,5 @@
56
56
  ]
57
57
  }
58
58
  },
59
- "gitHead": "0c6b63658aa5b01188480150fd777a1fa9b277eb"
59
+ "gitHead": "5b0e577f2552e8b2c53a3fb22edc9d219589b937"
60
60
  }
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  ]
18
18
  },
19
19
  "license": "MIT",
20
- "version": "19.1.5",
20
+ "version": "19.1.7",
21
21
  "bin": {
22
22
  "spruce": "./build/index.js"
23
23
  },
@@ -71,25 +71,25 @@
71
71
  "watch.tsc": "tsc -w --sourceMap"
72
72
  },
73
73
  "dependencies": {
74
- "@babel/cli": "^7.21.0",
74
+ "@babel/cli": "^7.21.5",
75
75
  "@babel/plugin-proposal-decorators": "^7.21.0",
76
- "@babel/runtime": "^7.21.0",
76
+ "@babel/runtime": "^7.21.5",
77
77
  "@jest/reporters": "^29.5.0",
78
- "@sprucelabs/error": "^5.0.601",
79
- "@sprucelabs/globby": "^0.0.7",
80
- "@sprucelabs/heartwood-view-controllers": "^102.1.53",
81
- "@sprucelabs/jest-json-reporter": "^7.0.25",
82
- "@sprucelabs/mercury-client": "^39.0.18",
83
- "@sprucelabs/mercury-event-emitter": "^39.0.18",
84
- "@sprucelabs/mercury-types": "^44.0.18",
85
- "@sprucelabs/schema": "^28.6.9",
86
- "@sprucelabs/spruce-core-schemas": "^38.0.18",
87
- "@sprucelabs/spruce-event-utils": "^36.0.19",
88
- "@sprucelabs/spruce-skill-utils": "^28.1.125",
89
- "@sprucelabs/spruce-templates": "^19.1.5",
78
+ "@sprucelabs/error": "^5.1.2",
79
+ "@sprucelabs/globby": "^1.0.1",
80
+ "@sprucelabs/heartwood-view-controllers": "^103.6.12",
81
+ "@sprucelabs/jest-json-reporter": "^7.0.43",
82
+ "@sprucelabs/mercury-client": "^40.1.25",
83
+ "@sprucelabs/mercury-event-emitter": "^40.1.25",
84
+ "@sprucelabs/mercury-types": "^45.0.16",
85
+ "@sprucelabs/schema": "^28.6.28",
86
+ "@sprucelabs/spruce-core-schemas": "^38.1.16",
87
+ "@sprucelabs/spruce-event-utils": "^37.0.18",
88
+ "@sprucelabs/spruce-skill-utils": "^29.0.11",
89
+ "@sprucelabs/spruce-templates": "^19.1.7",
90
90
  "@typescript-eslint/eslint-plugin": "^5.27.1",
91
91
  "@typescript-eslint/parser": "^5.27.1",
92
- "cfonts": "^3.1.1",
92
+ "cfonts": "^3.2.0",
93
93
  "chalk": "4.1.2",
94
94
  "chokidar": "^3.5.3",
95
95
  "cli-table3": "^0.6.3",
@@ -103,8 +103,8 @@
103
103
  "md5": "^2.3.0",
104
104
  "open": "^8.4.2",
105
105
  "ora": "5.4.1",
106
- "semver": "^7.4.0",
107
- "string-argv": "^0.3.1",
106
+ "semver": "^7.5.1",
107
+ "string-argv": "^0.3.2",
108
108
  "terminal-image": "1.2.1",
109
109
  "terminal-kit": "sprucelabsai/terminal-kit",
110
110
  "tree-kill": "^1.2.2",
@@ -113,47 +113,47 @@
113
113
  "uuid": "^9.0.0"
114
114
  },
115
115
  "devDependencies": {
116
- "@sprucelabs/data-stores": "^23.0.12",
117
- "@sprucelabs/jest-sheets-reporter": "^3.0.4",
118
- "@sprucelabs/mercury-core-events": "^20.0.17",
119
- "@sprucelabs/resolve-path-aliases": "^1.1.211",
120
- "@sprucelabs/spruce-conversation-plugin": "^57.0.24",
121
- "@sprucelabs/spruce-deploy-plugin": "^57.0.24",
122
- "@sprucelabs/spruce-store-plugin": "^57.0.24",
123
- "@sprucelabs/spruce-test-fixtures": "^57.0.24",
124
- "@sprucelabs/test": "^7.7.440",
125
- "@sprucelabs/test-utils": "^3.4.38",
116
+ "@sprucelabs/data-stores": "^24.0.9",
117
+ "@sprucelabs/jest-sheets-reporter": "^3.0.21",
118
+ "@sprucelabs/mercury-core-events": "^21.1.14",
119
+ "@sprucelabs/resolve-path-aliases": "^1.1.219",
120
+ "@sprucelabs/spruce-conversation-plugin": "^58.0.21",
121
+ "@sprucelabs/spruce-deploy-plugin": "^58.0.21",
122
+ "@sprucelabs/spruce-store-plugin": "^58.0.21",
123
+ "@sprucelabs/spruce-test-fixtures": "^58.0.21",
124
+ "@sprucelabs/test": "^7.7.447",
125
+ "@sprucelabs/test-utils": "^3.4.57",
126
126
  "@types/blessed": "^0.1.21",
127
127
  "@types/eslint": "^8.37.0",
128
128
  "@types/fs-extra": "^11.0.1",
129
129
  "@types/inquirer": "^8.2.1",
130
130
  "@types/lodash": "^4.14.194",
131
131
  "@types/md5": "^2.3.2",
132
- "@types/node": "^18.15.11",
132
+ "@types/node": "^20.2.0",
133
133
  "@types/promise.allsettled": "^1.0.3",
134
134
  "@types/ps-node": "^0.1.1",
135
- "@types/semver": "^7.3.13",
135
+ "@types/semver": "^7.5.0",
136
136
  "@types/sha1": "^1.1.3",
137
137
  "@types/slug": "^5.0.3",
138
- "@types/superagent": "^4.1.16",
138
+ "@types/superagent": "^4.1.17",
139
139
  "@types/terminal-kit": "^2.5.1",
140
140
  "@types/uuid": "^9.0.1",
141
141
  "chokidar-cli": "^3.0.0",
142
142
  "concurrently": "^8.0.1",
143
143
  "conventional-changelog-sprucelabs": "^1.1.2",
144
144
  "dotenv": "^16.0.3",
145
- "eslint": "^8.38.0",
145
+ "eslint": "^8.40.0",
146
146
  "eslint-config-spruce": "^10.12.0",
147
147
  "find-process": "^1.4.7",
148
148
  "jest": "^29.5.0",
149
149
  "jest-circus": "^29.5.0",
150
150
  "jest-junit": "^16.0.0",
151
151
  "jest-reporters": "^0.0.2",
152
- "prettier": "^2.8.7",
152
+ "prettier": "^2.8.8",
153
153
  "ps-node": "^0.1.6",
154
154
  "ts-jest": "^29.1.0",
155
155
  "ts-node": "^10.9.1",
156
- "tsc-watch": "^6.0.0",
156
+ "tsc-watch": "^6.0.4",
157
157
  "tsconfig-paths": "^4.2.0"
158
158
  },
159
159
  "testSkillCache": {
@@ -590,5 +590,5 @@
590
590
  "terminal-kit"
591
591
  ]
592
592
  },
593
- "gitHead": "ee04cb9291c2130ae9a07b9ee559592b6f9f344b"
593
+ "gitHead": "6d676a2ac0b1fb23cd625ea6fbe97c3af1b55900"
594
594
  }
@@ -59,33 +59,12 @@ export default class CreatingBehavioralTestsTest extends AbstractTestTest {
59
59
  testType
60
60
  )
61
61
 
62
- uiAssert.assertSelectRenderChoice(this.ui, '.', testType)
63
- uiAssert.assertSelectRenderChoice(this.ui, `dummy1`, `${testType}/dummy1`)
64
-
65
- await this.ui.sendInput('.')
66
- await this.waitAndSelectSubClass()
67
-
68
- await promise
69
- }
70
-
71
- @test()
72
- protected static async listsManyDirsIfExistInsideTestDir() {
73
- await this.installTests()
74
-
75
- const dirs = ['dir1', 'dir2', 'dir3']
76
-
77
- for (const dir of dirs) {
78
- this.createTestSubDir('behavioral', dir)
79
- }
80
-
81
- const { promise } = await this.installAndStartTestActionAndWaitForInput()
82
-
83
- for (const dir of dirs) {
84
- uiAssert.assertSelectRenderChoice(this.ui, `${dir}`, `behavioral/${dir}`)
85
- }
86
-
87
- await this.ui.sendInput('.')
62
+ uiAssert.assertRendersDirectorySelect(
63
+ this.ui,
64
+ this.resolvePath('src', '__tests__', testType)
65
+ )
88
66
 
67
+ await this.ui.sendInput('')
89
68
  await this.waitAndSelectSubClass()
90
69
 
91
70
  await promise
@@ -95,13 +74,13 @@ export default class CreatingBehavioralTestsTest extends AbstractTestTest {
95
74
  @test('can select sub dir 2', 'test-2')
96
75
  protected static async selectingAnOptionRendersToSubDir(dirName: string) {
97
76
  await this.installTests()
98
- this.createTestSubDir('behavioral', dirName)
77
+ const dir = this.createTestSubDir('behavioral', dirName)
99
78
 
100
79
  const { promise } = await this.installAndStartTestActionAndWaitForInput(
101
80
  'behavioral'
102
81
  )
103
82
 
104
- await this.ui.sendInput(`${dirName}`)
83
+ await this.ui.sendInput({ path: dir })
105
84
 
106
85
  await this.waitAndSelectSubClass()
107
86
 
@@ -118,25 +97,6 @@ export default class CreatingBehavioralTestsTest extends AbstractTestTest {
118
97
  assert.isEqual(expectedPath, results.files?.[0]?.path)
119
98
  }
120
99
 
121
- @test()
122
- protected static async doesNotListFiles() {
123
- await this.installTests()
124
- this.createTestSubDir('behavioral', 'subdir')
125
-
126
- const file = this.resolveTestDir('behavioral', 'test.ts')
127
- diskUtil.writeFile(file, 'what the!?')
128
-
129
- await this.installAndStartTestActionAndWaitForInput()
130
-
131
- uiAssert.assertSelectDidNotRenderChoice(
132
- this.ui,
133
- 'test',
134
- `behavioral/test/test.ts`
135
- )
136
-
137
- this.ui.reset()
138
- }
139
-
140
100
  @test()
141
101
  protected static async allTestsComeFakedToStart() {
142
102
  const testFile = await this.createTestAndGetFile()
@@ -147,6 +107,7 @@ export default class CreatingBehavioralTestsTest extends AbstractTestTest {
147
107
  private static createTestSubDir(...testDirs: string[]) {
148
108
  const newDir = this.resolveTestDir(...testDirs)
149
109
  diskUtil.createDir(newDir)
110
+ return newDir
150
111
  }
151
112
 
152
113
  private static resolveTestDir(...testDirs: string[]) {
@@ -3,6 +3,13 @@ import { errorAssert } from '@sprucelabs/test-utils'
3
3
  import AbstractTestTest from '../../../tests/AbstractTestTest'
4
4
 
5
5
  export default class RunningTestsTest extends AbstractTestTest {
6
+ private static hasCreatedTest: any
7
+
8
+ protected static async beforeEach(): Promise<void> {
9
+ await super.beforeEach()
10
+ this.hasCreatedTest = false
11
+ }
12
+
6
13
  @test()
7
14
  protected static async hasTestAction() {
8
15
  await this.Cli()
@@ -12,35 +19,24 @@ export default class RunningTestsTest extends AbstractTestTest {
12
19
  @test()
13
20
  protected static async runningTestsActuallyRunsTests() {
14
21
  await this.installTests()
15
- const creationPromise = this.Action('test', 'create').execute({
16
- type: 'behavioral',
22
+
23
+ const creationResults = await this.createTest({
17
24
  nameReadable: 'Can book appointment',
18
25
  nameCamel: 'canBookAppointment',
19
26
  namePascal: 'CanBookAppointment',
20
27
  })
21
28
 
22
- await this.waitForInput()
23
- await this.ui.sendInput('')
24
-
25
- const creationResults = await creationPromise
26
-
27
29
  const file = creationResults.files?.[0]
28
30
  assert.isTruthy(file)
29
31
 
30
32
  this.fixBadTest(file.path)
31
33
 
32
- const promise = this.Action('test', 'create').execute({
33
- type: 'behavioral',
34
+ await this.createTest({
34
35
  nameReadable: 'Can cancel appointment',
35
36
  nameCamel: 'canCancelAppointment',
36
37
  namePascal: 'CanCancelAppointment',
37
38
  })
38
39
 
39
- await this.waitForInput()
40
- await this.ui.sendInput('')
41
-
42
- await promise
43
-
44
40
  await this.Service('build').build()
45
41
 
46
42
  const results = await this.Action('test', 'test').execute({
@@ -66,4 +62,28 @@ export default class RunningTestsTest extends AbstractTestTest {
66
62
  totalTodo: 0,
67
63
  })
68
64
  }
65
+
66
+ private static async createTest(options: {
67
+ nameReadable: string
68
+ nameCamel: string
69
+ namePascal: string
70
+ }) {
71
+ const creationPromise = this.Action('test', 'create').execute({
72
+ type: 'behavioral',
73
+ ...options,
74
+ })
75
+
76
+ if (this.hasCreatedTest) {
77
+ await this.waitForInput()
78
+ await this.ui.sendInput({ path: '.' })
79
+ }
80
+
81
+ this.hasCreatedTest = true
82
+
83
+ await this.waitForInput()
84
+ await this.ui.sendInput('')
85
+
86
+ const creationResults = await creationPromise
87
+ return creationResults
88
+ }
69
89
  }
@@ -42,14 +42,14 @@ export default class SelectingAnAbstractTestClassTest extends AbstractTestTest {
42
42
  @test()
43
43
  protected static async canSelectAbstractClassWhileSelectingSubDir() {
44
44
  const testDir = this.resolvePath('src', '__tests__', 'behavioral', 'taco')
45
+
45
46
  diskUtil.createDir(testDir)
46
47
 
47
48
  await this.installAndCopyTestFiles()
48
49
 
49
50
  const { promise } = await this.invokeCreateActionAndWaitForInput()
50
51
 
51
- await this.ui.sendInput('taco')
52
-
52
+ await this.ui.sendInput({ path: 'taco' })
53
53
  await this.waitForInput()
54
54
 
55
55
  this.selectOptionBasedOnLabel('AbstractBananaTestDifferentThanFileName')
@@ -8,9 +8,11 @@ import { CliInterface } from '../../types/cli.types'
8
8
 
9
9
  export default class TestRunnerTest extends AbstractTestTest {
10
10
  protected static testRunner: TestRunner
11
+ private static hasCreatedTest: boolean
11
12
 
12
13
  protected static async beforeEach() {
13
14
  await super.beforeEach()
15
+ this.hasCreatedTest = false
14
16
  this.testRunner = new TestRunner({
15
17
  cwd: this.cwd,
16
18
  commandService: this.Service('command'),
@@ -143,6 +145,13 @@ export default class TestRunnerTest extends AbstractTestTest {
143
145
  })
144
146
 
145
147
  await this.waitForInput()
148
+ if (this.hasCreatedTest) {
149
+ await this.ui.sendInput('')
150
+ await this.waitForInput()
151
+ }
152
+
153
+ this.hasCreatedTest = true
154
+
146
155
  await this.ui.sendInput('')
147
156
 
148
157
  const results = await promise
@@ -38,10 +38,7 @@ export default class CreateAction extends AbstractAction<OptionsSchema> {
38
38
  const candidates = await testFeature.buildParentClassCandidates()
39
39
 
40
40
  if (diskUtil.doesDirExist(resolvedDestination)) {
41
- resolvedDestination = await this.promptForSubDir(
42
- resolvedDestination,
43
- type
44
- )
41
+ resolvedDestination = await this.promptForSubDir(resolvedDestination)
45
42
  }
46
43
 
47
44
  if (candidates.length > 0) {
@@ -70,34 +67,18 @@ export default class CreateAction extends AbstractAction<OptionsSchema> {
70
67
  hints: ["run `spruce test` in your skill when you're ready!"],
71
68
  }
72
69
  }
73
- private async promptForSubDir(resolvedDestination: string, type: string) {
74
- const subdirs = diskUtil
75
- .readDir(resolvedDestination)
76
- .filter((d) =>
77
- diskUtil.isDir(diskUtil.resolvePath(resolvedDestination, d))
78
- )
79
-
80
- if (subdirs.length > 0) {
81
- const match = await this.ui.prompt({
82
- type: 'select',
83
- label: 'Where should I write this test?',
84
- isRequired: true,
85
- options: {
86
- choices: [
87
- {
88
- value: '.',
89
- label: `${type}`,
90
- },
91
- ...subdirs.map((dir) => ({
92
- value: `${dir}`,
93
- label: `${type}/${dir}`,
94
- })),
95
- ],
96
- },
97
- })
98
-
99
- resolvedDestination = diskUtil.resolvePath(resolvedDestination, match)
100
- }
70
+ private async promptForSubDir(resolvedDestination: string) {
71
+ const match = await this.ui.prompt({
72
+ type: 'directory',
73
+ label: 'Where should I write this test?',
74
+ isRequired: true,
75
+ defaultValue: {
76
+ path: diskUtil.resolvePath(resolvedDestination),
77
+ },
78
+ })
79
+
80
+ resolvedDestination = diskUtil.resolvePath(resolvedDestination, match.path)
81
+
101
82
  return resolvedDestination
102
83
  }
103
84
 
@@ -91,11 +91,17 @@ export default class SpyInterface implements GraphicsInterface {
91
91
  return this.invocations[this.invocations.length - 1]
92
92
  }
93
93
 
94
- public async sendInput(input: string | string[]): Promise<void> {
94
+ public async sendInput(input: Input): Promise<void> {
95
95
  this.trackInvocation('sendInput', input)
96
96
 
97
97
  this.optionallyRenderLine(
98
- `Sending input: "${input.length > 0 ? input : 'ENTER'}"`
98
+ `Sending input: "${
99
+ (input as FilePromptInput).path
100
+ ? (input as FilePromptInput).path
101
+ : (input as string).length > 0
102
+ ? input
103
+ : 'ENTER'
104
+ }"`
99
105
  )
100
106
 
101
107
  if (this.waitForEnterResolver) {
@@ -114,7 +120,7 @@ export default class SpyInterface implements GraphicsInterface {
114
120
 
115
121
  resolver(
116
122
  input === '\n' ||
117
- input.length === 0 ||
123
+ (input as string).length === 0 ||
118
124
  (typeof input === 'string' && input.toLowerCase() === 'y')
119
125
  )
120
126
  } else {
@@ -360,3 +366,9 @@ export default class SpyInterface implements GraphicsInterface {
360
366
  this.trackInvocation('clearBelowCursor')
361
367
  }
362
368
  }
369
+
370
+ type FilePromptInput = {
371
+ path: string
372
+ }
373
+
374
+ type Input = string | string[] | FilePromptInput
@@ -36,6 +36,15 @@ const uiAssert = {
36
36
  })
37
37
  },
38
38
 
39
+ assertRendersDirectorySelect(ui: SpyInterface, defaultValue: string) {
40
+ const last = ui.getLastInvocation()
41
+
42
+ assert.doesInclude(last.options, {
43
+ type: 'directory',
44
+ defaultValue: { path: defaultValue },
45
+ })
46
+ },
47
+
39
48
  async assertRendersConfirmWriteFile(ui: SpyInterface) {
40
49
  await ui.waitForInput()
41
50