@sprucelabs/spruce-cli 15.4.11 → 17.0.0
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 +31 -0
- package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
- package/build/GlobalEmitter.js.map +1 -1
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
- package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
- package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
- package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +3 -3
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
- package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
- package/build/__tests__/implementation/BuildService.test.js.map +1 -1
- package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
- package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
- package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
- package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
- package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
- package/build/__tests__/implementation/Introspection.test.js.map +1 -1
- package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
- package/build/__tests__/implementation/LintService.test.js.map +1 -1
- package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
- package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
- package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
- package/build/__tests__/implementation/PkgService.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
- package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
- package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
- package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
- package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
- package/build/__tests__/implementation/Widgets.test.js.map +1 -1
- package/build/__tests__/support/scripts/first.script.js.map +1 -1
- package/build/addons/filePrompt.addon.js.map +1 -1
- package/build/cli.js.map +1 -1
- package/build/components/FormComponent.js.map +1 -1
- package/build/components/QuizComponent.js.map +1 -1
- package/build/errors/SpruceError.js.map +1 -1
- package/build/errors/actionCancelled.builder.js.map +1 -1
- package/build/errors/bootError.builder.js.map +1 -1
- package/build/errors/buildFailed.builder.js.map +1 -1
- package/build/errors/cacheNotEnabled.builder.js.map +1 -1
- package/build/errors/commandAborted.builder.js.map +1 -1
- package/build/errors/commandBlocked.builder.js.map +1 -1
- package/build/errors/commandNotImplemented.builder.js.map +1 -1
- package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
- package/build/errors/dependencyExists.builder.js.map +1 -1
- package/build/errors/deployFailed.builder.js.map +1 -1
- package/build/errors/directoryEmpty.builder.js.map +1 -1
- package/build/errors/directoryNotSkill.builder.js.map +1 -1
- package/build/errors/dockerNotStarted.builder.js.map +1 -1
- package/build/errors/executingCommandFailed.builder.js.map +1 -1
- package/build/errors/failedToImport.builder.js.map +1 -1
- package/build/errors/featureNotInstalled.builder.js.map +1 -1
- package/build/errors/fileExists.builder.js.map +1 -1
- package/build/errors/generic.builder.js.map +1 -1
- package/build/errors/invalidCommand.builder.js.map +1 -1
- package/build/errors/invalidEventContract.builder.js.map +1 -1
- package/build/errors/invalidFeatureCode.builder.js.map +1 -1
- package/build/errors/invalidTestDirectory.builder.js.map +1 -1
- package/build/errors/lintFailed.builder.js.map +1 -1
- package/build/errors/mercuryResponseError.builder.js.map +1 -1
- package/build/errors/missingDependencies.builder.js.map +1 -1
- package/build/errors/noOrganizationsFound.builder.js.map +1 -1
- package/build/errors/noSkillsRegistered.builder.js.map +1 -1
- package/build/errors/notImplemented.builder.js.map +1 -1
- package/build/errors/notLoggedIn.builder.js.map +1 -1
- package/build/errors/schemaExists.builder.js.map +1 -1
- package/build/errors/schemaFailedToImport.builder.js.map +1 -1
- package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
- package/build/errors/skillNotFound.builder.js.map +1 -1
- package/build/errors/skillNotRegistered.builder.js.map +1 -1
- package/build/errors/skillViewExists.builder.js.map +1 -1
- package/build/errors/storeExists.builder.js.map +1 -1
- package/build/errors/testFailed.builder.js.map +1 -1
- package/build/errors/themeExists.builder.js.map +1 -1
- package/build/errors/transportAlreadyExists.builder.js.map +1 -1
- package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionExecuter.js.map +1 -1
- package/build/features/ActionFactory.js.map +1 -1
- package/build/features/ActionQuestionAsker.js.map +1 -1
- package/build/features/FeatureCommandAttacher.js.map +1 -1
- package/build/features/FeatureInstaller.js.map +1 -1
- package/build/features/OverrideActionDecorator.js.map +1 -1
- package/build/features/cache/CacheFeature.js.map +1 -1
- package/build/features/cache/actions/DisableAction.js.map +1 -1
- package/build/features/cache/actions/EnableAction.js.map +1 -1
- package/build/features/conversation/ConversationFeature.js.map +1 -1
- package/build/features/conversation/actions/TestAction.js.map +1 -1
- package/build/features/conversation/stores/ConversationStore.js.map +1 -1
- package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
- package/build/features/dependencies/DependencyFeature.js.map +1 -1
- package/build/features/dependencies/actions/AddAction.js.map +1 -1
- package/build/features/dependencies/actions/ManageAction.js.map +1 -1
- package/build/features/deploy/DeployFeature.js.map +1 -1
- package/build/features/deploy/actions/HerokuAction.js.map +1 -1
- package/build/features/deploy/writers/DeployWriter.js.map +1 -1
- package/build/features/error/ErrorFeature.js.map +1 -1
- package/build/features/error/ParentTestFinder.js.map +1 -1
- package/build/features/error/actions/CreateAction.js.map +1 -1
- package/build/features/error/actions/SyncAction.js.map +1 -1
- package/build/features/error/writers/ErrorWriter.js.map +1 -1
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/event/actions/CreateAction.js.map +1 -1
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/actions/SetRemoteAction.js.map +1 -1
- package/build/features/event/actions/SyncAction.js.map +1 -1
- package/build/features/event/actions/SyncListenersAction.js.map +1 -1
- package/build/features/event/builders/EventContractBuilder.js.map +1 -1
- package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/event/stores/ListenerStore.js.map +1 -1
- package/build/features/event/writers/EventWriter.js.map +1 -1
- package/build/features/eventContract/EventContractFeature.js.map +1 -1
- package/build/features/eventContract/actions/PullAction.js.map +1 -1
- package/build/features/feature.utilities.js.map +1 -1
- package/build/features/features.types.js.map +1 -1
- package/build/features/log/LogFeature.js.map +1 -1
- package/build/features/log/actions/CreateTransportAction.js.map +1 -1
- package/build/features/log/writers/LogWriter.js.map +1 -1
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
- package/build/features/node/actions/UpgradeAction.js.map +1 -1
- package/build/features/node/writers/NodeWriter.js.map +1 -1
- package/build/features/onboard/OnboardFeature.js.map +1 -1
- package/build/features/onboard/ScriptLoader.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
- package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
- package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
- package/build/features/organization/OrganizationFeature.js.map +1 -1
- package/build/features/organization/stores/OrganizationStore.js.map +1 -1
- package/build/features/person/PersonFeature.js.map +1 -1
- package/build/features/person/actions/LoginAction.js.map +1 -1
- package/build/features/person/actions/LogoutAction.js.map +1 -1
- package/build/features/person/actions/WhoamiAction.js.map +1 -1
- package/build/features/sandbox/SandboxFeature.js.map +1 -1
- package/build/features/sandbox/actions/SetupAction.js.map +1 -1
- package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
- package/build/features/schema/SchemaFeature.js.map +1 -1
- package/build/features/schema/ValueTypeBuilder.js.map +1 -1
- package/build/features/schema/actions/CreateAction.js.map +1 -1
- package/build/features/schema/actions/SyncAction.js.map +1 -1
- package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
- package/build/features/schema/services/SchemaService.js.map +1 -1
- package/build/features/schema/stores/SchemaStore.d.ts +2 -1
- package/build/features/schema/stores/SchemaStore.js +2 -1
- package/build/features/schema/stores/SchemaStore.js.map +1 -1
- package/build/features/schema/utilities/schema.utility.js.map +1 -1
- package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
- package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/actions/BootAction.js.map +1 -1
- package/build/features/skill/actions/CreateAction.js.map +1 -1
- package/build/features/skill/actions/DashboardAction.js.map +1 -1
- package/build/features/skill/actions/LoginAction.js.map +1 -1
- package/build/features/skill/actions/RebuildAction.js.map +1 -1
- package/build/features/skill/actions/RegisterAction.js.map +1 -1
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/skill/updaters/Updater.js.map +1 -1
- package/build/features/skill/writers/SkillWriter.js.map +1 -1
- package/build/features/store/StoreFeature.js.map +1 -1
- package/build/features/store/actions/CreateAction.js.map +1 -1
- package/build/features/store/actions/SyncAction.js.map +1 -1
- package/build/features/store/stores/StoreStore.js.map +1 -1
- package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
- package/build/features/store/writers/StoreWriter.js.map +1 -1
- package/build/features/test/TestFeature.js.map +1 -1
- package/build/features/test/TestLogItemGenerator.js.map +1 -1
- package/build/features/test/TestReporter.js.map +1 -1
- package/build/features/test/TestRunner.js.map +1 -1
- package/build/features/test/actions/CreateAction.js.map +1 -1
- package/build/features/test/actions/SetupAction.js.map +1 -1
- package/build/features/test/actions/TestAction.js.map +1 -1
- package/build/features/test/writers/TestWriter.js.map +1 -1
- package/build/features/validateAndNormalize.utility.js.map +1 -1
- package/build/features/view/ViewFeature.js.map +1 -1
- package/build/features/view/actions/CreateAction.js.map +1 -1
- package/build/features/view/actions/CreateThemeAction.js.map +1 -1
- package/build/features/view/actions/SyncAction.js.map +1 -1
- package/build/features/view/actions/WatchAction.js.map +1 -1
- package/build/features/view/stores/ViewStore.js.map +1 -1
- package/build/features/view/writers/ViewWriter.js.map +1 -1
- package/build/features/vscode/VsCodeFeature.js.map +1 -1
- package/build/features/vscode/services/VsCodeService.js.map +1 -1
- package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
- package/build/features/watch/WatchFeature.js.map +1 -1
- package/build/index.js.map +1 -1
- package/build/interfaces/SpyInterface.js +0 -1
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/interfaces/TerminalInterface.js.map +1 -1
- package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
- package/build/services/CommandService.js.map +1 -1
- package/build/services/GameService.js.map +1 -1
- package/build/services/ImportService.js.map +1 -1
- package/build/services/LintService.js.map +1 -1
- package/build/services/PkgService.js.map +1 -1
- package/build/services/ServiceFactory.js.map +1 -1
- package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/AbstractEventTest.js.map +1 -1
- package/build/tests/AbstractSchemaTest.js.map +1 -1
- package/build/tests/AbstractTestTest.js.map +1 -1
- package/build/tests/CommandFaker.js.map +1 -1
- package/build/tests/JestJsonParser.js.map +1 -1
- package/build/tests/buildTestCache.js.map +1 -1
- package/build/tests/cleanTestCache.js.map +1 -1
- package/build/tests/cleanTestData.js.map +1 -1
- package/build/tests/fixtures/FeatureFixture.js.map +1 -1
- package/build/tests/fixtures/MercuryFixture.js.map +1 -1
- package/build/tests/fixtures/PersonFixture.js.map +1 -1
- package/build/tests/fixtures/SkillFixture.js.map +1 -1
- package/build/tests/utilities/test.utility.js.map +1 -1
- package/build/tests/utilities/uiAssert.utility.js.map +1 -1
- package/build/utilities/action.utility.js.map +1 -1
- package/build/utilities/commander.utility.js.map +1 -1
- package/build/utilities/eventContractCleaner.utility.js.map +1 -1
- package/build/utilities/form.utility.js.map +1 -1
- package/build/utilities/introspection.utility.js.map +1 -1
- package/build/utilities/tsConfig.utility.js.map +1 -1
- package/build/widgets/Theme.js.map +1 -1
- package/build/widgets/WidgetFactory.js.map +1 -1
- package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
- package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
- package/build/widgets/types/input.types.js.map +1 -1
- package/build/widgets/types/menuBar.types.js.map +1 -1
- package/build/widgets/types/text.types.js.map +1 -1
- package/build/widgets/types/window.types.js.map +1 -1
- package/build/writers/AbstractWriter.js.map +1 -1
- package/package.json +36 -36
- package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +3 -2
- package/src/features/schema/stores/SchemaStore.ts +4 -2
- package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.d.ts +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js +0 -14
- package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js.map +0 -1
- package/src/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployingASkill.test.js","names":["DeployingASkillTest","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'\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployingToSandbox.test.js","names":["DeployingToSandboxTest","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'\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnablingAndDisablingCache.test.js","names":["EnablingAndDisablingCacheTest","getFeatureInstaller","isInstalled","assert","isTrue","isFunction","Action","execute","CommandService","fakeCommand","code","results","isTruthy","errors","errorAssert","assertError","dependencies","name","ENABLE_NPM_CACHE_COMMAND","DISABLE_NPM_CACHE_COMMAND","isFalsy","stderr","AbstractCliTest"],"sources":["../../../src/__tests__/behavioral/EnablingAndDisablingCache.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport {\n\tDISABLE_NPM_CACHE_COMMAND,\n\tENABLE_NPM_CACHE_COMMAND,\n} from '../../features/cache/constants'\nimport CommandService from '../../services/CommandService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class EnablingAndDisablingCacheTest extends AbstractCliTest {\n\t@test()\n\tprotected static async cacheFeatureIsAlwaysOn() {\n\t\tconst isInstalled = await this.getFeatureInstaller().isInstalled('cache')\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\t@test()\n\tprotected static hasEnableFeature() {\n\t\tassert.isFunction(this.Action('cache', 'enable').execute)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenEnablingIfDockerIsNotInstalled() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\tdependencies: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Docker',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenDockerNotEnabled() {\n\t\tCommandService.fakeCommand(/npm config/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DOCKER_NOT_STARTED')\n\t}\n\n\t@test()\n\tprotected static async canEnableCache() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(ENABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(DISABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static hasDisableFeature() {\n\t\tassert.isFunction(this.Action('cache', 'disable').execute)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenDisablingIfDockerIsNotInstalled() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'disable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\tdependencies: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Docker',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenDisablingIfDockerIsNotStarted() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(/npm config/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'disable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\tdependencies: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Docker',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async returnsErrorIfCacheIsNotInstalled() {\n\t\tCommandService.fakeCommand(/npm config/gis, {\n\t\t\tcode: 1,\n\t\t\tstderr: 'tsanoehusnatohu snatoh No such container staoheu saotnhu ',\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'disable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'CACHE_NOT_ENABLED')\n\t}\n\n\t@test()\n\tprotected static async canEnableCacheMultipleTimes() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(DISABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(ENABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tawait this.Action('cache', 'enable').execute({})\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAIA;;AACA;;;;;;;;IAEqBA,6B,WACnB,
|
|
1
|
+
{"version":3,"file":"EnablingAndDisablingCache.test.js","names":["EnablingAndDisablingCacheTest","test","getFeatureInstaller","isInstalled","assert","isTrue","isFunction","Action","execute","CommandService","fakeCommand","code","results","isTruthy","errors","errorAssert","assertError","dependencies","name","ENABLE_NPM_CACHE_COMMAND","DISABLE_NPM_CACHE_COMMAND","isFalsy","stderr","AbstractCliTest"],"sources":["../../../src/__tests__/behavioral/EnablingAndDisablingCache.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport {\n\tDISABLE_NPM_CACHE_COMMAND,\n\tENABLE_NPM_CACHE_COMMAND,\n} from '../../features/cache/constants'\nimport CommandService from '../../services/CommandService'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class EnablingAndDisablingCacheTest extends AbstractCliTest {\n\t@test()\n\tprotected static async cacheFeatureIsAlwaysOn() {\n\t\tconst isInstalled = await this.getFeatureInstaller().isInstalled('cache')\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\t@test()\n\tprotected static hasEnableFeature() {\n\t\tassert.isFunction(this.Action('cache', 'enable').execute)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenEnablingIfDockerIsNotInstalled() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\tdependencies: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Docker',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenDockerNotEnabled() {\n\t\tCommandService.fakeCommand(/npm config/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'DOCKER_NOT_STARTED')\n\t}\n\n\t@test()\n\tprotected static async canEnableCache() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(ENABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(DISABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static hasDisableFeature() {\n\t\tassert.isFunction(this.Action('cache', 'disable').execute)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenDisablingIfDockerIsNotInstalled() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'disable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\tdependencies: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Docker',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenDisablingIfDockerIsNotStarted() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(/npm config/gis, {\n\t\t\tcode: 1,\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'disable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'MISSING_DEPENDENCIES', {\n\t\t\tdependencies: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Docker',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async returnsErrorIfCacheIsNotInstalled() {\n\t\tCommandService.fakeCommand(/npm config/gis, {\n\t\t\tcode: 1,\n\t\t\tstderr: 'tsanoehusnatohu snatoh No such container staoheu saotnhu ',\n\t\t})\n\n\t\tconst results = await this.Action('cache', 'disable').execute({})\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'CACHE_NOT_ENABLED')\n\t}\n\n\t@test()\n\tprotected static async canEnableCacheMultipleTimes() {\n\t\tCommandService.fakeCommand(/which docker/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(DISABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\t\tCommandService.fakeCommand(ENABLE_NPM_CACHE_COMMAND, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tawait this.Action('cache', 'enable').execute({})\n\t\tconst results = await this.Action('cache', 'enable').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GettingCliVersion.test.js","names":["GettingCliVersionTest","cwd","resolvePath","__dirname","Service","execute","results","needle","require","version","assert","doesInclude","stdout","AbstractCliTest"],"sources":["../../../src/__tests__/behavioral/GettingCliVersion.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class GettingCliVersionTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.cwd = this.resolvePath(__dirname, '..', '..', '..')\n\t}\n\n\t@test()\n\tprotected static async canGetVersionWithDashV() {\n\t\tconst results = await this.Service('command').execute(\n\t\t\t'node ./build/index.js -v'\n\t\t)\n\t\tconst needle = require('../../../package.json').version\n\n\t\tassert.doesInclude(results.stdout, needle)\n\t}\n\n\t@test()\n\tprotected static async canGetVersionWithDashVersion() {\n\t\tconst results = await this.Service('command').execute(\n\t\t\t'node ./build/index.js --version'\n\t\t)\n\t\tconst needle = require('../../../package.json').version\n\n\t\tassert.doesInclude(results.stdout, needle)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;IAEqBA,qB,WAMnB,
|
|
1
|
+
{"version":3,"file":"GettingCliVersion.test.js","names":["GettingCliVersionTest","test","cwd","resolvePath","__dirname","Service","execute","results","needle","require","version","assert","doesInclude","stdout","AbstractCliTest"],"sources":["../../../src/__tests__/behavioral/GettingCliVersion.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class GettingCliVersionTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.cwd = this.resolvePath(__dirname, '..', '..', '..')\n\t}\n\n\t@test()\n\tprotected static async canGetVersionWithDashV() {\n\t\tconst results = await this.Service('command').execute(\n\t\t\t'node ./build/index.js -v'\n\t\t)\n\t\tconst needle = require('../../../package.json').version\n\n\t\tassert.doesInclude(results.stdout, needle)\n\t}\n\n\t@test()\n\tprotected static async canGetVersionWithDashVersion() {\n\t\tconst results = await this.Service('command').execute(\n\t\t\t'node ./build/index.js --version'\n\t\t)\n\t\tconst needle = require('../../../package.json').version\n\n\t\tassert.doesInclude(results.stdout, needle)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;IAEqBA,qB,WAMnB,IAAAC,UAAA,G,UAUA,IAAAA,UAAA,G;;;;;;;;;;;;;sGAfD;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAEC,KAAKC,GAAL,GAAW,KAAKC,WAAL,CAAiBC,SAAjB,EAA4B,IAA5B,EAAkC,IAAlC,EAAwC,IAAxC,CAAX;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;kHAKA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,KAAKC,OAAL,CAAa,SAAb,EAAwBC,OAAxB,CACrB,0BADqB,CAFvB;;cAAA;gBAEOC,OAFP;gBAKOC,MALP,GAKgBC,OAAO,yBAAP,CAAiCC,OALjD;;gBAOCC,YAAA,CAAOC,WAAP,CAAmBL,OAAO,CAACM,MAA3B,EAAmCL,MAAnC;;cAPD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wHAUA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,KAAKH,OAAL,CAAa,SAAb,EAAwBC,OAAxB,CACrB,iCADqB,CAFvB;;cAAA;gBAEOC,OAFP;gBAKOC,MALP,GAKgBC,OAAO,yBAAP,CAAiCC,OALjD;;gBAOCC,YAAA,CAAOC,WAAP,CAAmBL,OAAO,CAACM,MAA3B,EAAmCL,MAAnC;;cAPD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAhBkDM,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstallingASkillAtAnOrg.test.js","names":["InstallingASkillAtAnOrgTest","login","getOrganizationFixture","clearAllOrgs","Cli","assert","isFunction","Action","execute","seedDemoOrg","name","org","FeatureFixture","installCachedFeatures","getSkillFixture","registerCurrentSkill","people","logout","organizationId","id","anonResults","isTruthy","errors","eventAssertUtil","assertError","errorAssert","skill","promise","waitForInput","doesInclude","ui","getLastInvocation","command","assertUtil","stringify","sendInput","results","isFalsy","Store","isSkillInstalledAtOrg","isInstalled","org2","options","type","loginAsDemoPerson","DEMO_NUMBER_INSTALL_SKILL","AbstractCliTest"],"sources":["../../../src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts"],"sourcesContent":["import { eventAssertUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert, assertUtil } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport { DEMO_NUMBER_INSTALL_SKILL } from '../../tests/constants'\n\nexport default class InstallingASkillAtAnOrgTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tawait this.login()\n\t\tawait this.getOrganizationFixture().clearAllOrgs()\n\t}\n\n\t@test()\n\tprotected static async hasInstallAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('organization', 'install').execute)\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutBeingLoggedIn() {\n\t\tconst org = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'new org',\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tawait this.people.logout()\n\n\t\tawait this.Cli()\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({\n\t\t\torganizationId: org.id,\n\t\t})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\teventAssertUtil.assertError(anonResults.errors[0], 'UNAUTHORIZED_ACCESS')\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutAnyOrgs() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\terrorAssert.assertError(anonResults.errors[0], 'NO_ORGANIZATIONS_FOUND')\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutBeingRegistered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\terrorAssert.assertError(anonResults.errors[0], 'SKILL_NOT_REGISTERED')\n\t}\n\n\t@test()\n\tprotected static async canInstallSkillAtOrg() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tconst org = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst promise = this.Action('organization', 'install').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(\n\t\t\tthis.ui.getLastInvocation().command,\n\t\t\t'confirm',\n\t\t\t`ui didn't get back a confirm, got back \\n\\n${assertUtil.stringify(\n\t\t\t\tthis.ui.getLastInvocation()\n\t\t\t)}`\n\t\t)\n\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst isInstalled = await this.Store('organization').isSkillInstalledAtOrg(\n\t\t\tskill.id,\n\t\t\torg.id\n\t\t)\n\n\t\tassert.isTruthy(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async asksYouToSelectOrgWithMoreThanOne() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst org2 = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst promise = this.Action('organization', 'install').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().options, {\n\t\t\ttype: 'select',\n\t\t})\n\n\t\tawait this.ui.sendInput(org2.id)\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst isInstalled = await this.Store('organization').isSkillInstalledAtOrg(\n\t\t\tskill.id,\n\t\t\torg2.id\n\t\t)\n\n\t\tassert.isTruthy(isInstalled)\n\t}\n\n\tprivate static async login() {\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_INSTALL_SKILL)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,2B,WAOnB,
|
|
1
|
+
{"version":3,"file":"InstallingASkillAtAnOrg.test.js","names":["InstallingASkillAtAnOrgTest","test","login","getOrganizationFixture","clearAllOrgs","Cli","assert","isFunction","Action","execute","seedDemoOrg","name","org","FeatureFixture","installCachedFeatures","getSkillFixture","registerCurrentSkill","people","logout","organizationId","id","anonResults","isTruthy","errors","eventAssertUtil","assertError","errorAssert","skill","promise","waitForInput","doesInclude","ui","getLastInvocation","command","assertUtil","stringify","sendInput","results","isFalsy","Store","isSkillInstalledAtOrg","isInstalled","org2","options","type","loginAsDemoPerson","DEMO_NUMBER_INSTALL_SKILL","AbstractCliTest"],"sources":["../../../src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts"],"sourcesContent":["import { eventAssertUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert, assertUtil } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport { DEMO_NUMBER_INSTALL_SKILL } from '../../tests/constants'\n\nexport default class InstallingASkillAtAnOrgTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tawait this.login()\n\t\tawait this.getOrganizationFixture().clearAllOrgs()\n\t}\n\n\t@test()\n\tprotected static async hasInstallAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('organization', 'install').execute)\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutBeingLoggedIn() {\n\t\tconst org = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'new org',\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tawait this.people.logout()\n\n\t\tawait this.Cli()\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({\n\t\t\torganizationId: org.id,\n\t\t})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\teventAssertUtil.assertError(anonResults.errors[0], 'UNAUTHORIZED_ACCESS')\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutAnyOrgs() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\terrorAssert.assertError(anonResults.errors[0], 'NO_ORGANIZATIONS_FOUND')\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutBeingRegistered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\terrorAssert.assertError(anonResults.errors[0], 'SKILL_NOT_REGISTERED')\n\t}\n\n\t@test()\n\tprotected static async canInstallSkillAtOrg() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tconst org = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst promise = this.Action('organization', 'install').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(\n\t\t\tthis.ui.getLastInvocation().command,\n\t\t\t'confirm',\n\t\t\t`ui didn't get back a confirm, got back \\n\\n${assertUtil.stringify(\n\t\t\t\tthis.ui.getLastInvocation()\n\t\t\t)}`\n\t\t)\n\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst isInstalled = await this.Store('organization').isSkillInstalledAtOrg(\n\t\t\tskill.id,\n\t\t\torg.id\n\t\t)\n\n\t\tassert.isTruthy(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async asksYouToSelectOrgWithMoreThanOne() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst org2 = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst promise = this.Action('organization', 'install').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().options, {\n\t\t\ttype: 'select',\n\t\t})\n\n\t\tawait this.ui.sendInput(org2.id)\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst isInstalled = await this.Store('organization').isSkillInstalledAtOrg(\n\t\t\tskill.id,\n\t\t\torg2.id\n\t\t)\n\n\t\tassert.isTruthy(isInstalled)\n\t}\n\n\tprivate static async login() {\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_INSTALL_SKILL)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListeningToCoreEvents.test.js","names":["ListeningToCoreEventsTest","Action","execute","eventName","namespace","version","results","assert","isFalsy","errors","getSkillFixture","registerCurrentSkill","name","local","response","AbstractSkillTest"],"sources":["../../../src/__tests__/behavioral/ListeningToCoreEvents.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\n\nexport default class ListeningToCoreEventsTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'events'\n\n\t@test()\n\tprotected static async canListenToDidInstallWithoutErroring() {\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\teventName: 'did-install',\n\t\t\tnamespace: 'mercury',\n\t\t\tversion: 'v2020_12_25',\n\t\t})\n\n\t\tassert.isFalsy(results.errors?.[0])\n\t}\n\n\t@test()\n\tprotected static async canBootASkillWithACoreListener() {\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'global listen test',\n\t\t})\n\t\tconst response = await this.Action('skill', 'boot').execute({ local: true })\n\t\tassert.isFalsy(response.errors)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;IAEqBA,yB,WAGnB,
|
|
1
|
+
{"version":3,"file":"ListeningToCoreEvents.test.js","names":["ListeningToCoreEventsTest","test","Action","execute","eventName","namespace","version","results","assert","isFalsy","errors","getSkillFixture","registerCurrentSkill","name","local","response","AbstractSkillTest"],"sources":["../../../src/__tests__/behavioral/ListeningToCoreEvents.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\n\nexport default class ListeningToCoreEventsTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'events'\n\n\t@test()\n\tprotected static async canListenToDidInstallWithoutErroring() {\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\teventName: 'did-install',\n\t\t\tnamespace: 'mercury',\n\t\t\tversion: 'v2020_12_25',\n\t\t})\n\n\t\tassert.isFalsy(results.errors?.[0])\n\t}\n\n\t@test()\n\tprotected static async canBootASkillWithACoreListener() {\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'global listen test',\n\t\t})\n\t\tconst response = await this.Action('skill', 'boot').execute({ local: true })\n\t\tassert.isFalsy(response.errors)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;IAEqBA,yB,WAGnB,IAAAC,UAAA,G,UAWA,IAAAA,UAAA,G;;;;;;;;;;;;;gIAXD;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC;kBAC5DC,SAAS,EAAE,aADiD;kBAE5DC,SAAS,EAAE,SAFiD;kBAG5DC,OAAO,EAAE;gBAHmD,CAAvC,CAFvB;;cAAA;gBAEOC,OAFP;;gBAQCC,YAAA,CAAOC,OAAP,oBAAeF,OAAO,CAACG,MAAvB,oDAAe,gBAAiB,CAAjB,CAAf;;cARD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;0HAWA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKC,eAAL,GAAuBC,oBAAvB,CAA4C;kBACjDC,IAAI,EAAE;gBAD2C,CAA5C,CAFP;;cAAA;gBAAA;gBAAA,OAKwB,KAAKX,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAAqC;kBAAEW,KAAK,EAAE;gBAAT,CAArC,CALxB;;cAAA;gBAKOC,QALP;;gBAMCP,YAAA,CAAOC,OAAP,CAAeM,QAAQ,CAACL,MAAxB;;cAND;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAdsDM,8B,8DACrB,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoggingInAsASkill.test.js","names":["LoggingInAsASkillTest","people","loginAsDemoPerson","DEMO_NUMBER_LOGIN_AS_SKILL","skillFixture","getSkillFixture","clearAllSkills","logout","assert","isFunction","Action","execute","waitForInput","doesInclude","ui","getLastInvocation","options","label","reset","login","results","isTruthy","errors","isLength","errorAssert","assertError","person","Service","setLoggedInPerson","seedDemoSkill","name","Date","getTime","skill1","isFalsy","loggedIn","getCurrentSkill","isEqual","id","skill2","promise","command","type","isEqualDeep","choices","map","s","value","sendInput","skillSlug","skill3","slug","AbstractSkillTest"],"sources":["../../../src/__tests__/behavioral/LoggingInAsASkill.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\nimport { DEMO_NUMBER_LOGIN_AS_SKILL } from '../../tests/constants'\nimport { RegisteredSkill } from '../../types/cli.types'\n\nexport default class LoggingInAsASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\tprivate static skill1: RegisteredSkill\n\tprivate static skill2: RegisteredSkill\n\tprivate static skill3: RegisteredSkill\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_LOGIN_AS_SKILL)\n\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tawait skillFixture.clearAllSkills()\n\n\t\tawait this.people.logout()\n\t}\n\n\t@test()\n\tprotected static async hasLoginAction() {\n\t\tassert.isFunction(this.Action('skill', 'login').execute)\n\t}\n\n\t@test()\n\tprotected static async asksToLoginIfNotLoggedIn() {\n\t\tvoid this.Action('skill', 'login').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().options.label, 'Phone')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async returnsErrorIfNoSkillHasEverBeenRegistered() {\n\t\tawait this.login()\n\n\t\tconst results = await this.Action('skill', 'login').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\t\terrorAssert.assertError(results.errors[0], 'NO_SKILLS_REGISTERED')\n\t}\n\n\tprivate static async login() {\n\t\tconst person = await this.people.loginAsDemoPerson(\n\t\t\tDEMO_NUMBER_LOGIN_AS_SKILL\n\t\t)\n\n\t\tthis.Service('auth').setLoggedInPerson(person)\n\t}\n\n\t@test()\n\tprotected static async logsInAsOnlySkillIfOnly1Registered() {\n\t\tawait this.login()\n\n\t\tthis.skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst results = await this.Action('skill', 'login').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill1.id)\n\t}\n\n\t@test()\n\tprotected static async letsYouSelectSkillIfMoreThan1IsRegistered() {\n\t\tawait this.login()\n\n\t\tthis.skill2 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill 2 ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst promise = this.Action('skill', 'login').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().command, 'prompt')\n\t\tassert.doesInclude(this.ui.getLastInvocation().options.type, 'select')\n\t\tassert.isEqualDeep(\n\t\t\tthis.ui.getLastInvocation().options.options.choices,\n\t\t\t[this.skill1, this.skill2].map((s) => ({\n\t\t\t\tlabel: s.name,\n\t\t\t\tvalue: s.id,\n\t\t\t}))\n\t\t)\n\n\t\tawait this.ui.sendInput(this.skill2.id)\n\n\t\tawait promise\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill2.id)\n\t}\n\n\t@test()\n\tprotected static async cantLoginWithSlugYouDontOwn() {\n\t\tawait this.login()\n\t\tconst results = await this.Action('skill', 'login').execute({\n\t\t\tskillSlug: 'never found',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'SKILL_NOT_FOUND')\n\t}\n\n\t@test()\n\tprotected static async canLoginWithSlugYouOwn() {\n\t\tawait this.login()\n\n\t\tthis.skill3 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill 3 ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst results = await this.Action('skill', 'login').execute({\n\t\t\tskillSlug: this.skill3.slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill3.id)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAGqBA,qB,WAiBnB,
|
|
1
|
+
{"version":3,"file":"LoggingInAsASkill.test.js","names":["LoggingInAsASkillTest","test","people","loginAsDemoPerson","DEMO_NUMBER_LOGIN_AS_SKILL","skillFixture","getSkillFixture","clearAllSkills","logout","assert","isFunction","Action","execute","waitForInput","doesInclude","ui","getLastInvocation","options","label","reset","login","results","isTruthy","errors","isLength","errorAssert","assertError","person","Service","setLoggedInPerson","seedDemoSkill","name","Date","getTime","skill1","isFalsy","loggedIn","getCurrentSkill","isEqual","id","skill2","promise","command","type","isEqualDeep","choices","map","s","value","sendInput","skillSlug","skill3","slug","AbstractSkillTest"],"sources":["../../../src/__tests__/behavioral/LoggingInAsASkill.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\nimport { DEMO_NUMBER_LOGIN_AS_SKILL } from '../../tests/constants'\nimport { RegisteredSkill } from '../../types/cli.types'\n\nexport default class LoggingInAsASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\tprivate static skill1: RegisteredSkill\n\tprivate static skill2: RegisteredSkill\n\tprivate static skill3: RegisteredSkill\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_LOGIN_AS_SKILL)\n\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tawait skillFixture.clearAllSkills()\n\n\t\tawait this.people.logout()\n\t}\n\n\t@test()\n\tprotected static async hasLoginAction() {\n\t\tassert.isFunction(this.Action('skill', 'login').execute)\n\t}\n\n\t@test()\n\tprotected static async asksToLoginIfNotLoggedIn() {\n\t\tvoid this.Action('skill', 'login').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().options.label, 'Phone')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async returnsErrorIfNoSkillHasEverBeenRegistered() {\n\t\tawait this.login()\n\n\t\tconst results = await this.Action('skill', 'login').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\t\terrorAssert.assertError(results.errors[0], 'NO_SKILLS_REGISTERED')\n\t}\n\n\tprivate static async login() {\n\t\tconst person = await this.people.loginAsDemoPerson(\n\t\t\tDEMO_NUMBER_LOGIN_AS_SKILL\n\t\t)\n\n\t\tthis.Service('auth').setLoggedInPerson(person)\n\t}\n\n\t@test()\n\tprotected static async logsInAsOnlySkillIfOnly1Registered() {\n\t\tawait this.login()\n\n\t\tthis.skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst results = await this.Action('skill', 'login').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill1.id)\n\t}\n\n\t@test()\n\tprotected static async letsYouSelectSkillIfMoreThan1IsRegistered() {\n\t\tawait this.login()\n\n\t\tthis.skill2 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill 2 ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst promise = this.Action('skill', 'login').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().command, 'prompt')\n\t\tassert.doesInclude(this.ui.getLastInvocation().options.type, 'select')\n\t\tassert.isEqualDeep(\n\t\t\tthis.ui.getLastInvocation().options.options.choices,\n\t\t\t[this.skill1, this.skill2].map((s) => ({\n\t\t\t\tlabel: s.name,\n\t\t\t\tvalue: s.id,\n\t\t\t}))\n\t\t)\n\n\t\tawait this.ui.sendInput(this.skill2.id)\n\n\t\tawait promise\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill2.id)\n\t}\n\n\t@test()\n\tprotected static async cantLoginWithSlugYouDontOwn() {\n\t\tawait this.login()\n\t\tconst results = await this.Action('skill', 'login').execute({\n\t\t\tskillSlug: 'never found',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'SKILL_NOT_FOUND')\n\t}\n\n\t@test()\n\tprotected static async canLoginWithSlugYouOwn() {\n\t\tawait this.login()\n\n\t\tthis.skill3 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill 3 ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst results = await this.Action('skill', 'login').execute({\n\t\t\tskillSlug: this.skill3.slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill3.id)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagingDependencies.test.js","names":["ManagingDependenciesTest","assert","isFunction","Action","execute","getSkillFixture","seedDemoSkill","name","skill1","skill2","waitForInput","last","ui","getLastInvocation","isEqual","options","type","doesInclude","choices","value","id","reset","Service","set","namespace","slug","isEqualDeep","promise","sendInput","dependencies","get","registerCurrentSkill","skill","doesNotInclude","AbstractSkillTest"],"sources":["../../../src/__tests__/behavioral/ManagingDependencies.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\n\nexport default class ManagingDependenciesTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\n\t@test()\n\tprotected static async hasAddDependencyAction() {\n\t\tassert.isFunction(this.Action('dependency', 'manage').execute)\n\t}\n\n\t@test()\n\tprotected static async showsSkillsAsCheckboxes() {\n\t\tconst skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 1',\n\t\t})\n\n\t\tconst skill2 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 2',\n\t\t})\n\n\t\tvoid this.Action('dependency', 'manage').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.options.type, 'select')\n\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tvalue: skill1.id,\n\t\t})\n\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tvalue: skill2.id,\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async selectsExistingDependencies() {\n\t\tconst skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 3',\n\t\t})\n\n\t\tthis.Service('dependency').set([\n\t\t\t{\n\t\t\t\tnamespace: skill1.slug,\n\t\t\t\tid: skill1.id,\n\t\t\t},\n\t\t])\n\n\t\tvoid this.Action('dependency', 'manage').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqualDeep(last.options.value, [skill1.id])\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async canSelectANewDependencies() {\n\t\tconst skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 4',\n\t\t})\n\n\t\tconst skill2 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 5',\n\t\t})\n\n\t\tconst promise = this.Action('dependency', 'manage').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput([skill1.id, skill2.id])\n\n\t\tconst dependencies = this.Service('settings').get('dependencies')\n\n\t\tassert.isEqualDeep(dependencies, [\n\t\t\t{\n\t\t\t\tid: skill1.id,\n\t\t\t\tnamespace: skill1.slug,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: skill2.id,\n\t\t\t\tnamespace: skill2.slug,\n\t\t\t},\n\t\t])\n\n\t\tawait promise\n\t}\n\n\t@test()\n\tprotected static async doesNotShowCurrentSkill() {\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'current skill in managing deps',\n\t\t})\n\n\t\tvoid this.Action('dependency', 'manage').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.doesNotInclude(last.options.options.choices, {\n\t\t\tvalue: skill.id,\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;IAEqBA,wB,WAGnB,
|
|
1
|
+
{"version":3,"file":"ManagingDependencies.test.js","names":["ManagingDependenciesTest","test","assert","isFunction","Action","execute","getSkillFixture","seedDemoSkill","name","skill1","skill2","waitForInput","last","ui","getLastInvocation","isEqual","options","type","doesInclude","choices","value","id","reset","Service","set","namespace","slug","isEqualDeep","promise","sendInput","dependencies","get","registerCurrentSkill","skill","doesNotInclude","AbstractSkillTest"],"sources":["../../../src/__tests__/behavioral/ManagingDependencies.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\n\nexport default class ManagingDependenciesTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\n\t@test()\n\tprotected static async hasAddDependencyAction() {\n\t\tassert.isFunction(this.Action('dependency', 'manage').execute)\n\t}\n\n\t@test()\n\tprotected static async showsSkillsAsCheckboxes() {\n\t\tconst skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 1',\n\t\t})\n\n\t\tconst skill2 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 2',\n\t\t})\n\n\t\tvoid this.Action('dependency', 'manage').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(last.options.type, 'select')\n\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tvalue: skill1.id,\n\t\t})\n\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tvalue: skill2.id,\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async selectsExistingDependencies() {\n\t\tconst skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 3',\n\t\t})\n\n\t\tthis.Service('dependency').set([\n\t\t\t{\n\t\t\t\tnamespace: skill1.slug,\n\t\t\t\tid: skill1.id,\n\t\t\t},\n\t\t])\n\n\t\tvoid this.Action('dependency', 'manage').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.isEqualDeep(last.options.value, [skill1.id])\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async canSelectANewDependencies() {\n\t\tconst skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 4',\n\t\t})\n\n\t\tconst skill2 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: 'dependency manage 5',\n\t\t})\n\n\t\tconst promise = this.Action('dependency', 'manage').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput([skill1.id, skill2.id])\n\n\t\tconst dependencies = this.Service('settings').get('dependencies')\n\n\t\tassert.isEqualDeep(dependencies, [\n\t\t\t{\n\t\t\t\tid: skill1.id,\n\t\t\t\tnamespace: skill1.slug,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: skill2.id,\n\t\t\t\tnamespace: skill2.slug,\n\t\t\t},\n\t\t])\n\n\t\tawait promise\n\t}\n\n\t@test()\n\tprotected static async doesNotShowCurrentSkill() {\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'current skill in managing deps',\n\t\t})\n\n\t\tvoid this.Action('dependency', 'manage').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.doesNotInclude(last.options.options.choices, {\n\t\t\tvalue: skill.id,\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverridingCommandsInPackageJson.test.js","names":["OverridingCommandsInPackageJsonTest","overrideOptions","FeatureFixture","Cli","program","MockProgramFactory","Program","cli","executer","getActionExecuter","Action","execute","assertCoreSchemasDidNotSync","nameReadable","namePascal","nameCamel","description","personPath","resolveHashSprucePath","assert","isFalse","diskUtil","doesFileExist","pkg","Service","set","path","value","AbstractSkillTest"],"sources":["../../../src/__tests__/behavioral/OverridingCommandsInPackageJson.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\nimport MockProgramFactory from '../../tests/MockProgramFactory'\n\nexport default class OverridingCommandsInPackageJsonTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'schemas'\n\n\t@test()\n\tprotected static async runningCommandHonorsOverrides() {\n\t\tthis.overrideOptions()\n\n\t\tconst cli = await this.FeatureFixture().Cli({\n\t\t\tprogram: MockProgramFactory.Program(),\n\t\t})\n\n\t\t//@ts-ignore\n\t\tconst executer = cli.getActionExecuter()\n\t\tawait executer.Action('schema', 'sync').execute()\n\n\t\tthis.assertCoreSchemasDidNotSync()\n\t}\n\n\t@test()\n\tprotected static async runningCommandHonorsOverridesWhenCommandIsForwarded() {\n\t\tthis.overrideOptions()\n\n\t\tconst cli = await this.FeatureFixture().Cli({\n\t\t\tprogram: MockProgramFactory.Program(),\n\t\t})\n\n\t\t//@ts-ignore\n\t\tconst executer = cli.getActionExecuter()\n\t\tawait executer.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'Test',\n\t\t\tnameCamel: 'test',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tthis.assertCoreSchemasDidNotSync()\n\t}\n\n\tprivate static assertCoreSchemasDidNotSync() {\n\t\tconst personPath = this.resolveHashSprucePath(\n\t\t\t'schemas',\n\t\t\t'spruce',\n\t\t\t'v2020_07_22',\n\t\t\t'person.schema.ts'\n\t\t)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(personPath))\n\t}\n\n\tprivate static overrideOptions() {\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({\n\t\t\tpath: ['skill', 'commandOverrides', 'sync.schemas'],\n\t\t\tvalue: '--shouldFetchCoreSchemas false',\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,mC,WAGnB,
|
|
1
|
+
{"version":3,"file":"OverridingCommandsInPackageJson.test.js","names":["OverridingCommandsInPackageJsonTest","test","overrideOptions","FeatureFixture","Cli","program","MockProgramFactory","Program","cli","executer","getActionExecuter","Action","execute","assertCoreSchemasDidNotSync","nameReadable","namePascal","nameCamel","description","personPath","resolveHashSprucePath","assert","isFalse","diskUtil","doesFileExist","pkg","Service","set","path","value","AbstractSkillTest"],"sources":["../../../src/__tests__/behavioral/OverridingCommandsInPackageJson.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\nimport MockProgramFactory from '../../tests/MockProgramFactory'\n\nexport default class OverridingCommandsInPackageJsonTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'schemas'\n\n\t@test()\n\tprotected static async runningCommandHonorsOverrides() {\n\t\tthis.overrideOptions()\n\n\t\tconst cli = await this.FeatureFixture().Cli({\n\t\t\tprogram: MockProgramFactory.Program(),\n\t\t})\n\n\t\t//@ts-ignore\n\t\tconst executer = cli.getActionExecuter()\n\t\tawait executer.Action('schema', 'sync').execute()\n\n\t\tthis.assertCoreSchemasDidNotSync()\n\t}\n\n\t@test()\n\tprotected static async runningCommandHonorsOverridesWhenCommandIsForwarded() {\n\t\tthis.overrideOptions()\n\n\t\tconst cli = await this.FeatureFixture().Cli({\n\t\t\tprogram: MockProgramFactory.Program(),\n\t\t})\n\n\t\t//@ts-ignore\n\t\tconst executer = cli.getActionExecuter()\n\t\tawait executer.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'Test',\n\t\t\tnameCamel: 'test',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tthis.assertCoreSchemasDidNotSync()\n\t}\n\n\tprivate static assertCoreSchemasDidNotSync() {\n\t\tconst personPath = this.resolveHashSprucePath(\n\t\t\t'schemas',\n\t\t\t'spruce',\n\t\t\t'v2020_07_22',\n\t\t\t'person.schema.ts'\n\t\t)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(personPath))\n\t}\n\n\tprivate static overrideOptions() {\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({\n\t\t\tpath: ['skill', 'commandOverrides', 'sync.schemas'],\n\t\t\tvalue: '--shouldFetchCoreSchemas false',\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,mC,WAGnB,IAAAC,UAAA,G,UAeA,IAAAA,UAAA,G;;;;;;;;;;;;;yHAfD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEC,KAAKC,eAAL;gBAFD;gBAAA,OAImB,KAAKC,cAAL,GAAsBC,GAAtB,CAA0B;kBAC3CC,OAAO,EAAEC,8BAAA,CAAmBC,OAAnB;gBADkC,CAA1B,CAJnB;;cAAA;gBAIOC,GAJP;gBAQC;gBACMC,QATP,GASkBD,GAAG,CAACE,iBAAJ,EATlB;gBAAA;gBAAA,OAUOD,QAAQ,CAACE,MAAT,CAAgB,QAAhB,EAA0B,MAA1B,EAAkCC,OAAlC,EAVP;;cAAA;gBAYC,KAAKC,2BAAL;;cAZD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;+IAeA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEC,KAAKX,eAAL;gBAFD;gBAAA,OAImB,KAAKC,cAAL,GAAsBC,GAAtB,CAA0B;kBAC3CC,OAAO,EAAEC,8BAAA,CAAmBC,OAAnB;gBADkC,CAA1B,CAJnB;;cAAA;gBAIOC,GAJP;gBAQC;gBACMC,QATP,GASkBD,GAAG,CAACE,iBAAJ,EATlB;gBAAA;gBAAA,OAUOD,QAAQ,CAACE,MAAT,CAAgB,QAAhB,EAA0B,QAA1B,EAAoCC,OAApC,CAA4C;kBACjDE,YAAY,EAAE,cADmC;kBAEjDC,UAAU,EAAE,MAFqC;kBAGjDC,SAAS,EAAE,MAHsC;kBAIjDC,WAAW,EAAE;gBAJoC,CAA5C,CAVP;;cAAA;gBAiBC,KAAKJ,2BAAL;;cAjBD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAoBA,uCAA6C;MAC5C,IAAMK,UAAU,GAAG,KAAKC,qBAAL,CAClB,SADkB,EAElB,QAFkB,EAGlB,aAHkB,EAIlB,kBAJkB,CAAnB;;MAOAC,YAAA,CAAOC,OAAP,CAAeC,0BAAA,CAASC,aAAT,CAAuBL,UAAvB,CAAf;IACA;;;WAED,2BAAiC;MAChC,IAAMM,GAAG,GAAG,KAAKC,OAAL,CAAa,KAAb,CAAZ;MACAD,GAAG,CAACE,GAAJ,CAAQ;QACPC,IAAI,EAAE,CAAC,OAAD,EAAU,kBAAV,EAA8B,cAA9B,CADC;QAEPC,KAAK,EAAE;MAFA,CAAR;IAIA;;;EAvD+DC,8B,8DAC/B,S"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RebuildingASkill.test.js","names":["RebuildingASkillTest","assert","isFunction","Action","execute","CommandService","fakeCommand","code","shouldPlayGames","results","isFalsy","errors","isArray","errorAssert","assertError","AbstractSkillTest"],"sources":["../../../src/__tests__/behavioral/RebuildingASkill.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport CommandService from '../../services/CommandService'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\n\nexport default class RebuildingASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\n\t@test()\n\tprotected static async hasRebuildCommand() {\n\t\tassert.isFunction(this.Action('skill', 'rebuild').execute)\n\t}\n\n\t@test()\n\tprotected static async runsExpectedCommand() {\n\t\tCommandService.fakeCommand('yarn rebuild', { code: 0 })\n\n\t\tconst results = await this.Action('skill', 'rebuild').execute({\n\t\t\tshouldPlayGames: false,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async handlesError() {\n\t\tCommandService.fakeCommand('yarn rebuild', { code: 1 })\n\n\t\tconst results = await this.Action('skill', 'rebuild').execute({\n\t\t\tshouldPlayGames: false,\n\t\t})\n\n\t\tassert.isArray(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'EXECUTING_COMMAND_FAILED')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,oB,WAGnB,
|
|
1
|
+
{"version":3,"file":"RebuildingASkill.test.js","names":["RebuildingASkillTest","test","assert","isFunction","Action","execute","CommandService","fakeCommand","code","shouldPlayGames","results","isFalsy","errors","isArray","errorAssert","assertError","AbstractSkillTest"],"sources":["../../../src/__tests__/behavioral/RebuildingASkill.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport CommandService from '../../services/CommandService'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\n\nexport default class RebuildingASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\n\t@test()\n\tprotected static async hasRebuildCommand() {\n\t\tassert.isFunction(this.Action('skill', 'rebuild').execute)\n\t}\n\n\t@test()\n\tprotected static async runsExpectedCommand() {\n\t\tCommandService.fakeCommand('yarn rebuild', { code: 0 })\n\n\t\tconst results = await this.Action('skill', 'rebuild').execute({\n\t\t\tshouldPlayGames: false,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async handlesError() {\n\t\tCommandService.fakeCommand('yarn rebuild', { code: 1 })\n\n\t\tconst results = await this.Action('skill', 'rebuild').execute({\n\t\t\tshouldPlayGames: false,\n\t\t})\n\n\t\tassert.isArray(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'EXECUTING_COMMAND_FAILED')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,oB,WAGnB,IAAAC,UAAA,G,UAKA,IAAAA,UAAA,G,UAWA,IAAAA,UAAA,G;;;;;;;;;;;;;6GAhBD;QAAA;UAAA;YAAA;cAAA;gBAECC,YAAA,CAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,SAArB,EAAgCC,OAAlD;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;+GAKA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAECC,0BAAA,CAAeC,WAAf,CAA2B,cAA3B,EAA2C;kBAAEC,IAAI,EAAE;gBAAR,CAA3C;;gBAFD;gBAAA,OAIuB,KAAKJ,MAAL,CAAY,OAAZ,EAAqB,SAArB,EAAgCC,OAAhC,CAAwC;kBAC7DI,eAAe,EAAE;gBAD4C,CAAxC,CAJvB;;cAAA;gBAIOC,OAJP;;gBAQCR,YAAA,CAAOS,OAAP,CAAeD,OAAO,CAACE,MAAvB;;cARD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wGAWA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAECN,0BAAA,CAAeC,WAAf,CAA2B,cAA3B,EAA2C;kBAAEC,IAAI,EAAE;gBAAR,CAA3C;;gBAFD;gBAAA,OAIuB,KAAKJ,MAAL,CAAY,OAAZ,EAAqB,SAArB,EAAgCC,OAAhC,CAAwC;kBAC7DI,eAAe,EAAE;gBAD4C,CAAxC,CAJvB;;cAAA;gBAIOC,OAJP;;gBAQCR,YAAA,CAAOW,OAAP,CAAeH,OAAO,CAACE,MAAvB;;gBAEAE,sBAAA,CAAYC,WAAZ,CAAwBL,OAAO,CAACE,MAAR,CAAe,CAAf,CAAxB,EAA2C,0BAA3C;;cAVD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAnBiDI,8B,8DAChB,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegisteringConversationsOnBoot.test.js","names":["RegisteringConversationsOnBootTest","seedDummySkillRegisterCurrentSkillAndInstallToOrg","currentSkill","Action","execute","nameReadable","nameCamel","local","boot","connectToApi","skillId","id","apiKey","client","Store","apiClientFactory","fetchRegisteredTopics","topicResults","topics","meta","kill","assert","isLength","isEqual","key","AbstractEventTest"],"sources":["../../../src/__tests__/behavioral/RegisteringConversationsOnBoot.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractEventTest from '../../tests/AbstractEventTest'\n\nexport default class RegisteringConversationsOnBootTest extends AbstractEventTest {\n\t@test()\n\tprotected static async canRegisterConversationsOnBoot() {\n\t\tconst { currentSkill } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg(\n\t\t\t\t'conversation'\n\t\t\t)\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\tconst client = await this.connectToApi({\n\t\t\tskillId: currentSkill.id,\n\t\t\tapiKey: currentSkill.apiKey,\n\t\t})\n\n\t\tconst topicResults = await this.Store('conversation', {\n\t\t\tapiClientFactory: async () => client,\n\t\t}).fetchRegisteredTopics()\n\n\t\tconst topics = topicResults.topics\n\n\t\tboot.meta?.kill()\n\n\t\tassert.isLength(topics, 1)\n\t\tassert.isEqual(topics[0].key, 'bookAnAppointment')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;IAEqBA,kC,WACnB,
|
|
1
|
+
{"version":3,"file":"RegisteringConversationsOnBoot.test.js","names":["RegisteringConversationsOnBootTest","test","seedDummySkillRegisterCurrentSkillAndInstallToOrg","currentSkill","Action","execute","nameReadable","nameCamel","local","boot","connectToApi","skillId","id","apiKey","client","Store","apiClientFactory","fetchRegisteredTopics","topicResults","topics","meta","kill","assert","isLength","isEqual","key","AbstractEventTest"],"sources":["../../../src/__tests__/behavioral/RegisteringConversationsOnBoot.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractEventTest from '../../tests/AbstractEventTest'\n\nexport default class RegisteringConversationsOnBootTest extends AbstractEventTest {\n\t@test()\n\tprotected static async canRegisterConversationsOnBoot() {\n\t\tconst { currentSkill } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg(\n\t\t\t\t'conversation'\n\t\t\t)\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\tconst client = await this.connectToApi({\n\t\t\tskillId: currentSkill.id,\n\t\t\tapiKey: currentSkill.apiKey,\n\t\t})\n\n\t\tconst topicResults = await this.Store('conversation', {\n\t\t\tapiClientFactory: async () => client,\n\t\t}).fetchRegisteredTopics()\n\n\t\tconst topics = topicResults.topics\n\n\t\tboot.meta?.kill()\n\n\t\tassert.isLength(topics, 1)\n\t\tassert.isEqual(topics[0].key, 'bookAnAppointment')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;IAEqBA,kC,WACnB,IAAAC,UAAA,G;;;;;;;;;;;;;0HAAD;QAAA;;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAGQ,KAAKC,iDAAL,CACL,cADK,CAHR;;cAAA;gBAAA;gBAESC,YAFT,yBAESA,YAFT;gBAAA;gBAAA,OAOO,KAAKC,MAAL,CAAY,cAAZ,EAA4B,QAA5B,EAAsCC,OAAtC,CAA8C;kBACnDC,YAAY,EAAE,qBADqC;kBAEnDC,SAAS,EAAE;gBAFwC,CAA9C,CAPP;;cAAA;gBAAA;gBAAA,OAYoB,KAAKH,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAAqC;kBAAEG,KAAK,EAAE;gBAAT,CAArC,CAZpB;;cAAA;gBAYOC,IAZP;gBAAA;gBAAA,OAcsB,KAAKC,YAAL,CAAkB;kBACtCC,OAAO,EAAER,YAAY,CAACS,EADgB;kBAEtCC,MAAM,EAAEV,YAAY,CAACU;gBAFiB,CAAlB,CAdtB;;cAAA;gBAcOC,MAdP;gBAAA;gBAAA,OAmB4B,KAAKC,KAAL,CAAW,cAAX,EAA2B;kBACrDC,gBAAgB;oBAAA,sGAAE;sBAAA;wBAAA;0BAAA;4BAAA;8BAAA,iCAAYF,MAAZ;;4BAAA;4BAAA;8BAAA;0BAAA;wBAAA;sBAAA;oBAAA,CAAF;;oBAAA;sBAAA;oBAAA;;oBAAA;kBAAA;gBADqC,CAA3B,EAExBG,qBAFwB,EAnB5B;;cAAA;gBAmBOC,YAnBP;gBAuBOC,MAvBP,GAuBgBD,YAAY,CAACC,MAvB7B;gBAyBC,cAAAV,IAAI,CAACW,IAAL,0DAAWC,IAAX;;gBAEAC,YAAA,CAAOC,QAAP,CAAgBJ,MAAhB,EAAwB,CAAxB;;gBACAG,YAAA,CAAOE,OAAP,CAAeL,MAAM,CAAC,CAAD,CAAN,CAAUM,GAAzB,EAA8B,mBAA9B;;cA5BD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAD+DC,8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegisteringEventsOnBoot.test.js","names":["EVENT_NAME_READABLE","EVENT_NAME","EVENT_CAMEL","RegisteringEventsOnBootTest","people","loginAsDemoPerson","DEMO_NUMBER_EVENTS_ON_BOOT","seedDummySkillRegisterCurrentSkillAndInstallToOrg","skill2","currentSkill","Action","execute","nameReadable","nameKebab","nameCamel","copyEventBuildersAndPermissions","local","boot","connectToApi","skillId","id","apiKey","client","Store","apiClientFactory","fetchEventContracts","contracts","meta","kill","version","versionUtil","generateVersion","constValue","name","eventNameUtil","join","eventNamespace","slug","eventName","assert","isTrue","length","namespace","namesUtil","toPascal","sig","eventContractUtil","getSignatureByName","doesInclude","emitPayloadSchema","responsePayloadSchema","emitPermissionContract","listenPermissionContract","AbstractEventTest"],"sources":["../../../src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts"],"sourcesContent":["import {\n\teventContractUtil,\n\teventNameUtil,\n} from '@sprucelabs/spruce-event-utils'\nimport { namesUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractEventTest from '../../tests/AbstractEventTest'\nimport { DEMO_NUMBER_EVENTS_ON_BOOT } from '../../tests/constants'\n\nconst EVENT_NAME_READABLE = 'did book appointment'\nconst EVENT_NAME = 'did-book-appointment'\nconst EVENT_CAMEL = 'didBookAppointment'\n\nexport default class RegisteringEventsOnBootTest extends AbstractEventTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_EVENTS_ON_BOOT)\n\t}\n\n\t@test()\n\tprotected static async registeringEventsOnBoot() {\n\t\tconst { skill2, currentSkill } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tawait this.Action('event', 'create').execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t})\n\n\t\tawait this.copyEventBuildersAndPermissions(EVENT_NAME)\n\n\t\tawait this.Action('event', 'sync').execute({})\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tconst client = await this.connectToApi({\n\t\t\tskillId: skill2.id,\n\t\t\tapiKey: skill2.apiKey,\n\t\t})\n\n\t\tconst { contracts } = await this.Store('event', {\n\t\t\tapiClientFactory: async () => client,\n\t\t}).fetchEventContracts()\n\n\t\tboot.meta?.kill()\n\n\t\tconst version = versionUtil.generateVersion().constValue\n\t\tconst name = eventNameUtil.join({\n\t\t\teventNamespace: currentSkill.slug,\n\t\t\teventName: EVENT_NAME,\n\t\t\tversion,\n\t\t})\n\n\t\tassert.isTrue(contracts.length >= 2)\n\n\t\tconst namespace = namesUtil.toPascal(currentSkill.slug)\n\t\tconst sig = eventContractUtil.getSignatureByName(contracts[1], name)\n\n\t\tassert.doesInclude(sig.emitPayloadSchema, {\n\t\t\tid: 'didBookAppointmentEmitTargetAndPayload',\n\t\t\tversion,\n\t\t\tnamespace,\n\t\t})\n\n\t\tassert.doesInclude(sig.responsePayloadSchema, {\n\t\t\tid: 'myFantasticallyAmazingEventResponsePayload',\n\t\t\tversion,\n\t\t\tnamespace,\n\t\t})\n\t\tassert.doesInclude(sig.emitPermissionContract, {\n\t\t\tid: 'myFantasticallyAmazingEventEmitPermissions',\n\t\t\tname: 'my fantastically amazing event',\n\t\t})\n\n\t\tassert.doesInclude(sig.listenPermissionContract, {\n\t\t\tid: 'myFantasticallyAmazingEventListenPermissions',\n\t\t\tname: 'my fantastically amazing event',\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAIA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,mBAAmB,GAAG,sBAA5B;AACA,IAAMC,UAAU,GAAG,sBAAnB;AACA,IAAMC,WAAW,GAAG,oBAApB;IAEqBC,2B,WAMnB,
|
|
1
|
+
{"version":3,"file":"RegisteringEventsOnBoot.test.js","names":["EVENT_NAME_READABLE","EVENT_NAME","EVENT_CAMEL","RegisteringEventsOnBootTest","test","people","loginAsDemoPerson","DEMO_NUMBER_EVENTS_ON_BOOT","seedDummySkillRegisterCurrentSkillAndInstallToOrg","skill2","currentSkill","Action","execute","nameReadable","nameKebab","nameCamel","copyEventBuildersAndPermissions","local","boot","connectToApi","skillId","id","apiKey","client","Store","apiClientFactory","fetchEventContracts","contracts","meta","kill","version","versionUtil","generateVersion","constValue","name","eventNameUtil","join","eventNamespace","slug","eventName","assert","isTrue","length","namespace","namesUtil","toPascal","sig","eventContractUtil","getSignatureByName","doesInclude","emitPayloadSchema","responsePayloadSchema","emitPermissionContract","listenPermissionContract","AbstractEventTest"],"sources":["../../../src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts"],"sourcesContent":["import {\n\teventContractUtil,\n\teventNameUtil,\n} from '@sprucelabs/spruce-event-utils'\nimport { namesUtil, versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractEventTest from '../../tests/AbstractEventTest'\nimport { DEMO_NUMBER_EVENTS_ON_BOOT } from '../../tests/constants'\n\nconst EVENT_NAME_READABLE = 'did book appointment'\nconst EVENT_NAME = 'did-book-appointment'\nconst EVENT_CAMEL = 'didBookAppointment'\n\nexport default class RegisteringEventsOnBootTest extends AbstractEventTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_EVENTS_ON_BOOT)\n\t}\n\n\t@test()\n\tprotected static async registeringEventsOnBoot() {\n\t\tconst { skill2, currentSkill } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tawait this.Action('event', 'create').execute({\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t})\n\n\t\tawait this.copyEventBuildersAndPermissions(EVENT_NAME)\n\n\t\tawait this.Action('event', 'sync').execute({})\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tconst client = await this.connectToApi({\n\t\t\tskillId: skill2.id,\n\t\t\tapiKey: skill2.apiKey,\n\t\t})\n\n\t\tconst { contracts } = await this.Store('event', {\n\t\t\tapiClientFactory: async () => client,\n\t\t}).fetchEventContracts()\n\n\t\tboot.meta?.kill()\n\n\t\tconst version = versionUtil.generateVersion().constValue\n\t\tconst name = eventNameUtil.join({\n\t\t\teventNamespace: currentSkill.slug,\n\t\t\teventName: EVENT_NAME,\n\t\t\tversion,\n\t\t})\n\n\t\tassert.isTrue(contracts.length >= 2)\n\n\t\tconst namespace = namesUtil.toPascal(currentSkill.slug)\n\t\tconst sig = eventContractUtil.getSignatureByName(contracts[1], name)\n\n\t\tassert.doesInclude(sig.emitPayloadSchema, {\n\t\t\tid: 'didBookAppointmentEmitTargetAndPayload',\n\t\t\tversion,\n\t\t\tnamespace,\n\t\t})\n\n\t\tassert.doesInclude(sig.responsePayloadSchema, {\n\t\t\tid: 'myFantasticallyAmazingEventResponsePayload',\n\t\t\tversion,\n\t\t\tnamespace,\n\t\t})\n\t\tassert.doesInclude(sig.emitPermissionContract, {\n\t\t\tid: 'myFantasticallyAmazingEventEmitPermissions',\n\t\t\tname: 'my fantastically amazing event',\n\t\t})\n\n\t\tassert.doesInclude(sig.listenPermissionContract, {\n\t\t\tid: 'myFantasticallyAmazingEventListenPermissions',\n\t\t\tname: 'my fantastically amazing event',\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAIA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,mBAAmB,GAAG,sBAA5B;AACA,IAAMC,UAAU,GAAG,sBAAnB;AACA,IAAMC,WAAW,GAAG,oBAApB;IAEqBC,2B,WAMnB,IAAAC,UAAA,G;;;;;;;;;;;;;sGALD;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAAA;gBAAA,OAEO,KAAKC,MAAL,CAAYC,iBAAZ,CAA8BC,qCAA9B,CAFP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;mHAKA;QAAA;;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAGQ,KAAKC,iDAAL,EAHR;;cAAA;gBAAA;gBAESC,MAFT,yBAESA,MAFT;gBAEiBC,YAFjB,yBAEiBA,YAFjB;gBAAA;gBAAA,OAKO,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BC,OAA/B,CAAuC;kBAC5CC,YAAY,EAAEb,mBAD8B;kBAE5Cc,SAAS,EAAEb,UAFiC;kBAG5Cc,SAAS,EAAEb;gBAHiC,CAAvC,CALP;;cAAA;gBAAA;gBAAA,OAWO,KAAKc,+BAAL,CAAqCf,UAArC,CAXP;;cAAA;gBAAA;gBAAA,OAaO,KAAKU,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAAqC,EAArC,CAbP;;cAAA;gBAAA;gBAAA,OAeoB,KAAKD,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAAqC;kBAAEK,KAAK,EAAE;gBAAT,CAArC,CAfpB;;cAAA;gBAeOC,IAfP;gBAAA;gBAAA,OAiBsB,KAAKC,YAAL,CAAkB;kBACtCC,OAAO,EAAEX,MAAM,CAACY,EADsB;kBAEtCC,MAAM,EAAEb,MAAM,CAACa;gBAFuB,CAAlB,CAjBtB;;cAAA;gBAiBOC,MAjBP;gBAAA;gBAAA,OAsB6B,KAAKC,KAAL,CAAW,OAAX,EAAoB;kBAC/CC,gBAAgB;oBAAA,sGAAE;sBAAA;wBAAA;0BAAA;4BAAA;8BAAA,kCAAYF,MAAZ;;4BAAA;4BAAA;8BAAA;0BAAA;wBAAA;sBAAA;oBAAA,CAAF;;oBAAA;sBAAA;oBAAA;;oBAAA;kBAAA;gBAD+B,CAApB,EAEzBG,mBAFyB,EAtB7B;;cAAA;gBAAA;gBAsBSC,SAtBT,yBAsBSA,SAtBT;gBA0BC,cAAAT,IAAI,CAACU,IAAL,0DAAWC,IAAX;gBAEMC,OA5BP,GA4BiBC,6BAAA,CAAYC,eAAZ,GAA8BC,UA5B/C;gBA6BOC,IA7BP,GA6BcC,+BAAA,CAAcC,IAAd,CAAmB;kBAC/BC,cAAc,EAAE3B,YAAY,CAAC4B,IADE;kBAE/BC,SAAS,EAAEtC,UAFoB;kBAG/B6B,OAAO,EAAPA;gBAH+B,CAAnB,CA7Bd;;gBAmCCU,YAAA,CAAOC,MAAP,CAAcd,SAAS,CAACe,MAAV,IAAoB,CAAlC;;gBAEMC,SArCP,GAqCmBC,2BAAA,CAAUC,QAAV,CAAmBnC,YAAY,CAAC4B,IAAhC,CArCnB;gBAsCOQ,GAtCP,GAsCaC,mCAAA,CAAkBC,kBAAlB,CAAqCrB,SAAS,CAAC,CAAD,CAA9C,EAAmDO,IAAnD,CAtCb;;gBAwCCM,YAAA,CAAOS,WAAP,CAAmBH,GAAG,CAACI,iBAAvB,EAA0C;kBACzC7B,EAAE,EAAE,wCADqC;kBAEzCS,OAAO,EAAPA,OAFyC;kBAGzCa,SAAS,EAATA;gBAHyC,CAA1C;;gBAMAH,YAAA,CAAOS,WAAP,CAAmBH,GAAG,CAACK,qBAAvB,EAA8C;kBAC7C9B,EAAE,EAAE,4CADyC;kBAE7CS,OAAO,EAAPA,OAF6C;kBAG7Ca,SAAS,EAATA;gBAH6C,CAA9C;;gBAKAH,YAAA,CAAOS,WAAP,CAAmBH,GAAG,CAACM,sBAAvB,EAA+C;kBAC9C/B,EAAE,EAAE,4CAD0C;kBAE9Ca,IAAI,EAAE;gBAFwC,CAA/C;;gBAKAM,YAAA,CAAOS,WAAP,CAAmBH,GAAG,CAACO,wBAAvB,EAAiD;kBAChDhC,EAAE,EAAE,8CAD4C;kBAEhDa,IAAI,EAAE;gBAF0C,CAAjD;;cAxDD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EANwDoB,8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegisteringGlobalEvents.test.js","names":["dotenv","config","stamp","Date","getTime","EVENT_NAME_READABLE","EVENT_NAME","EVENT_CAMEL","RegisteringGlobalEventsTest","people","loginAsDemoPerson","DEMO_NUMBER_GLOBAL_EVENTS","resetAccount","orgFixture","getOrganizationFixture","skillFixture","getSkillFixture","seedDemoOrg","name","org","registerCurrentSkill","skill","installSkillAtOrganization","id","Action","execute","isGlobal","nameReadable","nameKebab","nameCamel","results","assert","isFalsy","errors","optionsFile","testUtil","assertFileByNameInGeneratedFiles","files","Service","importDefault","importedOptions","isEqualDeep","version","versionUtil","generateVersion","dirValue","contractFile","importedContract","sig","eventSignatures","slug","isTrue","isTruthy","emitPayloadSchema","local","boot","connectToApi","skillId","apiKey","client","Store","apiClientFactory","fetchEventContracts","contractResults","contracts","meta","kill","constValue","eventName","check","resolveHashSprucePath","AbstractSkillTest"],"sources":["../../../src/__tests__/behavioral/RegisteringGlobalEvents.test.ts"],"sourcesContent":["import { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport dotenv from 'dotenv'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\nimport { DEMO_NUMBER_GLOBAL_EVENTS } from '../../tests/constants'\nimport testUtil from '../../tests/utilities/test.utility'\nimport { RegisteredSkill } from '../../types/cli.types'\ndotenv.config()\n\nconst stamp = new Date().getTime()\nconst EVENT_NAME_READABLE = 'did book appointment'\nconst EVENT_NAME = `test-register-skill-views${stamp}`\nconst EVENT_CAMEL = `testRegisterSkillViews${stamp}`\n\nexport default class RegisteringGlobalEventsTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'events'\n\tprotected static skill: RegisteredSkill\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_GLOBAL_EVENTS)\n\n\t\tawait this.resetAccount()\n\n\t\tconst orgFixture = this.getOrganizationFixture()\n\t\tconst skillFixture = this.getSkillFixture()\n\n\t\tconst org = await orgFixture.seedDemoOrg({ name: 'my org' })\n\n\t\tthis.skill = await skillFixture.registerCurrentSkill({\n\t\t\tname: 'heartwood test',\n\t\t})\n\n\t\tawait orgFixture.installSkillAtOrganization(this.skill.id, org.id)\n\t}\n\n\tprotected static async afterAll() {\n\t\tawait super.afterAll()\n\t\tawait this.resetAccount()\n\t}\n\n\tprivate static async resetAccount() {\n\t\t// await this.getOrganizationFixture().clearAllOrgs()\n\t\t// await this.getSkillFixture().clearAllSkills()\n\t}\n\n\t@test()\n\tprotected static async canCreateGlobalEvent() {\n\t\tconst results = await this.Action('event', 'create').execute({\n\t\t\tisGlobal: true,\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst optionsFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'event.options.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst importedOptions = await this.Service('import').importDefault(\n\t\t\toptionsFile\n\t\t)\n\t\tassert.isEqualDeep(importedOptions, {\n\t\t\tisGlobal: true,\n\t\t})\n\n\t\tconst version = versionUtil.generateVersion().dirValue\n\t\tconst contractFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`${EVENT_CAMEL}.${version}.contract.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tconst importedContract = await this.Service('import').importDefault(\n\t\t\tcontractFile\n\t\t)\n\n\t\tconst sig =\n\t\t\timportedContract.eventSignatures[\n\t\t\t\t`${this.skill.slug}.${EVENT_NAME}::${version}`\n\t\t\t]\n\n\t\tassert.isTrue(sig.isGlobal)\n\t\tassert.isTruthy(sig.emitPayloadSchema)\n\t}\n\n\t@test()\n\tprotected static async registersGloballyOnBoot() {\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tconst client = await this.connectToApi({\n\t\t\tskillId: this.skill.id,\n\t\t\tapiKey: this.skill.apiKey,\n\t\t})\n\n\t\tconst contractResults = await this.Store('event', {\n\t\t\tapiClientFactory: async () => client,\n\t\t}).fetchEventContracts()\n\n\t\tconst contracts = contractResults.contracts\n\n\t\tboot.meta?.kill()\n\n\t\tconst version = versionUtil.generateVersion().constValue\n\t\tconst eventName = `${this.skill.slug}.${EVENT_NAME}::${version}`\n\n\t\tassert.isTruthy(contracts[1].eventSignatures[eventName])\n\t}\n\n\t@test()\n\tprotected static async canSyncGlobalEvents() {\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\t\tassert.isFalsy(results.errors)\n\n\t\tawait this.Service('typeChecker').check(\n\t\t\tthis.resolveHashSprucePath('events/events.contract.ts')\n\t\t)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEAA,
|
|
1
|
+
{"version":3,"file":"RegisteringGlobalEvents.test.js","names":["dotenv","config","stamp","Date","getTime","EVENT_NAME_READABLE","EVENT_NAME","EVENT_CAMEL","RegisteringGlobalEventsTest","test","people","loginAsDemoPerson","DEMO_NUMBER_GLOBAL_EVENTS","resetAccount","orgFixture","getOrganizationFixture","skillFixture","getSkillFixture","seedDemoOrg","name","org","registerCurrentSkill","skill","installSkillAtOrganization","id","Action","execute","isGlobal","nameReadable","nameKebab","nameCamel","results","assert","isFalsy","errors","optionsFile","testUtil","assertFileByNameInGeneratedFiles","files","Service","importDefault","importedOptions","isEqualDeep","version","versionUtil","generateVersion","dirValue","contractFile","importedContract","sig","eventSignatures","slug","isTrue","isTruthy","emitPayloadSchema","local","boot","connectToApi","skillId","apiKey","client","Store","apiClientFactory","fetchEventContracts","contractResults","contracts","meta","kill","constValue","eventName","check","resolveHashSprucePath","AbstractSkillTest"],"sources":["../../../src/__tests__/behavioral/RegisteringGlobalEvents.test.ts"],"sourcesContent":["import { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport dotenv from 'dotenv'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\nimport { DEMO_NUMBER_GLOBAL_EVENTS } from '../../tests/constants'\nimport testUtil from '../../tests/utilities/test.utility'\nimport { RegisteredSkill } from '../../types/cli.types'\ndotenv.config()\n\nconst stamp = new Date().getTime()\nconst EVENT_NAME_READABLE = 'did book appointment'\nconst EVENT_NAME = `test-register-skill-views${stamp}`\nconst EVENT_CAMEL = `testRegisterSkillViews${stamp}`\n\nexport default class RegisteringGlobalEventsTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'events'\n\tprotected static skill: RegisteredSkill\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_GLOBAL_EVENTS)\n\n\t\tawait this.resetAccount()\n\n\t\tconst orgFixture = this.getOrganizationFixture()\n\t\tconst skillFixture = this.getSkillFixture()\n\n\t\tconst org = await orgFixture.seedDemoOrg({ name: 'my org' })\n\n\t\tthis.skill = await skillFixture.registerCurrentSkill({\n\t\t\tname: 'heartwood test',\n\t\t})\n\n\t\tawait orgFixture.installSkillAtOrganization(this.skill.id, org.id)\n\t}\n\n\tprotected static async afterAll() {\n\t\tawait super.afterAll()\n\t\tawait this.resetAccount()\n\t}\n\n\tprivate static async resetAccount() {\n\t\t// await this.getOrganizationFixture().clearAllOrgs()\n\t\t// await this.getSkillFixture().clearAllSkills()\n\t}\n\n\t@test()\n\tprotected static async canCreateGlobalEvent() {\n\t\tconst results = await this.Action('event', 'create').execute({\n\t\t\tisGlobal: true,\n\t\t\tnameReadable: EVENT_NAME_READABLE,\n\t\t\tnameKebab: EVENT_NAME,\n\t\t\tnameCamel: EVENT_CAMEL,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst optionsFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'event.options.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst importedOptions = await this.Service('import').importDefault(\n\t\t\toptionsFile\n\t\t)\n\t\tassert.isEqualDeep(importedOptions, {\n\t\t\tisGlobal: true,\n\t\t})\n\n\t\tconst version = versionUtil.generateVersion().dirValue\n\t\tconst contractFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`${EVENT_CAMEL}.${version}.contract.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tconst importedContract = await this.Service('import').importDefault(\n\t\t\tcontractFile\n\t\t)\n\n\t\tconst sig =\n\t\t\timportedContract.eventSignatures[\n\t\t\t\t`${this.skill.slug}.${EVENT_NAME}::${version}`\n\t\t\t]\n\n\t\tassert.isTrue(sig.isGlobal)\n\t\tassert.isTruthy(sig.emitPayloadSchema)\n\t}\n\n\t@test()\n\tprotected static async registersGloballyOnBoot() {\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tconst client = await this.connectToApi({\n\t\t\tskillId: this.skill.id,\n\t\t\tapiKey: this.skill.apiKey,\n\t\t})\n\n\t\tconst contractResults = await this.Store('event', {\n\t\t\tapiClientFactory: async () => client,\n\t\t}).fetchEventContracts()\n\n\t\tconst contracts = contractResults.contracts\n\n\t\tboot.meta?.kill()\n\n\t\tconst version = versionUtil.generateVersion().constValue\n\t\tconst eventName = `${this.skill.slug}.${EVENT_NAME}::${version}`\n\n\t\tassert.isTruthy(contracts[1].eventSignatures[eventName])\n\t}\n\n\t@test()\n\tprotected static async canSyncGlobalEvents() {\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\t\tassert.isFalsy(results.errors)\n\n\t\tawait this.Service('typeChecker').check(\n\t\t\tthis.resolveHashSprucePath('events/events.contract.ts')\n\t\t)\n\t}\n}\n"],"mappings":"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"}
|