@sprucelabs/spruce-cli 15.2.24 → 15.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/build/.spruce/errors/errors.types.js.map +1 -1
- package/build/.spruce/errors/options.types.js.map +1 -1
- 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/events.contract.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/fields/fieldClassMap.js.map +1 -1
- package/build/.spruce/schemas/fields/fields.types.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/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
- package/build/.spruce/schemas/schemas.types.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/profileImage.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.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/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
- package/build/.spruce/skill.types.js.map +1 -1
- package/build/GlobalEmitter.js.map +1 -1
- package/build/InFlightEntertainment.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.map +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -0
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +20 -14
- 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.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.d.ts +1 -0
- package/build/__tests__/implementation/DataStoreStore.test.js +30 -3
- 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.d.ts +1 -0
- package/build/__tests__/implementation/EventStore.test.js +61 -33
- 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.d.ts +4 -0
- package/build/__tests__/implementation/ListenerStore.test.js +56 -0
- package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
- 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 +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/onTestFileResult.js.map +1 -1
- package/build/__tests__/support/scripts/first.script.js.map +1 -1
- package/build/__tests__/support/scripts/second.script.js.map +1 -1
- package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
- package/build/addons/filePrompt.addon.js.map +1 -1
- package/build/cli.js.map +1 -1
- package/build/components/AbstractComponent.js.map +1 -1
- package/build/components/FormComponent.js.map +1 -1
- package/build/components/QuizComponent.js.map +1 -1
- package/build/constants.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/FeatureInstallerFactory.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/cache/constants.js.map +1 -1
- package/build/features/conversation/ConversationFeature.js.map +1 -1
- package/build/features/conversation/actions/CreateAction.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/services/EventSettingsService.js.map +1 -1
- package/build/features/event/services/RemoteService.js.map +1 -1
- package/build/features/event/stores/EventStore.d.ts +1 -0
- package/build/features/event/stores/EventStore.js +6 -1
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/event/stores/ListenerStore.d.ts +1 -0
- package/build/features/event/stores/ListenerStore.js +6 -1
- package/build/features/event/stores/ListenerStore.js.map +1 -1
- package/build/features/event/writers/EventWriter.js +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/CreateAction.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/ScriptPlayer.js.map +1 -1
- package/build/features/onboard/actions/OnboardAction.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/todo/todo.create.skill.script.js.map +1 -1
- package/build/features/onboard/scripts/todo/todo.test.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/actions/CreateAction.js.map +1 -1
- package/build/features/organization/actions/InstallAction.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.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 +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 +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.d.ts +1 -0
- package/build/features/store/stores/StoreStore.js +6 -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 +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/test.types.js.map +1 -1
- package/build/features/test/writers/TestWriter.js.map +1 -1
- package/build/features/universalDevDependencies.js.map +1 -1
- package/build/features/universalFileDescriptions.js.map +1 -1
- package/build/features/universalScripts.js.map +1 -1
- package/build/features/validateAndNormalize.utility.d.ts +2 -2
- package/build/features/validateAndNormalize.utility.js +2 -2
- 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 +1 -3
- package/build/features/view/writers/ViewWriter.js.map +1 -1
- package/build/features/vscode/VsCodeFeature.js.map +1 -1
- package/build/features/vscode/actions/SetupAction.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.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/BuildService.js.map +1 -1
- package/build/services/CommandService.js.map +1 -1
- package/build/services/DependencyService.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/services/TypeCheckerService.js.map +1 -1
- package/build/stores/AbstractLocalStore.js.map +1 -1
- package/build/stores/AbstractStore.js.map +1 -1
- package/build/stores/StoreFactory.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/AbstractErrorTest.js.map +1 -1
- package/build/tests/AbstractEventTest.js.map +1 -1
- package/build/tests/AbstractSchemaTest.js.map +1 -1
- package/build/tests/AbstractSkillTest.js.map +1 -1
- package/build/tests/AbstractTestTest.js.map +1 -1
- package/build/tests/CommandFaker.d.ts +2 -1
- package/build/tests/CommandFaker.js +13 -7
- package/build/tests/CommandFaker.js.map +1 -1
- package/build/tests/JestJsonParser.js.map +1 -1
- package/build/tests/MockProgramFactory.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/constants.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/OrganizationFixture.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/fixtures/ViewFixture.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/types/apiClient.types.js.map +1 -1
- package/build/types/cli.types.js.map +1 -1
- package/build/types/graphicsInterface.types.js.map +1 -1
- package/build/updaters/ScriptUpdater.js.map +1 -1
- package/build/utilities/action.utility.js.map +1 -1
- package/build/utilities/apiClient.utility.js.map +1 -1
- package/build/utilities/argParser.utility.js.map +1 -1
- package/build/utilities/commander.utility.js.map +1 -1
- package/build/utilities/duration.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/isCi.js.map +1 -1
- package/build/utilities/tsConfig.utility.js.map +1 -1
- package/build/utilities/ui.utility.js.map +1 -1
- package/build/widgets/Theme.js.map +1 -1
- package/build/widgets/WidgetFactory.js.map +1 -1
- package/build/widgets/keySelectChoices.js.map +1 -1
- package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutCellWidget.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/TkProgressBarWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
- package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
- package/build/widgets/types/button.types.js.map +1 -1
- package/build/widgets/types/factory.types.js.map +1 -1
- package/build/widgets/types/input.types.js.map +1 -1
- package/build/widgets/types/layout.types.js.map +1 -1
- package/build/widgets/types/menuBar.types.js.map +1 -1
- package/build/widgets/types/popup.types.js.map +1 -1
- package/build/widgets/types/progressBar.types.js.map +1 -1
- package/build/widgets/types/table.types.js.map +1 -1
- package/build/widgets/types/text.types.js.map +1 -1
- package/build/widgets/types/widgets.types.js.map +1 -1
- package/build/widgets/types/window.types.js.map +1 -1
- package/build/widgets/widget.utilities.js.map +1 -1
- package/build/writers/AbstractWriter.js.map +1 -1
- package/build/writers/WriterFactory.js.map +1 -1
- package/package.json +36 -36
- package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +21 -7
- package/src/__tests__/implementation/DataStoreStore.test.ts +8 -0
- package/src/__tests__/implementation/EventStore.test.ts +14 -0
- package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
- package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
- package/src/features/AbstractAction.ts +2 -2
- package/src/features/event/builders/EventContractBuilder.ts +2 -2
- package/src/features/event/stores/EventStore.ts +11 -8
- package/src/features/event/stores/ListenerStore.ts +5 -3
- package/src/features/event/writers/EventWriter.ts +1 -1
- package/src/features/schema/writers/SchemaWriter.ts +1 -1
- package/src/features/store/StoreFeature.ts +1 -1
- package/src/features/store/stores/StoreStore.ts +5 -1
- package/src/features/test/actions/CreateAction.ts +1 -1
- package/src/features/validateAndNormalize.utility.ts +2 -2
- package/src/features/view/writers/ViewWriter.ts +3 -2
- package/src/tests/CommandFaker.ts +9 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"CreatingASkill.test.js","names":["CreatingASkillTest","CommandService","fakeCommand","RegExp","code","promise","Action","shouldAutoHandleDependencies","execute","destination","waitForInput","ui","sendInput","results","testUtil","assertFileByPathInGeneratedFiles","files","hints","assert","doesInclude","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/skill/CreatingASkill.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingASkillTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tCommandService.fakeCommand(new RegExp(/npm.*?install .*?/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async creatingAtADestinationAsksForSkillDetailsOnce() {\n\t\tconst promise = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t}).execute({ destination: 'taco' })\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('adventure')\n\t\tawait this.ui.sendInput('i would not')\n\n\t\tconst results = await promise\n\n\t\ttestUtil.assertFileByPathInGeneratedFiles(\n\t\t\t/taco\\/package\\.json/gis,\n\t\t\tresults.files\n\t\t)\n\n\t\tconst { hints } = results\n\n\t\tassert.doesInclude(hints, 'cd taco')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,kB,WAQnB,iB;;;;;;;;;;;;;sGAPD;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAECC,2BAAeC,WAAf,CAA2B,IAAIC,MAAJ,CAAW,+BAAX,CAA3B,EAA+D;kBAC9DC,IAAI,EAAE;gBADwD,CAA/D;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;yIAOA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,OAFP,GAEiB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+B;kBAC9CC,4BAA4B,EAAE;gBADgB,CAA/B,EAEbC,OAFa,CAEL;kBAAEC,WAAW,EAAE;gBAAf,CAFK,CAFjB;gBAAA;gBAAA,OAMO,KAAKC,YAAL,EANP;;cAAA;gBAAA;gBAAA,OAQO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,WAAlB,CARP;;cAAA;gBAAA;gBAAA,OASO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,aAAlB,CATP;;cAAA;gBAAA;gBAAA,OAWuBP,OAXvB;;cAAA;gBAWOQ,OAXP;;gBAaCC,kBAASC,gCAAT,CACC,uBADD,EAECF,OAAO,CAACG,KAFT;;gBAKQC,KAlBT,GAkBmBJ,OAlBnB,CAkBSI,KAlBT;;gBAoBCC,aAAOC,WAAP,CAAmBF,KAAnB,EAA0B,SAA1B;;cApBD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAR+CG,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"RegisteringASkill.test.js","names":["RegisteringASkillTest","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","nameReadable","nameKebab","results","isTruthy","errors","errorAssert","assertError","options","responseErrors","MercuryClientFactory","setIsTestMode","people","loginAsDemoPerson","slug","Date","getTime","connectToApi","client","on","fail","doesInclude","message","isFalsy","skill","meta","emit","target","skillId","id","getSkillResults","eventResponseUtil","getFirstResponseOrThrow","getSkill","isEqual","auth","Service","currentSkill","getCurrentSkill","name","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/skill/RegisteringASkill.test.ts"],"sourcesContent":["import { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class RegisteringASkillTest extends AbstractCliTest {\n\t@test()\n\tprotected static async hasRegisterAction() {\n\t\tassert.isFunction(this.Action('skill', 'register').execute)\n\t}\n\n\t@test()\n\tprotected static async cantRegisterWithoutBeingLoggedIn() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst results = await this.Action('skill', 'register').execute({\n\t\t\tnameReadable: 'My great skill',\n\t\t\tnameKebab: 'my-great-skill',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'MERCURY_RESPONSE_ERROR')\n\t\terrorAssert.assertError(\n\t\t\tresults.errors[0].options.responseErrors[0],\n\t\t\t'UNAUTHORIZED_ACCESS'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenRegistrationFails() {\n\t\tMercuryClientFactory.setIsTestMode(true)\n\n\t\tawait this.people.loginAsDemoPerson()\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\t\tconst slug = `my-new-skill-${new Date().getTime()}`\n\n\t\tconst client = await this.connectToApi()\n\t\tawait client.on('register-skill::v2020_12_25', (() => {\n\t\t\tassert.fail('what the!!??')\n\t\t}) as any)\n\n\t\tconst results = await this.Action('skill', 'register').execute({\n\t\t\tnameReadable: 'My great skill',\n\t\t\tnameKebab: slug,\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, 'what the!!??')\n\t}\n\n\t@test()\n\tprotected static async canRegisterSkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\t\tawait this.people.loginAsDemoPerson()\n\n\t\tconst slug = `my-new-skill-${new Date().getTime()}`\n\t\tconst results = await this.Action('skill', 'register').execute({\n\t\t\tnameReadable: 'my new skill',\n\t\t\tnameKebab: slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\tconst skill = results.meta?.skill\n\t\tassert.isTruthy(skill)\n\n\t\tconst client = await this.connectToApi()\n\t\tconst getSkillResults = await client.emit('get-skill::v2020_12_25', {\n\t\t\ttarget: { skillId: skill.id },\n\t\t})\n\n\t\tconst { skill: getSkill } =\n\t\t\teventResponseUtil.getFirstResponseOrThrow(getSkillResults)\n\n\t\tassert.isEqual(skill.id, getSkill.id)\n\n\t\tconst auth = this.Service('auth')\n\t\tconst currentSkill = auth.getCurrentSkill()\n\n\t\tassert.isTruthy(currentSkill)\n\t\tassert.isEqual(currentSkill.name, 'my new skill')\n\t\tassert.isEqual(currentSkill.slug, slug)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/__tests__/behavioral/skill/SettingUpASkill.test.ts"],"names":["SettingUpASkill","Cli","cli","assert","doesThrowAsync","installFeatures","features","code","options","name2","description","checkHealth","health","isEqual","skill","status","doesInclude","installSkill","diskUtil","moveFile","resolvePath","fixture","FeatureFixture","installCachedFeatures","hashSpruceDir","resolveHashSprucePath","isTrue","doesDirExist","errors","length","fail","message","isEqualDeep","name","results","isTruthy","files","isAbove","generateFiles","filter","file","action","packagesInstalled","hiddenFiles","assertDevDependenciesExist","assertSkillNameIsSaved","env","Service","get","destination","isFalse","doesFileExist","HASH_SPRUCE_DIR","first","path","pkg","devDependencies","AbstractCliTest"],"mappings":"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","sourcesContent":["import { diskUtil, HASH_SPRUCE_DIR } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class SettingUpASkill extends AbstractCliTest {\n\t@test()\n\tprotected static async failsWithBadParams() {\n\t\tconst cli = await this.Cli()\n\t\tawait assert.doesThrowAsync(async () => {\n\t\t\tawait cli.installFeatures({\n\t\t\t\tfeatures: [\n\t\t\t\t\t{\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tcode: 'skill',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tname2: 'test',\n\t\t\t\t\t\t\tdescription: 'This is such a good skill!',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t}, 'name')\n\t}\n\n\t@test()\n\tprotected static async failsHealthCheckWithNothingInstalled() {\n\t\tconst cli = await this.Cli()\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isEqual(health.skill.status, 'failed')\n\t\tassert.doesInclude(health, {\n\t\t\t'skill.errors[].options.code': 'SKILL_NOT_INSTALLED',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async getsAFailedHealthCheckWhenIndexFileIsMoved() {\n\t\tconst cli = await this.installSkill()\n\n\t\tdiskUtil.moveFile(\n\t\t\tthis.resolvePath('src', 'index.ts'),\n\t\t\tthis.resolvePath('src', 'index2.ts')\n\t\t)\n\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isEqual(health.skill.status, 'failed')\n\t\tassert.doesInclude(health, {\n\t\t\t'skill.errors[].options.code': 'BOOT_ERROR',\n\t\t})\n\t}\n\n\tprivate static async installSkill() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.installCachedFeatures('skills')\n\t\treturn cli\n\t}\n\n\t@test()\n\tprotected static async getsAGoodHealthCheckAndNothingElse() {\n\t\tconst cli = await this.installSkill()\n\n\t\tconst hashSpruceDir = this.resolveHashSprucePath()\n\t\tassert.isTrue(diskUtil.doesDirExist(hashSpruceDir))\n\n\t\tconst health = await cli.checkHealth()\n\n\t\tif (health.skill?.errors && health.skill.errors.length > 0) {\n\t\t\tassert.fail(health.skill.errors?.[0].message)\n\t\t}\n\n\t\tassert.isEqualDeep(health, { skill: { status: 'passed' } })\n\t}\n\n\t@test()\n\tprotected static async reportsProperInstallResults() {\n\t\tconst cli = await this.Cli()\n\t\tconst results = await cli.installFeatures({\n\t\t\tfeatures: [\n\t\t\t\t{\n\t\t\t\t\tcode: 'skill',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'Transfer file check skill',\n\t\t\t\t\t\tdescription: 'For tracking files copied count',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isAbove(results.files.length, 0)\n\n\t\tconst generateFiles = results.files.filter(\n\t\t\t(file) => file.action === 'generated'\n\t\t)\n\n\t\tassert.isEqual(generateFiles.length, results.files.length)\n\n\t\tassert.isTruthy(results.packagesInstalled)\n\t\tassert.isAbove(results.packagesInstalled.length, 0)\n\n\t\tconst hiddenFiles = results.files.filter((file) => file.name[0] === '.')\n\t\tassert.isAbove(hiddenFiles.length, 0)\n\n\t\tthis.assertDevDependenciesExist()\n\t\tthis.assertSkillNameIsSaved()\n\t}\n\n\tprivate static assertSkillNameIsSaved() {\n\t\tconst env = this.Service('env')\n\t\tassert.isTruthy(env.get('SKILL_NAME'))\n\t\tassert.isEqual(env.get('SKILL_NAME'), 'Transfer file check skill')\n\t}\n\n\t@test()\n\tprotected static async canAcceptOptionalDestination() {\n\t\tconst cli = await this.Cli()\n\t\tconst results = await cli.installFeatures({\n\t\t\tfeatures: [\n\t\t\t\t{\n\t\t\t\t\tcode: 'skill',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'Transfer file check skill',\n\t\t\t\t\t\tdescription: 'For tracking files copied count',\n\t\t\t\t\t\tdestination: 'taco',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\n\t\tassert.isTrue(diskUtil.doesDirExist(this.resolvePath('taco')))\n\t\tassert.isFalse(diskUtil.doesDirExist(this.resolvePath('.env')))\n\t\tassert.isTrue(diskUtil.doesDirExist(this.resolvePath('taco', '.env')))\n\t\tassert.isFalse(diskUtil.doesFileExist(this.resolvePath('package.json')))\n\t\tassert.isFalse(diskUtil.doesFileExist(this.resolvePath('src')))\n\t\tassert.isFalse(diskUtil.doesFileExist(this.resolvePath('node_modules')))\n\t\tassert.isFalse(diskUtil.doesFileExist(this.resolvePath(HASH_SPRUCE_DIR)))\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(this.resolvePath('taco', 'package.json'))\n\t\t)\n\n\t\tconst first = results.files?.[0]\n\t\tassert.isTruthy(first)\n\n\t\tassert.doesInclude(first.path, 'taco')\n\t}\n\n\tprotected static assertDevDependenciesExist() {\n\t\tconst pkg = this.Service('pkg')\n\t\tconst devDependencies = pkg.get('devDependencies')\n\t\tassert.isTruthy(devDependencies)\n\t}\n}\n"],"file":"SettingUpASkill.test.js"}
|
|
1
|
+
{"version":3,"file":"SettingUpASkill.test.js","names":["SettingUpASkill","Cli","cli","assert","doesThrowAsync","installFeatures","features","code","options","name2","description","checkHealth","health","isEqual","skill","status","doesInclude","installSkill","diskUtil","moveFile","resolvePath","fixture","FeatureFixture","installCachedFeatures","hashSpruceDir","resolveHashSprucePath","isTrue","doesDirExist","errors","length","fail","message","isEqualDeep","name","results","isTruthy","files","isAbove","generateFiles","filter","file","action","packagesInstalled","hiddenFiles","assertDevDependenciesExist","assertSkillNameIsSaved","env","Service","get","destination","isFalse","doesFileExist","HASH_SPRUCE_DIR","first","path","pkg","devDependencies","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/skill/SettingUpASkill.test.ts"],"sourcesContent":["import { diskUtil, HASH_SPRUCE_DIR } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class SettingUpASkill extends AbstractCliTest {\n\t@test()\n\tprotected static async failsWithBadParams() {\n\t\tconst cli = await this.Cli()\n\t\tawait assert.doesThrowAsync(async () => {\n\t\t\tawait cli.installFeatures({\n\t\t\t\tfeatures: [\n\t\t\t\t\t{\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tcode: 'skill',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tname2: 'test',\n\t\t\t\t\t\t\tdescription: 'This is such a good skill!',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t}, 'name')\n\t}\n\n\t@test()\n\tprotected static async failsHealthCheckWithNothingInstalled() {\n\t\tconst cli = await this.Cli()\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isEqual(health.skill.status, 'failed')\n\t\tassert.doesInclude(health, {\n\t\t\t'skill.errors[].options.code': 'SKILL_NOT_INSTALLED',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async getsAFailedHealthCheckWhenIndexFileIsMoved() {\n\t\tconst cli = await this.installSkill()\n\n\t\tdiskUtil.moveFile(\n\t\t\tthis.resolvePath('src', 'index.ts'),\n\t\t\tthis.resolvePath('src', 'index2.ts')\n\t\t)\n\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isEqual(health.skill.status, 'failed')\n\t\tassert.doesInclude(health, {\n\t\t\t'skill.errors[].options.code': 'BOOT_ERROR',\n\t\t})\n\t}\n\n\tprivate static async installSkill() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst cli = await fixture.installCachedFeatures('skills')\n\t\treturn cli\n\t}\n\n\t@test()\n\tprotected static async getsAGoodHealthCheckAndNothingElse() {\n\t\tconst cli = await this.installSkill()\n\n\t\tconst hashSpruceDir = this.resolveHashSprucePath()\n\t\tassert.isTrue(diskUtil.doesDirExist(hashSpruceDir))\n\n\t\tconst health = await cli.checkHealth()\n\n\t\tif (health.skill?.errors && health.skill.errors.length > 0) {\n\t\t\tassert.fail(health.skill.errors?.[0].message)\n\t\t}\n\n\t\tassert.isEqualDeep(health, { skill: { status: 'passed' } })\n\t}\n\n\t@test()\n\tprotected static async reportsProperInstallResults() {\n\t\tconst cli = await this.Cli()\n\t\tconst results = await cli.installFeatures({\n\t\t\tfeatures: [\n\t\t\t\t{\n\t\t\t\t\tcode: 'skill',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'Transfer file check skill',\n\t\t\t\t\t\tdescription: 'For tracking files copied count',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\n\t\tassert.isTruthy(results.files)\n\t\tassert.isAbove(results.files.length, 0)\n\n\t\tconst generateFiles = results.files.filter(\n\t\t\t(file) => file.action === 'generated'\n\t\t)\n\n\t\tassert.isEqual(generateFiles.length, results.files.length)\n\n\t\tassert.isTruthy(results.packagesInstalled)\n\t\tassert.isAbove(results.packagesInstalled.length, 0)\n\n\t\tconst hiddenFiles = results.files.filter((file) => file.name[0] === '.')\n\t\tassert.isAbove(hiddenFiles.length, 0)\n\n\t\tthis.assertDevDependenciesExist()\n\t\tthis.assertSkillNameIsSaved()\n\t}\n\n\tprivate static assertSkillNameIsSaved() {\n\t\tconst env = this.Service('env')\n\t\tassert.isTruthy(env.get('SKILL_NAME'))\n\t\tassert.isEqual(env.get('SKILL_NAME'), 'Transfer file check skill')\n\t}\n\n\t@test()\n\tprotected static async canAcceptOptionalDestination() {\n\t\tconst cli = await this.Cli()\n\t\tconst results = await cli.installFeatures({\n\t\t\tfeatures: [\n\t\t\t\t{\n\t\t\t\t\tcode: 'skill',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'Transfer file check skill',\n\t\t\t\t\t\tdescription: 'For tracking files copied count',\n\t\t\t\t\t\tdestination: 'taco',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\n\t\tassert.isTrue(diskUtil.doesDirExist(this.resolvePath('taco')))\n\t\tassert.isFalse(diskUtil.doesDirExist(this.resolvePath('.env')))\n\t\tassert.isTrue(diskUtil.doesDirExist(this.resolvePath('taco', '.env')))\n\t\tassert.isFalse(diskUtil.doesFileExist(this.resolvePath('package.json')))\n\t\tassert.isFalse(diskUtil.doesFileExist(this.resolvePath('src')))\n\t\tassert.isFalse(diskUtil.doesFileExist(this.resolvePath('node_modules')))\n\t\tassert.isFalse(diskUtil.doesFileExist(this.resolvePath(HASH_SPRUCE_DIR)))\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(this.resolvePath('taco', 'package.json'))\n\t\t)\n\n\t\tconst first = results.files?.[0]\n\t\tassert.isTruthy(first)\n\n\t\tassert.doesInclude(first.path, 'taco')\n\t}\n\n\tprotected static assertDevDependenciesExist() {\n\t\tconst pkg = this.Service('pkg')\n\t\tconst devDependencies = pkg.get('devDependencies')\n\t\tassert.isTruthy(devDependencies)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/__tests__/behavioral/stores/CreatingADataStore.test.ts"],"names":["CreatingDataStoresTest","assert","isFunction","Action","execute","cli","checkHealth","shouldRunOnSourceFiles","health","isFalsy","skill","errors","isTruthy","store","isArray","stores","isLength","nameReadable","nameReadablePlural","namePascal","results","path","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","file","resolveHashSprucePath","isTrue","diskUtil","doesFileExist","isEqual","name","errorAssert","assertError","storeContents","readFile","replace","writeFile","testFile","resolveTestPath","testContents","dest","resolvePath","isFalse","getAbstractTestPath","CommandService","fakeCommand","code","storesFile","deleteFile","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport '@sprucelabs/spruce-store-plugin'\nimport CommandService from '../../../services/CommandService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingDataStoresTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'stores'\n\n\t@test()\n\tprotected static async hasCreateStoreAction() {\n\t\tassert.isFunction(this.Action('store', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async getsNoStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ shouldRunOnSourceFiles: true })\n\n\t\tassert.isFalsy(health.skill.errors)\n\t\t//@ts-ignore\n\t\tassert.isTruthy(health.store)\n\t\t//@ts-ignore\n\t\tassert.isFalsy(health.store.errors)\n\t\t//@ts-ignore\n\t\tassert.isArray(health.store.stores)\n\t\t//@ts-ignore\n\t\tassert.isLength(health.store.stores, 0)\n\t}\n\n\t@test()\n\tprotected static async generatesValidStoreFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Person',\n\t\t\tnameReadablePlural: 'People',\n\t\t\tnamePascal: 'Person',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'People.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(path)\n\t}\n\n\t@test()\n\tprotected static async generatesAMapFile() {\n\t\tconst file = this.resolveHashSprucePath('stores', 'stores.ts')\n\t\tassert.isTrue(diskUtil.doesFileExist(file))\n\t\tawait this.Service('typeChecker').check(file)\n\t}\n\n\t@test()\n\tprotected static async getsOneStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ shouldRunOnSourceFiles: true })\n\t\t//@ts-ignore\n\t\tassert.isTruthy(health.store)\n\t\t//@ts-ignore\n\t\tassert.isFalsy(health.store.errors)\n\t\t//@ts-ignore\n\t\tassert.isLength(health.store.stores, 1)\n\t\t//@ts-ignore\n\t\tassert.isEqual(health.store.stores[0].name, 'People')\n\t}\n\n\t@test()\n\tprotected static async canGenerateASecondStoreFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Bids.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(path)\n\t}\n\n\t@test()\n\tprotected static async getsSecondStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ shouldRunOnSourceFiles: true })\n\n\t\t//@ts-ignore\n\t\tassert.isTruthy(health.store)\n\t\t//@ts-ignore\n\t\tassert.isFalsy(health.store.errors)\n\t\t//@ts-ignore\n\t\tassert.isLength(health.store.stores, 2)\n\t\t//@ts-ignore\n\t\tassert.isEqual(health.store.stores[0].name, 'Bids')\n\t\t//@ts-ignore\n\t\tassert.isEqual(health.store.stores[1].name, 'People')\n\t}\n\n\t@test()\n\tprotected static async errorsWhenGeneratingAStoreWithTheSameName() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'STORE_EXISTS')\n\t}\n\n\t@test()\n\tprotected static async storeFactoryAndStoresAreTyped() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Product',\n\t\t\tnameReadablePlural: 'Products',\n\t\t\tnamePascal: 'Product',\n\t\t})\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Products.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst storeContents = diskUtil\n\t\t\t.readFile(path)\n\t\t\t.replace(\n\t\t\t\t'type ProductsStoreOptions = UniversalStoreOptions',\n\t\t\t\t'type ProductsStoreOptions = UniversalStoreOptions & {hello: string}'\n\t\t\t)\n\n\t\tdiskUtil.writeFile(path, storeContents)\n\n\t\tconst testFile = this.resolveTestPath('store-test.ts.hbs')\n\t\tconst testContents = diskUtil.readFile(testFile)\n\n\t\tconst dest = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(dest, testContents)\n\n\t\tawait this.Service('typeChecker').check(dest)\n\t}\n\n\t@test()\n\tprotected static async doesNotCreateAbstractTestFileBecauseTestIsNotInstalled() {\n\t\tassert.isFalse(\n\t\t\tdiskUtil.doesFileExist(CreatingDataStoresTest.getAbstractTestPath())\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeRestoresDataStoreTypes() {\n\t\tCommandService.fakeCommand('yarn rebuild', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand(/yarn add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tconst storesFile = this.resolveHashSprucePath('stores/stores.types.ts')\n\t\tdiskUtil.deleteFile(storesFile)\n\t\tawait this.Action('node', 'upgrade').execute({})\n\t\tassert.isTrue(diskUtil.doesFileExist(storesFile))\n\t}\n\n\tprivate static getAbstractTestPath(): string {\n\t\treturn this.resolvePath('src', 'tests', 'AbstractDataStoreTest.ts')\n\t}\n}\n"],"file":"CreatingADataStore.test.js"}
|
|
1
|
+
{"version":3,"file":"CreatingADataStore.test.js","names":["CreatingDataStoresTest","assert","isFunction","Action","execute","cli","checkHealth","shouldRunOnSourceFiles","health","isFalsy","skill","errors","isTruthy","store","isArray","stores","isLength","nameReadable","nameReadablePlural","namePascal","results","path","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","file","resolveHashSprucePath","isTrue","diskUtil","doesFileExist","isEqual","name","errorAssert","assertError","storeContents","readFile","replace","writeFile","testFile","resolveTestPath","testContents","dest","resolvePath","isFalse","getAbstractTestPath","CommandService","fakeCommand","code","storesFile","deleteFile","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/stores/CreatingADataStore.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport '@sprucelabs/spruce-store-plugin'\nimport CommandService from '../../../services/CommandService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingDataStoresTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'stores'\n\n\t@test()\n\tprotected static async hasCreateStoreAction() {\n\t\tassert.isFunction(this.Action('store', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async getsNoStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ shouldRunOnSourceFiles: true })\n\n\t\tassert.isFalsy(health.skill.errors)\n\t\t//@ts-ignore\n\t\tassert.isTruthy(health.store)\n\t\t//@ts-ignore\n\t\tassert.isFalsy(health.store.errors)\n\t\t//@ts-ignore\n\t\tassert.isArray(health.store.stores)\n\t\t//@ts-ignore\n\t\tassert.isLength(health.store.stores, 0)\n\t}\n\n\t@test()\n\tprotected static async generatesValidStoreFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Person',\n\t\t\tnameReadablePlural: 'People',\n\t\t\tnamePascal: 'Person',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'People.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(path)\n\t}\n\n\t@test()\n\tprotected static async generatesAMapFile() {\n\t\tconst file = this.resolveHashSprucePath('stores', 'stores.ts')\n\t\tassert.isTrue(diskUtil.doesFileExist(file))\n\t\tawait this.Service('typeChecker').check(file)\n\t}\n\n\t@test()\n\tprotected static async getsOneStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ shouldRunOnSourceFiles: true })\n\t\t//@ts-ignore\n\t\tassert.isTruthy(health.store)\n\t\t//@ts-ignore\n\t\tassert.isFalsy(health.store.errors)\n\t\t//@ts-ignore\n\t\tassert.isLength(health.store.stores, 1)\n\t\t//@ts-ignore\n\t\tassert.isEqual(health.store.stores[0].name, 'People')\n\t}\n\n\t@test()\n\tprotected static async canGenerateASecondStoreFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Bids.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(path)\n\t}\n\n\t@test()\n\tprotected static async getsSecondStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ shouldRunOnSourceFiles: true })\n\n\t\t//@ts-ignore\n\t\tassert.isTruthy(health.store)\n\t\t//@ts-ignore\n\t\tassert.isFalsy(health.store.errors)\n\t\t//@ts-ignore\n\t\tassert.isLength(health.store.stores, 2)\n\t\t//@ts-ignore\n\t\tassert.isEqual(health.store.stores[0].name, 'Bids')\n\t\t//@ts-ignore\n\t\tassert.isEqual(health.store.stores[1].name, 'People')\n\t}\n\n\t@test()\n\tprotected static async errorsWhenGeneratingAStoreWithTheSameName() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'STORE_EXISTS')\n\t}\n\n\t@test()\n\tprotected static async storeFactoryAndStoresAreTyped() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Product',\n\t\t\tnameReadablePlural: 'Products',\n\t\t\tnamePascal: 'Product',\n\t\t})\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Products.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst storeContents = diskUtil\n\t\t\t.readFile(path)\n\t\t\t.replace(\n\t\t\t\t'type ProductsStoreOptions = UniversalStoreOptions',\n\t\t\t\t'type ProductsStoreOptions = UniversalStoreOptions & {hello: string}'\n\t\t\t)\n\n\t\tdiskUtil.writeFile(path, storeContents)\n\n\t\tconst testFile = this.resolveTestPath('store-test.ts.hbs')\n\t\tconst testContents = diskUtil.readFile(testFile)\n\n\t\tconst dest = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(dest, testContents)\n\n\t\tawait this.Service('typeChecker').check(dest)\n\t}\n\n\t@test()\n\tprotected static async doesNotCreateAbstractTestFileBecauseTestIsNotInstalled() {\n\t\tassert.isFalse(\n\t\t\tdiskUtil.doesFileExist(CreatingDataStoresTest.getAbstractTestPath())\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeRestoresDataStoreTypes() {\n\t\tCommandService.fakeCommand('yarn rebuild', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.fakeCommand(/yarn add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tconst storesFile = this.resolveHashSprucePath('stores/stores.types.ts')\n\t\tdiskUtil.deleteFile(storesFile)\n\t\tawait this.Action('node', 'upgrade').execute({})\n\t\tassert.isTrue(diskUtil.doesFileExist(storesFile))\n\t}\n\n\tprivate static getAbstractTestPath(): string {\n\t\treturn this.resolvePath('src', 'tests', 'AbstractDataStoreTest.ts')\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"KeepingDataStoresInSync.test.js","names":["KeepingDataStoresInSyncTest","badStoreDest","resolvePath","diskUtil","deleteFile","assert","isFunction","Action","execute","syncStores","results","isLength","files","writeFile","isArray","errors","errorAssert","assertError","file","nameReadable","nameReadablePlural","namePascal","validateFiles","typesFile","testUtil","assertFileByNameInGeneratedFiles","mapFile","Promise","all","Service","check","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class KeepingDataStoresInSyncTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'stores'\n\tprotected static badStoreDest: string\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tthis.badStoreDest = this.resolvePath('src/stores/Bad.store.ts')\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tdiskUtil.deleteFile(this.badStoreDest)\n\t}\n\n\t@test()\n\tprotected static async hasSyncAction() {\n\t\tassert.isFunction(this.Action('store', 'sync').execute)\n\t}\n\n\t@test()\n\tprotected static async syncsNothingToStart() {\n\t\tconst results = await this.syncStores()\n\n\t\tassert.isLength(results.files, 0)\n\t}\n\n\t@test()\n\tprotected static async badFileReturnsError() {\n\t\tdiskUtil.writeFile(this.badStoreDest, 'throw new Error(\"Cheese!\")')\n\n\t\tconst results = await this.syncStores()\n\t\tassert.isArray(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\n\t\terrorAssert.assertError(results.errors[0], 'FAILED_TO_IMPORT', {\n\t\t\tfile: 'Bad.store.ts',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesValidTypeFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tawait this.validateFiles(results)\n\t}\n\n\t@test()\n\tprotected static async fileIsValidAfterSync() {\n\t\tconst results = await this.syncStores()\n\n\t\tawait this.validateFiles(results)\n\t}\n\n\t@test()\n\tprotected static async canAddSecondStore() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Person',\n\t\t\tnameReadablePlural: 'People',\n\t\t\tnamePascal: 'Person',\n\t\t})\n\n\t\tawait this.validateFiles(results)\n\t}\n\n\tprivate static async validateFiles(results: FeatureActionResponse) {\n\t\tconst typesFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'stores.types.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst mapFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'stores.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait Promise.all([\n\t\t\tthis.Service('typeChecker').check(typesFile),\n\t\t\tthis.Service('typeChecker').check(mapFile),\n\t\t])\n\t}\n\n\tprivate static async syncStores() {\n\t\treturn this.Action('store', 'sync').execute({})\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/__tests__/behavioral/tests/CreatingATest.test.ts"],"names":["CreatingBehavioralTestsTest","assert","isFunction","Action","execute","installTests","testFeature","getFeatureInstaller","getFeature","buildParentClassCandidates","candidates","doesInclude","label","name","testName","LintService","enableLinting","createTestAndGetFile","match","Service","build","doesThrowAsync","testType","createTestSubDir","installAndStartTestActionAndWaitForInput","promise","uiAssert","assertSelectRenderChoice","ui","sendInput","waitAndSelectSubClass","dirs","dir","dirName","results","expectedPath","resolvePath","isEqual","files","path","file","resolveTestDir","diskUtil","writeFile","assertSelectDidNotRenderChoice","reset","testFile","contents","readFile","newDir","createDir","testDirs","selectOptionBasedOnLabel","response","type","nameReadable","nameCamel","namePascal","waitForInput","selectedSubClass","createTest","testUtil","assertFileByNameInGeneratedFiles","AbstractTestTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,2B,WACnB,iB,UAKA,iB,UAaA,gBACA,2DADA,EAEA,2BAFA,C,UAIA,gBACA,mDADA,EAEA,sCAFA,C,UAkBA,gBAAK,iCAAL,EAAwC,YAAxC,C,UACA,gBAAK,qCAAL,EAA4C,gBAA5C,C,UAqBA,iB,UAuBA,gBAAK,sBAAL,EAA6B,MAA7B,C,UACA,gBAAK,sBAAL,EAA6B,QAA7B,C,WA0BA,iB,WAmBA,iB;;;;;;;;;;;;;2GAnID;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8BC,OAAhD;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gIAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,YAAL,CAAkB,mBAAlB,CAFP;;AAAA;AAIOC,gBAAAA,WAJP,GAIqB,KAAKC,mBAAL,GAA2BC,UAA3B,CAAsC,MAAtC,CAJrB;AAAA;AAAA,uBAK0BF,WAAW,CAACG,0BAAZ,EAL1B;;AAAA;AAKOC,gBAAAA,UALP;;AAOCT,6BAAOU,WAAP,CAAmBD,UAAnB,EAA+B;AAC9BE,kBAAAA,KAAK,EAAE,8CADuB;AAE9BC,kBAAAA,IAAI,EAAE;AAFwB,iBAA/B;;AAPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mHAaA,kBAQ+CC,QAR/C;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AASCC,wCAAYC,aAAZ;;AATD;AAAA,uBAUqB,KAAKC,oBAAL,CAA0BH,QAA1B,CAVrB;;AAAA;AAUOI,gBAAAA,KAVP;;AAYCjB,6BAAOU,WAAP,CAAmBO,KAAnB,EAA0B,YAA1B;;AAZD;AAAA,uBAcO,KAAKC,OAAL,CAAa,OAAb,EAAsBC,KAAtB,EAdP;;AAAA;AAAA;AAAA,uBAgBOnB,aAAOoB,cAAP,CACL;AAAA,yBAAM,KAAI,CAACF,OAAL,CAAa,SAAb,EAAwBf,OAAxB,CAAgC,WAAhC,CAAN;AAAA,iBADK,EAEL,2CAFK,CAhBP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gIAsBA,kBAGCkB,QAHD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAKO,KAAKjB,YAAL,EALP;;AAAA;AAOC,qBAAKkB,gBAAL,CAAsBD,QAAtB,EAAgC,QAAhC;AAPD;AAAA,uBAS2B,KAAKE,wCAAL,CACzBF,QADyB,CAT3B;;AAAA;AAAA;AASSG,gBAAAA,OATT,yBASSA,OATT;;AAaCC,qCAASC,wBAAT,CAAkC,KAAKC,EAAvC,EAA2C,GAA3C,EAAgDN,QAAhD;;AACAI,qCAASC,wBAAT,CAAkC,KAAKC,EAAvC,sBAAwDN,QAAxD;;AAdD;AAAA,uBAgBO,KAAKM,EAAL,CAAQC,SAAR,CAAkB,GAAlB,CAhBP;;AAAA;AAAA;AAAA,uBAiBO,KAAKC,qBAAL,EAjBP;;AAAA;AAAA;AAAA,uBAmBOL,OAnBP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;6HAsBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKpB,YAAL,EAFP;;AAAA;AAIO0B,gBAAAA,IAJP,GAIc,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,CAJd;;AAMC,qCAAkBA,IAAlB,2BAAwB;AAAbC,kBAAAA,GAAa;AACvB,uBAAKT,gBAAL,CAAsB,YAAtB,EAAoCS,GAApC;AACA;;AARF;AAAA,uBAU2B,KAAKR,wCAAL,EAV3B;;AAAA;AAAA;AAUSC,gBAAAA,OAVT,0BAUSA,OAVT;;AAYC,uCAAkBM,IAAlB,8BAAwB;AAAbC,kBAAAA,IAAa;;AACvBN,uCAASC,wBAAT,CAAkC,KAAKC,EAAvC,YAA8CI,IAA9C,wBAAmEA,IAAnE;AACA;;AAdF;AAAA,uBAgBO,KAAKJ,EAAL,CAAQC,SAAR,CAAkB,GAAlB,CAhBP;;AAAA;AAAA;AAAA,uBAkBO,KAAKC,qBAAL,EAlBP;;AAAA;AAAA;AAAA,uBAoBOL,OApBP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;4HAuBA,kBAEwDQ,OAFxD;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAGO,KAAK5B,YAAL,EAHP;;AAAA;AAIC,qBAAKkB,gBAAL,CAAsB,YAAtB,EAAoCU,OAApC;AAJD;AAAA,uBAM2B,KAAKT,wCAAL,CACzB,YADyB,CAN3B;;AAAA;AAAA;AAMSC,gBAAAA,OANT,0BAMSA,OANT;AAAA;AAAA,uBAUO,KAAKG,EAAL,CAAQC,SAAR,WAAqBI,OAArB,EAVP;;AAAA;AAAA;AAAA,uBAYO,KAAKH,qBAAL,EAZP;;AAAA;AAAA;AAAA,uBAcuBL,OAdvB;;AAAA;AAcOS,gBAAAA,OAdP;AAgBOC,gBAAAA,YAhBP,GAgBsB,KAAKC,WAAL,CACpB,KADoB,EAEpB,WAFoB,EAGpB,YAHoB,EAIpBH,OAJoB,EAKpB,4BALoB,CAhBtB;;AAwBChC,6BAAOoC,OAAP,CAAeF,YAAf,oBAA6BD,OAAO,CAACI,KAArC,sEAA6B,eAAgB,CAAhB,CAA7B,oDAA6B,gBAAoBC,IAAjD;;AAxBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;4GA2BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKlC,YAAL,EAFP;;AAAA;AAGC,qBAAKkB,gBAAL,CAAsB,YAAtB,EAAoC,QAApC;AAEMiB,gBAAAA,IALP,GAKc,KAAKC,cAAL,CAAoB,YAApB,EAAkC,SAAlC,CALd;;AAMCC,2CAASC,SAAT,CAAmBH,IAAnB,EAAyB,YAAzB;;AAND;AAAA,uBAQO,KAAKhB,wCAAL,EARP;;AAAA;AAUCE,qCAASkB,8BAAT,CACC,KAAKhB,EADN,EAEC,MAFD;;AAMA,qBAAKA,EAAL,CAAQiB,KAAR;;AAhBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;oHAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEwB,KAAK5B,oBAAL,EAFxB;;AAAA;AAEO6B,gBAAAA,QAFP;AAGOC,gBAAAA,QAHP,GAGkBL,2BAASM,QAAT,CAAkBF,QAAlB,CAHlB;;AAIC7C,6BAAOU,WAAP,CAAmBoC,QAAnB,EAA6B,cAA7B;;AAJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAOA,4BAAuD;AACtD,UAAME,MAAM,GAAG,KAAKR,cAAL,uBAAf;;AACAC,iCAASQ,SAAT,CAAmBD,MAAnB;AACA;;;WAED,0BAAqD;AAAA,wCAApBE,QAAoB;AAApBA,QAAAA,QAAoB;AAAA;;AACpD,aAAO,KAAKf,WAAL,cAAiB,KAAjB,EAAwB,WAAxB,SAAwCe,QAAxC,EAAP;AACA;;;;sGAED;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAgCrC,gBAAAA,QAAhC,8DAA2C,2BAA3C;AAAA;AAAA,uBAC2B,KAAKU,wCAAL,EAD3B;;AAAA;AAAA;AACSC,gBAAAA,OADT,0BACSA,OADT;AAGC,qBAAK2B,wBAAL,CAA8BtC,QAA9B;AAHD;AAAA,uBAKwBW,OALxB;;AAAA;AAKO4B,gBAAAA,QALP;AAAA,kDAMQA,QANR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;oIASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACC/B,gBAAAA,QADD,iEACY,YADZ;AAAA;AAAA,uBAGO,KAAKjB,YAAL,EAHP;;AAAA;AAIOoB,gBAAAA,OAJP,GAIiB,KAAKtB,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8BC,OAA9B,CAAsC;AACrDkD,kBAAAA,IAAI,EAAEhC,QAD+C;AAErDiC,kBAAAA,YAAY,EAAE,sBAFuC;AAGrDC,kBAAAA,SAAS,EAAE,oBAH0C;AAIrDC,kBAAAA,UAAU,EAAE;AAJyC,iBAAtC,CAJjB;AAAA;AAAA,uBAWO,KAAKC,YAAL,EAXP;;AAAA;AAAA,mDAYQ;AAAEjC,kBAAAA,OAAO,EAAPA;AAAF,iBAZR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;iHAeA,mBAA2CkC,gBAA3C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACO,KAAKD,YAAL,EADP;;AAAA;AAAA;AAAA,uBAEO,KAAK9B,EAAL,CAAQC,SAAR,CAAkB8B,gBAAlB,aAAkBA,gBAAlB,cAAkBA,gBAAlB,GAAsC,EAAtC,CAFP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gHAKA,mBAA0C7C,QAA1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACwB,KAAK8C,UAAL,CAAgB9C,QAAhB,CADxB;;AAAA;AACOuC,gBAAAA,QADP;AAGOnC,gBAAAA,KAHP,GAGe2C,kBAASC,gCAAT,CACb,4BADa,EAEbT,QAAQ,CAACf,KAFI,CAHf;AAAA,mDAOQpB,KAPR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAjLwD6C,6B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport LintService from '../../../services/LintService'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport uiAssert from '../../../tests/utilities/uiAssert.utility'\n\nexport default class CreatingBehavioralTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tassert.isFunction(this.Action('test', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async requiresInstallIfFeatureNotInstalled() {\n\t\tawait this.installTests('testsInNodeModule')\n\n\t\tconst testFeature = this.getFeatureInstaller().getFeature('test')\n\t\tconst candidates = await testFeature.buildParentClassCandidates()\n\n\t\tassert.doesInclude(candidates, {\n\t\t\tlabel: 'AbstractSpruceFixtureTest (requires install)',\n\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t})\n\t}\n\n\t@test(\n\t\t'can create behavioral test with AbstractSpruceFixtureTest',\n\t\t'AbstractSpruceFixtureTest'\n\t)\n\t@test(\n\t\t'can create behavioral test with AbstractStoreTest',\n\t\t'AbstractStoreTest (requires install)'\n\t)\n\tprotected static async canCreateBehavioralTest(testName: string) {\n\t\tLintService.enableLinting()\n\t\tconst match = await this.createTestAndGetFile(testName)\n\n\t\tassert.doesInclude(match, 'behavioral')\n\n\t\tawait this.Service('build').build()\n\n\t\tawait assert.doesThrowAsync(\n\t\t\t() => this.Service('command').execute('yarn test'),\n\t\t\t/false.*?does not equal.*?true/gis\n\t\t)\n\t}\n\n\t@test('finds folders inside behavioral', 'behavioral')\n\t@test('finds folders inside implementation', 'implementation')\n\tprotected static async promptsToSelectFolderIfInsideTestDir(\n\t\ttestType: string\n\t) {\n\t\tawait this.installTests()\n\n\t\tthis.createTestSubDir(testType, 'dummy1')\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput(\n\t\t\ttestType\n\t\t)\n\n\t\tuiAssert.assertSelectRenderChoice(this.ui, '.', testType)\n\t\tuiAssert.assertSelectRenderChoice(this.ui, `dummy1`, `${testType}/dummy1`)\n\n\t\tawait this.ui.sendInput('.')\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tawait promise\n\t}\n\n\t@test()\n\tprotected static async listsManyDirsIfExistInsideTestDir() {\n\t\tawait this.installTests()\n\n\t\tconst dirs = ['dir1', 'dir2', 'dir3']\n\n\t\tfor (const dir of dirs) {\n\t\t\tthis.createTestSubDir('behavioral', dir)\n\t\t}\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput()\n\n\t\tfor (const dir of dirs) {\n\t\t\tuiAssert.assertSelectRenderChoice(this.ui, `${dir}`, `behavioral/${dir}`)\n\t\t}\n\n\t\tawait this.ui.sendInput('.')\n\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tawait promise\n\t}\n\n\t@test('can select sub dir 1', 'test')\n\t@test('can select sub dir 2', 'test-2')\n\tprotected static async selectingAnOptionRendersToSubDir(dirName: string) {\n\t\tawait this.installTests()\n\t\tthis.createTestSubDir('behavioral', dirName)\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput(\n\t\t\t'behavioral'\n\t\t)\n\n\t\tawait this.ui.sendInput(`${dirName}`)\n\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tconst results = await promise\n\n\t\tconst expectedPath = this.resolvePath(\n\t\t\t'src',\n\t\t\t'__tests__',\n\t\t\t'behavioral',\n\t\t\tdirName,\n\t\t\t'CanBookAppointment.test.ts'\n\t\t)\n\n\t\tassert.isEqual(expectedPath, results.files?.[0]?.path)\n\t}\n\n\t@test()\n\tprotected static async doesNotListFiles() {\n\t\tawait this.installTests()\n\t\tthis.createTestSubDir('behavioral', 'subdir')\n\n\t\tconst file = this.resolveTestDir('behavioral', 'test.ts')\n\t\tdiskUtil.writeFile(file, 'what the!?')\n\n\t\tawait this.installAndStartTestActionAndWaitForInput()\n\n\t\tuiAssert.assertSelectDidNotRenderChoice(\n\t\t\tthis.ui,\n\t\t\t'test',\n\t\t\t`behavioral/test/test.ts`\n\t\t)\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async allTestsComeFakedToStart() {\n\t\tconst testFile = await this.createTestAndGetFile()\n\t\tconst contents = diskUtil.readFile(testFile)\n\t\tassert.doesInclude(contents, 'fake.login()')\n\t}\n\n\tprivate static createTestSubDir(...testDirs: string[]) {\n\t\tconst newDir = this.resolveTestDir(...testDirs)\n\t\tdiskUtil.createDir(newDir)\n\t}\n\n\tprivate static resolveTestDir(...testDirs: string[]) {\n\t\treturn this.resolvePath('src', '__tests__', ...testDirs)\n\t}\n\n\tprivate static async createTest(testName = 'AbstractSpruceFixtureTest') {\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput()\n\n\t\tthis.selectOptionBasedOnLabel(testName)\n\n\t\tconst response = await promise\n\t\treturn response\n\t}\n\n\tprivate static async installAndStartTestActionAndWaitForInput(\n\t\ttestType = 'behavioral'\n\t) {\n\t\tawait this.installTests()\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: testType,\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\treturn { promise }\n\t}\n\n\tprivate static async waitAndSelectSubClass(selectedSubClass?: string) {\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput(selectedSubClass ?? '')\n\t}\n\n\tprivate static async createTestAndGetFile(testName?: string) {\n\t\tconst response = await this.createTest(testName)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresponse.files\n\t\t)\n\t\treturn match\n\t}\n}\n"],"file":"CreatingATest.test.js"}
|
|
1
|
+
{"version":3,"file":"CreatingATest.test.js","names":["CreatingBehavioralTestsTest","assert","isFunction","Action","execute","installTests","testFeature","getFeatureInstaller","getFeature","buildParentClassCandidates","candidates","doesInclude","label","name","testName","LintService","enableLinting","createTestAndGetFile","match","Service","build","doesThrowAsync","testType","createTestSubDir","installAndStartTestActionAndWaitForInput","promise","uiAssert","assertSelectRenderChoice","ui","sendInput","waitAndSelectSubClass","dirs","dir","dirName","results","expectedPath","resolvePath","isEqual","files","path","file","resolveTestDir","diskUtil","writeFile","assertSelectDidNotRenderChoice","reset","testFile","contents","readFile","newDir","createDir","testDirs","selectOptionBasedOnLabel","response","type","nameReadable","nameCamel","namePascal","waitForInput","selectedSubClass","createTest","testUtil","assertFileByNameInGeneratedFiles","AbstractTestTest"],"sources":["../../../../src/__tests__/behavioral/tests/CreatingATest.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport LintService from '../../../services/LintService'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport uiAssert from '../../../tests/utilities/uiAssert.utility'\n\nexport default class CreatingBehavioralTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tassert.isFunction(this.Action('test', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async requiresInstallIfFeatureNotInstalled() {\n\t\tawait this.installTests('testsInNodeModule')\n\n\t\tconst testFeature = this.getFeatureInstaller().getFeature('test')\n\t\tconst candidates = await testFeature.buildParentClassCandidates()\n\n\t\tassert.doesInclude(candidates, {\n\t\t\tlabel: 'AbstractSpruceFixtureTest (requires install)',\n\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t})\n\t}\n\n\t@test(\n\t\t'can create behavioral test with AbstractSpruceFixtureTest',\n\t\t'AbstractSpruceFixtureTest'\n\t)\n\t@test(\n\t\t'can create behavioral test with AbstractStoreTest',\n\t\t'AbstractStoreTest (requires install)'\n\t)\n\tprotected static async canCreateBehavioralTest(testName: string) {\n\t\tLintService.enableLinting()\n\t\tconst match = await this.createTestAndGetFile(testName)\n\n\t\tassert.doesInclude(match, 'behavioral')\n\n\t\tawait this.Service('build').build()\n\n\t\tawait assert.doesThrowAsync(\n\t\t\t() => this.Service('command').execute('yarn test'),\n\t\t\t/false.*?does not equal.*?true/gis\n\t\t)\n\t}\n\n\t@test('finds folders inside behavioral', 'behavioral')\n\t@test('finds folders inside implementation', 'implementation')\n\tprotected static async promptsToSelectFolderIfInsideTestDir(\n\t\ttestType: string\n\t) {\n\t\tawait this.installTests()\n\n\t\tthis.createTestSubDir(testType, 'dummy1')\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput(\n\t\t\ttestType\n\t\t)\n\n\t\tuiAssert.assertSelectRenderChoice(this.ui, '.', testType)\n\t\tuiAssert.assertSelectRenderChoice(this.ui, `dummy1`, `${testType}/dummy1`)\n\n\t\tawait this.ui.sendInput('.')\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tawait promise\n\t}\n\n\t@test()\n\tprotected static async listsManyDirsIfExistInsideTestDir() {\n\t\tawait this.installTests()\n\n\t\tconst dirs = ['dir1', 'dir2', 'dir3']\n\n\t\tfor (const dir of dirs) {\n\t\t\tthis.createTestSubDir('behavioral', dir)\n\t\t}\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput()\n\n\t\tfor (const dir of dirs) {\n\t\t\tuiAssert.assertSelectRenderChoice(this.ui, `${dir}`, `behavioral/${dir}`)\n\t\t}\n\n\t\tawait this.ui.sendInput('.')\n\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tawait promise\n\t}\n\n\t@test('can select sub dir 1', 'test')\n\t@test('can select sub dir 2', 'test-2')\n\tprotected static async selectingAnOptionRendersToSubDir(dirName: string) {\n\t\tawait this.installTests()\n\t\tthis.createTestSubDir('behavioral', dirName)\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput(\n\t\t\t'behavioral'\n\t\t)\n\n\t\tawait this.ui.sendInput(`${dirName}`)\n\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tconst results = await promise\n\n\t\tconst expectedPath = this.resolvePath(\n\t\t\t'src',\n\t\t\t'__tests__',\n\t\t\t'behavioral',\n\t\t\tdirName,\n\t\t\t'CanBookAppointment.test.ts'\n\t\t)\n\n\t\tassert.isEqual(expectedPath, results.files?.[0]?.path)\n\t}\n\n\t@test()\n\tprotected static async doesNotListFiles() {\n\t\tawait this.installTests()\n\t\tthis.createTestSubDir('behavioral', 'subdir')\n\n\t\tconst file = this.resolveTestDir('behavioral', 'test.ts')\n\t\tdiskUtil.writeFile(file, 'what the!?')\n\n\t\tawait this.installAndStartTestActionAndWaitForInput()\n\n\t\tuiAssert.assertSelectDidNotRenderChoice(\n\t\t\tthis.ui,\n\t\t\t'test',\n\t\t\t`behavioral/test/test.ts`\n\t\t)\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async allTestsComeFakedToStart() {\n\t\tconst testFile = await this.createTestAndGetFile()\n\t\tconst contents = diskUtil.readFile(testFile)\n\t\tassert.doesInclude(contents, 'fake.login()')\n\t}\n\n\tprivate static createTestSubDir(...testDirs: string[]) {\n\t\tconst newDir = this.resolveTestDir(...testDirs)\n\t\tdiskUtil.createDir(newDir)\n\t}\n\n\tprivate static resolveTestDir(...testDirs: string[]) {\n\t\treturn this.resolvePath('src', '__tests__', ...testDirs)\n\t}\n\n\tprivate static async createTest(testName = 'AbstractSpruceFixtureTest') {\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput()\n\n\t\tthis.selectOptionBasedOnLabel(testName)\n\n\t\tconst response = await promise\n\t\treturn response\n\t}\n\n\tprivate static async installAndStartTestActionAndWaitForInput(\n\t\ttestType = 'behavioral'\n\t) {\n\t\tawait this.installTests()\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: testType,\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\treturn { promise }\n\t}\n\n\tprivate static async waitAndSelectSubClass(selectedSubClass?: string) {\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput(selectedSubClass ?? '')\n\t}\n\n\tprivate static async createTestAndGetFile(testName?: string) {\n\t\tconst response = await this.createTest(testName)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresponse.files\n\t\t)\n\t\treturn match\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"RunningTests.test.js","names":["RunningTestsTest","Cli","assert","isFunction","Action","execute","installTests","creationPromise","type","nameReadable","nameCamel","namePascal","waitForInput","ui","sendInput","creationResults","file","files","isTruthy","fixBadTest","path","promise","Service","build","shouldReportWhileRunning","results","errors","isLength","errorAssert","assertError","meta","testResults","doesInclude","wasKilled","totalTestFiles","totalTestFilesComplete","totalFailed","totalPassed","totalSkipped","totalTests","totalTodo","AbstractTestTest"],"sources":["../../../../src/__tests__/behavioral/tests/RunningTests.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\n\nexport default class RunningTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async hasTestAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('test', 'test').execute)\n\t}\n\n\t@test()\n\tprotected static async runningTestsActuallyRunsTests() {\n\t\tawait this.installTests()\n\t\tconst creationPromise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tconst creationResults = await creationPromise\n\n\t\tconst file = creationResults.files?.[0]\n\t\tassert.isTruthy(file)\n\n\t\tthis.fixBadTest(file.path)\n\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can cancel appointment',\n\t\t\tnameCamel: 'canCancelAppointment',\n\t\t\tnamePascal: 'CanCancelAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tawait promise\n\n\t\tawait this.Service('build').build()\n\n\t\tconst results = await this.Action('test', 'test').execute({\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\n\t\terrorAssert.assertError(results.errors[0], 'TEST_FAILED')\n\n\t\tassert.isTruthy(results.meta)\n\t\tassert.isTruthy(results.meta?.testResults)\n\n\t\tassert.doesInclude(results.meta?.testResults, {\n\t\t\twasKilled: false,\n\t\t\ttotalTestFiles: 2,\n\t\t\ttotalTestFilesComplete: 2,\n\t\t\ttotalFailed: 1,\n\t\t\ttotalPassed: 3,\n\t\t\ttotalSkipped: 0,\n\t\t\ttotalTests: 4,\n\t\t\ttotalTodo: 0,\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,gB,WACnB,iB,UAMA,iB;;;;;;;;;;;;;yGAND;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKC,GAAL,EAFP;;cAAA;gBAGCC,aAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,MAAZ,EAAoB,MAApB,EAA4BC,OAA9C;;cAHD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;yHAMA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKC,YAAL,EAFP;;cAAA;gBAGOC,eAHP,GAGyB,KAAKH,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8BC,OAA9B,CAAsC;kBAC7DG,IAAI,EAAE,YADuD;kBAE7DC,YAAY,EAAE,sBAF+C;kBAG7DC,SAAS,EAAE,oBAHkD;kBAI7DC,UAAU,EAAE;gBAJiD,CAAtC,CAHzB;gBAAA;gBAAA,OAUO,KAAKC,YAAL,EAVP;;cAAA;gBAAA;gBAAA,OAWO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,EAAlB,CAXP;;cAAA;gBAAA;gBAAA,OAa+BP,eAb/B;;cAAA;gBAaOQ,eAbP;gBAeOC,IAfP,4BAecD,eAAe,CAACE,KAf9B,0DAec,sBAAwB,CAAxB,CAfd;;gBAgBCf,aAAOgB,QAAP,CAAgBF,IAAhB;;gBAEA,KAAKG,UAAL,CAAgBH,IAAI,CAACI,IAArB;gBAEMC,OApBP,GAoBiB,KAAKjB,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8BC,OAA9B,CAAsC;kBACrDG,IAAI,EAAE,YAD+C;kBAErDC,YAAY,EAAE,wBAFuC;kBAGrDC,SAAS,EAAE,sBAH0C;kBAIrDC,UAAU,EAAE;gBAJyC,CAAtC,CApBjB;gBAAA;gBAAA,OA2BO,KAAKC,YAAL,EA3BP;;cAAA;gBAAA;gBAAA,OA4BO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,EAAlB,CA5BP;;cAAA;gBAAA;gBAAA,OA8BOO,OA9BP;;cAAA;gBAAA;gBAAA,OAgCO,KAAKC,OAAL,CAAa,OAAb,EAAsBC,KAAtB,EAhCP;;cAAA;gBAAA;gBAAA,OAkCuB,KAAKnB,MAAL,CAAY,MAAZ,EAAoB,MAApB,EAA4BC,OAA5B,CAAoC;kBACzDmB,wBAAwB,EAAE;gBAD+B,CAApC,CAlCvB;;cAAA;gBAkCOC,OAlCP;;gBAsCCvB,aAAOgB,QAAP,CAAgBO,OAAO,CAACC,MAAxB;;gBACAxB,aAAOyB,QAAP,CAAgBF,OAAO,CAACC,MAAxB,EAAgC,CAAhC;;gBAEAE,uBAAYC,WAAZ,CAAwBJ,OAAO,CAACC,MAAR,CAAe,CAAf,CAAxB,EAA2C,aAA3C;;gBAEAxB,aAAOgB,QAAP,CAAgBO,OAAO,CAACK,IAAxB;;gBACA5B,aAAOgB,QAAP,kBAAgBO,OAAO,CAACK,IAAxB,kDAAgB,cAAcC,WAA9B;;gBAEA7B,aAAO8B,WAAP,mBAAmBP,OAAO,CAACK,IAA3B,mDAAmB,eAAcC,WAAjC,EAA8C;kBAC7CE,SAAS,EAAE,KADkC;kBAE7CC,cAAc,EAAE,CAF6B;kBAG7CC,sBAAsB,EAAE,CAHqB;kBAI7CC,WAAW,EAAE,CAJgC;kBAK7CC,WAAW,EAAE,CALgC;kBAM7CC,YAAY,EAAE,CAN+B;kBAO7CC,UAAU,EAAE,CAPiC;kBAQ7CC,SAAS,EAAE;gBARkC,CAA9C;;cA9CD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAP6CC,6B"}
|
|
@@ -5,6 +5,7 @@ export default class SelectingAnAbstractTestClassTest extends AbstractTestTest {
|
|
|
5
5
|
protected static canSelectAbstractTestBasedOnEventEmitter(): Promise<void>;
|
|
6
6
|
protected static installingAFeatureRemovesLabelFromName(): Promise<void>;
|
|
7
7
|
protected static selectingUninstalledTestInstallsTheFeature(): Promise<void>;
|
|
8
|
+
protected static relativePathsAddDotSlash(): void;
|
|
8
9
|
private static buildAndAssertTestFailsAsExpected;
|
|
9
10
|
private static installCopyTestFilesSelectLocalAbstractTest;
|
|
10
11
|
private static installAndCopyTestFiles;
|
|
@@ -27,13 +27,11 @@ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
|
|
|
27
27
|
|
|
28
28
|
var _test = require("@sprucelabs/test");
|
|
29
29
|
|
|
30
|
-
var _CommandService = _interopRequireDefault(require("../../../services/CommandService"));
|
|
31
|
-
|
|
32
30
|
var _AbstractTestTest2 = _interopRequireDefault(require("../../../tests/AbstractTestTest"));
|
|
33
31
|
|
|
34
32
|
var _test2 = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
|
|
35
33
|
|
|
36
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _class;
|
|
34
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class;
|
|
37
35
|
|
|
38
36
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
39
37
|
|
|
@@ -53,7 +51,7 @@ var featuresWithRegisteredTests = [{
|
|
|
53
51
|
featureCode: 'view',
|
|
54
52
|
className: 'AbstractViewControllerTest'
|
|
55
53
|
}];
|
|
56
|
-
var SelectingAnAbstractTestClassTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), (_class = /*#__PURE__*/function (_AbstractTestTest) {
|
|
54
|
+
var SelectingAnAbstractTestClassTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), (_class = /*#__PURE__*/function (_AbstractTestTest) {
|
|
57
55
|
(0, _inherits2["default"])(SelectingAnAbstractTestClassTest, _AbstractTestTest);
|
|
58
56
|
|
|
59
57
|
var _super = _createSuper(SelectingAnAbstractTestClassTest);
|
|
@@ -255,10 +253,7 @@ var SelectingAnAbstractTestClassTest = (_dec = (0, _test.test)(), _dec2 = (0, _t
|
|
|
255
253
|
while (1) {
|
|
256
254
|
switch (_context6.prev = _context6.next) {
|
|
257
255
|
case 0:
|
|
258
|
-
|
|
259
|
-
code: 0
|
|
260
|
-
});
|
|
261
|
-
|
|
256
|
+
this.commandFaker.fakeInstall();
|
|
262
257
|
_context6.next = 3;
|
|
263
258
|
return this.installTests();
|
|
264
259
|
|
|
@@ -358,10 +353,7 @@ var SelectingAnAbstractTestClassTest = (_dec = (0, _test.test)(), _dec2 = (0, _t
|
|
|
358
353
|
while (1) {
|
|
359
354
|
switch (_context8.prev = _context8.next) {
|
|
360
355
|
case 0:
|
|
361
|
-
|
|
362
|
-
code: 0
|
|
363
|
-
});
|
|
364
|
-
|
|
356
|
+
this.commandFaker.fakeInstall();
|
|
365
357
|
_iterator2 = _createForOfIteratorHelper(featuresWithRegisteredTests);
|
|
366
358
|
_context8.prev = 2;
|
|
367
359
|
_loop2 = /*#__PURE__*/_regenerator["default"].mark(function _loop2() {
|
|
@@ -458,7 +450,7 @@ var SelectingAnAbstractTestClassTest = (_dec = (0, _test.test)(), _dec2 = (0, _t
|
|
|
458
450
|
return _context8.stop();
|
|
459
451
|
}
|
|
460
452
|
}
|
|
461
|
-
}, _callee6,
|
|
453
|
+
}, _callee6, this, [[2, 11, 14, 17]]);
|
|
462
454
|
}));
|
|
463
455
|
|
|
464
456
|
function selectingUninstalledTestInstallsTheFeature() {
|
|
@@ -467,6 +459,20 @@ var SelectingAnAbstractTestClassTest = (_dec = (0, _test.test)(), _dec2 = (0, _t
|
|
|
467
459
|
|
|
468
460
|
return selectingUninstalledTestInstallsTheFeature;
|
|
469
461
|
}()
|
|
462
|
+
}, {
|
|
463
|
+
key: "relativePathsAddDotSlash",
|
|
464
|
+
value: function relativePathsAddDotSlash() {
|
|
465
|
+
var action = this.Action('test', 'create'); //@ts-ignore
|
|
466
|
+
|
|
467
|
+
var actual = action.buildParentClassFromCandidate({
|
|
468
|
+
label: 'test',
|
|
469
|
+
name: 'AbstractTest',
|
|
470
|
+
path: this.resolvePath('test/AbstractTest'),
|
|
471
|
+
isDefaultExport: false
|
|
472
|
+
}, this.resolvePath('test'));
|
|
473
|
+
|
|
474
|
+
_test.assert.isEqual(actual.importPath, './AbstractTest');
|
|
475
|
+
}
|
|
470
476
|
}, {
|
|
471
477
|
key: "buildAndAssertTestFailsAsExpected",
|
|
472
478
|
value: function () {
|
|
@@ -690,6 +696,6 @@ var SelectingAnAbstractTestClassTest = (_dec = (0, _test.test)(), _dec2 = (0, _t
|
|
|
690
696
|
}()
|
|
691
697
|
}]);
|
|
692
698
|
return SelectingAnAbstractTestClassTest;
|
|
693
|
-
}(_AbstractTestTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "asksForYouToSelectABaseClass", [_dec], Object.getOwnPropertyDescriptor(_class, "asksForYouToSelectABaseClass"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canSelectAbstractClassWhileSelectingSubDir", [_dec2], Object.getOwnPropertyDescriptor(_class, "canSelectAbstractClassWhileSelectingSubDir"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canSelectAbstractTestBasedOnEventEmitter", [_dec3], Object.getOwnPropertyDescriptor(_class, "canSelectAbstractTestBasedOnEventEmitter"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "installingAFeatureRemovesLabelFromName", [_dec4], Object.getOwnPropertyDescriptor(_class, "installingAFeatureRemovesLabelFromName"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "selectingUninstalledTestInstallsTheFeature", [_dec5], Object.getOwnPropertyDescriptor(_class, "selectingUninstalledTestInstallsTheFeature"), _class)), _class));
|
|
699
|
+
}(_AbstractTestTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "asksForYouToSelectABaseClass", [_dec], Object.getOwnPropertyDescriptor(_class, "asksForYouToSelectABaseClass"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canSelectAbstractClassWhileSelectingSubDir", [_dec2], Object.getOwnPropertyDescriptor(_class, "canSelectAbstractClassWhileSelectingSubDir"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canSelectAbstractTestBasedOnEventEmitter", [_dec3], Object.getOwnPropertyDescriptor(_class, "canSelectAbstractTestBasedOnEventEmitter"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "installingAFeatureRemovesLabelFromName", [_dec4], Object.getOwnPropertyDescriptor(_class, "installingAFeatureRemovesLabelFromName"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "selectingUninstalledTestInstallsTheFeature", [_dec5], Object.getOwnPropertyDescriptor(_class, "selectingUninstalledTestInstallsTheFeature"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "relativePathsAddDotSlash", [_dec6], Object.getOwnPropertyDescriptor(_class, "relativePathsAddDotSlash"), _class)), _class));
|
|
694
700
|
exports["default"] = SelectingAnAbstractTestClassTest;
|
|
695
701
|
//# sourceMappingURL=SelectingAnAbstractTestClass.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts"],"names":["expectedAbstractTests","featuresWithRegisteredTests","featureCode","className","SelectingAnAbstractTestClassTest","installCopyTestFilesSelectLocalAbstractTest","promise","results","testUtil","assertFileByNameInGeneratedFiles","files","buildAndAssertTestFailsAsExpected","testDir","resolvePath","diskUtil","createDir","installAndCopyTestFiles","invokeCreateActionAndWaitForInput","ui","sendInput","waitForInput","selectOptionBasedOnLabel","installTests","cli","on","abstractClasses","name","label","executeCreateUntilAbstractClassSelection","choices","assert","doesInclude","isFalsy","errors","match","contents","readFile","CommandService","fakeCommand","RegExp","code","testFeature","getFeatureInstaller","getFeature","feat","install","features","buildParentClassCandidates","candidates","isTruthy","find","cwd","createRandomTempDir","c","includes","isInstalled","isFalse","value","isTrue","Service","build","doesThrowAsync","execute","expected","copyTestFiles","source","resolveTestPath","destination","copyDir","last","getLastInvocation","options","Action","type","nameReadable","nameCamel","AbstractTestTest"],"mappings":"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","sourcesContent":["import { SelectChoice } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { FeatureCode } from '../../../features/features.types'\nimport CommandService from '../../../services/CommandService'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nconst expectedAbstractTests = [\n\t'AbstractSpruceTest (default)',\n\t'AbstractStoreTest (requires install)',\n\t'AbstractViewControllerTest (requires install)',\n\t'AbstractSpruceFixtureTest',\n\t'AbstractTest',\n\t'AbstractTest2',\n\t'AbstractBananaTestDifferentThanFileName',\n]\n\nconst featuresWithRegisteredTests: {\n\tfeatureCode: FeatureCode\n\tclassName: string\n}[] = [\n\t{ featureCode: 'store', className: 'AbstractStoreTest' },\n\t{ featureCode: 'view', className: 'AbstractViewControllerTest' },\n]\n\nexport default class SelectingAnAbstractTestClassTest extends AbstractTestTest {\n\t@test()\n\tprotected static async asksForYouToSelectABaseClass() {\n\t\tconst { promise } = await this.installCopyTestFilesSelectLocalAbstractTest()\n\n\t\tconst results = await promise\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.buildAndAssertTestFailsAsExpected()\n\t}\n\n\t@test()\n\tprotected static async canSelectAbstractClassWhileSelectingSubDir() {\n\t\tconst testDir = this.resolvePath('src', '__tests__', 'behavioral', 'taco')\n\t\tdiskUtil.createDir(testDir)\n\n\t\tawait this.installAndCopyTestFiles()\n\n\t\tconst { promise } = await this.invokeCreateActionAndWaitForInput()\n\n\t\tawait this.ui.sendInput('taco')\n\n\t\tawait this.waitForInput()\n\n\t\tthis.selectOptionBasedOnLabel('AbstractBananaTestDifferentThanFileName')\n\n\t\tawait promise\n\n\t\tawait this.buildAndAssertTestFailsAsExpected()\n\t}\n\n\t@test()\n\tprotected static async canSelectAbstractTestBasedOnEventEmitter() {\n\t\tconst cli = await this.installTests()\n\t\tvoid cli.on('test.register-abstract-test-classes', async () => {\n\t\t\treturn {\n\t\t\t\tabstractClasses: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'TestClass',\n\t\t\t\t\t\tlabel: 'TestClass',\n\t\t\t\t\t\timport: '@sprucelabs/another-lib',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'TestClass2',\n\t\t\t\t\t\tlabel: 'TestClass2',\n\t\t\t\t\t\timport: '@sprucelabs/another-lib',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\n\t\tconst { choices, promise } =\n\t\t\tawait this.executeCreateUntilAbstractClassSelection()\n\n\t\tassert.doesInclude(choices, {\n\t\t\tlabel: 'TestClass',\n\t\t})\n\n\t\tassert.doesInclude(choices, {\n\t\t\tlabel: 'TestClass2',\n\t\t})\n\n\t\tthis.selectOptionBasedOnLabel('TestClass2')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"import { TestClass2 } from '@sprucelabs/another-lib'\"\n\t\t)\n\n\t\tassert.doesInclude(contents, 'extends TestClass2')\n\t}\n\n\t@test()\n\tprotected static async installingAFeatureRemovesLabelFromName() {\n\t\tCommandService.fakeCommand(new RegExp(/npm.*?install .*?/gis), {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tawait this.installTests()\n\n\t\tconst testFeature = this.getFeatureInstaller().getFeature('test')\n\n\t\tfor (const feat of featuresWithRegisteredTests) {\n\t\t\tawait this.getFeatureInstaller().install({\n\t\t\t\tfeatures: [\n\t\t\t\t\t{\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\tcode: feat.featureCode,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\n\t\t\tconst candidates = await testFeature.buildParentClassCandidates()\n\n\t\t\tassert.isTruthy(\n\t\t\t\tcandidates.find(({ name }) => {\n\t\t\t\t\treturn name === feat.className\n\t\t\t\t})\n\t\t\t)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async selectingUninstalledTestInstallsTheFeature() {\n\t\tCommandService.fakeCommand(new RegExp(/npm.*?install .*?/gis), {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tfor (const feat of featuresWithRegisteredTests) {\n\t\t\tthis.cwd = diskUtil.createRandomTempDir()\n\t\t\tawait this.installTests()\n\n\t\t\tconst { choices, promise } =\n\t\t\t\tawait this.executeCreateUntilAbstractClassSelection()\n\n\t\t\tconst match = choices.find((c: any) => c.label.includes(feat.className))\n\n\t\t\tassert.isTruthy(match)\n\n\t\t\tlet isInstalled = await this.getFeatureInstaller().isInstalled(\n\t\t\t\tfeat.featureCode as any\n\t\t\t)\n\t\t\tassert.isFalse(isInstalled)\n\n\t\t\tawait this.ui.sendInput(match?.value)\n\n\t\t\tawait promise\n\n\t\t\tisInstalled = await this.getFeatureInstaller().isInstalled(\n\t\t\t\tfeat.featureCode as any\n\t\t\t)\n\t\t\tassert.isTrue(isInstalled)\n\t\t}\n\t}\n\n\tprivate static async buildAndAssertTestFailsAsExpected() {\n\t\tawait this.Service('build').build()\n\n\t\tawait assert.doesThrowAsync(\n\t\t\t() => this.Service('command').execute('yarn test'),\n\t\t\t/false.*?does not equal.*?true/gis\n\t\t)\n\t}\n\n\tprivate static async installCopyTestFilesSelectLocalAbstractTest() {\n\t\tawait this.installAndCopyTestFiles()\n\n\t\tconst { choices, promise } =\n\t\t\tawait this.executeCreateUntilAbstractClassSelection()\n\n\t\tfor (const expected of expectedAbstractTests) {\n\t\t\tassert.doesInclude(choices, { label: expected })\n\t\t}\n\n\t\tthis.selectOptionBasedOnLabel('AbstractBananaTestDifferentThanFileName')\n\n\t\treturn { promise }\n\t}\n\n\tprivate static async installAndCopyTestFiles() {\n\t\tawait this.installTests()\n\t\tawait this.copyTestFiles()\n\t}\n\n\tprivate static async copyTestFiles() {\n\t\tconst source = this.resolveTestPath('abstract_tests')\n\t\tconst destination = this.resolvePath('src')\n\n\t\tawait diskUtil.copyDir(source, destination)\n\t}\n\n\tprivate static async executeCreateUntilAbstractClassSelection() {\n\t\tconst { promise } = await this.invokeCreateActionAndWaitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tconst { choices } = last.options.options ?? {}\n\n\t\treturn { promise, choices } as {\n\t\t\tpromise: Promise<any>\n\t\t\tchoices: SelectChoice[]\n\t\t}\n\t}\n\n\tprivate static async invokeCreateActionAndWaitForInput() {\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\treturn { promise }\n\t}\n}\n"],"file":"SelectingAnAbstractTestClass.test.js"}
|
|
1
|
+
{"version":3,"file":"SelectingAnAbstractTestClass.test.js","names":["expectedAbstractTests","featuresWithRegisteredTests","featureCode","className","SelectingAnAbstractTestClassTest","installCopyTestFilesSelectLocalAbstractTest","promise","results","testUtil","assertFileByNameInGeneratedFiles","files","buildAndAssertTestFailsAsExpected","testDir","resolvePath","diskUtil","createDir","installAndCopyTestFiles","invokeCreateActionAndWaitForInput","ui","sendInput","waitForInput","selectOptionBasedOnLabel","installTests","cli","on","abstractClasses","name","label","executeCreateUntilAbstractClassSelection","choices","assert","doesInclude","isFalsy","errors","match","contents","readFile","commandFaker","fakeInstall","testFeature","getFeatureInstaller","getFeature","feat","install","features","code","buildParentClassCandidates","candidates","isTruthy","find","cwd","createRandomTempDir","c","includes","isInstalled","isFalse","value","isTrue","action","Action","actual","buildParentClassFromCandidate","path","isDefaultExport","isEqual","importPath","Service","build","doesThrowAsync","execute","expected","copyTestFiles","source","resolveTestPath","destination","copyDir","last","getLastInvocation","options","type","nameReadable","nameCamel","AbstractTestTest"],"sources":["../../../../src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts"],"sourcesContent":["import { SelectChoice } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { FeatureCode } from '../../../features/features.types'\nimport CreateAction from '../../../features/test/actions/CreateAction'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nconst expectedAbstractTests = [\n\t'AbstractSpruceTest (default)',\n\t'AbstractStoreTest (requires install)',\n\t'AbstractViewControllerTest (requires install)',\n\t'AbstractSpruceFixtureTest',\n\t'AbstractTest',\n\t'AbstractTest2',\n\t'AbstractBananaTestDifferentThanFileName',\n]\n\nconst featuresWithRegisteredTests: {\n\tfeatureCode: FeatureCode\n\tclassName: string\n}[] = [\n\t{ featureCode: 'store', className: 'AbstractStoreTest' },\n\t{ featureCode: 'view', className: 'AbstractViewControllerTest' },\n]\n\nexport default class SelectingAnAbstractTestClassTest extends AbstractTestTest {\n\t@test()\n\tprotected static async asksForYouToSelectABaseClass() {\n\t\tconst { promise } = await this.installCopyTestFilesSelectLocalAbstractTest()\n\n\t\tconst results = await promise\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.buildAndAssertTestFailsAsExpected()\n\t}\n\n\t@test()\n\tprotected static async canSelectAbstractClassWhileSelectingSubDir() {\n\t\tconst testDir = this.resolvePath('src', '__tests__', 'behavioral', 'taco')\n\t\tdiskUtil.createDir(testDir)\n\n\t\tawait this.installAndCopyTestFiles()\n\n\t\tconst { promise } = await this.invokeCreateActionAndWaitForInput()\n\n\t\tawait this.ui.sendInput('taco')\n\n\t\tawait this.waitForInput()\n\n\t\tthis.selectOptionBasedOnLabel('AbstractBananaTestDifferentThanFileName')\n\n\t\tawait promise\n\n\t\tawait this.buildAndAssertTestFailsAsExpected()\n\t}\n\n\t@test()\n\tprotected static async canSelectAbstractTestBasedOnEventEmitter() {\n\t\tconst cli = await this.installTests()\n\t\tvoid cli.on('test.register-abstract-test-classes', async () => {\n\t\t\treturn {\n\t\t\t\tabstractClasses: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'TestClass',\n\t\t\t\t\t\tlabel: 'TestClass',\n\t\t\t\t\t\timport: '@sprucelabs/another-lib',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'TestClass2',\n\t\t\t\t\t\tlabel: 'TestClass2',\n\t\t\t\t\t\timport: '@sprucelabs/another-lib',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\n\t\tconst { choices, promise } =\n\t\t\tawait this.executeCreateUntilAbstractClassSelection()\n\n\t\tassert.doesInclude(choices, {\n\t\t\tlabel: 'TestClass',\n\t\t})\n\n\t\tassert.doesInclude(choices, {\n\t\t\tlabel: 'TestClass2',\n\t\t})\n\n\t\tthis.selectOptionBasedOnLabel('TestClass2')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"import { TestClass2 } from '@sprucelabs/another-lib'\"\n\t\t)\n\n\t\tassert.doesInclude(contents, 'extends TestClass2')\n\t}\n\n\t@test()\n\tprotected static async installingAFeatureRemovesLabelFromName() {\n\t\tthis.commandFaker.fakeInstall()\n\n\t\tawait this.installTests()\n\n\t\tconst testFeature = this.getFeatureInstaller().getFeature('test')\n\n\t\tfor (const feat of featuresWithRegisteredTests) {\n\t\t\tawait this.getFeatureInstaller().install({\n\t\t\t\tfeatures: [\n\t\t\t\t\t{\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\tcode: feat.featureCode,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\n\t\t\tconst candidates = await testFeature.buildParentClassCandidates()\n\n\t\t\tassert.isTruthy(\n\t\t\t\tcandidates.find(({ name }) => {\n\t\t\t\t\treturn name === feat.className\n\t\t\t\t})\n\t\t\t)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async selectingUninstalledTestInstallsTheFeature() {\n\t\tthis.commandFaker.fakeInstall()\n\n\t\tfor (const feat of featuresWithRegisteredTests) {\n\t\t\tthis.cwd = diskUtil.createRandomTempDir()\n\t\t\tawait this.installTests()\n\n\t\t\tconst { choices, promise } =\n\t\t\t\tawait this.executeCreateUntilAbstractClassSelection()\n\n\t\t\tconst match = choices.find((c: any) => c.label.includes(feat.className))\n\n\t\t\tassert.isTruthy(match)\n\n\t\t\tlet isInstalled = await this.getFeatureInstaller().isInstalled(\n\t\t\t\tfeat.featureCode as any\n\t\t\t)\n\t\t\tassert.isFalse(isInstalled)\n\n\t\t\tawait this.ui.sendInput(match?.value)\n\n\t\t\tawait promise\n\n\t\t\tisInstalled = await this.getFeatureInstaller().isInstalled(\n\t\t\t\tfeat.featureCode as any\n\t\t\t)\n\t\t\tassert.isTrue(isInstalled)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static relativePathsAddDotSlash() {\n\t\tconst action = this.Action('test', 'create') as CreateAction\n\n\t\t//@ts-ignore\n\t\tconst actual = action.buildParentClassFromCandidate(\n\t\t\t{\n\t\t\t\tlabel: 'test',\n\t\t\t\tname: 'AbstractTest',\n\t\t\t\tpath: this.resolvePath('test/AbstractTest'),\n\t\t\t\tisDefaultExport: false,\n\t\t\t},\n\t\t\tthis.resolvePath('test')\n\t\t)\n\n\t\tassert.isEqual(actual.importPath, './AbstractTest')\n\t}\n\n\tprivate static async buildAndAssertTestFailsAsExpected() {\n\t\tawait this.Service('build').build()\n\n\t\tawait assert.doesThrowAsync(\n\t\t\t() => this.Service('command').execute('yarn test'),\n\t\t\t/false.*?does not equal.*?true/gis\n\t\t)\n\t}\n\n\tprivate static async installCopyTestFilesSelectLocalAbstractTest() {\n\t\tawait this.installAndCopyTestFiles()\n\n\t\tconst { choices, promise } =\n\t\t\tawait this.executeCreateUntilAbstractClassSelection()\n\n\t\tfor (const expected of expectedAbstractTests) {\n\t\t\tassert.doesInclude(choices, { label: expected })\n\t\t}\n\n\t\tthis.selectOptionBasedOnLabel('AbstractBananaTestDifferentThanFileName')\n\n\t\treturn { promise }\n\t}\n\n\tprivate static async installAndCopyTestFiles() {\n\t\tawait this.installTests()\n\t\tawait this.copyTestFiles()\n\t}\n\n\tprivate static async copyTestFiles() {\n\t\tconst source = this.resolveTestPath('abstract_tests')\n\t\tconst destination = this.resolvePath('src')\n\n\t\tawait diskUtil.copyDir(source, destination)\n\t}\n\n\tprivate static async executeCreateUntilAbstractClassSelection() {\n\t\tconst { promise } = await this.invokeCreateActionAndWaitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tconst { choices } = last.options.options ?? {}\n\n\t\treturn { promise, choices } as {\n\t\t\tpromise: Promise<any>\n\t\t\tchoices: SelectChoice[]\n\t\t}\n\t}\n\n\tprivate static async invokeCreateActionAndWaitForInput() {\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\treturn { promise }\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"SettingUpTests.test.js","names":["SettingUpTestsTest","installTests","code","assertIsFeatureInstalled","command","Service","assert","doesThrowAsync","execute","err","errorAssert","assertError","doesInclude","options","stdout","AbstractTestTest"],"sources":["../../../../src/__tests__/behavioral/tests/SettingUpTests.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { FeatureCode } from '../../../features/features.types'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\n\nexport default class SettingUpTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async installsTests() {\n\t\tawait this.installTests()\n\t\tconst code: FeatureCode = 'test'\n\t\tawait this.assertIsFeatureInstalled(code)\n\t}\n\n\t@test()\n\tprotected static async canRunTestsButSaysAtLeastOneTestIsNeeded() {\n\t\tawait this.installTests()\n\t\tconst command = this.Service('command')\n\t\tconst err = await assert.doesThrowAsync(() => command.execute('yarn test'))\n\n\t\terrorAssert.assertError(err, 'EXECUTING_COMMAND_FAILED')\n\t\t//@ts-ignore\n\t\tassert.doesInclude(err.options.stdout, /passWithNoTests/)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;;;IAEqBA,kB,WACnB,iB,UAOA,iB;;;;;;;;;;;;;yGAPD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKC,YAAL,EAFP;;cAAA;gBAGOC,IAHP,GAG2B,MAH3B;gBAAA;gBAAA,OAIO,KAAKC,wBAAL,CAA8BD,IAA9B,CAJP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;oIAOA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKD,YAAL,EAFP;;cAAA;gBAGOG,OAHP,GAGiB,KAAKC,OAAL,CAAa,SAAb,CAHjB;gBAAA;gBAAA,OAImBC,aAAOC,cAAP,CAAsB;kBAAA,OAAMH,OAAO,CAACI,OAAR,CAAgB,WAAhB,CAAN;gBAAA,CAAtB,CAJnB;;cAAA;gBAIOC,GAJP;;gBAMCC,uBAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,0BAA7B,EAND,CAOC;;;gBACAH,aAAOM,WAAP,CAAmBH,GAAG,CAACI,OAAJ,CAAYC,MAA/B,EAAuC,iBAAvC;;cARD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAR+CC,6B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"UpdatingDependencies.test.js","names":["UpdatingDependenciesTest","action","Action","assert","isFunction","execute","files","file","diskUtil","writeFile","resolvePath","promise","wait","isFalse","doesFileExist","path","dir","isTrue","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpdatingDependencies.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport UpdateDependenciesAction from '../../../features/node/actions/UpdateDependenciesAction'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\n\nexport default class UpdatingDependenciesTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'node'\n\n\tprivate static action: UpdateDependenciesAction\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.action = this.Action('node', 'updateDependencies')\n\t}\n\n\t@test()\n\tprotected static async hasUpdateAction() {\n\t\tassert.isFunction(this.action.execute)\n\t}\n\n\t@test()\n\tprotected static async removesLockFilesBeforeInstallAndAlsoCleansUpAfterInstall() {\n\t\tconst files = ['package-lock.json', 'yarn.lock']\n\t\tfor (const file of files) {\n\t\t\tdiskUtil.writeFile(this.resolvePath(file), 'not empty')\n\t\t}\n\n\t\tconst promise = this.action.execute({})\n\n\t\tawait this.wait(10)\n\n\t\tfor (const file of files) {\n\t\t\tassert.isFalse(diskUtil.doesFileExist(this.resolvePath(file)))\n\t\t}\n\n\t\tawait promise\n\n\t\tfor (const file of files) {\n\t\t\tconst path = this.resolvePath(file)\n\t\t\tassert.isFalse(diskUtil.doesFileExist(path), `Expectedly found ${path}`)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async removesAndReAddsNodeModulesFolder() {\n\t\tconst dir = this.resolvePath('node_modules')\n\n\t\tassert.isTrue(diskUtil.doesFileExist(dir))\n\n\t\tconst promise = this.action.execute({})\n\n\t\tawait this.wait(100)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(dir))\n\n\t\tawait promise\n\n\t\tassert.isTrue(diskUtil.doesFileExist(dir))\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;;;IAEqBA,wB,WAUnB,iB,UAKA,iB,UAuBA,iB;;;;;;;;;;;;;sGAjCD;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAEC,KAAKC,MAAL,GAAc,KAAKC,MAAL,CAAY,MAAZ,EAAoB,oBAApB,CAAd;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;2GAKA;QAAA;UAAA;YAAA;cAAA;gBAECC,aAAOC,UAAP,CAAkB,KAAKH,MAAL,CAAYI,OAA9B;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;oJAKA;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAEOC,KAFP,GAEe,CAAC,mBAAD,EAAsB,WAAtB,CAFf;;gBAGC,sBAAmBA,KAAnB,4BAA0B;kBAAfC,IAAe;;kBACzBC,2BAASC,SAAT,CAAmB,KAAKC,WAAL,CAAiBH,IAAjB,CAAnB,EAA2C,WAA3C;gBACA;;gBAEKI,OAPP,GAOiB,KAAKV,MAAL,CAAYI,OAAZ,CAAoB,EAApB,CAPjB;gBAAA;gBAAA,OASO,KAAKO,IAAL,CAAU,EAAV,CATP;;cAAA;gBAWC,wBAAmBN,KAAnB,+BAA0B;kBAAfC,KAAe;;kBACzBJ,aAAOU,OAAP,CAAeL,2BAASM,aAAT,CAAuB,KAAKJ,WAAL,CAAiBH,KAAjB,CAAvB,CAAf;gBACA;;gBAbF;gBAAA,OAeOI,OAfP;;cAAA;gBAiBC,wBAAmBL,KAAnB,+BAA0B;kBAAfC,MAAe;kBACnBQ,IADmB,GACZ,KAAKL,WAAL,CAAiBH,MAAjB,CADY;;kBAEzBJ,aAAOU,OAAP,CAAeL,2BAASM,aAAT,CAAuBC,IAAvB,CAAf,6BAAiEA,IAAjE;gBACA;;cApBF;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;6HAuBA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,GAFP,GAEa,KAAKN,WAAL,CAAiB,cAAjB,CAFb;;gBAICP,aAAOc,MAAP,CAAcT,2BAASM,aAAT,CAAuBE,GAAvB,CAAd;;gBAEML,OANP,GAMiB,KAAKV,MAAL,CAAYI,OAAZ,CAAoB,EAApB,CANjB;gBAAA;gBAAA,OAQO,KAAKO,IAAL,CAAU,GAAV,CARP;;cAAA;gBAUCT,aAAOU,OAAP,CAAeL,2BAASM,aAAT,CAAuBE,GAAvB,CAAf;;gBAVD;gBAAA,OAYOL,OAZP;;cAAA;gBAcCR,aAAOc,MAAP,CAAcT,2BAASM,aAAT,CAAuBE,GAAvB,CAAd;;cAdD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAtCqDE,8B,8DACpB,M"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"UpdatingDependencies2.test.js","names":["UpdateDependencies2Test","action","Action","FeatureFixture","installCachedFeatures","Service","set","path","value","skill","getFeatureInstaller","getFeature","packageDependencies","push","name","version","passedArgs","CommandService","fakeCommand","code","callback","_","args","execute","assert","doesInclude","installRandomPackage","installRandomDevPackage","devName","blocked","blockRandomPackages","loadAllDependencies","allDeps","allDevDeps","pkg","getInstalledFeatures","features","feature","featureDependencies","deps","filter","d","isDev","map","n","stripLatest","devDeps","doesNotInclude","pkgJson","readPackage","Object","keys","dependencies","devDependencies","names","length","install","blockUpgrade","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/upgrading/UpdatingDependencies2.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { random, uniq } from 'lodash'\nimport UpdateDependenciesAction from '../../../features/node/actions/UpdateDependenciesAction'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport { NpmPackage } from '../../../types/cli.types'\n\nexport default class UpdateDependencies2Test extends AbstractCliTest {\n\tprivate static action: UpdateDependenciesAction\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.action = this.Action('node', 'updateDependencies')\n\t}\n\n\t@test()\n\tprotected static async locksVersionOfDependencyWhenDependencyAlreadyInPackageJson() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tthis.Service('pkg').set({ path: 'dependencies.axios', value: '0.0.1' })\n\n\t\tconst skill = this.getFeatureInstaller().getFeature('skill')\n\t\tskill.packageDependencies.push({\n\t\t\tname: 'axios',\n\t\t\tversion: '0.21.3',\n\t\t})\n\n\t\tconst passedArgs: string[] = []\n\n\t\tCommandService.fakeCommand(/(npm|yarn).*?(install|add)/, {\n\t\t\tcode: 0,\n\t\t\tcallback: (_, args) => {\n\t\t\t\tpassedArgs.push(...args)\n\t\t\t},\n\t\t})\n\n\t\tawait this.action.execute({})\n\n\t\tassert.doesInclude(passedArgs, 'axios@0.21.3')\n\t}\n\n\t@test()\n\tprotected static async runsAddForAllDependenciesInPkgJson() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst name = await this.installRandomPackage()\n\t\tconst devName = await this.installRandomDevPackage()\n\t\tconst blocked = this.blockRandomPackages()\n\n\t\tconst { allDeps, allDevDeps } = this.loadAllDependencies(name, devName)\n\n\t\tlet passedArgs: any[] = []\n\n\t\tCommandService.fakeCommand(/(npm|yarn).*?(install|add)/, {\n\t\t\tcode: 0,\n\t\t\tcallback: (_, args) => {\n\t\t\t\tpassedArgs.push(args)\n\t\t\t},\n\t\t})\n\n\t\tawait this.action.execute({})\n\n\t\tconst pkg = this.Service('pkg')\n\t\tconst features = await this.getFeatureInstaller().getInstalledFeatures()\n\n\t\tfor (const feature of features) {\n\t\t\tconst featureDependencies = feature.packageDependencies as NpmPackage[]\n\n\t\t\tconst deps = uniq(\n\t\t\t\t[\n\t\t\t\t\t...allDeps,\n\t\t\t\t\t...featureDependencies.filter((d) => !d.isDev).map((d) => d.name),\n\t\t\t\t]\n\t\t\t\t\t.map((n) => pkg.stripLatest(n))\n\t\t\t\t\t.filter((n) => n !== blocked)\n\t\t\t)\n\n\t\t\tconst devDeps = uniq(\n\t\t\t\t[\n\t\t\t\t\t...allDevDeps,\n\t\t\t\t\t...featureDependencies.filter((d) => d.isDev).map((d) => d.name),\n\t\t\t\t]\n\t\t\t\t\t.map((n) => pkg.stripLatest(n))\n\t\t\t\t\t.filter((n) => n !== blocked)\n\t\t\t)\n\n\t\t\tfor (const d of deps) {\n\t\t\t\tassert.doesInclude(passedArgs[0], d)\n\t\t\t}\n\n\t\t\tfor (const d of devDeps) {\n\t\t\t\tassert.doesInclude(passedArgs[1], d)\n\t\t\t}\n\t\t}\n\n\t\tassert.doesNotInclude(passedArgs[0], blocked)\n\t\tassert.doesNotInclude(passedArgs[1], blocked)\n\t}\n\n\tprivate static loadAllDependencies(name: string, devName: string) {\n\t\tconst pkg = this.Service('pkg')\n\t\tconst pkgJson = pkg.readPackage()\n\t\tconst allDeps = [...(Object.keys(pkgJson.dependencies) ?? []), name]\n\t\tconst allDevDeps = [\n\t\t\t...(Object.keys(pkgJson.devDependencies) ?? []),\n\t\t\tdevName,\n\t\t]\n\t\treturn { allDeps, allDevDeps }\n\t}\n\n\tprotected static async installRandomPackage() {\n\t\tconst names = ['moment', 'lodash']\n\t\tconst name = names[random(0, names.length - 1)]\n\t\tconst pkg = this.Service('pkg')\n\t\tawait pkg.install(name)\n\n\t\treturn name\n\t}\n\n\tprotected static async installRandomDevPackage() {\n\t\tconst names = ['chalk', 'axios']\n\t\tconst name = names[random(0, names.length - 1)]\n\t\tconst pkg = this.Service('pkg')\n\t\tawait pkg.install(name, { isDev: true })\n\n\t\treturn name\n\t}\n\n\tprotected static blockRandomPackages() {\n\t\tconst names = ['@sprucelabs/error', 'typescript']\n\t\tconst name = names[random(0, names.length - 1)]\n\n\t\tthis.action.blockUpgrade(name, this.Service('pkg'))\n\t\tthis.action.blockUpgrade('random', this.Service('pkg'))\n\n\t\treturn name\n\t}\n}\n"],"mappings":"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"}
|