@sprucelabs/spruce-cli 17.1.39 → 17.1.42
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.
- package/CHANGELOG.md +24 -0
- package/build/__tests__/behavioral/AddingADependency.test.js +10 -12
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
- package/build/__tests__/behavioral/BlockingCommands.test.js +3 -5
- package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingTheCli.test.js +3 -3
- package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js +7 -7
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +13 -13
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js +10 -10
- package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingASkill.test.js +32 -34
- package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js +15 -17
- package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +11 -13
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/GettingCliVersion.test.js +4 -4
- package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +11 -13
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/ListeningToCoreEvents.test.js +4 -4
- package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js +14 -16
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/ManagingDependencies.test.js +9 -9
- package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +3 -3
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
- package/build/__tests__/behavioral/RebuildingASkill.test.js +4 -6
- package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +4 -4
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +7 -7
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js +11 -11
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js +6 -6
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +5 -5
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +10 -12
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingRemote.test.js +9 -9
- package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js +10 -10
- package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +29 -31
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpVscode.test.js +10 -10
- package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js +13 -13
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js +6 -6
- package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js +17 -17
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingDataStores.test.js +13 -13
- package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
- package/build/__tests__/behavioral/WatchingSkillViews.test.js +15 -15
- package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +15 -15
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +8 -8
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +32 -32
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +4 -6
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +25 -25
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +29 -31
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +26 -28
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +22 -22
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +38 -38
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +7 -7
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +6 -6
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js +4 -4
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +3 -5
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +6 -6
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +6 -6
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +6 -6
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +3 -3
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +14 -16
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +7 -7
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
- package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +8 -8
- package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +23 -25
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +7 -7
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +6 -6
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +18 -18
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +7 -7
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +62 -64
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +6 -8
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +4 -6
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.d.ts +1 -1
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +4 -4
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/BootingASkill.test.js +12 -12
- package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js +5 -5
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +12 -14
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +29 -29
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +26 -28
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +8 -10
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +10 -10
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js +8 -10
- package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +17 -17
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js +3 -5
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +8 -8
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +7 -7
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +6 -6
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +15 -15
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +24 -24
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +22 -22
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +10 -10
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +9 -9
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +4 -4
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +9 -9
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js +28 -30
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js +9 -11
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +8 -8
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/views/SettingUpViews.test.js +5 -5
- package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js +12 -12
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +10 -10
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js +5 -5
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js +30 -30
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js +3 -5
- package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js +2 -4
- package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
- package/build/__tests__/implementation/ArgParser.test.d.ts +1 -1
- package/build/__tests__/implementation/ArgParser.test.js +7 -7
- package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
- package/build/__tests__/implementation/BuildService.test.js +4 -4
- package/build/__tests__/implementation/BuildService.test.js.map +1 -1
- package/build/__tests__/implementation/BulkImporting.test.d.ts +1 -1
- package/build/__tests__/implementation/BulkImporting.test.js +20 -22
- package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
- package/build/__tests__/implementation/CachingImports.test.js +3 -3
- package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
- package/build/__tests__/implementation/CommandOptionBuilder.test.js +12 -12
- package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.d.ts +1 -1
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +13 -13
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
- package/build/__tests__/implementation/DataStoreStore.test.js +16 -18
- package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +6 -6
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
- package/build/__tests__/implementation/EventContractCleanerUtil.test.d.ts +1 -1
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js +7 -7
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.js +27 -29
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +12 -12
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js +23 -23
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureFixture.test.js +7 -7
- package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureInstaller.test.js +8 -8
- package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
- package/build/__tests__/implementation/FeaturesUtil.test.d.ts +1 -1
- package/build/__tests__/implementation/FeaturesUtil.test.js +4 -4
- package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +11 -11
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.js +3 -3
- package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
- package/build/__tests__/implementation/Introspection.test.js +4 -4
- package/build/__tests__/implementation/Introspection.test.js.map +1 -1
- package/build/__tests__/implementation/JestJsonParser.test.d.ts +1 -1
- package/build/__tests__/implementation/JestJsonParser.test.js +31 -31
- package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
- package/build/__tests__/implementation/LintService.test.js +3 -3
- package/build/__tests__/implementation/LintService.test.js.map +1 -1
- package/build/__tests__/implementation/ListenerStore.test.js +3 -3
- package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js +9 -9
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +17 -17
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingStore.test.js +14 -14
- package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
- package/build/__tests__/implementation/OrganizationStore.test.js +10 -10
- package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
- package/build/__tests__/implementation/ParentTestFinder.test.js +6 -6
- package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
- package/build/__tests__/implementation/PkgService.test.js +8 -8
- package/build/__tests__/implementation/PkgService.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaStore.test.js +30 -32
- package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +10 -10
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +13 -13
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
- package/build/__tests__/implementation/ServiceFactory.test.js +3 -3
- package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js +4 -6
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js +25 -27
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js +4 -4
- package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
- package/build/__tests__/implementation/TestReporter.test.js +5 -5
- package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
- package/build/__tests__/implementation/TestRunner.test.js +23 -25
- package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
- package/build/__tests__/implementation/ValueTypeMapping.test.js +4 -4
- package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
- package/build/__tests__/implementation/Widgets.test.js +10 -10
- package/build/__tests__/implementation/Widgets.test.js.map +1 -1
- package/build/__tests__/testDirsAndFiles/abstract_tests/AbstractTest.d.ts +1 -1
- package/build/__tests__/testDirsAndFiles/abstract_tests/AbstractTest.ts +1 -1
- package/build/__tests__/testDirsAndFiles/abstract_tests/AbstractTest2.d.ts +1 -1
- package/build/__tests__/testDirsAndFiles/abstract_tests/AbstractTest2.ts +1 -1
- package/build/__tests__/testDirsAndFiles/abstract_tests/deeper/AbstractBananaTest.d.ts +1 -1
- package/build/__tests__/testDirsAndFiles/abstract_tests/deeper/AbstractBananaTest.ts +1 -1
- package/build/features/onboard/templates/ManagingTodos.test.ts.hbs +1 -1
- package/build/features/test/TestLogItemGenerator.js +2 -2
- package/build/features/test/TestLogItemGenerator.js.map +1 -1
- package/build/interfaces/SpyInterface.js +5 -5
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/tests/AbstractCliTest.d.ts +1 -1
- package/build/tests/AbstractCliTest.js +11 -11
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/AbstractSchemaTest.js +4 -4
- package/build/tests/AbstractSchemaTest.js.map +1 -1
- package/build/tests/utilities/test.utility.js +6 -6
- package/build/tests/utilities/test.utility.js.map +1 -1
- package/build/tests/utilities/uiAssert.utility.js +6 -6
- package/build/tests/utilities/uiAssert.utility.js.map +1 -1
- package/node_modules/@typescript-eslint/parser/package.json +5 -5
- package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
- package/node_modules/@typescript-eslint/types/package.json +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
- package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
- package/package.json +15 -23
- package/src/__tests__/behavioral/AddingADependency.test.ts +1 -1
- package/src/__tests__/behavioral/BlockingCommands.test.ts +1 -1
- package/src/__tests__/behavioral/BootingTheCli.test.ts +1 -1
- package/src/__tests__/behavioral/BootingWithBadFiles.test.ts +1 -1
- package/src/__tests__/behavioral/CreatingAConversationTopic.test.ts +1 -1
- package/src/__tests__/behavioral/CreatingSchemasWithGenerics.test.ts +1 -1
- package/src/__tests__/behavioral/DeployingASkill.test.ts +1 -1
- package/src/__tests__/behavioral/DeployingToSandbox.test.ts +1 -1
- package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +1 -1
- package/src/__tests__/behavioral/GettingCliVersion.test.ts +1 -1
- package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +1 -1
- package/src/__tests__/behavioral/ListeningToCoreEvents.test.ts +1 -1
- package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +1 -1
- package/src/__tests__/behavioral/ManagingDependencies.test.ts +1 -1
- package/src/__tests__/behavioral/OverridingCommandsInPackageJson.test.ts +1 -1
- package/src/__tests__/behavioral/RebuildingASkill.test.ts +1 -1
- package/src/__tests__/behavioral/RegisteringConversationsOnBoot.test.ts +1 -1
- package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +1 -1
- package/src/__tests__/behavioral/RegisteringGlobalEvents.test.ts +1 -1
- package/src/__tests__/behavioral/RegisteringSkillViewOnBoot.test.ts +1 -1
- package/src/__tests__/behavioral/RememberingUpgradeSelections.test.ts +1 -1
- package/src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts +1 -1
- package/src/__tests__/behavioral/SettingRemote.test.ts +1 -1
- package/src/__tests__/behavioral/SettingUpASkillForTesting.test.ts +1 -1
- package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +1 -1
- package/src/__tests__/behavioral/SettingUpVscode.test.ts +1 -1
- package/src/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.ts +1 -1
- package/src/__tests__/behavioral/TestReporterSettingsRemembered.test.ts +1 -1
- package/src/__tests__/behavioral/TestingAConversation.test.ts +1 -1
- package/src/__tests__/behavioral/TestingDataStores.test.ts +1 -1
- package/src/__tests__/behavioral/WatchingSkillViews.test.ts +1 -1
- package/src/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.ts +1 -1
- package/src/__tests__/behavioral/errors/KeepingErrorClassInSync.test.ts +1 -1
- package/src/__tests__/behavioral/errors/KeepingErrorsInSync.test.ts +1 -1
- package/src/__tests__/behavioral/errors/SettingUpErrors.test.ts +1 -1
- package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +1 -1
- package/src/__tests__/behavioral/events/CreatingAListener.test.ts +1 -1
- package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +1 -1
- package/src/__tests__/behavioral/events/KeepingEventsInSync.test.ts +1 -1
- package/src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts +1 -1
- package/src/__tests__/behavioral/events/KeepingListenersInSync.test.ts +1 -1
- package/src/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.ts +1 -1
- package/src/__tests__/behavioral/events/SettingUpEvents.test.ts +1 -1
- package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +1 -1
- package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +1 -1
- package/src/__tests__/behavioral/onboard/StartingOnboarding.test.ts +1 -1
- package/src/__tests__/behavioral/organization/CreatingAnOrg.test.ts +1 -1
- package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +1 -1
- package/src/__tests__/behavioral/person/LoggingInAsPerson.test.ts +1 -1
- package/src/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.ts +1 -1
- package/src/__tests__/behavioral/polish/SettingUpPolish.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/ImportingSchemaImports.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/SettingUpSchemas.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/UsingSchemasInCli.test.ts +1 -1
- package/src/__tests__/behavioral/skill/BootingASkill.test.ts +1 -1
- package/src/__tests__/behavioral/skill/CreatingASkill.test.ts +1 -1
- package/src/__tests__/behavioral/skill/RegisteringASkill.test.ts +1 -1
- package/src/__tests__/behavioral/skill/SettingUpASkill.test.ts +1 -1
- package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +1 -1
- package/src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts +1 -1
- package/src/__tests__/behavioral/tests/CreatingATest.test.ts +1 -1
- package/src/__tests__/behavioral/tests/RunningTests.test.ts +1 -1
- package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +1 -1
- package/src/__tests__/behavioral/tests/SettingUpTests.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpdatingDependencies.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpdatingDependencies2.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingASkill.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingASkill2.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingASkill5.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingWithListeners.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.ts +1 -1
- package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +1 -1
- package/src/__tests__/behavioral/views/CreatingATheme.test.ts +1 -1
- package/src/__tests__/behavioral/views/KeepingViewsInSync.test.ts +1 -1
- package/src/__tests__/behavioral/views/SettingUpViews.test.ts +1 -1
- package/src/__tests__/behavioral/views/TestingViewControllers.test.ts +1 -1
- package/src/__tests__/behavioral/watchers/WatchingForChanges.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter2.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter3.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter4.test.ts +1 -1
- package/src/__tests__/implementation/ArgParser.test.ts +1 -1
- package/src/__tests__/implementation/BuildService.test.ts +1 -1
- package/src/__tests__/implementation/BulkImporting.test.ts +1 -1
- package/src/__tests__/implementation/CachingImports.test.ts +1 -1
- package/src/__tests__/implementation/CommandOptionBuilder.test.ts +1 -1
- package/src/__tests__/implementation/CommanderCommandResultMapper.test.ts +1 -1
- package/src/__tests__/implementation/DataStoreStore.test.ts +1 -1
- package/src/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.ts +1 -1
- package/src/__tests__/implementation/EventContractCleanerUtil.test.ts +1 -1
- package/src/__tests__/implementation/EventStore.test.ts +1 -1
- package/src/__tests__/implementation/EventTemplateItemBuilder.test.ts +1 -1
- package/src/__tests__/implementation/FeatureCommandAttacher.test.ts +1 -1
- package/src/__tests__/implementation/FeatureFixture.test.ts +1 -1
- package/src/__tests__/implementation/FeatureInstaller.test.ts +1 -1
- package/src/__tests__/implementation/FeaturesUtil.test.ts +1 -1
- package/src/__tests__/implementation/FieldTemplateItemBuilder.test.ts +1 -1
- package/src/__tests__/implementation/GlobalEmitter.ts +1 -1
- package/src/__tests__/implementation/Introspection.test.ts +1 -1
- package/src/__tests__/implementation/JestJsonParser.test.ts +1 -1
- package/src/__tests__/implementation/LintService.test.ts +1 -1
- package/src/__tests__/implementation/ListenerStore.test.ts +1 -1
- package/src/__tests__/implementation/OnboardingScriptLoader.test.ts +1 -1
- package/src/__tests__/implementation/OnboardingScriptPlayer.test.ts +1 -1
- package/src/__tests__/implementation/OnboardingStore.test.ts +1 -1
- package/src/__tests__/implementation/OrganizationStore.test.ts +1 -1
- package/src/__tests__/implementation/ParentTestFinder.test.ts +1 -1
- package/src/__tests__/implementation/PkgService.test.ts +1 -1
- package/src/__tests__/implementation/SchemaStore.test.ts +1 -1
- package/src/__tests__/implementation/SchemaTemplateItemBuilder.test.ts +1 -1
- package/src/__tests__/implementation/SchemaValueTypeWriter.test.ts +1 -1
- package/src/__tests__/implementation/ServiceFactory.test.ts +1 -1
- package/src/__tests__/implementation/SettingUpANodeModule.test.ts +1 -1
- package/src/__tests__/implementation/SkillStore.test.ts +1 -1
- package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
- package/src/__tests__/implementation/TestReporter.test.ts +1 -1
- package/src/__tests__/implementation/TestRunner.test.ts +1 -1
- package/src/__tests__/implementation/ValueTypeMapping.test.ts +1 -1
- package/src/__tests__/implementation/Widgets.test.ts +1 -1
- package/src/__tests__/testDirsAndFiles/abstract_tests/AbstractTest.ts +1 -1
- package/src/__tests__/testDirsAndFiles/abstract_tests/AbstractTest2.ts +1 -1
- package/src/__tests__/testDirsAndFiles/abstract_tests/deeper/AbstractBananaTest.ts +1 -1
- package/src/features/onboard/templates/ManagingTodos.test.ts.hbs +1 -1
- package/src/features/test/TestLogItemGenerator.ts +1 -1
- package/src/interfaces/SpyInterface.ts +1 -1
- package/src/tests/AbstractCliTest.ts +1 -1
- package/src/tests/AbstractSchemaTest.ts +1 -1
- package/src/tests/utilities/test.utility.ts +1 -1
- package/src/tests/utilities/uiAssert.utility.ts +1 -1
|
@@ -29,15 +29,13 @@ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/
|
|
|
29
29
|
|
|
30
30
|
var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
|
|
31
31
|
|
|
32
|
-
var _test = require("@sprucelabs/test");
|
|
33
|
-
|
|
34
32
|
var _testUtils = require("@sprucelabs/test-utils");
|
|
35
33
|
|
|
36
34
|
var _CommandService = _interopRequireDefault(require("../../services/CommandService"));
|
|
37
35
|
|
|
38
36
|
var _AbstractCliTest2 = _interopRequireDefault(require("../../tests/AbstractCliTest"));
|
|
39
37
|
|
|
40
|
-
var
|
|
38
|
+
var _test = _interopRequireDefault(require("../../tests/utilities/test.utility"));
|
|
41
39
|
|
|
42
40
|
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _class, _class2, _process$env$HEROKU_T4;
|
|
43
41
|
|
|
@@ -45,7 +43,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
45
43
|
|
|
46
44
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
47
45
|
|
|
48
|
-
var DeployingASkillTest = (_dec = (0,
|
|
46
|
+
var DeployingASkillTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)(), _dec5 = (0, _testUtils.test)(), _dec6 = (0, _testUtils.test)(), _dec7 = (0, _testUtils.test)(), _dec8 = (0, _testUtils.test)(), _dec9 = (0, _testUtils.test)(), _dec10 = (0, _testUtils.test)(), _dec11 = (0, _testUtils.test)(), _dec12 = (0, _testUtils.test)(), _dec13 = (0, _testUtils.test)(), _dec14 = (0, _testUtils.test)(), _dec15 = (0, _testUtils.test)(), _dec16 = (0, _testUtils.test)(), _dec17 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractCliTest) {
|
|
49
47
|
(0, _inherits2["default"])(DeployingASkillTest, _AbstractCliTest);
|
|
50
48
|
|
|
51
49
|
var _super = _createSuper(DeployingASkillTest);
|
|
@@ -132,7 +130,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
132
130
|
while (1) {
|
|
133
131
|
switch (_context2.prev = _context2.next) {
|
|
134
132
|
case 0:
|
|
135
|
-
|
|
133
|
+
_testUtils.assert.isFunction(this.Action('deploy', 'heroku').execute);
|
|
136
134
|
|
|
137
135
|
case 1:
|
|
138
136
|
case "end":
|
|
@@ -173,9 +171,9 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
173
171
|
case 5:
|
|
174
172
|
results = _context3.sent;
|
|
175
173
|
|
|
176
|
-
|
|
174
|
+
_testUtils.assert.isTruthy(results.errors);
|
|
177
175
|
|
|
178
|
-
|
|
176
|
+
_testUtils.assert.isArray(results.errors);
|
|
179
177
|
|
|
180
178
|
_testUtils.errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
|
|
181
179
|
stage: 'skill'
|
|
@@ -226,9 +224,9 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
226
224
|
case 7:
|
|
227
225
|
results = _context4.sent;
|
|
228
226
|
|
|
229
|
-
|
|
227
|
+
_testUtils.assert.isTruthy(results.errors);
|
|
230
228
|
|
|
231
|
-
|
|
229
|
+
_testUtils.assert.isArray(results.errors);
|
|
232
230
|
|
|
233
231
|
_testUtils.errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
|
|
234
232
|
stage: 'building'
|
|
@@ -268,13 +266,13 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
268
266
|
case 5:
|
|
269
267
|
health = _context5.sent;
|
|
270
268
|
|
|
271
|
-
|
|
269
|
+
_testUtils.assert.isFalsy(health.errors);
|
|
272
270
|
|
|
273
|
-
|
|
271
|
+
_testUtils.assert.isTruthy(health.deploy);
|
|
274
272
|
|
|
275
|
-
|
|
273
|
+
_testUtils.assert.isEqual(health.deploy.status, 'passed');
|
|
276
274
|
|
|
277
|
-
|
|
275
|
+
_testUtils.assert.isLength(health.deploy.deploys, 0);
|
|
278
276
|
|
|
279
277
|
case 10:
|
|
280
278
|
case "end":
|
|
@@ -336,9 +334,9 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
336
334
|
case 13:
|
|
337
335
|
results = _context6.sent;
|
|
338
336
|
|
|
339
|
-
|
|
337
|
+
_testUtils.assert.isTruthy(results.errors);
|
|
340
338
|
|
|
341
|
-
|
|
339
|
+
_testUtils.assert.isArray(results.errors);
|
|
342
340
|
|
|
343
341
|
_testUtils.errorAssert.assertError(results.errors[0], 'TEST_FAILED');
|
|
344
342
|
|
|
@@ -385,7 +383,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
385
383
|
case 7:
|
|
386
384
|
results = _context7.sent;
|
|
387
385
|
|
|
388
|
-
|
|
386
|
+
_testUtils.assert.isTruthy(results.errors);
|
|
389
387
|
|
|
390
388
|
_testUtils.errorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {
|
|
391
389
|
'dependencies[0].name': 'heroku'
|
|
@@ -434,7 +432,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
434
432
|
case 7:
|
|
435
433
|
results = _context8.sent;
|
|
436
434
|
|
|
437
|
-
|
|
435
|
+
_testUtils.assert.isTruthy(results.errors);
|
|
438
436
|
|
|
439
437
|
_testUtils.errorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {
|
|
440
438
|
'dependencies[0].name': 'git'
|
|
@@ -493,7 +491,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
493
491
|
case 12:
|
|
494
492
|
results = _context9.sent;
|
|
495
493
|
|
|
496
|
-
|
|
494
|
+
_testUtils.assert.isTruthy(results.errors);
|
|
497
495
|
|
|
498
496
|
_testUtils.errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
|
|
499
497
|
stage: 'git'
|
|
@@ -555,7 +553,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
555
553
|
case 13:
|
|
556
554
|
results = _context10.sent;
|
|
557
555
|
|
|
558
|
-
|
|
556
|
+
_testUtils.assert.isFalsy(results.errors);
|
|
559
557
|
|
|
560
558
|
case 15:
|
|
561
559
|
case "end":
|
|
@@ -600,7 +598,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
600
598
|
case 7:
|
|
601
599
|
results = _context11.sent;
|
|
602
600
|
|
|
603
|
-
|
|
601
|
+
_testUtils.assert.isTruthy(results.errors);
|
|
604
602
|
|
|
605
603
|
_testUtils.errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
|
|
606
604
|
stage: 'heroku'
|
|
@@ -646,7 +644,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
646
644
|
return this.waitForInput();
|
|
647
645
|
|
|
648
646
|
case 8:
|
|
649
|
-
|
|
647
|
+
_testUtils.assert.doesInclude(this.ui.invocations, {
|
|
650
648
|
command: 'confirm'
|
|
651
649
|
});
|
|
652
650
|
|
|
@@ -660,7 +658,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
660
658
|
case 13:
|
|
661
659
|
results = _context12.sent;
|
|
662
660
|
|
|
663
|
-
|
|
661
|
+
_testUtils.assert.isTruthy(results.errors);
|
|
664
662
|
|
|
665
663
|
_testUtils.errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
|
|
666
664
|
stage: 'procfile'
|
|
@@ -716,12 +714,12 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
716
714
|
case 12:
|
|
717
715
|
results = _context13.sent;
|
|
718
716
|
|
|
719
|
-
|
|
717
|
+
_testUtils.assert.isFalsy(results.errors);
|
|
720
718
|
|
|
721
|
-
match =
|
|
719
|
+
match = _test["default"].assertFileByNameInGeneratedFiles('Procfile', results.files);
|
|
722
720
|
contents = _spruceSkillUtils.diskUtil.readFile(match);
|
|
723
721
|
|
|
724
|
-
|
|
722
|
+
_testUtils.assert.isEqual(contents, 'worker: npm run boot');
|
|
725
723
|
|
|
726
724
|
case 17:
|
|
727
725
|
case "end":
|
|
@@ -765,7 +763,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
765
763
|
return this.waitForInput();
|
|
766
764
|
|
|
767
765
|
case 8:
|
|
768
|
-
|
|
766
|
+
_testUtils.assert.doesInclude(this.ui.invocations, {
|
|
769
767
|
command: 'confirm'
|
|
770
768
|
});
|
|
771
769
|
|
|
@@ -779,7 +777,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
779
777
|
case 13:
|
|
780
778
|
results = _context14.sent;
|
|
781
779
|
|
|
782
|
-
|
|
780
|
+
_testUtils.assert.isTruthy(results.errors);
|
|
783
781
|
|
|
784
782
|
_testUtils.errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
|
|
785
783
|
stage: 'remote'
|
|
@@ -835,7 +833,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
835
833
|
return this.waitForInput();
|
|
836
834
|
|
|
837
835
|
case 12:
|
|
838
|
-
|
|
836
|
+
_testUtils.assert.doesInclude(this.ui.invocations, {
|
|
839
837
|
command: 'prompt',
|
|
840
838
|
options: {
|
|
841
839
|
type: 'text'
|
|
@@ -852,7 +850,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
852
850
|
case 17:
|
|
853
851
|
results = _context15.sent;
|
|
854
852
|
|
|
855
|
-
|
|
853
|
+
_testUtils.assert.isFalsy(results.errors);
|
|
856
854
|
|
|
857
855
|
case 19:
|
|
858
856
|
case "end":
|
|
@@ -896,7 +894,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
896
894
|
return this.waitForInput();
|
|
897
895
|
|
|
898
896
|
case 8:
|
|
899
|
-
|
|
897
|
+
_testUtils.assert.doesInclude(this.ui.invocations, {
|
|
900
898
|
command: 'confirm'
|
|
901
899
|
});
|
|
902
900
|
|
|
@@ -908,7 +906,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
908
906
|
return this.waitForInput();
|
|
909
907
|
|
|
910
908
|
case 13:
|
|
911
|
-
|
|
909
|
+
_testUtils.assert.doesInclude(this.ui.invocations, {
|
|
912
910
|
command: 'prompt',
|
|
913
911
|
options: {
|
|
914
912
|
type: 'text'
|
|
@@ -941,7 +939,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
941
939
|
case 26:
|
|
942
940
|
results = _context16.sent;
|
|
943
941
|
|
|
944
|
-
|
|
942
|
+
_testUtils.assert.isFalsy(results.errors);
|
|
945
943
|
|
|
946
944
|
case 28:
|
|
947
945
|
case "end":
|
|
@@ -987,7 +985,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
987
985
|
case 7:
|
|
988
986
|
results = _context17.sent;
|
|
989
987
|
|
|
990
|
-
|
|
988
|
+
_testUtils.assert.isTruthy(results.errors);
|
|
991
989
|
|
|
992
990
|
_testUtils.errorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {
|
|
993
991
|
stage: 'git'
|
|
@@ -1032,7 +1030,7 @@ var DeployingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
|
|
|
1032
1030
|
case 6:
|
|
1033
1031
|
results = _context18.sent;
|
|
1034
1032
|
|
|
1035
|
-
|
|
1033
|
+
_testUtils.assert.isFalsy(results.errors);
|
|
1036
1034
|
|
|
1037
1035
|
case 8:
|
|
1038
1036
|
case "end":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployingASkill.test.js","names":["DeployingASkillTest","test","CommandService","fakeCommand","code","stdout","diskUtil","writeFile","resolvePath","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","teamName","process","env","HEROKU_TEAM_NAME","results","isTruthy","errors","isArray","errorAssert","assertError","stage","getSkillFixture","registerCurrentSkill","name","cli","checkHealth","health","isFalsy","deploy","isEqual","status","isLength","deploys","promise","nameReadable","nameCamel","type","waitForInput","ui","sendInput","fastHerokuOptions","stderr","deleteFile","doesInclude","invocations","command","match","testUtil","assertFileByNameInGeneratedFiles","files","contents","readFile","options","AbstractCliTest","shouldBuildAndLint","shouldRunTests"],"sources":["../../../src/__tests__/behavioral/DeployingASkill.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport CommandService from '../../services/CommandService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class DeployingASkillTest extends AbstractCliTest {\n\tprivate static readonly fastHerokuOptions = {\n\t\tteamName: process.env.HEROKU_TEAM_NAME ?? '',\n\t\tshouldBuildAndLint: false,\n\t\tshouldRunTests: false,\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tCommandService.fakeCommand('which heroku', {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand('grep api.heroku.com ~/.netrc', {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand('git status', {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand('git init', {\n\t\t\tcode: 0,\n\t\t\tstdout: 'Initialized empty Git repository in',\n\t\t})\n\n\t\tCommandService.fakeCommand('git ls-remote heroku', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand('which git', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand('heroku create good-heroku-name', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand('heroku create bad-heroku-name', {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tCommandService.fakeCommand('heroku buildpacks:set heroku/nodejs', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand('git push --set-upstream heroku master', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tdiskUtil.writeFile(this.resolvePath('Procfile'), 'web: npm run boot')\n\t}\n\n\t@test()\n\tprotected static async hasDeployAction() {\n\t\tassert.isFunction(this.Action('deploy', 'heroku').execute)\n\t}\n\n\t@test()\n\tprotected static async deployHaltedBecauseNotRegistered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tdiskUtil.writeFile(this.resolvePath('src/index.ts'), 'aoeustahoesuntao')\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute({\n\t\t\tteamName: process.env.HEROKU_TEAM_NAME ?? '',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isArray(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'skill',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async deployHaltedWithBadBuild() {\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'haulted wth bad build',\n\t\t})\n\n\t\tdiskUtil.writeFile(this.resolvePath('src/index.ts'), 'aoeustahoesuntao')\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute({\n\t\t\tteamName: process.env.HEROKU_TEAM_NAME ?? '',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isArray(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'building',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async healthCheckReportsNotDeployed() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('deploy')\n\t\tconst health = (await cli.checkHealth()) as any\n\n\t\tassert.isFalsy(health.errors)\n\t\tassert.isTruthy(health.deploy)\n\t\tassert.isEqual(health.deploy.status, 'passed')\n\t\tassert.isLength(health.deploy.deploys, 0)\n\t}\n\n\t@test()\n\tprotected static async deployHaltedWithBadTest() {\n\t\tawait this.FeatureFixture().installCachedFeatures('deployWithTests')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'haulted wth bad test',\n\t\t})\n\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\tnameReadable: 'Test failed',\n\t\t\tnameCamel: 'testFailed',\n\t\t\ttype: 'behavioral',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tawait promise\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute({\n\t\t\tteamName: process.env.HEROKU_TEAM_NAME ?? '',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isArray(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'TEST_FAILED')\n\t}\n\n\t@test()\n\tprotected static async errorsIfHerokuClientNotInstalled() {\n\t\tCommandService.fakeCommand('which heroku', {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'heroku not installed',\n\t\t})\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\t'dependencies[0].name': 'heroku',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async errorsIfGitNotInstalled() {\n\t\tCommandService.fakeCommand('which git', {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'git not installed',\n\t\t})\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\t'dependencies[0].name': 'git',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async errorsIfNotInGitRepo() {\n\t\tCommandService.fakeCommand('git status', {\n\t\t\tcode: 128,\n\t\t\tstderr:\n\t\t\t\t'fatal: not a git repository (or any of the parent directories): .git',\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'not in git repo',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('n')\n\n\t\tconst results = await promise\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'git',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canCreateGitRepoIfNeeded() {\n\t\tCommandService.fakeCommand('git status', {\n\t\t\tcode: 128,\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'creates git repo',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tCommandService.fakeCommand('git status', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tawait this.ui.sendInput('y')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async errorsWhenNotLoggedIntoHerkou() {\n\t\tCommandService.fakeCommand('grep api.heroku.com ~/.netrc', {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'not logged into heroku',\n\t\t})\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'heroku',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async failsWhenDeclineToCreateProcFile() {\n\t\tdiskUtil.deleteFile(this.resolvePath('Procfile'))\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'decline proc file',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.invocations, {\n\t\t\tcommand: 'confirm',\n\t\t})\n\t\tawait this.ui.sendInput('n')\n\n\t\tconst results = await promise\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'procfile',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async createsValidProcFile() {\n\t\tdiskUtil.deleteFile(this.resolvePath('Procfile'))\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'valid proc file',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('y')\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'Procfile',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.isEqual(contents, 'worker: npm run boot')\n\t}\n\n\t@test()\n\tprotected static async failsWhenDeclineToCreateRemoteBranch() {\n\t\tCommandService.fakeCommand('git ls-remote heroku', {\n\t\t\tcode: 128,\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'decline to create remote branch',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.invocations, {\n\t\t\tcommand: 'confirm',\n\t\t})\n\t\tawait this.ui.sendInput('n')\n\n\t\tconst results = await promise\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'remote',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async asksForHerokuAppName() {\n\t\tCommandService.fakeCommand('git ls-remote heroku', {\n\t\t\tcode: 128,\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'ask for app name',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('y')\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.invocations, {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput(`good-heroku-name`)\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async keepsAskingForAppNameUntilAGoodOneIsSelected() {\n\t\tCommandService.fakeCommand('git ls-remote heroku', {\n\t\t\tcode: 128,\n\t\t})\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'haulted wth bad build',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.invocations, {\n\t\t\tcommand: 'confirm',\n\t\t})\n\n\t\tawait this.ui.sendInput('y')\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.invocations, {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t})\n\t\tawait this.ui.sendInput(`bad-heroku-name`)\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('bad-heroku-name')\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('good-heroku-name')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async failsWithPendingChangesToCommit() {\n\t\tCommandService.fakeCommand('git status', {\n\t\t\tcode: 0,\n\t\t\tstdout: 'Changes not staged for commit',\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'pending changes to commit',\n\t\t})\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'git',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canDeploySkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'can deploy',\n\t\t})\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tassert.isFalsy(results.errors)\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DeployingASkill.test.js","names":["DeployingASkillTest","test","CommandService","fakeCommand","code","stdout","diskUtil","writeFile","resolvePath","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","teamName","process","env","HEROKU_TEAM_NAME","results","isTruthy","errors","isArray","errorAssert","assertError","stage","getSkillFixture","registerCurrentSkill","name","cli","checkHealth","health","isFalsy","deploy","isEqual","status","isLength","deploys","promise","nameReadable","nameCamel","type","waitForInput","ui","sendInput","fastHerokuOptions","stderr","deleteFile","doesInclude","invocations","command","match","testUtil","assertFileByNameInGeneratedFiles","files","contents","readFile","options","AbstractCliTest","shouldBuildAndLint","shouldRunTests"],"sources":["../../../src/__tests__/behavioral/DeployingASkill.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport CommandService from '../../services/CommandService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class DeployingASkillTest extends AbstractCliTest {\n\tprivate static readonly fastHerokuOptions = {\n\t\tteamName: process.env.HEROKU_TEAM_NAME ?? '',\n\t\tshouldBuildAndLint: false,\n\t\tshouldRunTests: false,\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tCommandService.fakeCommand('which heroku', {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand('grep api.heroku.com ~/.netrc', {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand('git status', {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand('git init', {\n\t\t\tcode: 0,\n\t\t\tstdout: 'Initialized empty Git repository in',\n\t\t})\n\n\t\tCommandService.fakeCommand('git ls-remote heroku', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand('which git', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand('heroku create good-heroku-name', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand('heroku create bad-heroku-name', {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tCommandService.fakeCommand('heroku buildpacks:set heroku/nodejs', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand('git push --set-upstream heroku master', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tdiskUtil.writeFile(this.resolvePath('Procfile'), 'web: npm run boot')\n\t}\n\n\t@test()\n\tprotected static async hasDeployAction() {\n\t\tassert.isFunction(this.Action('deploy', 'heroku').execute)\n\t}\n\n\t@test()\n\tprotected static async deployHaltedBecauseNotRegistered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tdiskUtil.writeFile(this.resolvePath('src/index.ts'), 'aoeustahoesuntao')\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute({\n\t\t\tteamName: process.env.HEROKU_TEAM_NAME ?? '',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isArray(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'skill',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async deployHaltedWithBadBuild() {\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'haulted wth bad build',\n\t\t})\n\n\t\tdiskUtil.writeFile(this.resolvePath('src/index.ts'), 'aoeustahoesuntao')\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute({\n\t\t\tteamName: process.env.HEROKU_TEAM_NAME ?? '',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isArray(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'building',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async healthCheckReportsNotDeployed() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('deploy')\n\t\tconst health = (await cli.checkHealth()) as any\n\n\t\tassert.isFalsy(health.errors)\n\t\tassert.isTruthy(health.deploy)\n\t\tassert.isEqual(health.deploy.status, 'passed')\n\t\tassert.isLength(health.deploy.deploys, 0)\n\t}\n\n\t@test()\n\tprotected static async deployHaltedWithBadTest() {\n\t\tawait this.FeatureFixture().installCachedFeatures('deployWithTests')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'haulted wth bad test',\n\t\t})\n\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\tnameReadable: 'Test failed',\n\t\t\tnameCamel: 'testFailed',\n\t\t\ttype: 'behavioral',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tawait promise\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute({\n\t\t\tteamName: process.env.HEROKU_TEAM_NAME ?? '',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isArray(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'TEST_FAILED')\n\t}\n\n\t@test()\n\tprotected static async errorsIfHerokuClientNotInstalled() {\n\t\tCommandService.fakeCommand('which heroku', {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'heroku not installed',\n\t\t})\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\t'dependencies[0].name': 'heroku',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async errorsIfGitNotInstalled() {\n\t\tCommandService.fakeCommand('which git', {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'git not installed',\n\t\t})\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\t'dependencies[0].name': 'git',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async errorsIfNotInGitRepo() {\n\t\tCommandService.fakeCommand('git status', {\n\t\t\tcode: 128,\n\t\t\tstderr:\n\t\t\t\t'fatal: not a git repository (or any of the parent directories): .git',\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'not in git repo',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('n')\n\n\t\tconst results = await promise\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'git',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canCreateGitRepoIfNeeded() {\n\t\tCommandService.fakeCommand('git status', {\n\t\t\tcode: 128,\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'creates git repo',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tCommandService.fakeCommand('git status', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tawait this.ui.sendInput('y')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async errorsWhenNotLoggedIntoHerkou() {\n\t\tCommandService.fakeCommand('grep api.heroku.com ~/.netrc', {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'not logged into heroku',\n\t\t})\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'heroku',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async failsWhenDeclineToCreateProcFile() {\n\t\tdiskUtil.deleteFile(this.resolvePath('Procfile'))\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'decline proc file',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.invocations, {\n\t\t\tcommand: 'confirm',\n\t\t})\n\t\tawait this.ui.sendInput('n')\n\n\t\tconst results = await promise\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'procfile',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async createsValidProcFile() {\n\t\tdiskUtil.deleteFile(this.resolvePath('Procfile'))\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'valid proc file',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('y')\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'Procfile',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.isEqual(contents, 'worker: npm run boot')\n\t}\n\n\t@test()\n\tprotected static async failsWhenDeclineToCreateRemoteBranch() {\n\t\tCommandService.fakeCommand('git ls-remote heroku', {\n\t\t\tcode: 128,\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'decline to create remote branch',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.invocations, {\n\t\t\tcommand: 'confirm',\n\t\t})\n\t\tawait this.ui.sendInput('n')\n\n\t\tconst results = await promise\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'remote',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async asksForHerokuAppName() {\n\t\tCommandService.fakeCommand('git ls-remote heroku', {\n\t\t\tcode: 128,\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'ask for app name',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('y')\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.invocations, {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t})\n\n\t\tawait this.ui.sendInput(`good-heroku-name`)\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async keepsAskingForAppNameUntilAGoodOneIsSelected() {\n\t\tCommandService.fakeCommand('git ls-remote heroku', {\n\t\t\tcode: 128,\n\t\t})\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'haulted wth bad build',\n\t\t})\n\n\t\tconst promise = this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.invocations, {\n\t\t\tcommand: 'confirm',\n\t\t})\n\n\t\tawait this.ui.sendInput('y')\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.invocations, {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t})\n\t\tawait this.ui.sendInput(`bad-heroku-name`)\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('bad-heroku-name')\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('good-heroku-name')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async failsWithPendingChangesToCommit() {\n\t\tCommandService.fakeCommand('git status', {\n\t\t\tcode: 0,\n\t\t\tstdout: 'Changes not staged for commit',\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'pending changes to commit',\n\t\t})\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DEPLOY_FAILED', {\n\t\t\tstage: 'git',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canDeploySkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('deploy')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'can deploy',\n\t\t})\n\n\t\tconst results = await this.Action('deploy', 'heroku').execute(\n\t\t\tthis.fastHerokuOptions\n\t\t)\n\n\t\tassert.isFalsy(results.errors)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -31,13 +31,11 @@ var _spruceEventUtils = require("@sprucelabs/spruce-event-utils");
|
|
|
31
31
|
|
|
32
32
|
var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
|
|
33
33
|
|
|
34
|
-
var _test = require("@sprucelabs/test");
|
|
35
|
-
|
|
36
34
|
var _testUtils = require("@sprucelabs/test-utils");
|
|
37
35
|
|
|
38
36
|
var _AbstractCliTest2 = _interopRequireDefault(require("../../tests/AbstractCliTest"));
|
|
39
37
|
|
|
40
|
-
var
|
|
38
|
+
var _test = _interopRequireDefault(require("../../tests/utilities/test.utility"));
|
|
41
39
|
|
|
42
40
|
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2;
|
|
43
41
|
|
|
@@ -45,7 +43,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
45
43
|
|
|
46
44
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
47
45
|
|
|
48
|
-
var DeployingToSandboxTest = (_dec = (0,
|
|
46
|
+
var DeployingToSandboxTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)(), _dec5 = (0, _testUtils.test)(), _dec6 = (0, _testUtils.test)(), _dec7 = (0, _testUtils.test)(), _dec8 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractCliTest) {
|
|
49
47
|
(0, _inherits2["default"])(DeployingToSandboxTest, _AbstractCliTest);
|
|
50
48
|
|
|
51
49
|
var _super = _createSuper(DeployingToSandboxTest);
|
|
@@ -68,7 +66,7 @@ var DeployingToSandboxTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
68
66
|
|
|
69
67
|
case 2:
|
|
70
68
|
if (!this.sandboxDemoNumber) {
|
|
71
|
-
|
|
69
|
+
_testUtils.assert.fail('You gotta have a SANDBOX_DEMO_NUMBER set in your ENV for the Deploying to Sandbox test pass.');
|
|
72
70
|
}
|
|
73
71
|
|
|
74
72
|
case 3:
|
|
@@ -153,7 +151,7 @@ var DeployingToSandboxTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
153
151
|
while (1) {
|
|
154
152
|
switch (_context4.prev = _context4.next) {
|
|
155
153
|
case 0:
|
|
156
|
-
|
|
154
|
+
_testUtils.assert.isFunction(this.Action('sandbox', 'setup').execute);
|
|
157
155
|
|
|
158
156
|
case 1:
|
|
159
157
|
case "end":
|
|
@@ -188,11 +186,11 @@ var DeployingToSandboxTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
188
186
|
case 4:
|
|
189
187
|
results = _context5.sent;
|
|
190
188
|
|
|
191
|
-
|
|
189
|
+
_testUtils.assert.isFalsy(results.errors);
|
|
192
190
|
|
|
193
191
|
version = _spruceSkillUtils.versionUtil.generateVersion().dirValue;
|
|
194
192
|
|
|
195
|
-
|
|
193
|
+
_test["default"].assertFileByNameInGeneratedFiles("will-boot.".concat(version, ".listener.ts"), results.files);
|
|
196
194
|
|
|
197
195
|
case 8:
|
|
198
196
|
case "end":
|
|
@@ -244,7 +242,7 @@ var DeployingToSandboxTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
244
242
|
case 13:
|
|
245
243
|
results = _context6.sent;
|
|
246
244
|
|
|
247
|
-
|
|
245
|
+
_testUtils.assert.isTruthy(results.errors);
|
|
248
246
|
|
|
249
247
|
_testUtils.errorAssert.assertError(results.errors[0], 'MISSING_PARAMETERS', {
|
|
250
248
|
parameters: ['env.SKILL_NAME', 'env.SKILL_SLUG']
|
|
@@ -301,7 +299,7 @@ var DeployingToSandboxTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
301
299
|
case 13:
|
|
302
300
|
actual = _context7.sent;
|
|
303
301
|
|
|
304
|
-
|
|
302
|
+
_testUtils.assert.isEqual(expected, actual);
|
|
305
303
|
|
|
306
304
|
case 15:
|
|
307
305
|
case "end":
|
|
@@ -356,11 +354,11 @@ var DeployingToSandboxTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
356
354
|
case 13:
|
|
357
355
|
skills = _context8.sent;
|
|
358
356
|
|
|
359
|
-
|
|
357
|
+
_testUtils.assert.isLength(skills, 1);
|
|
360
358
|
|
|
361
|
-
|
|
359
|
+
_testUtils.assert.isTruthy(skills[0]);
|
|
362
360
|
|
|
363
|
-
|
|
361
|
+
_testUtils.assert.isEqual(skills[0].id, registered.id);
|
|
364
362
|
|
|
365
363
|
case 17:
|
|
366
364
|
case "end":
|
|
@@ -423,13 +421,13 @@ var DeployingToSandboxTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
|
|
|
423
421
|
case 19:
|
|
424
422
|
skills = _context9.sent;
|
|
425
423
|
|
|
426
|
-
|
|
424
|
+
_testUtils.assert.isLength(skills, 1);
|
|
427
425
|
|
|
428
|
-
|
|
426
|
+
_testUtils.assert.isTruthy(skills[0]);
|
|
429
427
|
|
|
430
|
-
|
|
428
|
+
_testUtils.assert.isEqual(skills[0].slug, skill.slug);
|
|
431
429
|
|
|
432
|
-
|
|
430
|
+
_testUtils.assert.isNotEqual(skills[0].id, skill.id);
|
|
433
431
|
|
|
434
432
|
case 24:
|
|
435
433
|
case "end":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployingToSandbox.test.js","names":["DeployingToSandboxTest","test","sandboxDemoNumber","assert","fail","personFixture","people","loginAsDemoPerson","getSkillFixture","clearAllSkills","isFunction","Action","execute","FeatureFixture","installCachedFeatures","results","isFalsy","errors","version","versionUtil","generateVersion","dirValue","testUtil","assertFileByNameInGeneratedFiles","files","installAndSetupForSandbox","registerCurrentSkill","name","skill","resetCurrentSkill","env","Service","set","id","unset","local","isTruthy","errorAssert","assertError","parameters","client","getTotalSkills","expected","boot","meta","kill","actual","isEqual","registered","fetchSkills","skills","isLength","slug","isNotEqual","boot2","nameReadable","nameCamel","cacheKey","getMercuryFixture","connectToApi","cli","emit","payload","shouldOnlyShowMine","eventResponseUtil","getFirstResponseOrThrow","isInstalled","isMarkedAsInstalled","Store","isCurrentSkillRegistered","isRegistered","loadCurrentSkill","unregisterSkill","results2","skills2","total","length","AbstractCliTest","process","SANDBOX_DEMO_NUMBER"],"sources":["../../../src/__tests__/behavioral/DeployingToSandbox.test.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport testUtil from '../../tests/utilities/test.utility'\nimport { ApiClient } from '../../types/apiClient.types'\n\nexport default class DeployingToSandboxTest extends AbstractCliTest {\n\tprivate static sandboxDemoNumber = process.env.SANDBOX_DEMO_NUMBER as string\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tif (!this.sandboxDemoNumber) {\n\t\t\tassert.fail(\n\t\t\t\t'You gotta have a SANDBOX_DEMO_NUMBER set in your ENV for the Deploying to Sandbox test pass.'\n\t\t\t)\n\t\t}\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\tconst personFixture = this.people\n\t\tawait personFixture.loginAsDemoPerson(this.sandboxDemoNumber)\n\t}\n\n\tprotected static async afterEach() {\n\t\tawait this.getSkillFixture().clearAllSkills()\n\t\tawait super.afterEach()\n\t}\n\n\t@test()\n\tprotected static async hasSetupSandboxAction() {\n\t\tassert.isFunction(this.Action('sandbox', 'setup').execute)\n\t}\n\n\t@test()\n\tprotected static async writesWillBootListener() {\n\t\tawait this.FeatureFixture().installCachedFeatures('sandbox')\n\t\tconst results = await this.Action('sandbox', 'setup').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tconst version = versionUtil.generateVersion().dirValue\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async throwsHelpfulErrorWhenMissingParams() {\n\t\tawait this.installAndSetupForSandbox()\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'My new skill',\n\t\t})\n\n\t\tawait this.resetCurrentSkill()\n\n\t\tconst env = this.Service('env')\n\n\t\tenv.set('SKILL_ID', skill.id)\n\t\tenv.unset('SKILL_NAME')\n\t\tenv.unset('SKILL_SLUG')\n\n\t\tconst results = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_PARAMETERS', {\n\t\t\tparameters: ['env.SKILL_NAME', 'env.SKILL_SLUG'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async doesNotTryToRegisterIfNeverRegisteredBefore() {\n\t\tconst { client } = await this.installAndSetupForSandbox()\n\n\t\tconst expected = await this.getTotalSkills(client)\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot.meta?.kill()\n\n\t\tconst actual = await this.getTotalSkills(client)\n\n\t\tassert.isEqual(expected, actual)\n\t}\n\n\t@test()\n\tprotected static async skipsAlreadyRegisteredSkill() {\n\t\tconst { client } = await this.installAndSetupForSandbox()\n\n\t\tconst registered = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'My new skill',\n\t\t})\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot.meta?.kill()\n\n\t\tconst skills = await this.fetchSkills(client)\n\n\t\tassert.isLength(skills, 1)\n\t\tassert.isTruthy(skills[0])\n\t\tassert.isEqual(skills[0].id, registered.id)\n\t}\n\n\t@test()\n\tprotected static async registersSkillAgain() {\n\t\tconst { client } = await this.installAndSetupForSandbox()\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'My new skill',\n\t\t})\n\n\t\tawait this.resetCurrentSkill()\n\n\t\tconst env = this.Service('env')\n\t\tenv.set('SKILL_ID', skill.id)\n\t\tenv.set('SKILL_NAME', skill.name)\n\t\tenv.set('SKILL_SLUG', skill.slug)\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot.meta?.kill()\n\n\t\tconst skills = await this.fetchSkills(client)\n\n\t\tassert.isLength(skills, 1)\n\t\tassert.isTruthy(skills[0])\n\t\tassert.isEqual(skills[0].slug, skill.slug)\n\t\tassert.isNotEqual(skills[0].id, skill.id)\n\t}\n\n\t@test()\n\tprotected static async registersSkillAndCanBootAgain() {\n\t\tawait this.installAndSetupForSandbox()\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'My new skill',\n\t\t})\n\n\t\tawait this.resetCurrentSkill()\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot.meta?.kill()\n\n\t\tconst boot2 = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot2.meta?.kill()\n\t}\n\n\t@test()\n\tprotected static async canReRegisterAndThenRegisterConversationsWithoutCrash() {\n\t\tawait this.installAndSetupForSandbox('conversation-with-sandbox')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'Conversation test',\n\t\t})\n\n\t\tawait this.resetCurrentSkill()\n\n\t\tawait this.Action('conversation', 'create').execute({\n\t\t\tnameReadable: 'book an appointment',\n\t\t\tnameCamel: 'bookAnAppointment',\n\t\t})\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot.meta?.kill()\n\t}\n\n\tprivate static async installAndSetupForSandbox(cacheKey = 'sandbox') {\n\t\tconst client = await this.getMercuryFixture().connectToApi()\n\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures(cacheKey)\n\n\t\tawait this.Action('sandbox', 'setup').execute({})\n\n\t\tconst env = this.Service('env')\n\t\tenv.set('SANDBOX_DEMO_NUMBER', this.sandboxDemoNumber)\n\n\t\treturn { cli, client }\n\t}\n\n\tprivate static async fetchSkills(client: ApiClient) {\n\t\tconst results = await client.emit(`list-skills::v2020_12_25`, {\n\t\t\tpayload: {\n\t\t\t\tshouldOnlyShowMine: true,\n\t\t\t},\n\t\t})\n\n\t\tconst { skills } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\treturn skills\n\t}\n\n\tprivate static async resetCurrentSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\t\tif (!isInstalled) {\n\t\t\treturn\n\t\t}\n\n\t\tconst skills = this.Store('skill')\n\t\tconst isRegistered = await skills.isCurrentSkillRegistered()\n\n\t\tif (isRegistered) {\n\t\t\tconst skill = await skills.loadCurrentSkill()\n\n\t\t\tif (skill.id) {\n\t\t\t\tawait skills.unregisterSkill(skill.id)\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static async getTotalSkills(client: ApiClient) {\n\t\tconst results2 = await client.emit(`list-skills::v2020_12_25`, {\n\t\t\tpayload: { shouldOnlyShowMine: true },\n\t\t})\n\n\t\tconst { skills: skills2 } =\n\t\t\teventResponseUtil.getFirstResponseOrThrow(results2)\n\n\t\tconst total = skills2.length\n\t\treturn total\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DeployingToSandbox.test.js","names":["DeployingToSandboxTest","test","sandboxDemoNumber","assert","fail","personFixture","people","loginAsDemoPerson","getSkillFixture","clearAllSkills","isFunction","Action","execute","FeatureFixture","installCachedFeatures","results","isFalsy","errors","version","versionUtil","generateVersion","dirValue","testUtil","assertFileByNameInGeneratedFiles","files","installAndSetupForSandbox","registerCurrentSkill","name","skill","resetCurrentSkill","env","Service","set","id","unset","local","isTruthy","errorAssert","assertError","parameters","client","getTotalSkills","expected","boot","meta","kill","actual","isEqual","registered","fetchSkills","skills","isLength","slug","isNotEqual","boot2","nameReadable","nameCamel","cacheKey","getMercuryFixture","connectToApi","cli","emit","payload","shouldOnlyShowMine","eventResponseUtil","getFirstResponseOrThrow","isInstalled","isMarkedAsInstalled","Store","isCurrentSkillRegistered","isRegistered","loadCurrentSkill","unregisterSkill","results2","skills2","total","length","AbstractCliTest","process","SANDBOX_DEMO_NUMBER"],"sources":["../../../src/__tests__/behavioral/DeployingToSandbox.test.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport testUtil from '../../tests/utilities/test.utility'\nimport { ApiClient } from '../../types/apiClient.types'\n\nexport default class DeployingToSandboxTest extends AbstractCliTest {\n\tprivate static sandboxDemoNumber = process.env.SANDBOX_DEMO_NUMBER as string\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tif (!this.sandboxDemoNumber) {\n\t\t\tassert.fail(\n\t\t\t\t'You gotta have a SANDBOX_DEMO_NUMBER set in your ENV for the Deploying to Sandbox test pass.'\n\t\t\t)\n\t\t}\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\tconst personFixture = this.people\n\t\tawait personFixture.loginAsDemoPerson(this.sandboxDemoNumber)\n\t}\n\n\tprotected static async afterEach() {\n\t\tawait this.getSkillFixture().clearAllSkills()\n\t\tawait super.afterEach()\n\t}\n\n\t@test()\n\tprotected static async hasSetupSandboxAction() {\n\t\tassert.isFunction(this.Action('sandbox', 'setup').execute)\n\t}\n\n\t@test()\n\tprotected static async writesWillBootListener() {\n\t\tawait this.FeatureFixture().installCachedFeatures('sandbox')\n\t\tconst results = await this.Action('sandbox', 'setup').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tconst version = versionUtil.generateVersion().dirValue\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async throwsHelpfulErrorWhenMissingParams() {\n\t\tawait this.installAndSetupForSandbox()\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'My new skill',\n\t\t})\n\n\t\tawait this.resetCurrentSkill()\n\n\t\tconst env = this.Service('env')\n\n\t\tenv.set('SKILL_ID', skill.id)\n\t\tenv.unset('SKILL_NAME')\n\t\tenv.unset('SKILL_SLUG')\n\n\t\tconst results = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_PARAMETERS', {\n\t\t\tparameters: ['env.SKILL_NAME', 'env.SKILL_SLUG'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async doesNotTryToRegisterIfNeverRegisteredBefore() {\n\t\tconst { client } = await this.installAndSetupForSandbox()\n\n\t\tconst expected = await this.getTotalSkills(client)\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot.meta?.kill()\n\n\t\tconst actual = await this.getTotalSkills(client)\n\n\t\tassert.isEqual(expected, actual)\n\t}\n\n\t@test()\n\tprotected static async skipsAlreadyRegisteredSkill() {\n\t\tconst { client } = await this.installAndSetupForSandbox()\n\n\t\tconst registered = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'My new skill',\n\t\t})\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot.meta?.kill()\n\n\t\tconst skills = await this.fetchSkills(client)\n\n\t\tassert.isLength(skills, 1)\n\t\tassert.isTruthy(skills[0])\n\t\tassert.isEqual(skills[0].id, registered.id)\n\t}\n\n\t@test()\n\tprotected static async registersSkillAgain() {\n\t\tconst { client } = await this.installAndSetupForSandbox()\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'My new skill',\n\t\t})\n\n\t\tawait this.resetCurrentSkill()\n\n\t\tconst env = this.Service('env')\n\t\tenv.set('SKILL_ID', skill.id)\n\t\tenv.set('SKILL_NAME', skill.name)\n\t\tenv.set('SKILL_SLUG', skill.slug)\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot.meta?.kill()\n\n\t\tconst skills = await this.fetchSkills(client)\n\n\t\tassert.isLength(skills, 1)\n\t\tassert.isTruthy(skills[0])\n\t\tassert.isEqual(skills[0].slug, skill.slug)\n\t\tassert.isNotEqual(skills[0].id, skill.id)\n\t}\n\n\t@test()\n\tprotected static async registersSkillAndCanBootAgain() {\n\t\tawait this.installAndSetupForSandbox()\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'My new skill',\n\t\t})\n\n\t\tawait this.resetCurrentSkill()\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot.meta?.kill()\n\n\t\tconst boot2 = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot2.meta?.kill()\n\t}\n\n\t@test()\n\tprotected static async canReRegisterAndThenRegisterConversationsWithoutCrash() {\n\t\tawait this.installAndSetupForSandbox('conversation-with-sandbox')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'Conversation test',\n\t\t})\n\n\t\tawait this.resetCurrentSkill()\n\n\t\tawait this.Action('conversation', 'create').execute({\n\t\t\tnameReadable: 'book an appointment',\n\t\t\tnameCamel: 'bookAnAppointment',\n\t\t})\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tboot.meta?.kill()\n\t}\n\n\tprivate static async installAndSetupForSandbox(cacheKey = 'sandbox') {\n\t\tconst client = await this.getMercuryFixture().connectToApi()\n\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures(cacheKey)\n\n\t\tawait this.Action('sandbox', 'setup').execute({})\n\n\t\tconst env = this.Service('env')\n\t\tenv.set('SANDBOX_DEMO_NUMBER', this.sandboxDemoNumber)\n\n\t\treturn { cli, client }\n\t}\n\n\tprivate static async fetchSkills(client: ApiClient) {\n\t\tconst results = await client.emit(`list-skills::v2020_12_25`, {\n\t\t\tpayload: {\n\t\t\t\tshouldOnlyShowMine: true,\n\t\t\t},\n\t\t})\n\n\t\tconst { skills } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\treturn skills\n\t}\n\n\tprivate static async resetCurrentSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\t\tif (!isInstalled) {\n\t\t\treturn\n\t\t}\n\n\t\tconst skills = this.Store('skill')\n\t\tconst isRegistered = await skills.isCurrentSkillRegistered()\n\n\t\tif (isRegistered) {\n\t\t\tconst skill = await skills.loadCurrentSkill()\n\n\t\t\tif (skill.id) {\n\t\t\t\tawait skills.unregisterSkill(skill.id)\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static async getTotalSkills(client: ApiClient) {\n\t\tconst results2 = await client.emit(`list-skills::v2020_12_25`, {\n\t\t\tpayload: { shouldOnlyShowMine: true },\n\t\t})\n\n\t\tconst { skills: skills2 } =\n\t\t\teventResponseUtil.getFirstResponseOrThrow(results2)\n\n\t\tconst total = skills2.length\n\t\treturn total\n\t}\n}\n"],"mappings":"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"}
|