@sprucelabs/spruce-cli 15.2.23 → 15.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/build/.spruce/errors/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 +3 -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 +20 -20
- 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 +12 -12
- 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 +3 -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 +4 -2
- 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 +2 -2
- 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 +6 -4
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js +3 -1
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js +3 -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 +5 -3
- 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 +6 -6
- 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.d.ts +5 -0
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +242 -119
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +3 -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 +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 +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 +2 -2
- 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 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +8 -8
- 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/{UpdatingDependencies.test.d.ts → upgrading/UpdatingDependencies.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{UpdatingDependencies.test.js → upgrading/UpdatingDependencies.test.js} +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -0
- package/build/__tests__/behavioral/{UpdatingDependencies2.test.d.ts → upgrading/UpdatingDependencies2.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{UpdatingDependencies2.test.js → upgrading/UpdatingDependencies2.test.js} +4 -4
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -0
- package/build/__tests__/behavioral/{UpgradingANodeModule.test.d.ts → upgrading/UpgradingANodeModule.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{UpgradingANodeModule.test.js → upgrading/UpgradingANodeModule.test.js} +7 -7
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.d.ts +0 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.js +3 -14
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.d.ts +0 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.js +4 -13
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.d.ts +0 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.js +6 -6
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.d.ts +0 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.js +3 -3
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.d.ts +0 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.js +2 -2
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.d.ts +0 -0
- package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.js +4 -8
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -0
- package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.d.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.d.ts} +3 -3
- package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.js → upgrading/UpgradingWithSandboxFeatureInstalled.test.js} +14 -14
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -0
- 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 +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 +2 -2
- 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 +68 -35
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +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.d.ts +1 -0
- package/build/features/event/EventFeature.js +89 -56
- 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.d.ts +1 -0
- package/build/features/event/actions/ListenAction.js +23 -31
- 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 +7 -5
- package/build/features/event/stores/EventStore.js +16 -8
- 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.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.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.d.ts +1 -1
- package/build/features/store/StoreFeature.js +15 -14
- 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.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.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.d.ts +1 -1
- package/build/services/CommandService.js +2 -2
- 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.d.ts +2 -0
- package/build/tests/AbstractCliTest.js +9 -2
- 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 +8 -0
- package/build/tests/CommandFaker.js +54 -0
- package/build/tests/CommandFaker.js.map +1 -0
- 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 +9 -10
- package/build/tests/cleanTestData.js.map +1 -1
- package/build/tests/constants.d.ts +8 -0
- package/build/tests/constants.js +28 -0
- package/build/tests/constants.js.map +1 -0
- 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 +72 -72
- package/src/__tests__/behavioral/AddingADependency.test.ts +2 -1
- package/src/__tests__/behavioral/DeployingASkill.test.ts +20 -20
- package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +12 -12
- package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +2 -1
- package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +3 -2
- package/src/__tests__/behavioral/RebuildingASkill.test.ts +2 -2
- package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +3 -5
- package/src/__tests__/behavioral/RegisteringGlobalEvents.test.ts +2 -1
- package/src/__tests__/behavioral/RegisteringSkillViewOnBoot.test.ts +2 -1
- package/src/__tests__/behavioral/SettingUpASkillForTesting.test.ts +4 -3
- package/src/__tests__/behavioral/WatchingSkillViews.test.ts +6 -6
- package/src/__tests__/behavioral/events/CreatingAListener.test.ts +54 -7
- package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +2 -1
- package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +1 -1
- package/src/__tests__/behavioral/skill/CreatingASkill.test.ts +1 -1
- package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +2 -2
- package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +3 -3
- package/src/__tests__/behavioral/{UpdatingDependencies.test.ts → upgrading/UpdatingDependencies.test.ts} +2 -2
- package/src/__tests__/behavioral/{UpdatingDependencies2.test.ts → upgrading/UpdatingDependencies2.test.ts} +6 -6
- package/src/__tests__/behavioral/{UpgradingANodeModule.test.ts → upgrading/UpgradingANodeModule.test.ts} +7 -7
- package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.ts +3 -11
- package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.ts +4 -7
- package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.ts +6 -6
- package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.ts +3 -3
- package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.ts +2 -2
- package/src/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.ts +3 -5
- package/src/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.ts} +5 -5
- package/src/__tests__/implementation/ActionExecuter2.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter4.test.ts +2 -2
- package/src/__tests__/implementation/DataStoreStore.test.ts +8 -0
- package/src/__tests__/implementation/EventStore.test.ts +17 -1
- package/src/__tests__/implementation/LintService.test.ts +2 -2
- package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
- package/src/__tests__/implementation/PkgService.test.ts +4 -7
- package/src/__tests__/implementation/StoreFeature.test.ts +2 -2
- package/src/cli.ts +1 -1
- package/src/features/AbstractAction.ts +2 -2
- package/src/features/event/EventFeature.ts +14 -11
- package/src/features/event/actions/ListenAction.ts +22 -12
- package/src/features/event/builders/EventContractBuilder.ts +2 -2
- package/src/features/event/stores/EventStore.ts +28 -20
- package/src/features/event/stores/ListenerStore.ts +5 -3
- package/src/features/store/StoreFeature.ts +7 -6
- package/src/features/store/stores/StoreStore.ts +5 -1
- package/src/features/validateAndNormalize.utility.ts +2 -2
- package/src/services/CommandService.ts +1 -4
- package/src/tests/AbstractCliTest.ts +6 -1
- package/src/tests/CommandFaker.ts +24 -0
- package/src/tests/cleanTestData.ts +2 -19
- package/src/tests/constants.ts +17 -0
- package/build/__tests__/behavioral/UpdatingDependencies.test.js.map +0 -1
- package/build/__tests__/behavioral/UpdatingDependencies2.test.js.map +0 -1
- package/build/__tests__/behavioral/UpgradingANodeModule.test.js.map +0 -1
- package/build/__tests__/behavioral/UpgradingWithSandboxFeatureInstalled.test.js.map +0 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill.test.js.map +0 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js.map +0 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill3.test.js.map +0 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill4.test.js.map +0 -1
- package/build/__tests__/behavioral/skill/UpgradingASkill5.test.js.map +0 -1
- package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"CreatingANodeModule.test.js","names":["CreatingANodeModuleTest","assert","isFunction","Action","execute","CommandService","fakeCommand","RegExp","code","promise","shouldAutoHandleDependencies","destination","waitForInput","ui","sendInput","results","testUtil","assertFileByPathInGeneratedFiles","files","isFalse","diskUtil","doesFileExist","resolvePath","name","description","Service","build","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/node/CreatingANodeModule.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { 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 CreatingANodeModuleTest extends AbstractCliTest {\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tassert.isFunction(this.Action('node', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async canCreateAtDestination() {\n\t\tCommandService.fakeCommand(new RegExp(/yarn add/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t\tconst promise = this.Action('node', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t}).execute({ destination: 'new-module' })\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('new module')\n\t\tawait this.ui.sendInput('such a good description!')\n\n\t\tconst results = await promise\n\n\t\ttestUtil.assertFileByPathInGeneratedFiles(\n\t\t\t/new-module\\/package\\.json/gis,\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(this.resolvePath('package.json')))\n\t}\n\n\t@test()\n\tprotected static async canBuildNodeModule() {\n\t\tawait this.Action('node', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t}).execute({\n\t\t\tname: 'build test',\n\t\t\tdescription: 'yes!',\n\t\t})\n\n\t\tawait this.Service('build').build()\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,uB,WACnB,iB,UAKA,iB,UAuBA,iB;;;;;;;;;;;;;2GA5BD;QAAA;UAAA;YAAA;cAAA;gBAECC,aAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8BC,OAAhD;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;kHAKA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAECC,2BAAeC,WAAf,CAA2B,IAAIC,MAAJ,CAAW,YAAX,CAA3B,EAAsD;kBACrDC,IAAI,EAAE;gBAD+C,CAAtD;;gBAGMC,OALP,GAKiB,KAAKN,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8B;kBAC7CO,4BAA4B,EAAE;gBADe,CAA9B,EAEbN,OAFa,CAEL;kBAAEO,WAAW,EAAE;gBAAf,CAFK,CALjB;gBAAA;gBAAA,OASO,KAAKC,YAAL,EATP;;cAAA;gBAAA;gBAAA,OAUO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,YAAlB,CAVP;;cAAA;gBAAA;gBAAA,OAWO,KAAKD,EAAL,CAAQC,SAAR,CAAkB,0BAAlB,CAXP;;cAAA;gBAAA;gBAAA,OAauBL,OAbvB;;cAAA;gBAaOM,OAbP;;gBAeCC,kBAASC,gCAAT,CACC,gCADD,EAECF,OAAO,CAACG,KAFT;;gBAKAjB,aAAOkB,OAAP,CAAeC,2BAASC,aAAT,CAAuB,KAAKC,WAAL,CAAiB,cAAjB,CAAvB,CAAf;;cApBD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;8GAuBA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKnB,MAAL,CAAY,MAAZ,EAAoB,QAApB,EAA8B;kBACnCO,4BAA4B,EAAE;gBADK,CAA9B,EAEHN,OAFG,CAEK;kBACVmB,IAAI,EAAE,YADI;kBAEVC,WAAW,EAAE;gBAFH,CAFL,CAFP;;cAAA;gBAAA;gBAAA,OASO,KAAKC,OAAL,CAAa,OAAb,EAAsBC,KAAtB,EATP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EA7BoDC,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"StartingOnboarding.test.js","names":["TheTestEmitter","eventName","listenersByEvent","globalContract","CliGlobalEmitter","StartingOnboardingTest","assert","isFunction","Action","execute","testEmitter","TestEmitter","Cli","emitter","isTrue","hasListeners","onboardAction","onboardPromise","waitForInput","ui","sendInput","onboardingStore","Store","isEqual","getMode","createSkillAction","shouldAutoHandleDependencies","createPromise","wait","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/onboard/StartingOnboarding.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport CliGlobalEmitter, { globalContract } from '../../../GlobalEmitter'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nclass TheTestEmitter extends CliGlobalEmitter {\n\tpublic static TestEmitter() {\n\t\treturn new TheTestEmitter(globalContract)\n\t}\n\n\tpublic hasListeners(eventName: string) {\n\t\treturn !!this.listenersByEvent[eventName]\n\t}\n}\n\nexport default class StartingOnboardingTest extends AbstractCliTest {\n\t@test()\n\tprotected static async hasOnboardAction() {\n\t\tassert.isFunction(this.Action('onboard', 'onboard').execute)\n\t}\n\n\t@test()\n\tprotected static async addsCommandListeners() {\n\t\tconst testEmitter = TheTestEmitter.TestEmitter()\n\n\t\tawait this.Cli({ emitter: testEmitter })\n\n\t\tassert.isTrue(testEmitter.hasListeners('feature.will-execute'))\n\t}\n\n\t@test()\n\tprotected static async onboardingThroughSkillCreateThenShutsOff() {\n\t\tconst onboardAction = this.Action('onboard', 'onboard')\n\t\tconst onboardPromise = onboardAction.execute({})\n\n\t\t// get through first onboarding script and select short onboarding\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('\\n')\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('short')\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait onboardPromise\n\n\t\tconst onboardingStore = this.Store('onboarding')\n\t\tassert.isEqual(onboardingStore.getMode(), 'short')\n\n\t\tconst createSkillAction = this.Action('skill', 'create', {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t})\n\n\t\tconst createPromise = createSkillAction.execute({})\n\n\t\t// create skill confirmation\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('\\n')\n\n\t\tawait this.wait(100)\n\n\t\t// install skill\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('my new skill')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('a description')\n\n\t\tawait createPromise\n\n\t\t//should still be on (will turn off after test reporter boots)\n\t\tassert.isEqual(onboardingStore.getMode(), 'short')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;IAEMA,c;;;;;;;;;;;;WAKL,sBAAoBC,SAApB,EAAuC;MACtC,OAAO,CAAC,CAAC,KAAKC,gBAAL,CAAsBD,SAAtB,CAAT;IACA;;;WAND,uBAA4B;MAC3B,OAAO,IAAID,cAAJ,CAAmBG,6BAAnB,CAAP;IACA;;;EAH2BC,yB;;IAURC,sB,WACnB,iB,UAKA,iB,UASA,iB;;;;;;;;;;;;;4GAdD;QAAA;UAAA;YAAA;cAAA;gBAECC,aAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,SAAZ,EAAuB,SAAvB,EAAkCC,OAApD;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;gHAKA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,WAFP,GAEqBV,cAAc,CAACW,WAAf,EAFrB;gBAAA;gBAAA,OAIO,KAAKC,GAAL,CAAS;kBAAEC,OAAO,EAAEH;gBAAX,CAAT,CAJP;;cAAA;gBAMCJ,aAAOQ,MAAP,CAAcJ,WAAW,CAACK,YAAZ,CAAyB,sBAAzB,CAAd;;cAND;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;oIASA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,aAFP,GAEuB,KAAKR,MAAL,CAAY,SAAZ,EAAuB,SAAvB,CAFvB;gBAGOS,cAHP,GAGwBD,aAAa,CAACP,OAAd,CAAsB,EAAtB,CAHxB,EAKC;;gBALD;gBAAA,OAMO,KAAKS,YAAL,EANP;;cAAA;gBAAA;gBAAA,OAOO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,IAAlB,CAPP;;cAAA;gBAAA;gBAAA,OAQO,KAAKF,YAAL,EARP;;cAAA;gBAAA;gBAAA,OASO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,OAAlB,CATP;;cAAA;gBAAA;gBAAA,OAUO,KAAKF,YAAL,EAVP;;cAAA;gBAAA;gBAAA,OAWO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,IAAlB,CAXP;;cAAA;gBAAA;gBAAA,OAaOH,cAbP;;cAAA;gBAeOI,eAfP,GAeyB,KAAKC,KAAL,CAAW,YAAX,CAfzB;;gBAgBChB,aAAOiB,OAAP,CAAeF,eAAe,CAACG,OAAhB,EAAf,EAA0C,OAA1C;;gBAEMC,iBAlBP,GAkB2B,KAAKjB,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+B;kBACxDkB,4BAA4B,EAAE;gBAD0B,CAA/B,CAlB3B;gBAsBOC,aAtBP,GAsBuBF,iBAAiB,CAAChB,OAAlB,CAA0B,EAA1B,CAtBvB,EAwBC;;gBAxBD;gBAAA,OAyBO,KAAKS,YAAL,EAzBP;;cAAA;gBAAA;gBAAA,OA0BO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,IAAlB,CA1BP;;cAAA;gBAAA;gBAAA,OA4BO,KAAKQ,IAAL,CAAU,GAAV,CA5BP;;cAAA;gBAAA;gBAAA,OA+BO,KAAKV,YAAL,EA/BP;;cAAA;gBAAA;gBAAA,OAiCO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,cAAlB,CAjCP;;cAAA;gBAAA;gBAAA,OAmCO,KAAKF,YAAL,EAnCP;;cAAA;gBAAA;gBAAA,OAqCO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,eAAlB,CArCP;;cAAA;gBAAA;gBAAA,OAuCOO,aAvCP;;cAAA;gBAyCC;gBACArB,aAAOiB,OAAP,CAAeF,eAAe,CAACG,OAAhB,EAAf,EAA0C,OAA1C;;cA1CD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAfmDK,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"CreatingAnOrg.test.js","names":["CreatingAnOrgTest","Cli","assert","isFunction","Action","execute","slug","Date","getTime","FeatureFixture","installCachedFeatures","people","loginAsDemoPerson","nameReadable","nameKebab","results","isFalsy","errors","meta","organization","isTruthy","connectToApi","client","emit","target","organizationId","id","orgResults","eventResponseUtil","getFirstResponseOrThrow","getOrganization","isEqual","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/organization/CreatingAnOrg.test.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class CreatingAnOrgTest extends AbstractCliTest {\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('organization', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async createsAnOrg() {\n\t\tconst slug = `my-org-${new Date().getTime()}`\n\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.people.loginAsDemoPerson()\n\n\t\tconst results = await this.Action('organization', 'create').execute({\n\t\t\tnameReadable: 'My new org',\n\t\t\tnameKebab: slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst { organization } = results.meta ?? {}\n\n\t\tassert.isTruthy(organization)\n\n\t\tconst client = await this.connectToApi()\n\n\t\tconst orgResults = await client.emit('get-organization::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\torganizationId: organization.id,\n\t\t\t},\n\t\t})\n\n\t\tconst { organization: getOrganization } =\n\t\t\teventResponseUtil.getFirstResponseOrThrow(orgResults)\n\n\t\tassert.isEqual(getOrganization.slug, slug)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,iB,WACnB,iB,UAMA,iB;;;;;;;;;;;;;2GAND;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKC,GAAL,EAFP;;cAAA;gBAGCC,aAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,cAAZ,EAA4B,QAA5B,EAAsCC,OAAxD;;cAHD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wGAMA;QAAA;;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAEOC,IAFP,oBAEwB,IAAIC,IAAJ,GAAWC,OAAX,EAFxB;gBAAA;gBAAA,OAIO,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4C,eAA5C,CAJP;;cAAA;gBAAA;gBAAA,OAMO,KAAKC,MAAL,CAAYC,iBAAZ,EANP;;cAAA;gBAAA;gBAAA,OAQuB,KAAKR,MAAL,CAAY,cAAZ,EAA4B,QAA5B,EAAsCC,OAAtC,CAA8C;kBACnEQ,YAAY,EAAE,YADqD;kBAEnEC,SAAS,EAAER;gBAFwD,CAA9C,CARvB;;cAAA;gBAQOS,OARP;;gBAaCb,aAAOc,OAAP,CAAeD,OAAO,CAACE,MAAvB;;gBAbD,wBAe0BF,OAAO,CAACG,IAflC,yDAe0C,EAf1C,EAeSC,YAfT,QAeSA,YAfT;;gBAiBCjB,aAAOkB,QAAP,CAAgBD,YAAhB;;gBAjBD;gBAAA,OAmBsB,KAAKE,YAAL,EAnBtB;;cAAA;gBAmBOC,MAnBP;gBAAA;gBAAA,OAqB0BA,MAAM,CAACC,IAAP,CAAY,+BAAZ,EAA6C;kBACrEC,MAAM,EAAE;oBACPC,cAAc,EAAEN,YAAY,CAACO;kBADtB;gBAD6D,CAA7C,CArB1B;;cAAA;gBAqBOC,UArBP;gBAAA,wBA4BEC,oCAAkBC,uBAAlB,CAA0CF,UAA1C,CA5BF,EA2BuBG,eA3BvB,yBA2BSX,YA3BT;;gBA8BCjB,aAAO6B,OAAP,CAAeD,eAAe,CAACxB,IAA/B,EAAqCA,IAArC;;cA9BD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAP8C0B,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"LoggingInAsPerson.test.js","names":["LoggingInAsPersonTest","test","skip","Cli","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","phone","DEMO_NUMBER","waitForInput","doesInclude","ui","invocations","command","options","type","reset","sendInput","installSkillAndLoginAsDemoPerson","person","Service","getLoggedInPerson","isTruthy","isString","id","token","isTrue","isLoggedIn","results","errors","isLength","errorAssert","assertError","isFalsy","isNull","setLoggedInPerson","casualName","loginAsPerson","cli","promise","substr","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/person/LoggingInAsPerson.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport { DEMO_NUMBER } from '../../../tests/fixtures/PersonFixture'\n\nexport default class LoggingInAsPersonTest extends AbstractCliTest {\n\t@test()\n\tprotected static async hasLoginAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('person', 'login').execute)\n\t}\n\n\t@test()\n\tprotected static async asksForPinWithoutBeingInstalled() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tvoid this.Action('person', 'login').execute({\n\t\t\tphone: DEMO_NUMBER,\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.invocations, {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test.skip('enable when there are demo numbers that throw with bad pin')\n\tprotected static async badPinRendersWarningAndAsksForPinAgain() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tvoid this.Action('person', 'login').execute({\n\t\t\tphone: DEMO_NUMBER,\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('0000')\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.invocations, {\n\t\t\tcommand: 'renderWarning',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.invocations, {\n\t\t\tcommand: 'prompt',\n\t\t\toptions: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async canLoginAsDemoPerson() {\n\t\tawait this.installSkillAndLoginAsDemoPerson()\n\n\t\tconst person = this.Service('auth').getLoggedInPerson()\n\n\t\tassert.isTruthy(person)\n\t\tassert.isString(person.id)\n\t\tassert.isString(person.token)\n\t\tassert.isTrue(person.isLoggedIn)\n\t}\n\n\t@test()\n\tprotected static async cantLogoutWithoutBeingLoggedIn() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\t\tconst results = await this.Action('person', 'logout').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\n\t\terrorAssert.assertError(results.errors[0], 'NOT_LOGGED_IN')\n\t}\n\n\t@test()\n\tprotected static async canLogOut() {\n\t\tawait this.installSkillAndLoginAsDemoPerson()\n\n\t\tconst results = await this.Action('person', 'logout').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst person = this.Service('auth').getLoggedInPerson()\n\n\t\tassert.isNull(person)\n\t}\n\n\t@test()\n\tprotected static async canLogInWithExpiredPinWithouHavingToLogOutFirst() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tthis.Service('auth').setLoggedInPerson({\n\t\t\ttoken: '234',\n\t\t\tid: 'test',\n\t\t\tcasualName: 'casual test',\n\t\t})\n\n\t\tawait this.loginAsPerson()\n\t}\n\n\tprivate static async installSkillAndLoginAsDemoPerson() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tawait this.loginAsPerson()\n\n\t\treturn cli\n\t}\n\n\tprivate static async loginAsPerson() {\n\t\tconst promise = this.Action('person', 'login').execute({\n\t\t\tphone: DEMO_NUMBER,\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput(DEMO_NUMBER.substr(-4))\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"SeeWhoIsLoggedIn.test.js","names":["SeeWhoIsLoggedInTest","Cli","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","results","isFalsy","errors","doesInclude","summaryLines","people","loginAsDemoPerson","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class SeeWhoIsLoggedInTest extends AbstractCliTest {\n\t@test()\n\tprotected static async hasWhoAmIAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('person', 'whoami').execute)\n\t}\n\n\t@test()\n\tprotected static async noOneIsLoggedInToStart() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst results = await this.Action('person', 'whoami').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.doesInclude(results.summaryLines, 'not logged in')\n\t}\n\n\t@test()\n\tprotected static async canSeeWhoIsLoggedIn() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\t\tawait this.people.loginAsDemoPerson()\n\n\t\tconst results = await this.Action('person', 'whoami').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.doesInclude(results.summaryLines, 'logged in as')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;IAEqBA,oB,WACnB,iB,UAMA,iB,UAUA,iB;;;;;;;;;;;;;2GAhBD;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKC,GAAL,EAFP;;cAAA;gBAGCC,aAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,QAAZ,EAAsB,QAAtB,EAAgCC,OAAlD;;cAHD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;kHAMA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;cAAA;gBAAA;gBAAA,OAIuB,KAAKH,MAAL,CAAY,QAAZ,EAAsB,QAAtB,EAAgCC,OAAhC,CAAwC,EAAxC,CAJvB;;cAAA;gBAIOG,OAJP;;gBAMCN,aAAOO,OAAP,CAAeD,OAAO,CAACE,MAAvB;;gBACAR,aAAOS,WAAP,CAAmBH,OAAO,CAACI,YAA3B,EAAyC,eAAzC;;cAPD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;+GAUA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKN,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;cAAA;gBAAA;gBAAA,OAGO,KAAKM,MAAL,CAAYC,iBAAZ,EAHP;;cAAA;gBAAA;gBAAA,OAKuB,KAAKV,MAAL,CAAY,QAAZ,EAAsB,QAAtB,EAAgCC,OAAhC,CAAwC,EAAxC,CALvB;;cAAA;gBAKOG,OALP;;gBAOCN,aAAOO,OAAP,CAAeD,OAAO,CAACE,MAAvB;;gBACAR,aAAOS,WAAP,CAAmBH,OAAO,CAACI,YAA3B,EAAyC,cAAzC;;cARD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAjBiDG,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts"],"names":["CreatingANewSchemaBuilderTest","Cli","assert","doesThrowAsync","Action","execute","nameReadable","namePascal","nameCamel","description","err","errorAssert","assertError","syncSchemasAndGetCreateAction","createSchema","response","isFalsy","errors","expectedDestination","versionUtil","resolveNewLatestPath","cwd","isEqual","files","path","cacheKey","syncSchemas","buildTestSchema","checker","Service","check","schemaTypesFile","builderMatch","testUtil","assertFileByNameInGeneratedFiles","schemaMatch","schemaContents","diskUtil","readFile","doesInclude","action","version","results","isTruthy","message","firstResponse","validateSchemaFiles","secondResponse","newVersion","generateVersion","assertAnswersFirstTime","assertAnswersSecondTime","createPromise","wait","last","ui","invocations","length","command","isLength","options","choices","isEqualDeep","value","dirValue","label","sendInput","term","createResults","expectedFileName","expectedVersion","expectedSchemaInterfaceName","isUndefined","schemaFile","fail","friendlyMessage","RegExp","AbstractSchemaTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAMA;;AACA;;;;;;;;IAEqBA,6B,WACnB,iB,UAeA,iB,UA+BA,iB,UA0BA,iB,UAeA,iB,UAwCA,iB;;;;;;;;;;;;;yHA/HD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,GAAL,EAFP;;AAAA;AAAA;AAAA,uBAGmBC,aAAOC,cAAP,CAAsB;AAAA,yBACvC,KAAI,CAACC,MAAL,CAAY,QAAZ,EAAsB,QAAtB,EAAgCC,OAAhC,CAAwC;AACvCC,oBAAAA,YAAY,EAAE,cADyB;AAEvCC,oBAAAA,UAAU,EAAE,aAF2B;AAGvCC,oBAAAA,SAAS,EAAE,aAH4B;AAIvCC,oBAAAA,WAAW,EAAE;AAJ0B,mBAAxC,CADuC;AAAA,iBAAtB,CAHnB;;AAAA;AAGOC,gBAAAA,GAHP;;AAYCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,uBAA7B;;AAZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uHAeA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAE4B,KAAKG,6BAAL,CAAmC,SAAnC,CAF5B;;AAAA;AAEOC,gBAAAA,YAFP;AAAA;AAAA,uBAIwBA,YAAY,CAACT,OAAb,CAAqB;AAC3CC,kBAAAA,YAAY,EAAE,cAD6B;AAE3CC,kBAAAA,UAAU,EAAE,MAF+B;AAG3CC,kBAAAA,SAAS,EAAE,MAHgC;AAI3CC,kBAAAA,WAAW,EAAE;AAJ8B,iBAArB,CAJxB;;AAAA;AAIOM,gBAAAA,QAJP;;AAWCb,6BAAOc,OAAP,CAAeD,QAAQ,CAACE,MAAxB;;AAEMC,gBAAAA,mBAbP,GAa6BC,8BAAYC,oBAAZ,CAC3B,KAAKC,GADsB,EAE3B,KAF2B,EAG3B,SAH2B,EAI3B,aAJ2B,EAK3B,iBAL2B,CAb7B;;AAqBCnB,6BAAOoB,OAAP,oBAAeP,QAAQ,CAACQ,KAAxB,oDAAe,gBAAiB,CAAjB,EAAoBC,IAAnC,EAAyCN,mBAAzC;;AArBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yHAwBA,kBAAmDO,QAAnD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACO,KAAKC,WAAL,CAAiBD,QAAjB,CADP;;AAAA;AAEOX,gBAAAA,YAFP,GAEsB,KAAKV,MAAL,CAAY,QAAZ,EAAsB,QAAtB,CAFtB;AAAA,kDAIQU,YAJR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yHAOA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEwB,KAAKa,eAAL,EAFxB;;AAAA;AAEOZ,gBAAAA,QAFP;AAIOa,gBAAAA,OAJP,GAIiB,KAAKC,OAAL,CAAa,aAAb,CAJjB;AAAA;AAAA,uBAMOD,OAAO,CAACE,KAAR,8CAAcf,QAAQ,CAACQ,KAAvB,qDAAc,iBAAiB,CAAjB,EAAoBC,IAAlC,yEAA0C,EAA1C,CANP;;AAAA;AAAA;AAAA,uBAOOI,OAAO,CAACE,KAAR,CAAc,KAAKC,eAAnB,CAPP;;AAAA;AASOC,gBAAAA,YATP,GASsBC,kBAASC,gCAAT,CACpB,wBADoB,EAEpBnB,QAAQ,CAACQ,KAFW,CATtB;AAAA;AAAA,uBAcOK,OAAO,CAACE,KAAR,CAAcE,YAAd,CAdP;;AAAA;AAeOG,gBAAAA,WAfP,GAeqBF,kBAASC,gCAAT,CACnB,uBADmB,EAEnBnB,QAAQ,CAACQ,KAFU,CAfrB;AAAA;AAAA,uBAoBOK,OAAO,CAACE,KAAR,CAAcK,WAAd,CApBP;;AAAA;AAsBOC,gBAAAA,cAtBP,GAsBwBC,2BAASC,QAAT,CAAkBH,WAAlB,CAtBxB;;AAuBCjC,6BAAOqC,WAAP,CAAmBH,cAAnB;;AAvBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gHA0BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEsB,KAAKvB,6BAAL,CAAmC,SAAnC,CAFtB;;AAAA;AAEO2B,gBAAAA,MAFP;AAAA;AAAA,uBAIuBA,MAAM,CAACnC,OAAP,CAAe;AACpCC,kBAAAA,YAAY,EAAE,qBADsB;AAEpCC,kBAAAA,UAAU,EAAE,kBAFwB;AAGpCC,kBAAAA,SAAS,EAAE,kBAHyB;AAIpCiC,kBAAAA,OAAO,EAAE;AAJ2B,iBAAf,CAJvB;;AAAA;AAIOC,gBAAAA,OAJP;;AAWCxC,6BAAOyC,QAAP,CAAgBD,OAAO,CAACzB,MAAxB;;AACAf,6BAAOqC,WAAP,CAAmBG,OAAO,CAACzB,MAAR,CAAe,CAAf,EAAkB2B,OAArC,EAA8C,sBAA9C;;AAZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;qHAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEsB,KAAK/B,6BAAL,CAAmC,SAAnC,CAFtB;;AAAA;AAEO2B,gBAAAA,MAFP;AAAA;AAAA,uBAI6BA,MAAM,CAACnC,OAAP,CAAe;AAC1CC,kBAAAA,YAAY,EAAE,eAD4B;AAE1CC,kBAAAA,UAAU,EAAE,aAF8B;AAG1CC,kBAAAA,SAAS,EAAE,aAH+B;AAI1CiC,kBAAAA,OAAO,EAAE;AAJiC,iBAAf,CAJ7B;;AAAA;AAIOI,gBAAAA,aAJP;AAWC,qBAAKC,mBAAL,CACCD,aADD,EAEC,uBAFD,EAGC,aAHD,EAIC,aAJD;AAXD;AAAA,uBAkB8BL,MAAM,CAACnC,OAAP,CAAe;AAC3CC,kBAAAA,YAAY,EAAE,gBAD6B;AAE3CC,kBAAAA,UAAU,EAAE,cAF+B;AAG3CC,kBAAAA,SAAS,EAAE,cAHgC;AAI3CiC,kBAAAA,OAAO,EAAE;AAJkC,iBAAf,CAlB9B;;AAAA;AAkBOM,gBAAAA,cAlBP;AAyBC,qBAAKD,mBAAL,CACCC,cADD,EAEC,wBAFD,EAGC,aAHD,EAIC,cAJD;AAOA,qBAAKD,mBAAL,CACCC,cADD,EAEC,uBAFD,EAGC,aAHD,EAIC,aAJD;;AAhCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wHAwCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEsB,KAAKlC,6BAAL,CAAmC,SAAnC,CAFtB;;AAAA;AAEO2B,gBAAAA,MAFP;AAIOQ,gBAAAA,UAJP,GAIoB7B,8BAAY8B,eAAZ,EAJpB,EAMC;;AAND;AAAA,uBAOOT,MAAM,CAACnC,OAAP,CAAe;AACpBC,kBAAAA,YAAY,EAAE,eADM;AAEpBC,kBAAAA,UAAU,EAAE,aAFQ;AAGpBC,kBAAAA,SAAS,EAAE,aAHS;AAIpBiC,kBAAAA,OAAO,EAAE;AAJW,iBAAf,CAPP;;AAAA;AAAA;AAAA,uBAcO,KAAKS,sBAAL,CAA4BV,MAA5B,EAAoCQ,UAApC,CAdP;;AAAA;AAAA;AAAA,uBAeO,KAAKG,uBAAL,CAA6BX,MAA7B,EAAqCQ,UAArC,CAfP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;QAkBA;;;;;kHACA,kBACCR,MADD,EAECQ,UAFD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIOI,gBAAAA,aAJP,GAIuBZ,MAAM,CAACnC,OAAP,CAAe;AACpCC,kBAAAA,YAAY,EAAE,gBADsB;AAEpCC,kBAAAA,UAAU,EAAE,cAFwB;AAGpCC,kBAAAA,SAAS,EAAE;AAHyB,iBAAf,CAJvB;AAAA;AAAA,uBAUO,KAAK6C,IAAL,CAAU,IAAV,CAVP;;AAAA;AAWOC,gBAAAA,IAXP,GAWc,KAAKC,EAAL,CAAQC,WAAR,CAAoB,KAAKD,EAAL,CAAQC,WAAR,CAAoBC,MAApB,GAA6B,CAAjD,CAXd;;AAaCvD,6BAAOoB,OAAP,CAAegC,IAAf,aAAeA,IAAf,uBAAeA,IAAI,CAAEI,OAArB,EAA8B,QAA9B;;AACAxD,6BAAOyD,QAAP,CAAgBL,IAAhB,aAAgBA,IAAhB,wCAAgBA,IAAI,CAAEM,OAAtB,2EAAgB,cAAeA,OAA/B,0DAAgB,sBAAwBC,OAAxC,EAAiD,CAAjD;;AACA3D,6BAAO4D,WAAP,CAAmBR,IAAnB,aAAmBA,IAAnB,yCAAmBA,IAAI,CAAEM,OAAzB,4EAAmB,eAAeA,OAAlC,0DAAmB,sBAAwBC,OAA3C,EAAoD,CACnD;AACCE,kBAAAA,KAAK,EAAEf,UAAU,CAACgB,QADnB;AAECC,kBAAAA,KAAK,EAAE;AAFR,iBADmD,EAKnD;AACCF,kBAAAA,KAAK,EAAE,aADR;AAECE,kBAAAA,KAAK,EAAE;AAFR,iBALmD,CAApD;;AAfD;AAAA,uBA0BO,KAAKV,EAAL,CAAQW,SAAR,CAAkBlB,UAAU,CAACgB,QAA7B,CA1BP;;AAAA;AAAA;AAAA,uBA2BOZ,aA3BP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;QA8BA;;;;;mHACA,kBACCZ,MADD,EAECQ,UAFD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIOI,gBAAAA,aAJP,GAIuBZ,MAAM,CAACnC,OAAP,CAAe;AACpCC,kBAAAA,YAAY,EAAE,cADsB;AAEpCC,kBAAAA,UAAU,EAAE,aAFwB;AAGpCC,kBAAAA,SAAS,EAAE;AAHyB,iBAAf,CAJvB;AAAA;AAAA,uBAUO,KAAK6C,IAAL,CAAU,IAAV,CAVP;;AAAA;AAWOc,gBAAAA,IAXP,GAWc,KAAKZ,EAXnB;AAYOD,gBAAAA,IAZP,GAYca,IAAI,CAACX,WAAL,CAAiBW,IAAI,CAACX,WAAL,CAAiBC,MAAjB,GAA0B,CAA3C,CAZd;;AAcCvD,6BAAO4D,WAAP,CAAmBR,IAAnB,aAAmBA,IAAnB,yCAAmBA,IAAI,CAAEM,OAAzB,4EAAmB,eAAeA,OAAlC,0DAAmB,sBAAwBC,OAA3C,EAAoD,CACnD;AACCE,kBAAAA,KAAK,EAAEf,UAAU,CAACgB,QADnB;AAECC,kBAAAA,KAAK,EAAEjB,UAAU,CAACgB;AAFnB,iBADmD,EAKnD;AACCD,kBAAAA,KAAK,EAAE,aADR;AAECE,kBAAAA,KAAK,EAAE;AAFR,iBALmD,CAApD,EAdD,CAyBC;;;AACA,qBAAKV,EAAL,CAAQW,SAAR,CAAkBlB,UAAU,CAACgB,QAA7B;AA1BD;AAAA,uBA4B6BZ,aA5B7B;;AAAA;AA4BOgB,gBAAAA,aA5BP;AA8BOjC,gBAAAA,WA9BP,GA8BqBF,kBAASC,gCAAT,CACnB,wBADmB,EAEnBkC,aAAa,CAAC7C,KAFK,CA9BrB;;AAmCCrB,6BAAOqC,WAAP,CAAmBJ,WAAnB,EAAgCa,UAAU,CAACgB,QAA3C;;AAnCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAsCA,6BACCjD,QADD,EAECsD,gBAFD,EAGCC,eAHD,EAICC,2BAJD,EAKE;AAAA;;AACDrE,mBAAOsE,WAAP,CAAmBzD,QAAQ,CAACE,MAA5B;;AAEA,UAAIwD,UAAU,GAAGxC,kBAASC,gCAAT,CAChBmC,gBADgB,EAEhBtD,QAAQ,CAACQ,KAFO,CAAjB;;AAKA,UAAMN,MAAM,uBAAGF,QAAQ,CAACE,MAAZ,+DAAsB,EAAlC;;AACA,UAAIA,MAAM,CAACwC,MAAP,GAAgB,CAApB,EAAuB;AACtBvD,qBAAOwE,IAAP,CAAYzD,MAAM,CAAC,CAAD,CAAN,CAAU0D,eAAV,EAAZ;AACA;;AAEDzE,mBAAOqC,WAAP,CAAmBkC,UAAnB,EAA+BH,eAA/B;;AACA,UAAMlC,cAAc,GAAGC,2BAASC,QAAT,CAAkBmC,UAAlB,CAAvB;;AAEAvE,mBAAOqC,WAAP,CAAmBH,cAAnB,sBAAgDkC,eAAhD;;AAEApE,mBAAOqC,WAAP,CACCH,cADD,EAEC,IAAIwC,MAAJ,CACC,kCACCN,eADD,GAEC,KAFD,GAGCC,2BAJF,EAKC,KALD,CAFD;AAUA;;;;2GAED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACsB,KAAK1D,6BAAL,CAAmC,SAAnC,CADtB;;AAAA;AACO2B,gBAAAA,MADP;AAAA;AAAA,uBAGwBA,MAAM,CAACnC,OAAP,CAAe;AACrCC,kBAAAA,YAAY,EAAE,cADuB;AAErCC,kBAAAA,UAAU,EAAE,aAFyB;AAGrCC,kBAAAA,SAAS,EAAE,aAH0B;AAIrCC,kBAAAA,WAAW,EAAE;AAJwB,iBAAf,CAHxB;;AAAA;AAGOM,gBAAAA,QAHP;;AAUCb,6BAAOsE,WAAP,CAAmBzD,QAAQ,CAACE,MAA5B;;AAVD,mDAYQF,QAZR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA3P0D8D,+B","sourcesContent":["import { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport {\n\tFeatureActionResponse,\n\tFeatureAction,\n} from '../../../features/features.types'\nimport SpyInterface from '../../../interfaces/SpyInterface'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingANewSchemaBuilderTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async failsWhenASkillIsNotInstalled() {\n\t\tawait this.Cli()\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Action('schema', 'create').execute({\n\t\t\t\tnameReadable: 'Test schema!',\n\t\t\t\tnamePascal: 'AnotherTest',\n\t\t\t\tnameCamel: 'anotherTest',\n\t\t\t\tdescription: 'this is so great!',\n\t\t\t})\n\t\t)\n\n\t\terrorAssert.assertError(err, 'FEATURE_NOT_INSTALLED')\n\t}\n\n\t@test()\n\tprotected static async canBuildFileWithoutCrashing() {\n\t\tconst createSchema = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst response = await createSchema.execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'Test',\n\t\t\tnameCamel: 'test',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tassert.isFalsy(response.errors)\n\n\t\tconst expectedDestination = versionUtil.resolveNewLatestPath(\n\t\t\tthis.cwd,\n\t\t\t'src',\n\t\t\t'schemas',\n\t\t\t'{{@latest}}',\n\t\t\t'test.builder.ts'\n\t\t)\n\n\t\tassert.isEqual(response.files?.[0].path, expectedDestination)\n\t}\n\n\tprivate static async syncSchemasAndGetCreateAction(cacheKey?: string) {\n\t\tawait this.syncSchemas(cacheKey)\n\t\tconst createSchema = this.Action('schema', 'create')\n\n\t\treturn createSchema\n\t}\n\n\t@test()\n\tprotected static async builderAndSchemaFilesValidate() {\n\t\tconst response = await this.buildTestSchema()\n\n\t\tconst checker = this.Service('typeChecker')\n\n\t\tawait checker.check(response.files?.[0].path ?? '')\n\t\tawait checker.check(this.schemaTypesFile)\n\n\t\tconst builderMatch = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'anotherTest.builder.ts',\n\t\t\tresponse.files\n\t\t)\n\n\t\tawait checker.check(builderMatch)\n\t\tconst schemaMatch = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'anotherTest.schema.ts',\n\t\t\tresponse.files\n\t\t)\n\n\t\tawait checker.check(schemaMatch)\n\n\t\tconst schemaContents = diskUtil.readFile(schemaMatch)\n\t\tassert.doesInclude(schemaContents, `namespace: 'TestingSchemas'`)\n\t}\n\n\t@test()\n\tprotected static async errorsWithBadVersion() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst results = await action.execute({\n\t\t\tnameReadable: 'Bad schema version!',\n\t\t\tnamePascal: 'BadSchemaVersion',\n\t\t\tnameCamel: 'badSchemaVersion',\n\t\t\tversion: 'v1',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, /must be in the form/i)\n\t}\n\n\t@test()\n\tprotected static async canBuild2SpecificVersions() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst firstResponse = await action.execute({\n\t\t\tnameReadable: 'First schema!',\n\t\t\tnamePascal: 'FirstSchema',\n\t\t\tnameCamel: 'firstSchema',\n\t\t\tversion: 'v2020_01_10',\n\t\t})\n\n\t\tthis.validateSchemaFiles(\n\t\t\tfirstResponse,\n\t\t\t'firstSchema.schema.ts',\n\t\t\t'v2020_01_10',\n\t\t\t'FirstSchema'\n\t\t)\n\n\t\tconst secondResponse = await action.execute({\n\t\t\tnameReadable: 'Second schema!',\n\t\t\tnamePascal: 'secondSchema',\n\t\t\tnameCamel: 'secondSchema',\n\t\t\tversion: 'v2020_01_11',\n\t\t})\n\n\t\tthis.validateSchemaFiles(\n\t\t\tsecondResponse,\n\t\t\t'secondSchema.schema.ts',\n\t\t\t'v2020_01_11',\n\t\t\t'SecondSchema'\n\t\t)\n\n\t\tthis.validateSchemaFiles(\n\t\t\tsecondResponse,\n\t\t\t'firstSchema.schema.ts',\n\t\t\t'v2020_01_10',\n\t\t\t'FirstSchema'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async asksForVersionOnSecondSchema() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst newVersion = versionUtil.generateVersion()\n\n\t\t// create old version first\n\t\tawait action.execute({\n\t\t\tnameReadable: 'First schema!',\n\t\t\tnamePascal: 'FirstSchema',\n\t\t\tnameCamel: 'firstSchema',\n\t\t\tversion: 'v2020_01_01',\n\t\t})\n\n\t\tawait this.assertAnswersFirstTime(action, newVersion)\n\t\tawait this.assertAnswersSecondTime(action, newVersion)\n\t}\n\n\t// should ask if we want to use the old version we created above or a New Version\n\tprivate static async assertAnswersFirstTime(\n\t\taction: FeatureAction,\n\t\tnewVersion: { intValue: number; constValue: string; dirValue: string }\n\t) {\n\t\tconst createPromise = action.execute({\n\t\t\tnameReadable: 'Second schema!',\n\t\t\tnamePascal: 'SecondSchema',\n\t\t\tnameCamel: 'secondSchema',\n\t\t})\n\n\t\tawait this.wait(1000)\n\t\tconst last = this.ui.invocations[this.ui.invocations.length - 1]\n\n\t\tassert.isEqual(last?.command, 'prompt')\n\t\tassert.isLength(last?.options?.options?.choices, 2)\n\t\tassert.isEqualDeep(last?.options?.options?.choices, [\n\t\t\t{\n\t\t\t\tvalue: newVersion.dirValue,\n\t\t\t\tlabel: 'New Version',\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'v2020_01_01',\n\t\t\t\tlabel: 'v2020_01_01',\n\t\t\t},\n\t\t])\n\n\t\tawait this.ui.sendInput(newVersion.dirValue)\n\t\tawait createPromise\n\t}\n\n\t// should only have 2 options, none of which are \"new version\" since that was created in secondAnswers\n\tprivate static async assertAnswersSecondTime(\n\t\taction: FeatureAction,\n\t\tnewVersion: { intValue: number; constValue: string; dirValue: string }\n\t) {\n\t\tconst createPromise = action.execute({\n\t\t\tnameReadable: 'Third schema',\n\t\t\tnamePascal: 'ThirdSchema',\n\t\t\tnameCamel: 'thirdSchema',\n\t\t})\n\n\t\tawait this.wait(1000)\n\t\tconst term = this.ui as SpyInterface\n\t\tconst last = term.invocations[term.invocations.length - 1]\n\n\t\tassert.isEqualDeep(last?.options?.options?.choices, [\n\t\t\t{\n\t\t\t\tvalue: newVersion.dirValue,\n\t\t\t\tlabel: newVersion.dirValue,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'v2020_01_01',\n\t\t\t\tlabel: 'v2020_01_01',\n\t\t\t},\n\t\t])\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-floating-promises\n\t\tthis.ui.sendInput(newVersion.dirValue)\n\n\t\tconst createResults = await createPromise\n\n\t\tconst schemaMatch = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'secondSchema.schema.ts',\n\t\t\tcreateResults.files\n\t\t)\n\n\t\tassert.doesInclude(schemaMatch, newVersion.dirValue)\n\t}\n\n\tprivate static validateSchemaFiles(\n\t\tresponse: FeatureActionResponse,\n\t\texpectedFileName: string,\n\t\texpectedVersion: string,\n\t\texpectedSchemaInterfaceName: string\n\t) {\n\t\tassert.isUndefined(response.errors)\n\n\t\tlet schemaFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\texpectedFileName,\n\t\t\tresponse.files\n\t\t)\n\n\t\tconst errors = response.errors ?? []\n\t\tif (errors.length > 0) {\n\t\t\tassert.fail(errors[0].friendlyMessage())\n\t\t}\n\n\t\tassert.doesInclude(schemaFile, expectedVersion)\n\t\tconst schemaContents = diskUtil.readFile(schemaFile)\n\n\t\tassert.doesInclude(schemaContents, `version: '${expectedVersion}'`)\n\n\t\tassert.doesInclude(\n\t\t\tschemaContents,\n\t\t\tnew RegExp(\n\t\t\t\t'SpruceSchemas.TestingSchemas.' +\n\t\t\t\t\texpectedVersion +\n\t\t\t\t\t'.*?' +\n\t\t\t\t\texpectedSchemaInterfaceName,\n\t\t\t\t'gis'\n\t\t\t)\n\t\t)\n\t}\n\n\tprivate static async buildTestSchema() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst response = await action.execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'AnotherTest',\n\t\t\tnameCamel: 'anotherTest',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tassert.isUndefined(response.errors)\n\n\t\treturn response\n\t}\n}\n"],"file":"CreatingANewSchemaBuilder.test.js"}
|
|
1
|
+
{"version":3,"file":"CreatingANewSchemaBuilder.test.js","names":["CreatingANewSchemaBuilderTest","Cli","assert","doesThrowAsync","Action","execute","nameReadable","namePascal","nameCamel","description","err","errorAssert","assertError","syncSchemasAndGetCreateAction","createSchema","response","isFalsy","errors","expectedDestination","versionUtil","resolveNewLatestPath","cwd","isEqual","files","path","cacheKey","syncSchemas","buildTestSchema","checker","Service","check","schemaTypesFile","builderMatch","testUtil","assertFileByNameInGeneratedFiles","schemaMatch","schemaContents","diskUtil","readFile","doesInclude","action","version","results","isTruthy","message","firstResponse","validateSchemaFiles","secondResponse","newVersion","generateVersion","assertAnswersFirstTime","assertAnswersSecondTime","createPromise","wait","last","ui","invocations","length","command","isLength","options","choices","isEqualDeep","value","dirValue","label","sendInput","term","createResults","expectedFileName","expectedVersion","expectedSchemaInterfaceName","isUndefined","schemaFile","fail","friendlyMessage","RegExp","AbstractSchemaTest"],"sources":["../../../../src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts"],"sourcesContent":["import { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport {\n\tFeatureActionResponse,\n\tFeatureAction,\n} from '../../../features/features.types'\nimport SpyInterface from '../../../interfaces/SpyInterface'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingANewSchemaBuilderTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async failsWhenASkillIsNotInstalled() {\n\t\tawait this.Cli()\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Action('schema', 'create').execute({\n\t\t\t\tnameReadable: 'Test schema!',\n\t\t\t\tnamePascal: 'AnotherTest',\n\t\t\t\tnameCamel: 'anotherTest',\n\t\t\t\tdescription: 'this is so great!',\n\t\t\t})\n\t\t)\n\n\t\terrorAssert.assertError(err, 'FEATURE_NOT_INSTALLED')\n\t}\n\n\t@test()\n\tprotected static async canBuildFileWithoutCrashing() {\n\t\tconst createSchema = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst response = await createSchema.execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'Test',\n\t\t\tnameCamel: 'test',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tassert.isFalsy(response.errors)\n\n\t\tconst expectedDestination = versionUtil.resolveNewLatestPath(\n\t\t\tthis.cwd,\n\t\t\t'src',\n\t\t\t'schemas',\n\t\t\t'{{@latest}}',\n\t\t\t'test.builder.ts'\n\t\t)\n\n\t\tassert.isEqual(response.files?.[0].path, expectedDestination)\n\t}\n\n\tprivate static async syncSchemasAndGetCreateAction(cacheKey?: string) {\n\t\tawait this.syncSchemas(cacheKey)\n\t\tconst createSchema = this.Action('schema', 'create')\n\n\t\treturn createSchema\n\t}\n\n\t@test()\n\tprotected static async builderAndSchemaFilesValidate() {\n\t\tconst response = await this.buildTestSchema()\n\n\t\tconst checker = this.Service('typeChecker')\n\n\t\tawait checker.check(response.files?.[0].path ?? '')\n\t\tawait checker.check(this.schemaTypesFile)\n\n\t\tconst builderMatch = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'anotherTest.builder.ts',\n\t\t\tresponse.files\n\t\t)\n\n\t\tawait checker.check(builderMatch)\n\t\tconst schemaMatch = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'anotherTest.schema.ts',\n\t\t\tresponse.files\n\t\t)\n\n\t\tawait checker.check(schemaMatch)\n\n\t\tconst schemaContents = diskUtil.readFile(schemaMatch)\n\t\tassert.doesInclude(schemaContents, `namespace: 'TestingSchemas'`)\n\t}\n\n\t@test()\n\tprotected static async errorsWithBadVersion() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst results = await action.execute({\n\t\t\tnameReadable: 'Bad schema version!',\n\t\t\tnamePascal: 'BadSchemaVersion',\n\t\t\tnameCamel: 'badSchemaVersion',\n\t\t\tversion: 'v1',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, /must be in the form/i)\n\t}\n\n\t@test()\n\tprotected static async canBuild2SpecificVersions() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst firstResponse = await action.execute({\n\t\t\tnameReadable: 'First schema!',\n\t\t\tnamePascal: 'FirstSchema',\n\t\t\tnameCamel: 'firstSchema',\n\t\t\tversion: 'v2020_01_10',\n\t\t})\n\n\t\tthis.validateSchemaFiles(\n\t\t\tfirstResponse,\n\t\t\t'firstSchema.schema.ts',\n\t\t\t'v2020_01_10',\n\t\t\t'FirstSchema'\n\t\t)\n\n\t\tconst secondResponse = await action.execute({\n\t\t\tnameReadable: 'Second schema!',\n\t\t\tnamePascal: 'secondSchema',\n\t\t\tnameCamel: 'secondSchema',\n\t\t\tversion: 'v2020_01_11',\n\t\t})\n\n\t\tthis.validateSchemaFiles(\n\t\t\tsecondResponse,\n\t\t\t'secondSchema.schema.ts',\n\t\t\t'v2020_01_11',\n\t\t\t'SecondSchema'\n\t\t)\n\n\t\tthis.validateSchemaFiles(\n\t\t\tsecondResponse,\n\t\t\t'firstSchema.schema.ts',\n\t\t\t'v2020_01_10',\n\t\t\t'FirstSchema'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async asksForVersionOnSecondSchema() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst newVersion = versionUtil.generateVersion()\n\n\t\t// create old version first\n\t\tawait action.execute({\n\t\t\tnameReadable: 'First schema!',\n\t\t\tnamePascal: 'FirstSchema',\n\t\t\tnameCamel: 'firstSchema',\n\t\t\tversion: 'v2020_01_01',\n\t\t})\n\n\t\tawait this.assertAnswersFirstTime(action, newVersion)\n\t\tawait this.assertAnswersSecondTime(action, newVersion)\n\t}\n\n\t// should ask if we want to use the old version we created above or a New Version\n\tprivate static async assertAnswersFirstTime(\n\t\taction: FeatureAction,\n\t\tnewVersion: { intValue: number; constValue: string; dirValue: string }\n\t) {\n\t\tconst createPromise = action.execute({\n\t\t\tnameReadable: 'Second schema!',\n\t\t\tnamePascal: 'SecondSchema',\n\t\t\tnameCamel: 'secondSchema',\n\t\t})\n\n\t\tawait this.wait(1000)\n\t\tconst last = this.ui.invocations[this.ui.invocations.length - 1]\n\n\t\tassert.isEqual(last?.command, 'prompt')\n\t\tassert.isLength(last?.options?.options?.choices, 2)\n\t\tassert.isEqualDeep(last?.options?.options?.choices, [\n\t\t\t{\n\t\t\t\tvalue: newVersion.dirValue,\n\t\t\t\tlabel: 'New Version',\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'v2020_01_01',\n\t\t\t\tlabel: 'v2020_01_01',\n\t\t\t},\n\t\t])\n\n\t\tawait this.ui.sendInput(newVersion.dirValue)\n\t\tawait createPromise\n\t}\n\n\t// should only have 2 options, none of which are \"new version\" since that was created in secondAnswers\n\tprivate static async assertAnswersSecondTime(\n\t\taction: FeatureAction,\n\t\tnewVersion: { intValue: number; constValue: string; dirValue: string }\n\t) {\n\t\tconst createPromise = action.execute({\n\t\t\tnameReadable: 'Third schema',\n\t\t\tnamePascal: 'ThirdSchema',\n\t\t\tnameCamel: 'thirdSchema',\n\t\t})\n\n\t\tawait this.wait(1000)\n\t\tconst term = this.ui as SpyInterface\n\t\tconst last = term.invocations[term.invocations.length - 1]\n\n\t\tassert.isEqualDeep(last?.options?.options?.choices, [\n\t\t\t{\n\t\t\t\tvalue: newVersion.dirValue,\n\t\t\t\tlabel: newVersion.dirValue,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'v2020_01_01',\n\t\t\t\tlabel: 'v2020_01_01',\n\t\t\t},\n\t\t])\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-floating-promises\n\t\tthis.ui.sendInput(newVersion.dirValue)\n\n\t\tconst createResults = await createPromise\n\n\t\tconst schemaMatch = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'secondSchema.schema.ts',\n\t\t\tcreateResults.files\n\t\t)\n\n\t\tassert.doesInclude(schemaMatch, newVersion.dirValue)\n\t}\n\n\tprivate static validateSchemaFiles(\n\t\tresponse: FeatureActionResponse,\n\t\texpectedFileName: string,\n\t\texpectedVersion: string,\n\t\texpectedSchemaInterfaceName: string\n\t) {\n\t\tassert.isUndefined(response.errors)\n\n\t\tlet schemaFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\texpectedFileName,\n\t\t\tresponse.files\n\t\t)\n\n\t\tconst errors = response.errors ?? []\n\t\tif (errors.length > 0) {\n\t\t\tassert.fail(errors[0].friendlyMessage())\n\t\t}\n\n\t\tassert.doesInclude(schemaFile, expectedVersion)\n\t\tconst schemaContents = diskUtil.readFile(schemaFile)\n\n\t\tassert.doesInclude(schemaContents, `version: '${expectedVersion}'`)\n\n\t\tassert.doesInclude(\n\t\t\tschemaContents,\n\t\t\tnew RegExp(\n\t\t\t\t'SpruceSchemas.TestingSchemas.' +\n\t\t\t\t\texpectedVersion +\n\t\t\t\t\t'.*?' +\n\t\t\t\t\texpectedSchemaInterfaceName,\n\t\t\t\t'gis'\n\t\t\t)\n\t\t)\n\t}\n\n\tprivate static async buildTestSchema() {\n\t\tconst action = await this.syncSchemasAndGetCreateAction('schemas')\n\n\t\tconst response = await action.execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'AnotherTest',\n\t\t\tnameCamel: 'anotherTest',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tassert.isUndefined(response.errors)\n\n\t\treturn response\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAMA;;AACA;;;;;;;;IAEqBA,6B,WACnB,iB,UAeA,iB,UA+BA,iB,UA0BA,iB,UAeA,iB,UAwCA,iB;;;;;;;;;;;;;yHA/HD;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKC,GAAL,EAFP;;cAAA;gBAAA;gBAAA,OAGmBC,aAAOC,cAAP,CAAsB;kBAAA,OACvC,KAAI,CAACC,MAAL,CAAY,QAAZ,EAAsB,QAAtB,EAAgCC,OAAhC,CAAwC;oBACvCC,YAAY,EAAE,cADyB;oBAEvCC,UAAU,EAAE,aAF2B;oBAGvCC,SAAS,EAAE,aAH4B;oBAIvCC,WAAW,EAAE;kBAJ0B,CAAxC,CADuC;gBAAA,CAAtB,CAHnB;;cAAA;gBAGOC,GAHP;;gBAYCC,uBAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,uBAA7B;;cAZD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;uHAeA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAE4B,KAAKG,6BAAL,CAAmC,SAAnC,CAF5B;;cAAA;gBAEOC,YAFP;gBAAA;gBAAA,OAIwBA,YAAY,CAACT,OAAb,CAAqB;kBAC3CC,YAAY,EAAE,cAD6B;kBAE3CC,UAAU,EAAE,MAF+B;kBAG3CC,SAAS,EAAE,MAHgC;kBAI3CC,WAAW,EAAE;gBAJ8B,CAArB,CAJxB;;cAAA;gBAIOM,QAJP;;gBAWCb,aAAOc,OAAP,CAAeD,QAAQ,CAACE,MAAxB;;gBAEMC,mBAbP,GAa6BC,8BAAYC,oBAAZ,CAC3B,KAAKC,GADsB,EAE3B,KAF2B,EAG3B,SAH2B,EAI3B,aAJ2B,EAK3B,iBAL2B,CAb7B;;gBAqBCnB,aAAOoB,OAAP,oBAAeP,QAAQ,CAACQ,KAAxB,oDAAe,gBAAiB,CAAjB,EAAoBC,IAAnC,EAAyCN,mBAAzC;;cArBD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;yHAwBA,kBAAmDO,QAAnD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACO,KAAKC,WAAL,CAAiBD,QAAjB,CADP;;cAAA;gBAEOX,YAFP,GAEsB,KAAKV,MAAL,CAAY,QAAZ,EAAsB,QAAtB,CAFtB;gBAAA,kCAIQU,YAJR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;yHAOA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEwB,KAAKa,eAAL,EAFxB;;cAAA;gBAEOZ,QAFP;gBAIOa,OAJP,GAIiB,KAAKC,OAAL,CAAa,aAAb,CAJjB;gBAAA;gBAAA,OAMOD,OAAO,CAACE,KAAR,8CAAcf,QAAQ,CAACQ,KAAvB,qDAAc,iBAAiB,CAAjB,EAAoBC,IAAlC,yEAA0C,EAA1C,CANP;;cAAA;gBAAA;gBAAA,OAOOI,OAAO,CAACE,KAAR,CAAc,KAAKC,eAAnB,CAPP;;cAAA;gBASOC,YATP,GASsBC,kBAASC,gCAAT,CACpB,wBADoB,EAEpBnB,QAAQ,CAACQ,KAFW,CATtB;gBAAA;gBAAA,OAcOK,OAAO,CAACE,KAAR,CAAcE,YAAd,CAdP;;cAAA;gBAeOG,WAfP,GAeqBF,kBAASC,gCAAT,CACnB,uBADmB,EAEnBnB,QAAQ,CAACQ,KAFU,CAfrB;gBAAA;gBAAA,OAoBOK,OAAO,CAACE,KAAR,CAAcK,WAAd,CApBP;;cAAA;gBAsBOC,cAtBP,GAsBwBC,2BAASC,QAAT,CAAkBH,WAAlB,CAtBxB;;gBAuBCjC,aAAOqC,WAAP,CAAmBH,cAAnB;;cAvBD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;gHA0BA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEsB,KAAKvB,6BAAL,CAAmC,SAAnC,CAFtB;;cAAA;gBAEO2B,MAFP;gBAAA;gBAAA,OAIuBA,MAAM,CAACnC,OAAP,CAAe;kBACpCC,YAAY,EAAE,qBADsB;kBAEpCC,UAAU,EAAE,kBAFwB;kBAGpCC,SAAS,EAAE,kBAHyB;kBAIpCiC,OAAO,EAAE;gBAJ2B,CAAf,CAJvB;;cAAA;gBAIOC,OAJP;;gBAWCxC,aAAOyC,QAAP,CAAgBD,OAAO,CAACzB,MAAxB;;gBACAf,aAAOqC,WAAP,CAAmBG,OAAO,CAACzB,MAAR,CAAe,CAAf,EAAkB2B,OAArC,EAA8C,sBAA9C;;cAZD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;qHAeA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEsB,KAAK/B,6BAAL,CAAmC,SAAnC,CAFtB;;cAAA;gBAEO2B,MAFP;gBAAA;gBAAA,OAI6BA,MAAM,CAACnC,OAAP,CAAe;kBAC1CC,YAAY,EAAE,eAD4B;kBAE1CC,UAAU,EAAE,aAF8B;kBAG1CC,SAAS,EAAE,aAH+B;kBAI1CiC,OAAO,EAAE;gBAJiC,CAAf,CAJ7B;;cAAA;gBAIOI,aAJP;gBAWC,KAAKC,mBAAL,CACCD,aADD,EAEC,uBAFD,EAGC,aAHD,EAIC,aAJD;gBAXD;gBAAA,OAkB8BL,MAAM,CAACnC,OAAP,CAAe;kBAC3CC,YAAY,EAAE,gBAD6B;kBAE3CC,UAAU,EAAE,cAF+B;kBAG3CC,SAAS,EAAE,cAHgC;kBAI3CiC,OAAO,EAAE;gBAJkC,CAAf,CAlB9B;;cAAA;gBAkBOM,cAlBP;gBAyBC,KAAKD,mBAAL,CACCC,cADD,EAEC,wBAFD,EAGC,aAHD,EAIC,cAJD;gBAOA,KAAKD,mBAAL,CACCC,cADD,EAEC,uBAFD,EAGC,aAHD,EAIC,aAJD;;cAhCD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wHAwCA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEsB,KAAKlC,6BAAL,CAAmC,SAAnC,CAFtB;;cAAA;gBAEO2B,MAFP;gBAIOQ,UAJP,GAIoB7B,8BAAY8B,eAAZ,EAJpB,EAMC;;gBAND;gBAAA,OAOOT,MAAM,CAACnC,OAAP,CAAe;kBACpBC,YAAY,EAAE,eADM;kBAEpBC,UAAU,EAAE,aAFQ;kBAGpBC,SAAS,EAAE,aAHS;kBAIpBiC,OAAO,EAAE;gBAJW,CAAf,CAPP;;cAAA;gBAAA;gBAAA,OAcO,KAAKS,sBAAL,CAA4BV,MAA5B,EAAoCQ,UAApC,CAdP;;cAAA;gBAAA;gBAAA,OAeO,KAAKG,uBAAL,CAA6BX,MAA7B,EAAqCQ,UAArC,CAfP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;QAkBA;;;;;kHACA,kBACCR,MADD,EAECQ,UAFD;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAIOI,aAJP,GAIuBZ,MAAM,CAACnC,OAAP,CAAe;kBACpCC,YAAY,EAAE,gBADsB;kBAEpCC,UAAU,EAAE,cAFwB;kBAGpCC,SAAS,EAAE;gBAHyB,CAAf,CAJvB;gBAAA;gBAAA,OAUO,KAAK6C,IAAL,CAAU,IAAV,CAVP;;cAAA;gBAWOC,IAXP,GAWc,KAAKC,EAAL,CAAQC,WAAR,CAAoB,KAAKD,EAAL,CAAQC,WAAR,CAAoBC,MAApB,GAA6B,CAAjD,CAXd;;gBAaCvD,aAAOoB,OAAP,CAAegC,IAAf,aAAeA,IAAf,uBAAeA,IAAI,CAAEI,OAArB,EAA8B,QAA9B;;gBACAxD,aAAOyD,QAAP,CAAgBL,IAAhB,aAAgBA,IAAhB,wCAAgBA,IAAI,CAAEM,OAAtB,2EAAgB,cAAeA,OAA/B,0DAAgB,sBAAwBC,OAAxC,EAAiD,CAAjD;;gBACA3D,aAAO4D,WAAP,CAAmBR,IAAnB,aAAmBA,IAAnB,yCAAmBA,IAAI,CAAEM,OAAzB,4EAAmB,eAAeA,OAAlC,0DAAmB,sBAAwBC,OAA3C,EAAoD,CACnD;kBACCE,KAAK,EAAEf,UAAU,CAACgB,QADnB;kBAECC,KAAK,EAAE;gBAFR,CADmD,EAKnD;kBACCF,KAAK,EAAE,aADR;kBAECE,KAAK,EAAE;gBAFR,CALmD,CAApD;;gBAfD;gBAAA,OA0BO,KAAKV,EAAL,CAAQW,SAAR,CAAkBlB,UAAU,CAACgB,QAA7B,CA1BP;;cAAA;gBAAA;gBAAA,OA2BOZ,aA3BP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;QA8BA;;;;;mHACA,kBACCZ,MADD,EAECQ,UAFD;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAIOI,aAJP,GAIuBZ,MAAM,CAACnC,OAAP,CAAe;kBACpCC,YAAY,EAAE,cADsB;kBAEpCC,UAAU,EAAE,aAFwB;kBAGpCC,SAAS,EAAE;gBAHyB,CAAf,CAJvB;gBAAA;gBAAA,OAUO,KAAK6C,IAAL,CAAU,IAAV,CAVP;;cAAA;gBAWOc,IAXP,GAWc,KAAKZ,EAXnB;gBAYOD,IAZP,GAYca,IAAI,CAACX,WAAL,CAAiBW,IAAI,CAACX,WAAL,CAAiBC,MAAjB,GAA0B,CAA3C,CAZd;;gBAcCvD,aAAO4D,WAAP,CAAmBR,IAAnB,aAAmBA,IAAnB,yCAAmBA,IAAI,CAAEM,OAAzB,4EAAmB,eAAeA,OAAlC,0DAAmB,sBAAwBC,OAA3C,EAAoD,CACnD;kBACCE,KAAK,EAAEf,UAAU,CAACgB,QADnB;kBAECC,KAAK,EAAEjB,UAAU,CAACgB;gBAFnB,CADmD,EAKnD;kBACCD,KAAK,EAAE,aADR;kBAECE,KAAK,EAAE;gBAFR,CALmD,CAApD,EAdD,CAyBC;;;gBACA,KAAKV,EAAL,CAAQW,SAAR,CAAkBlB,UAAU,CAACgB,QAA7B;gBA1BD;gBAAA,OA4B6BZ,aA5B7B;;cAAA;gBA4BOgB,aA5BP;gBA8BOjC,WA9BP,GA8BqBF,kBAASC,gCAAT,CACnB,wBADmB,EAEnBkC,aAAa,CAAC7C,KAFK,CA9BrB;;gBAmCCrB,aAAOqC,WAAP,CAAmBJ,WAAnB,EAAgCa,UAAU,CAACgB,QAA3C;;cAnCD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAsCA,6BACCjD,QADD,EAECsD,gBAFD,EAGCC,eAHD,EAICC,2BAJD,EAKE;MAAA;;MACDrE,aAAOsE,WAAP,CAAmBzD,QAAQ,CAACE,MAA5B;;MAEA,IAAIwD,UAAU,GAAGxC,kBAASC,gCAAT,CAChBmC,gBADgB,EAEhBtD,QAAQ,CAACQ,KAFO,CAAjB;;MAKA,IAAMN,MAAM,uBAAGF,QAAQ,CAACE,MAAZ,+DAAsB,EAAlC;;MACA,IAAIA,MAAM,CAACwC,MAAP,GAAgB,CAApB,EAAuB;QACtBvD,aAAOwE,IAAP,CAAYzD,MAAM,CAAC,CAAD,CAAN,CAAU0D,eAAV,EAAZ;MACA;;MAEDzE,aAAOqC,WAAP,CAAmBkC,UAAnB,EAA+BH,eAA/B;;MACA,IAAMlC,cAAc,GAAGC,2BAASC,QAAT,CAAkBmC,UAAlB,CAAvB;;MAEAvE,aAAOqC,WAAP,CAAmBH,cAAnB,sBAAgDkC,eAAhD;;MAEApE,aAAOqC,WAAP,CACCH,cADD,EAEC,IAAIwC,MAAJ,CACC,kCACCN,eADD,GAEC,KAFD,GAGCC,2BAJF,EAKC,KALD,CAFD;IAUA;;;;2GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACsB,KAAK1D,6BAAL,CAAmC,SAAnC,CADtB;;cAAA;gBACO2B,MADP;gBAAA;gBAAA,OAGwBA,MAAM,CAACnC,OAAP,CAAe;kBACrCC,YAAY,EAAE,cADuB;kBAErCC,UAAU,EAAE,aAFyB;kBAGrCC,SAAS,EAAE,aAH0B;kBAIrCC,WAAW,EAAE;gBAJwB,CAAf,CAHxB;;cAAA;gBAGOM,QAHP;;gBAUCb,aAAOsE,WAAP,CAAmBzD,QAAQ,CAACE,MAA5B;;gBAVD,mCAYQF,QAZR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EA3P0D8D,+B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"GeneratingFieldTypesOnly.test.js","names":["GeneratingFieldTypesOnlyTest","action","Action","assert","isTruthy","installSchemaFeature","execute","results","isFalsy","errors","matches","globby","sync","resolveHashSprucePath","isLength","expectedFields","typeChecker","Service","file","match","testUtil","assertFileByNameInGeneratedFiles","files","check","AbstractSchemaTest"],"sources":["../../../../src/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport globby from 'globby'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class GeneratingFieldTypesOnlyTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async syncFieldsActionExists() {\n\t\tconst action = this.Action('schema', 'syncFields')\n\t\tassert.isTruthy(action)\n\t}\n\n\t@test()\n\tprotected static async generatesOnlyFieldTypes() {\n\t\tawait this.installSchemaFeature('schemas')\n\t\tconst results = await this.Action('schema', 'syncFields').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst matches = globby.sync(this.resolveHashSprucePath('schemas'))\n\t\tassert.isLength(matches, 2)\n\n\t\tconst expectedFields = ['fields.types.ts', 'fieldClassMap.ts']\n\n\t\tconst typeChecker = this.Service('typeChecker')\n\t\tfor (const file of expectedFields) {\n\t\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\tfile,\n\t\t\t\tresults.files ?? []\n\t\t\t)\n\t\t\tawait typeChecker.check(match)\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,4B,WACnB,iB,UAMA,iB;;;;;;;;;;;;;kHAND;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,MAFP,GAEgB,KAAKC,MAAL,CAAY,QAAZ,EAAsB,YAAtB,CAFhB;;gBAGCC,aAAOC,QAAP,CAAgBH,MAAhB;;cAHD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;mHAMA;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKI,oBAAL,CAA0B,SAA1B,CAFP;;cAAA;gBAAA;gBAAA,OAGuB,KAAKH,MAAL,CAAY,QAAZ,EAAsB,YAAtB,EAAoCI,OAApC,CAA4C,EAA5C,CAHvB;;cAAA;gBAGOC,OAHP;;gBAKCJ,aAAOK,OAAP,CAAeD,OAAO,CAACE,MAAvB;;gBAEMC,OAPP,GAOiBC,mBAAOC,IAAP,CAAY,KAAKC,qBAAL,CAA2B,SAA3B,CAAZ,CAPjB;;gBAQCV,aAAOW,QAAP,CAAgBJ,OAAhB,EAAyB,CAAzB;;gBAEMK,cAVP,GAUwB,CAAC,iBAAD,EAAoB,kBAApB,CAVxB;gBAYOC,WAZP,GAYqB,KAAKC,OAAL,CAAa,aAAb,CAZrB;gBAAA,0BAaoBF,cAbpB;;cAAA;gBAAA;kBAAA;kBAAA;gBAAA;;gBAaYG,IAbZ;gBAcQC,KAdR,GAcgBC,kBAASC,gCAAT,CACbH,IADa,oBAEbX,OAAO,CAACe,KAFK,2DAEI,EAFJ,CAdhB;gBAAA;gBAAA,OAkBQN,WAAW,CAACO,KAAZ,CAAkBJ,KAAlB,CAlBR;;cAAA;gBAAA;gBAAA;gBAAA;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAPyDK,+B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"GettingSchemasFromHealthCheck.test.js","names":["GettingSchemasFromHealthCheckTest","installAndSyncSchemas","cli","cleanedExpected","generateExpectedHealthSchemas","Object","values","coreSchemas","assertExpectedSchemas","expected","checkHealth","health","assert","isFalsy","skill","errors","isTruthy","schema","isEqual","status","isEqualDeep","sortSchemas","schemas","createSchema","Action","execute","nameReadable","namePascal","nameCamel","description","id","name","version","versionUtil","generateVersion","constValue","namespace","installSchemaFeature","AbstractSchemaTest"],"sources":["../../../../src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts"],"sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { CliInterface } from '../../../cli'\nimport { coreSchemas } from '../../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\n\nexport default class GettingSchemasFromHealthCheckTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async getsCoreSchemasFromHealthCheck() {\n\t\tconst cli = await this.installAndSyncSchemas()\n\n\t\tconst cleanedExpected = this.generateExpectedHealthSchemas(\n\t\t\tObject.values(coreSchemas)\n\t\t)\n\n\t\tawait this.assertExpectedSchemas(cli, cleanedExpected)\n\t}\n\n\tprivate static async assertExpectedSchemas(\n\t\tcli: CliInterface,\n\t\texpected: Schema[]\n\t) {\n\t\tconst health = await cli.checkHealth()\n\t\tassert.isFalsy(health.skill.errors)\n\t\tassert.isTruthy(health.schema)\n\t\tassert.isEqual(health.schema.status, 'passed')\n\n\t\tassert.isEqualDeep(this.sortSchemas(health.schema.schemas), expected)\n\t}\n\n\t@test()\n\tprotected static async getsCoreAndLocalSchemasFromHealthCheck() {\n\t\tconst cli = await this.installAndSyncSchemas()\n\t\tconst createSchema = this.Action('schema', 'create')\n\n\t\tawait createSchema.execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'Test',\n\t\t\tnameCamel: 'test',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tconst cleanedExpected = this.generateExpectedHealthSchemas([\n\t\t\t...Object.values(coreSchemas),\n\t\t\t{\n\t\t\t\tid: 'test',\n\t\t\t\tname: 'Test schema!',\n\t\t\t\tversion: versionUtil.generateVersion().constValue,\n\t\t\t\tnamespace: 'TestingSchemas',\n\t\t\t\tdescription: 'this is so great!',\n\t\t\t},\n\t\t])\n\n\t\tawait this.assertExpectedSchemas(cli, cleanedExpected)\n\t}\n\n\tprivate static async installAndSyncSchemas() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\t\tawait this.Action('schema', 'sync').execute({})\n\t\treturn cli\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AAEA;;AACA;;;;;;;;IAEqBA,iC,WACnB,iB,UAuBA,iB;;;;;;;;;;;;;0HAvBD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,KAAKC,qBAAL,EAFnB;;cAAA;gBAEOC,GAFP;gBAIOC,eAJP,GAIyB,KAAKC,6BAAL,CACvBC,MAAM,CAACC,MAAP,CAAcC,wBAAd,CADuB,CAJzB;gBAAA;gBAAA,OAQO,KAAKC,qBAAL,CAA2BN,GAA3B,EAAgCC,eAAhC,CARP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;iHAWA,kBACCD,GADD,EAECO,QAFD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAIsBP,GAAG,CAACQ,WAAJ,EAJtB;;cAAA;gBAIOC,MAJP;;gBAKCC,aAAOC,OAAP,CAAeF,MAAM,CAACG,KAAP,CAAaC,MAA5B;;gBACAH,aAAOI,QAAP,CAAgBL,MAAM,CAACM,MAAvB;;gBACAL,aAAOM,OAAP,CAAeP,MAAM,CAACM,MAAP,CAAcE,MAA7B,EAAqC,QAArC;;gBAEAP,aAAOQ,WAAP,CAAmB,KAAKC,WAAL,CAAiBV,MAAM,CAACM,MAAP,CAAcK,OAA/B,CAAnB,EAA4Db,QAA5D;;cATD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;kIAYA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,KAAKR,qBAAL,EAFnB;;cAAA;gBAEOC,GAFP;gBAGOqB,YAHP,GAGsB,KAAKC,MAAL,CAAY,QAAZ,EAAsB,QAAtB,CAHtB;gBAAA;gBAAA,OAKOD,YAAY,CAACE,OAAb,CAAqB;kBAC1BC,YAAY,EAAE,cADY;kBAE1BC,UAAU,EAAE,MAFc;kBAG1BC,SAAS,EAAE,MAHe;kBAI1BC,WAAW,EAAE;gBAJa,CAArB,CALP;;cAAA;gBAYO1B,eAZP,GAYyB,KAAKC,6BAAL,+CACpBC,MAAM,CAACC,MAAP,CAAcC,wBAAd,CADoB,IAEvB;kBACCuB,EAAE,EAAE,MADL;kBAECC,IAAI,EAAE,cAFP;kBAGCC,OAAO,EAAEC,8BAAYC,eAAZ,GAA8BC,UAHxC;kBAICC,SAAS,EAAE,gBAJZ;kBAKCP,WAAW,EAAE;gBALd,CAFuB,GAZzB;gBAAA;gBAAA,OAuBO,KAAKrB,qBAAL,CAA2BN,GAA3B,EAAgCC,eAAhC,CAvBP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;iHA0BA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACmB,KAAKkC,oBAAL,CAA0B,SAA1B,CADnB;;cAAA;gBACOnC,GADP;gBAAA;gBAAA,OAEO,KAAKsB,MAAL,CAAY,QAAZ,EAAsB,MAAtB,EAA8BC,OAA9B,CAAsC,EAAtC,CAFP;;cAAA;gBAAA,kCAGQvB,GAHR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAlD8DoC,+B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"HandlesRelatedSchemas.test.js","names":["HandlesRelatedSchemasTest","installCopyAndSync","results","syncResults","assert","isUndefined","errors","testUtil","assertFileByNameInGeneratedFiles","files","assertValidActionResponseFiles","installSchemaFeature","schemasDir","resolvePath","diskUtil","copyDir","resolveTestPath","Action","execute","typesPath","resolveHashSprucePath","typesContent","readFile","doesInclude","Service","check","schemaMatch","isFalsy","isTruthy","assertCountsByAction","generated","length","updated","skipped","matches","filter","f","name","isLength","path","CORE_SCHEMA_VERSION","dirValue","CORE_NAMESPACE","toLowerCase","doesNotInclude","testDir","cli","source","destination","AbstractSchemaTest"],"sources":["../../../../src/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.ts"],"sourcesContent":["import {\n\tCORE_NAMESPACE,\n\tCORE_SCHEMA_VERSION,\n\tdiskUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class HandlesRelatedSchemasTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async relatedSchemasGeneratesValidFiles() {\n\t\tconst { syncResults: results } = await this.installCopyAndSync()\n\n\t\tassert.isUndefined(results.errors)\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t/testPerson\\.schema/,\n\t\t\tresults.files\n\t\t)\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(/pet\\.schema/, results.files)\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t/nested-schema\\.schema/,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.assertValidActionResponseFiles(results)\n\t}\n\n\t@test()\n\tprotected static async nestedSchemasInDynamicFields() {\n\t\tawait this.installSchemaFeature('schemas')\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\n\t\tawait diskUtil.copyDir(\n\t\t\tthis.resolveTestPath('dynamic_key_schemas'),\n\t\t\tschemasDir\n\t\t)\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tconst typesPath = this.resolveHashSprucePath('schemas', 'schemas.types.ts')\n\t\tconst typesContent = diskUtil.readFile(typesPath)\n\n\t\tassert.doesInclude(\n\t\t\ttypesContent,\n\t\t\t\"[fullyQualifiedEventName:string]: { schemaId: 'eventSignature', version: 'v2020_07_22', values: SpruceSchemas.TestingSchemas.v2020_07_22.EventSignature } | { schemaId: 'eventSignature2', version: 'v2020_07_22', values: SpruceSchemas.TestingSchemas.v2020_07_22.EventSignature2 }\"\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(typesPath)\n\n\t\tconst schemaMatch = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'mercuryContract.schema.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(schemaMatch)\n\t}\n\n\t@test()\n\tprotected static async generatesCoreSchemasFirstSoSchemasCanRelateToThem() {\n\t\tconst { syncResults } = await this.installCopyAndSync()\n\n\t\tassert.isFalsy(syncResults.errors)\n\t\tassert.isTruthy(syncResults.files)\n\n\t\ttestUtil.assertCountsByAction(syncResults.files, {\n\t\t\tgenerated: syncResults.files.length,\n\t\t\tupdated: 0,\n\t\t\tskipped: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async makesSureMixinSchemaFieldsDontCopySchemaToLocal() {\n\t\tconst { syncResults } = await this.installCopyAndSync()\n\n\t\tassert.isFalsy(syncResults.errors)\n\t\tassert.isTruthy(syncResults.files)\n\n\t\tconst matches = syncResults.files.filter(\n\t\t\t(f) => f.name === 'skillCreator.schema.ts'\n\t\t)\n\n\t\tassert.isLength(matches, 1)\n\t\tassert.doesInclude(matches[0].path, CORE_SCHEMA_VERSION.dirValue)\n\t\tassert.doesInclude(matches[0].path, CORE_NAMESPACE.toLowerCase())\n\t\tassert.doesNotInclude(matches[0].path, 'testing')\n\t}\n\n\tprivate static async installCopyAndSync(testDir = 'related_schemas') {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\t\tconst source = this.resolveTestPath(testDir)\n\t\tconst destination = this.resolvePath('src/schemas')\n\n\t\tawait diskUtil.copyDir(source, destination)\n\n\t\tconst syncResults = await this.Action('schema', 'sync').execute({})\n\n\t\treturn { cli, syncResults }\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"ImportingSchemaImports.test.js","names":["ImportingSchemaImportsTest","installSchemaFeature","source","resolveTestPath","destination","resolvePath","diskUtil","copyDir","writeFile","Action","execute","results","assert","isFalsy","errors","isTruthy","files","match","testUtil","assertFileByNameInGeneratedFiles","contents","readFile","doesInclude","assertValidActionResponseFiles","AbstractSchemaTest"],"sources":["../../../../src/__tests__/behavioral/schemas/ImportingSchemaImports.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class ImportingSchemaImportsTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async schemaImportsLocalImports() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst source = this.resolveTestPath('schemas_with_imports')\n\n\t\tconst destination = this.resolvePath('src', 'schemas')\n\n\t\tawait diskUtil.copyDir(source, destination)\n\n\t\tdiskUtil.writeFile(\n\t\t\tthis.resolvePath('src', 'widgets', 'widgets.types.ts'),\n\t\t\t'export type BaseWidget = {}'\n\t\t)\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTruthy(results.files)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'schemas.types.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"import { BaseWidget } from '\" + \"#spruce/../widgets/widgets.types'\"\n\t\t)\n\n\t\tawait this.assertValidActionResponseFiles(results)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,0B,WACnB,iB;;;;;;;;;;;;;qHAAD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKC,oBAAL,CAA0B,SAA1B,CAFP;;cAAA;gBAIOC,MAJP,GAIgB,KAAKC,eAAL,CAAqB,sBAArB,CAJhB;gBAMOC,WANP,GAMqB,KAAKC,WAAL,CAAiB,KAAjB,EAAwB,SAAxB,CANrB;gBAAA;gBAAA,OAQOC,2BAASC,OAAT,CAAiBL,MAAjB,EAAyBE,WAAzB,CARP;;cAAA;gBAUCE,2BAASE,SAAT,CACC,KAAKH,WAAL,CAAiB,KAAjB,EAAwB,SAAxB,EAAmC,kBAAnC,CADD,EAEC,6BAFD;;gBAVD;gBAAA,OAeuB,KAAKI,MAAL,CAAY,QAAZ,EAAsB,MAAtB,EAA8BC,OAA9B,CAAsC,EAAtC,CAfvB;;cAAA;gBAeOC,OAfP;;gBAiBCC,aAAOC,OAAP,CAAeF,OAAO,CAACG,MAAvB;;gBACAF,aAAOG,QAAP,CAAgBJ,OAAO,CAACK,KAAxB;;gBAEMC,KApBP,GAoBeC,kBAASC,gCAAT,CACb,kBADa,EAEbR,OAAO,CAACK,KAFK,CApBf;gBAyBOI,QAzBP,GAyBkBd,2BAASe,QAAT,CAAkBJ,KAAlB,CAzBlB;;gBA0BCL,aAAOU,WAAP,CACCF,QADD,EAEC,iCAAiC,mCAFlC;;gBA1BD;gBAAA,OA+BO,KAAKG,8BAAL,CAAoCZ,OAApC,CA/BP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EADuDa,+B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts"],"names":["TYPE_FILE_COUNT","SYNC_FILE_COUNT","Object","keys","coreSchemas","length","MOCK_CORE_SYNC_FILE_COUNT","KeepsSchemasInSyncTest","Cli","assert","isFunction","Action","execute","doesThrowAsync","err","errorAssert","assertError","installSchemaFeature","results","isFalsy","errors","testUtil","assertCountsByAction","files","updated","generated","skipped","shouldFetchCoreSchemas","tmpFile","resolveHashSprucePath","isFalse","diskUtil","doesFileExist","copyMockCoreSchemas","coreSyncOptions","isUndefined","isTruthy","isLength","isTrue","coreSchemaTypesFile","assertTypesFileGeneratesArraySelect","syncSchemas","isAbove","typesContents","readFile","doesInclude","RegExp","CORE_NAMESPACE","CORE_SCHEMA_VERSION","constValue","assertValidActionResponseFiles","doesNotInclude","DEFAULT_GLOBAL_SCHEMA_NAMESPACE","orgSchema","assertFileByNameInGeneratedFiles","locationSchemaContents","pkg","Service","set","path","value","nameReadable","nameCamel","createResponse","builderPath","contents","replace","writeFile","syncResults","testSchema","testSchemaContents","values","schema","id","match","version","versionUtil","generateVersion","typeChecker","createAction","matcher","pathUtil","dirname","schemaTypesFile","builderFile","dirValue","schemaFile","check","deleteFile","namespaceFolder","doesDirExist","FeatureFixture","installCachedFeatures","promise","waitForInput","ui","sendInput","schemasDir","resolvePath","copyDir","resolveTestPath","importSchema","fields","phone","minArrayLength","isEqual","favoriteColors","permissions","beforeFolder","afterFolder","Store","setCurrentSkillsNamespace","testSchemaPath","schemaPath","importDefault","imported","importsWhenRemote","typeSuffix","filename","file","typesFile","source","destination","AbstractSchemaTest","shouldGenerateCoreSchemaTypes"],"mappings":"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","sourcesContent":["import pathUtil from 'path'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tCORE_SCHEMA_VERSION,\n\tCORE_NAMESPACE,\n\tDEFAULT_GLOBAL_SCHEMA_NAMESPACE,\n} from '@sprucelabs/spruce-skill-utils'\nimport { assert, test } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { coreSchemas } from '../../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\n//TODO rethink how to check for count of files and results or where it may make sense to move this test\nconst TYPE_FILE_COUNT = 2 // (only fieldMap and field.types... schema.types checked by +1 in tests)\nconst SYNC_FILE_COUNT = Object.keys(coreSchemas).length + TYPE_FILE_COUNT\nconst MOCK_CORE_SYNC_FILE_COUNT = 4 + TYPE_FILE_COUNT\n\nexport default class KeepsSchemasInSyncTest extends AbstractSchemaTest {\n\tprivate static readonly coreSyncOptions = {\n\t\tshouldGenerateCoreSchemaTypes: true,\n\t}\n\n\t@test()\n\tprotected static async hasSyncSchemaAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('schema', 'sync').execute)\n\t}\n\n\t@test()\n\tprotected static async failsBecauseSchemasIsNotInstalled() {\n\t\tawait this.Cli()\n\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Action('schema', 'sync').execute({})\n\t\t)\n\n\t\terrorAssert.assertError(err, 'FEATURE_NOT_INSTALLED')\n\t}\n\n\t@test()\n\tprotected static async syncingWithNoSchemasSucceeds() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\t//TODO determine better way to count files\n\t\ttestUtil.assertCountsByAction(results.files, {\n\t\t\tupdated: 0,\n\t\t\tgenerated: SYNC_FILE_COUNT,\n\t\t\tskipped: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async syncingWithNoSchemasAndFetchCoreSchemasFalseSucceeds() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst results = await this.Action('schema', 'sync').execute({\n\t\t\tshouldFetchCoreSchemas: false,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\ttestUtil.assertCountsByAction(results.files, {\n\t\t\tupdated: 0,\n\t\t\tgenerated: TYPE_FILE_COUNT,\n\t\t\tskipped: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async syncingCleansUpTempFiles() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst tmpFile = this.resolveHashSprucePath(\n\t\t\t'schemas',\n\t\t\t'tmp',\n\t\t\t'valueType.tmp.ts'\n\t\t)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(tmpFile))\n\t}\n\n\t@test()\n\tprotected static async syncingCoreSchemasGeneratesTypesFile() {\n\t\tawait this.installSchemaFeature('schemas')\n\t\tawait this.copyMockCoreSchemas()\n\n\t\tconst results = await this.Action('schema', 'sync').execute(\n\t\t\tthis.coreSyncOptions\n\t\t)\n\n\t\tassert.isUndefined(results.errors)\n\t\tassert.isTruthy(results.files)\n\n\t\tassert.isLength(results.files, MOCK_CORE_SYNC_FILE_COUNT)\n\n\t\ttestUtil.assertCountsByAction(results.files, {\n\t\t\tgenerated: MOCK_CORE_SYNC_FILE_COUNT,\n\t\t\tskipped: 0,\n\t\t\tupdated: 0,\n\t\t})\n\n\t\tassert.isTrue(diskUtil.doesFileExist(this.coreSchemaTypesFile))\n\n\t\tawait this.assertTypesFileGeneratesArraySelect(this.coreSchemaTypesFile)\n\t}\n\n\t@test()\n\tprotected static async syncSchemasTwiceSkipsFiles() {\n\t\tawait this.syncSchemas('schemas', this.coreSyncOptions)\n\t\tconst results = await this.Action('schema', 'sync').execute(\n\t\t\tthis.coreSyncOptions\n\t\t)\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isAbove(results.files?.length, 0)\n\n\t\ttestUtil.assertCountsByAction(results.files, {\n\t\t\tgenerated: 0,\n\t\t\tskipped: results.files?.length ?? 0,\n\t\t\tupdated: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async makeSureSchemaTypesAreVersioned() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tawait this.copyMockCoreSchemas()\n\n\t\tconst results = await this.Action('schema', 'sync').execute(\n\t\t\tthis.coreSyncOptions\n\t\t)\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst typesContents = diskUtil.readFile(this.coreSchemaTypesFile)\n\t\tassert.doesInclude(\n\t\t\ttypesContents,\n\t\t\tnew RegExp(\n\t\t\t\t`SpruceSchemas.${CORE_NAMESPACE}.${CORE_SCHEMA_VERSION.constValue}(.*?)interface Person`,\n\t\t\t\t'gis'\n\t\t\t)\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldGenerateCoreSchemaTypesGeneratesValidFiles() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tawait this.copyMockCoreSchemas()\n\n\t\tconst results = await this.Action('schema', 'sync').execute(\n\t\t\tthis.coreSyncOptions\n\t\t)\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTruthy(results.files)\n\n\t\tawait this.assertValidActionResponseFiles(results)\n\n\t\tconst typesContents = diskUtil.readFile(this.coreSchemaTypesFile)\n\n\t\tassert.doesNotInclude(typesContents, /@sprucelabs\\/spruce-core-schemas/gi)\n\t\tassert.doesInclude(\n\t\t\ttypesContents,\n\t\t\tnew RegExp(\n\t\t\t\t`export declare namespace ${DEFAULT_GLOBAL_SCHEMA_NAMESPACE}.${CORE_NAMESPACE}.${CORE_SCHEMA_VERSION.constValue}`,\n\t\t\t\t'gis'\n\t\t\t)\n\t\t)\n\n\t\tconst orgSchema = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'organization.schema.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst locationSchemaContents = diskUtil.readFile(orgSchema)\n\t\tassert.doesInclude(locationSchemaContents, 'SchemaRegistry')\n\t}\n\n\t@test()\n\tprotected static async generateCoreSchemaInCoreSchemasModule() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: 'name', value: '@sprucelabs/spruce-core-schemas' })\n\n\t\tawait this.copyMockCoreSchemas()\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTruthy(results.files)\n\n\t\tconst typesContents = diskUtil.readFile(this.coreSchemaTypesFile)\n\n\t\tassert.doesNotInclude(typesContents, /@sprucelabs\\/spruce-core-schemas/gi)\n\t\tassert.doesInclude(\n\t\t\ttypesContents,\n\t\t\tnew RegExp(\n\t\t\t\t`export declare namespace ${DEFAULT_GLOBAL_SCHEMA_NAMESPACE}.${CORE_NAMESPACE}.${CORE_SCHEMA_VERSION.constValue}`,\n\t\t\t\t'gis'\n\t\t\t)\n\t\t)\n\n\t\tconst orgSchema = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'organization.schema.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst locationSchemaContents = diskUtil.readFile(orgSchema)\n\t\tassert.doesInclude(locationSchemaContents, 'SchemaRegistry')\n\t}\n\n\t@test()\n\tprotected static async canHandleHyphenSchemaIds() {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tconst createResponse = await this.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Test schema',\n\t\t\tnameCamel: 'testSchema',\n\t\t})\n\n\t\tassert.isFalsy(createResponse.errors)\n\n\t\tconst builderPath = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'testSchema.builder.ts',\n\t\t\tcreateResponse.files\n\t\t)\n\n\t\tconst contents = diskUtil\n\t\t\t.readFile(builderPath)\n\t\t\t.replace(\"id: 'testSchema'\", \"id: 'test-schema'\")\n\n\t\tdiskUtil.writeFile(builderPath, contents)\n\n\t\tconst syncResults = await this.Action('schema', 'sync').execute({})\n\n\t\tconst testSchema = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'test-schema.schema.ts',\n\t\t\tsyncResults.files\n\t\t)\n\n\t\tconst testSchemaContents = diskUtil.readFile(testSchema)\n\t\tassert.doesInclude(testSchemaContents, 'SchemaRegistry')\n\n\t\tawait this.assertValidActionResponseFiles(syncResults)\n\t}\n\n\t@test()\n\tprotected static async coreSchemasPullFromCoreSchemasModuleDuringNormalGeneration() {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tconst createResponse = await this.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Test schema',\n\t\t\tnameCamel: 'testSchema',\n\t\t})\n\n\t\tfor (const schema of Object.values(coreSchemas)) {\n\t\t\tconst id = schema.id\n\t\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\t`${id}.schema.ts`,\n\t\t\t\tcreateResponse.files\n\t\t\t)\n\t\t\tconst contents = diskUtil.readFile(match)\n\t\t\tassert.doesInclude(\n\t\t\t\tcontents,\n\t\t\t\t`export { ${id}Schema as default } from '@sprucelabs/spruce-core-schemas'`\n\t\t\t)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async schemasStayInSyncWhenBuildersAreDeleted() {\n\t\tawait this.syncSchemas('schemas')\n\t\tconst version = versionUtil.generateVersion()\n\t\tconst typeChecker = this.Service('typeChecker')\n\t\tconst createAction = this.Action('schema', 'create')\n\n\t\tconst matcher = new RegExp(\n\t\t\t`SpruceSchemas.TestingSchemas.${version.constValue}(.*?)interface TestSchema`,\n\t\t\t'gis'\n\t\t)\n\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(pathUtil.dirname(this.schemaTypesFile))\n\t\t)\n\n\t\tconst createResponse = await createAction.execute({\n\t\t\tnameReadable: 'Test schema',\n\t\t\tnameCamel: 'testSchema',\n\t\t})\n\n\t\tconst builderFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t/testSchema\\.builder/,\n\t\t\tcreateResponse.files\n\t\t)\n\n\t\t// make sure builder is versioned\n\t\tassert.doesInclude(builderFile, version.dirValue)\n\n\t\tconst schemaFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t/testSchema\\.schema/,\n\t\t\tcreateResponse.files\n\t\t)\n\n\t\t// make sure this path is versioned\n\t\tassert.doesInclude(schemaFile, version.dirValue)\n\t\tassert.doesInclude(schemaFile, '/testingSchemas/')\n\n\t\t// schema types should be good\n\t\tawait typeChecker.check(this.schemaTypesFile)\n\n\t\t// the types should include our test schema\n\t\tlet typesContents = diskUtil.readFile(this.schemaTypesFile)\n\t\tassert.doesInclude(typesContents, matcher)\n\n\t\t// the schema file should exist\n\t\tassert.isTrue(diskUtil.doesFileExist(schemaFile))\n\n\t\t// DELETE builder and make sure we are cleaned up\n\t\tdiskUtil.deleteFile(builderFile)\n\n\t\t// this should cleanup types and schema files\n\t\tawait this.Action('schema', 'sync').execute({})\n\n\t\tassert.isTrue(diskUtil.doesFileExist(this.schemaTypesFile))\n\n\t\t// and the schema should have been deleted\n\t\tassert.isFalse(diskUtil.doesFileExist(schemaFile))\n\n\t\t// and the namespace folder should have been deleted\n\t\tconst namespaceFolder = this.resolveHashSprucePath(\n\t\t\t'schemas',\n\t\t\t'testingSChemas'\n\t\t)\n\t\tassert.isFalse(diskUtil.doesDirExist(namespaceFolder))\n\t}\n\n\t@test()\n\tprotected static async canSyncSchemasWhenOnlyNodeModuleIsInstalledAfterDecliningToInstallSkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('schemasInNodeModule')\n\n\t\tconst promise = this.Action('schema', 'sync').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('n')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\t\tawait this.assertValidActionResponseFiles(results)\n\t}\n\n\t@test('syncs minArrayLength, importsWhenRemote')\n\tprotected static async syncsExpectedFields() {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\n\t\tawait diskUtil.copyDir(this.resolveTestPath('test_builders'), schemasDir)\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\t\tconst schema = await this.importSchema(results, 'schemaTwo.schema.ts')\n\n\t\tassert.isUndefined(schema.fields.phone.minArrayLength)\n\t\tassert.isEqual(schema.fields.favoriteColors.minArrayLength, 3)\n\t\tassert.isEqual(schema.fields.permissions.minArrayLength, 0)\n\t}\n\n\t@test()\n\tprotected static async canChangeSkillNamespace() {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tawait this.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Test schema',\n\t\t\tnameCamel: 'testSchema',\n\t\t})\n\n\t\tconst beforeFolder = this.resolveHashSprucePath('schemas', 'testingSchemas')\n\t\tconst afterFolder = this.resolveHashSprucePath('schemas', 'newNamespace')\n\n\t\tassert.isTrue(diskUtil.doesFileExist(beforeFolder))\n\t\tassert.isFalse(diskUtil.doesFileExist(afterFolder))\n\n\t\tawait this.Store('skill').setCurrentSkillsNamespace('new-namespace')\n\n\t\tawait this.Action('schema', 'sync').execute({})\n\n\t\tassert.isFalse(diskUtil.doesFileExist(beforeFolder))\n\t\tassert.isTrue(diskUtil.doesFileExist(afterFolder))\n\t}\n\n\t@test()\n\tprotected static async generatedSchemasRetainImportsAndTypeSuffix() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst results = await this.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Test schema',\n\t\t\tnameCamel: 'testSchema',\n\t\t})\n\n\t\tconst testSchemaPath = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'testSchema.builder.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tdiskUtil.writeFile(\n\t\t\ttestSchemaPath,\n\t\t\t`import { buildSchema } from '@sprucelabs/schema'\n\n\t\texport default buildSchema({\n\t\t\tid: 'testSchema',\n\t\t\tname: 'Test schema',\n\t\t\tdescription: '',\n\t\t\timportsWhenLocal: ['import * as Local from \"@sprucelabs/schema\"'],\n\t\t\timportsWhenRemote: ['import * as Remote from \"@sprucelabs/schema\"'],\n\t\t\ttypeSuffix: '<S extends Record<string, any> = Record<string, any>>',\n\t\t\tfields: {\n\t\t\t\tfieldName1: {\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tlabel: 'First Field',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tfieldName2: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tlabel: 'Second Field',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\thint: 'A hint',\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\t`\n\t\t)\n\n\t\tconst syncResults = await this.Action('schema', 'sync').execute({})\n\n\t\tconst schemaPath = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'testSchema.schema.ts',\n\t\t\tsyncResults.files\n\t\t)\n\n\t\tconst imported = await this.Service('import').importDefault(schemaPath)\n\n\t\tassert.doesInclude(imported, {\n\t\t\timportsWhenRemote: ['import * as Remote from \"@sprucelabs/schema\"'],\n\t\t\ttypeSuffix: '<S extends Record<string, any> = Record<string, any>>',\n\t\t})\n\t}\n\n\tprivate static async importSchema(results: any, filename: string) {\n\t\tconst file = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\tfilename,\n\t\t\tresults.files\n\t\t)\n\n\t\tconst schema = await this.Service('import').importDefault(file)\n\n\t\treturn schema\n\t}\n\n\tprivate static async assertTypesFileGeneratesArraySelect(typesFile: string) {\n\t\tconst contents = diskUtil.readFile(typesFile)\n\t\tassert.doesInclude(contents, `'favoriteColors'?: (\"blue\" | \"red\")[]`)\n\t}\n\n\tprivate static async copyMockCoreSchemas() {\n\t\tconst source = this.resolveTestPath('mock_core_builders')\n\t\tconst destination = this.resolvePath('src', 'schemas')\n\n\t\tawait diskUtil.copyDir(source, destination)\n\t}\n}\n"],"file":"KeepingSchemasInSync.test.js"}
|
|
1
|
+
{"version":3,"file":"KeepingSchemasInSync.test.js","names":["TYPE_FILE_COUNT","SYNC_FILE_COUNT","Object","keys","coreSchemas","length","MOCK_CORE_SYNC_FILE_COUNT","KeepsSchemasInSyncTest","Cli","assert","isFunction","Action","execute","doesThrowAsync","err","errorAssert","assertError","installSchemaFeature","results","isFalsy","errors","testUtil","assertCountsByAction","files","updated","generated","skipped","shouldFetchCoreSchemas","tmpFile","resolveHashSprucePath","isFalse","diskUtil","doesFileExist","copyMockCoreSchemas","coreSyncOptions","isUndefined","isTruthy","isLength","isTrue","coreSchemaTypesFile","assertTypesFileGeneratesArraySelect","syncSchemas","isAbove","typesContents","readFile","doesInclude","RegExp","CORE_NAMESPACE","CORE_SCHEMA_VERSION","constValue","assertValidActionResponseFiles","doesNotInclude","DEFAULT_GLOBAL_SCHEMA_NAMESPACE","orgSchema","assertFileByNameInGeneratedFiles","locationSchemaContents","pkg","Service","set","path","value","nameReadable","nameCamel","createResponse","builderPath","contents","replace","writeFile","syncResults","testSchema","testSchemaContents","values","schema","id","match","version","versionUtil","generateVersion","typeChecker","createAction","matcher","pathUtil","dirname","schemaTypesFile","builderFile","dirValue","schemaFile","check","deleteFile","namespaceFolder","doesDirExist","FeatureFixture","installCachedFeatures","promise","waitForInput","ui","sendInput","schemasDir","resolvePath","copyDir","resolveTestPath","importSchema","fields","phone","minArrayLength","isEqual","favoriteColors","permissions","beforeFolder","afterFolder","Store","setCurrentSkillsNamespace","testSchemaPath","schemaPath","importDefault","imported","importsWhenRemote","typeSuffix","filename","file","typesFile","source","destination","AbstractSchemaTest","shouldGenerateCoreSchemaTypes"],"sources":["../../../../src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tCORE_SCHEMA_VERSION,\n\tCORE_NAMESPACE,\n\tDEFAULT_GLOBAL_SCHEMA_NAMESPACE,\n} from '@sprucelabs/spruce-skill-utils'\nimport { assert, test } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { coreSchemas } from '../../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\n//TODO rethink how to check for count of files and results or where it may make sense to move this test\nconst TYPE_FILE_COUNT = 2 // (only fieldMap and field.types... schema.types checked by +1 in tests)\nconst SYNC_FILE_COUNT = Object.keys(coreSchemas).length + TYPE_FILE_COUNT\nconst MOCK_CORE_SYNC_FILE_COUNT = 4 + TYPE_FILE_COUNT\n\nexport default class KeepsSchemasInSyncTest extends AbstractSchemaTest {\n\tprivate static readonly coreSyncOptions = {\n\t\tshouldGenerateCoreSchemaTypes: true,\n\t}\n\n\t@test()\n\tprotected static async hasSyncSchemaAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('schema', 'sync').execute)\n\t}\n\n\t@test()\n\tprotected static async failsBecauseSchemasIsNotInstalled() {\n\t\tawait this.Cli()\n\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Action('schema', 'sync').execute({})\n\t\t)\n\n\t\terrorAssert.assertError(err, 'FEATURE_NOT_INSTALLED')\n\t}\n\n\t@test()\n\tprotected static async syncingWithNoSchemasSucceeds() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\t//TODO determine better way to count files\n\t\ttestUtil.assertCountsByAction(results.files, {\n\t\t\tupdated: 0,\n\t\t\tgenerated: SYNC_FILE_COUNT,\n\t\t\tskipped: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async syncingWithNoSchemasAndFetchCoreSchemasFalseSucceeds() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst results = await this.Action('schema', 'sync').execute({\n\t\t\tshouldFetchCoreSchemas: false,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\ttestUtil.assertCountsByAction(results.files, {\n\t\t\tupdated: 0,\n\t\t\tgenerated: TYPE_FILE_COUNT,\n\t\t\tskipped: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async syncingCleansUpTempFiles() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst tmpFile = this.resolveHashSprucePath(\n\t\t\t'schemas',\n\t\t\t'tmp',\n\t\t\t'valueType.tmp.ts'\n\t\t)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(tmpFile))\n\t}\n\n\t@test()\n\tprotected static async syncingCoreSchemasGeneratesTypesFile() {\n\t\tawait this.installSchemaFeature('schemas')\n\t\tawait this.copyMockCoreSchemas()\n\n\t\tconst results = await this.Action('schema', 'sync').execute(\n\t\t\tthis.coreSyncOptions\n\t\t)\n\n\t\tassert.isUndefined(results.errors)\n\t\tassert.isTruthy(results.files)\n\n\t\tassert.isLength(results.files, MOCK_CORE_SYNC_FILE_COUNT)\n\n\t\ttestUtil.assertCountsByAction(results.files, {\n\t\t\tgenerated: MOCK_CORE_SYNC_FILE_COUNT,\n\t\t\tskipped: 0,\n\t\t\tupdated: 0,\n\t\t})\n\n\t\tassert.isTrue(diskUtil.doesFileExist(this.coreSchemaTypesFile))\n\n\t\tawait this.assertTypesFileGeneratesArraySelect(this.coreSchemaTypesFile)\n\t}\n\n\t@test()\n\tprotected static async syncSchemasTwiceSkipsFiles() {\n\t\tawait this.syncSchemas('schemas', this.coreSyncOptions)\n\t\tconst results = await this.Action('schema', 'sync').execute(\n\t\t\tthis.coreSyncOptions\n\t\t)\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isAbove(results.files?.length, 0)\n\n\t\ttestUtil.assertCountsByAction(results.files, {\n\t\t\tgenerated: 0,\n\t\t\tskipped: results.files?.length ?? 0,\n\t\t\tupdated: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async makeSureSchemaTypesAreVersioned() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tawait this.copyMockCoreSchemas()\n\n\t\tconst results = await this.Action('schema', 'sync').execute(\n\t\t\tthis.coreSyncOptions\n\t\t)\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst typesContents = diskUtil.readFile(this.coreSchemaTypesFile)\n\t\tassert.doesInclude(\n\t\t\ttypesContents,\n\t\t\tnew RegExp(\n\t\t\t\t`SpruceSchemas.${CORE_NAMESPACE}.${CORE_SCHEMA_VERSION.constValue}(.*?)interface Person`,\n\t\t\t\t'gis'\n\t\t\t)\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async shouldGenerateCoreSchemaTypesGeneratesValidFiles() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tawait this.copyMockCoreSchemas()\n\n\t\tconst results = await this.Action('schema', 'sync').execute(\n\t\t\tthis.coreSyncOptions\n\t\t)\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTruthy(results.files)\n\n\t\tawait this.assertValidActionResponseFiles(results)\n\n\t\tconst typesContents = diskUtil.readFile(this.coreSchemaTypesFile)\n\n\t\tassert.doesNotInclude(typesContents, /@sprucelabs\\/spruce-core-schemas/gi)\n\t\tassert.doesInclude(\n\t\t\ttypesContents,\n\t\t\tnew RegExp(\n\t\t\t\t`export declare namespace ${DEFAULT_GLOBAL_SCHEMA_NAMESPACE}.${CORE_NAMESPACE}.${CORE_SCHEMA_VERSION.constValue}`,\n\t\t\t\t'gis'\n\t\t\t)\n\t\t)\n\n\t\tconst orgSchema = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'organization.schema.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst locationSchemaContents = diskUtil.readFile(orgSchema)\n\t\tassert.doesInclude(locationSchemaContents, 'SchemaRegistry')\n\t}\n\n\t@test()\n\tprotected static async generateCoreSchemaInCoreSchemasModule() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tpkg.set({ path: 'name', value: '@sprucelabs/spruce-core-schemas' })\n\n\t\tawait this.copyMockCoreSchemas()\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTruthy(results.files)\n\n\t\tconst typesContents = diskUtil.readFile(this.coreSchemaTypesFile)\n\n\t\tassert.doesNotInclude(typesContents, /@sprucelabs\\/spruce-core-schemas/gi)\n\t\tassert.doesInclude(\n\t\t\ttypesContents,\n\t\t\tnew RegExp(\n\t\t\t\t`export declare namespace ${DEFAULT_GLOBAL_SCHEMA_NAMESPACE}.${CORE_NAMESPACE}.${CORE_SCHEMA_VERSION.constValue}`,\n\t\t\t\t'gis'\n\t\t\t)\n\t\t)\n\n\t\tconst orgSchema = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'organization.schema.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst locationSchemaContents = diskUtil.readFile(orgSchema)\n\t\tassert.doesInclude(locationSchemaContents, 'SchemaRegistry')\n\t}\n\n\t@test()\n\tprotected static async canHandleHyphenSchemaIds() {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tconst createResponse = await this.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Test schema',\n\t\t\tnameCamel: 'testSchema',\n\t\t})\n\n\t\tassert.isFalsy(createResponse.errors)\n\n\t\tconst builderPath = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'testSchema.builder.ts',\n\t\t\tcreateResponse.files\n\t\t)\n\n\t\tconst contents = diskUtil\n\t\t\t.readFile(builderPath)\n\t\t\t.replace(\"id: 'testSchema'\", \"id: 'test-schema'\")\n\n\t\tdiskUtil.writeFile(builderPath, contents)\n\n\t\tconst syncResults = await this.Action('schema', 'sync').execute({})\n\n\t\tconst testSchema = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'test-schema.schema.ts',\n\t\t\tsyncResults.files\n\t\t)\n\n\t\tconst testSchemaContents = diskUtil.readFile(testSchema)\n\t\tassert.doesInclude(testSchemaContents, 'SchemaRegistry')\n\n\t\tawait this.assertValidActionResponseFiles(syncResults)\n\t}\n\n\t@test()\n\tprotected static async coreSchemasPullFromCoreSchemasModuleDuringNormalGeneration() {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tconst createResponse = await this.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Test schema',\n\t\t\tnameCamel: 'testSchema',\n\t\t})\n\n\t\tfor (const schema of Object.values(coreSchemas)) {\n\t\t\tconst id = schema.id\n\t\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\t`${id}.schema.ts`,\n\t\t\t\tcreateResponse.files\n\t\t\t)\n\t\t\tconst contents = diskUtil.readFile(match)\n\t\t\tassert.doesInclude(\n\t\t\t\tcontents,\n\t\t\t\t`export { ${id}Schema as default } from '@sprucelabs/spruce-core-schemas'`\n\t\t\t)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async schemasStayInSyncWhenBuildersAreDeleted() {\n\t\tawait this.syncSchemas('schemas')\n\t\tconst version = versionUtil.generateVersion()\n\t\tconst typeChecker = this.Service('typeChecker')\n\t\tconst createAction = this.Action('schema', 'create')\n\n\t\tconst matcher = new RegExp(\n\t\t\t`SpruceSchemas.TestingSchemas.${version.constValue}(.*?)interface TestSchema`,\n\t\t\t'gis'\n\t\t)\n\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(pathUtil.dirname(this.schemaTypesFile))\n\t\t)\n\n\t\tconst createResponse = await createAction.execute({\n\t\t\tnameReadable: 'Test schema',\n\t\t\tnameCamel: 'testSchema',\n\t\t})\n\n\t\tconst builderFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t/testSchema\\.builder/,\n\t\t\tcreateResponse.files\n\t\t)\n\n\t\t// make sure builder is versioned\n\t\tassert.doesInclude(builderFile, version.dirValue)\n\n\t\tconst schemaFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t/testSchema\\.schema/,\n\t\t\tcreateResponse.files\n\t\t)\n\n\t\t// make sure this path is versioned\n\t\tassert.doesInclude(schemaFile, version.dirValue)\n\t\tassert.doesInclude(schemaFile, '/testingSchemas/')\n\n\t\t// schema types should be good\n\t\tawait typeChecker.check(this.schemaTypesFile)\n\n\t\t// the types should include our test schema\n\t\tlet typesContents = diskUtil.readFile(this.schemaTypesFile)\n\t\tassert.doesInclude(typesContents, matcher)\n\n\t\t// the schema file should exist\n\t\tassert.isTrue(diskUtil.doesFileExist(schemaFile))\n\n\t\t// DELETE builder and make sure we are cleaned up\n\t\tdiskUtil.deleteFile(builderFile)\n\n\t\t// this should cleanup types and schema files\n\t\tawait this.Action('schema', 'sync').execute({})\n\n\t\tassert.isTrue(diskUtil.doesFileExist(this.schemaTypesFile))\n\n\t\t// and the schema should have been deleted\n\t\tassert.isFalse(diskUtil.doesFileExist(schemaFile))\n\n\t\t// and the namespace folder should have been deleted\n\t\tconst namespaceFolder = this.resolveHashSprucePath(\n\t\t\t'schemas',\n\t\t\t'testingSChemas'\n\t\t)\n\t\tassert.isFalse(diskUtil.doesDirExist(namespaceFolder))\n\t}\n\n\t@test()\n\tprotected static async canSyncSchemasWhenOnlyNodeModuleIsInstalledAfterDecliningToInstallSkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('schemasInNodeModule')\n\n\t\tconst promise = this.Action('schema', 'sync').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('n')\n\n\t\tawait this.waitForInput()\n\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\t\tawait this.assertValidActionResponseFiles(results)\n\t}\n\n\t@test('syncs minArrayLength, importsWhenRemote')\n\tprotected static async syncsExpectedFields() {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\n\t\tawait diskUtil.copyDir(this.resolveTestPath('test_builders'), schemasDir)\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\t\tconst schema = await this.importSchema(results, 'schemaTwo.schema.ts')\n\n\t\tassert.isUndefined(schema.fields.phone.minArrayLength)\n\t\tassert.isEqual(schema.fields.favoriteColors.minArrayLength, 3)\n\t\tassert.isEqual(schema.fields.permissions.minArrayLength, 0)\n\t}\n\n\t@test()\n\tprotected static async canChangeSkillNamespace() {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tawait this.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Test schema',\n\t\t\tnameCamel: 'testSchema',\n\t\t})\n\n\t\tconst beforeFolder = this.resolveHashSprucePath('schemas', 'testingSchemas')\n\t\tconst afterFolder = this.resolveHashSprucePath('schemas', 'newNamespace')\n\n\t\tassert.isTrue(diskUtil.doesFileExist(beforeFolder))\n\t\tassert.isFalse(diskUtil.doesFileExist(afterFolder))\n\n\t\tawait this.Store('skill').setCurrentSkillsNamespace('new-namespace')\n\n\t\tawait this.Action('schema', 'sync').execute({})\n\n\t\tassert.isFalse(diskUtil.doesFileExist(beforeFolder))\n\t\tassert.isTrue(diskUtil.doesFileExist(afterFolder))\n\t}\n\n\t@test()\n\tprotected static async generatedSchemasRetainImportsAndTypeSuffix() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst results = await this.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Test schema',\n\t\t\tnameCamel: 'testSchema',\n\t\t})\n\n\t\tconst testSchemaPath = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'testSchema.builder.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tdiskUtil.writeFile(\n\t\t\ttestSchemaPath,\n\t\t\t`import { buildSchema } from '@sprucelabs/schema'\n\n\t\texport default buildSchema({\n\t\t\tid: 'testSchema',\n\t\t\tname: 'Test schema',\n\t\t\tdescription: '',\n\t\t\timportsWhenLocal: ['import * as Local from \"@sprucelabs/schema\"'],\n\t\t\timportsWhenRemote: ['import * as Remote from \"@sprucelabs/schema\"'],\n\t\t\ttypeSuffix: '<S extends Record<string, any> = Record<string, any>>',\n\t\t\tfields: {\n\t\t\t\tfieldName1: {\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tlabel: 'First Field',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tfieldName2: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tlabel: 'Second Field',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\thint: 'A hint',\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\t`\n\t\t)\n\n\t\tconst syncResults = await this.Action('schema', 'sync').execute({})\n\n\t\tconst schemaPath = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'testSchema.schema.ts',\n\t\t\tsyncResults.files\n\t\t)\n\n\t\tconst imported = await this.Service('import').importDefault(schemaPath)\n\n\t\tassert.doesInclude(imported, {\n\t\t\timportsWhenRemote: ['import * as Remote from \"@sprucelabs/schema\"'],\n\t\t\ttypeSuffix: '<S extends Record<string, any> = Record<string, any>>',\n\t\t})\n\t}\n\n\tprivate static async importSchema(results: any, filename: string) {\n\t\tconst file = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\tfilename,\n\t\t\tresults.files\n\t\t)\n\n\t\tconst schema = await this.Service('import').importDefault(file)\n\n\t\treturn schema\n\t}\n\n\tprivate static async assertTypesFileGeneratesArraySelect(typesFile: string) {\n\t\tconst contents = diskUtil.readFile(typesFile)\n\t\tassert.doesInclude(contents, `'favoriteColors'?: (\"blue\" | \"red\")[]`)\n\t}\n\n\tprivate static async copyMockCoreSchemas() {\n\t\tconst source = this.resolveTestPath('mock_core_builders')\n\t\tconst destination = this.resolvePath('src', 'schemas')\n\n\t\tawait diskUtil.copyDir(source, destination)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"SettingUpSchemas.test.js","names":["SettingUpSchemasTests","Cli","cli","assert","doesThrowAsync","installFeatures","features","code","err","errorAssert","assertError","installSchemaFeature","pgkPath","resolvePath","contents","JSON","stringify","diskUtil","readFile","doesInclude","tsConfig","tsConfigUtil","readConfig","cwd","isEqualDeep","checkHealth","health","isTruthy","schema","isEqual","status","AbstractSchemaTest"],"sources":["../../../../src/__tests__/behavioral/schemas/SettingUpSchemas.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\nimport tsConfigUtil from '../../../utilities/tsConfig.utility'\n\nexport default class SettingUpSchemasTests extends AbstractSchemaTest {\n\t@test()\n\tprotected static async failsBecauseMissingSkillInformation() {\n\t\tconst cli = await this.Cli()\n\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tcli.installFeatures({\n\t\t\t\tfeatures: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'schema',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t)\n\n\t\terrorAssert.assertError(err, 'VALIDATION_FAILED')\n\t}\n\n\t@test()\n\tprotected static async installsSchema() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst pgkPath = this.resolvePath('package.json')\n\t\tconst contents = JSON.stringify(diskUtil.readFile(pgkPath))\n\n\t\tassert.doesInclude(contents, '@sprucelabs/schema')\n\n\t\tconst tsConfig = tsConfigUtil.readConfig(this.cwd)\n\n\t\tassert.isEqualDeep(tsConfig['compilerOptions']['paths'], {\n\t\t\t'#spruce/*': ['.spruce/*'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async schemaPassesHealthCheck() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isTruthy(health.schema)\n\t\tassert.isEqual(health.schema.status, 'passed')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,qB,WACnB,iB,UAiBA,iB,UAgBA,iB;;;;;;;;;;;;;+HAjCD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,KAAKC,GAAL,EAFnB;;cAAA;gBAEOC,GAFP;gBAAA;gBAAA,OAImBC,aAAOC,cAAP,CAAsB;kBAAA,OACvCF,GAAG,CAACG,eAAJ,CAAoB;oBACnBC,QAAQ,EAAE,CACT;sBACCC,IAAI,EAAE;oBADP,CADS;kBADS,CAApB,CADuC;gBAAA,CAAtB,CAJnB;;cAAA;gBAIOC,GAJP;;gBAcCC,uBAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,mBAA7B;;cAdD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;0GAiBA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKG,oBAAL,CAA0B,SAA1B,CAFP;;cAAA;gBAIOC,OAJP,GAIiB,KAAKC,WAAL,CAAiB,cAAjB,CAJjB;gBAKOC,QALP,GAKkBC,IAAI,CAACC,SAAL,CAAeC,2BAASC,QAAT,CAAkBN,OAAlB,CAAf,CALlB;;gBAOCT,aAAOgB,WAAP,CAAmBL,QAAnB,EAA6B,oBAA7B;;gBAEMM,QATP,GASkBC,qBAAaC,UAAb,CAAwB,KAAKC,GAA7B,CATlB;;gBAWCpB,aAAOqB,WAAP,CAAmBJ,QAAQ,CAAC,iBAAD,CAAR,CAA4B,OAA5B,CAAnB,EAAyD;kBACxD,aAAa,CAAC,WAAD;gBAD2C,CAAzD;;cAXD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;mHAgBA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,KAAKT,oBAAL,CAA0B,SAA1B,CAFnB;;cAAA;gBAEOT,GAFP;gBAAA;gBAAA,OAGsBA,GAAG,CAACuB,WAAJ,EAHtB;;cAAA;gBAGOC,MAHP;;gBAKCvB,aAAOwB,QAAP,CAAgBD,MAAM,CAACE,MAAvB;;gBACAzB,aAAO0B,OAAP,CAAeH,MAAM,CAACE,MAAP,CAAcE,MAA7B,EAAqC,QAArC;;cAND;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAlCkDC,+B"}
|
package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"SyncingBadSchemasProvidesHelpfulErrorMessages.test.js","names":["SyncingBadSchemasProvidesHelpfulErrorMessagesTest","syncSchemas","schemasDir","resolvePath","diskUtil","copyDir","resolveTestPath","Action","execute","results","assert","isArray","errors","errorAssert","assertError","doesInclude","message","err","SpruceError","code","friendlyMessage","isEqual","AbstractSchemaTest"],"sources":["../../../../src/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\n\nexport default class SyncingBadSchemasProvidesHelpfulErrorMessagesTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async syncingBadSchemasProvidesHelpfulErrorMessages() {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\t\tawait diskUtil.copyDir(\n\t\t\tthis.resolveTestPath('test_builders_one_bad'),\n\t\t\tschemasDir\n\t\t)\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\t\tassert.isArray(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'SCHEMA_FAILED_TO_IMPORT')\n\t\tassert.doesInclude(results.errors[0].message, 'no is not defined')\n\t}\n\n\t@test()\n\tprotected static throwingUnknownErrorDoesNotDoubleUpMessage() {\n\t\tconst err = new SpruceError({\n\t\t\t//@ts-ignore\n\t\t\tcode: 'GO_TEAM',\n\t\t\tfriendlyMessage: 'This is a great error',\n\t\t})\n\t\tconst message = err.friendlyMessage()\n\t\tassert.isEqual(message, 'This is a great error')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,iD,WACnB,iB,UAiBA,iB;;;;;;;;;;;;;yIAjBD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKC,WAAL,CAAiB,SAAjB,CAFP;;cAAA;gBAIOC,UAJP,GAIoB,KAAKC,WAAL,CAAiB,KAAjB,EAAwB,SAAxB,CAJpB;gBAAA;gBAAA,OAKOC,2BAASC,OAAT,CACL,KAAKC,eAAL,CAAqB,uBAArB,CADK,EAELJ,UAFK,CALP;;cAAA;gBAAA;gBAAA,OAUuB,KAAKK,MAAL,CAAY,QAAZ,EAAsB,MAAtB,EAA8BC,OAA9B,CAAsC,EAAtC,CAVvB;;cAAA;gBAUOC,OAVP;;gBAWCC,aAAOC,OAAP,CAAeF,OAAO,CAACG,MAAvB;;gBAEAC,uBAAYC,WAAZ,CAAwBL,OAAO,CAACG,MAAR,CAAe,CAAf,CAAxB,EAA2C,yBAA3C;;gBACAF,aAAOK,WAAP,CAAmBN,OAAO,CAACG,MAAR,CAAe,CAAf,EAAkBI,OAArC,EAA8C,mBAA9C;;cAdD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAiBA,sDAC8D;MAC7D,IAAMC,GAAG,GAAG,IAAIC,uBAAJ,CAAgB;QAC3B;QACAC,IAAI,EAAE,SAFqB;QAG3BC,eAAe,EAAE;MAHU,CAAhB,CAAZ;MAKA,IAAMJ,OAAO,GAAGC,GAAG,CAACG,eAAJ,EAAhB;;MACAV,aAAOW,OAAP,CAAeL,OAAf,EAAwB,uBAAxB;IACA;;;EA3B6EM,+B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"UsingSchemasInCli.test.js","names":["UsingSchemasInCli","user","Schema","cliUserSchema","casualName","assert","isEqual","get","BaseSpruceTest"],"sources":["../../../../src/__tests__/behavioral/schemas/UsingSchemasInCli.test.ts"],"sourcesContent":["import Schema from '@sprucelabs/schema'\nimport BaseSpruceTest, { test, assert } from '@sprucelabs/test'\nimport cliUserSchema from '#spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema'\n\nexport default class UsingSchemasInCli extends BaseSpruceTest {\n\t@test()\n\tprotected static async instantiateSchema() {\n\t\tconst user = new Schema(cliUserSchema, {\n\t\t\tcasualName: 'Amigo',\n\t\t})\n\t\tassert.isEqual(user.get('casualName'), 'Amigo')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;IAEqBA,iB,WACnB,iB;;;;;;;;;;;;;6GAAD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,IAFP,GAEc,IAAIC,kBAAJ,CAAWC,2BAAX,EAA0B;kBACtCC,UAAU,EAAE;gBAD0B,CAA1B,CAFd;;gBAKCC,aAAOC,OAAP,CAAeL,IAAI,CAACM,GAAL,CAAS,YAAT,CAAf,EAAuC,OAAvC;;cALD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAD8CC,gB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"BootingASkill.test.js","names":["BootingASkillTest","Action","execute","results","assert","isTruthy","errors","doesInclude","message","Service","build","response","isFalsy","isTrue","meta","isBooted","pid","isAbove","psResults","length","kill","wait","psResultsEmpty","isLength","promise","shouldReturnImmediately","isFalse","bootPromise","bootResponse","isEqual","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/skill/BootingASkill.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport findProcess from 'find-process'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\n\nexport default class BootingASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\t@test()\n\tprotected static async bootingWithoutBuildingThrowsGoodError() {\n\t\tconst results = await this.Action('skill', 'boot').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, /you must build/gis)\n\t}\n\n\t@test()\n\tprotected static async aSkillCanBeBootedAndKilled() {\n\t\tawait this.Service('build').build()\n\n\t\tconst response = await this.Action('skill', 'boot').execute({})\n\n\t\tassert.isFalsy(response.errors)\n\t\tassert.isTrue(response.meta?.isBooted)\n\n\t\tconst pid = response.meta?.pid\n\t\tassert.isAbove(pid, 0)\n\n\t\tconst psResults = await findProcess('pid', pid)\n\t\tassert.isAbove(psResults.length, 0)\n\n\t\tresponse.meta?.kill()\n\n\t\tawait this.wait(1000)\n\n\t\tconst psResultsEmpty = await findProcess('pid', pid)\n\t\tassert.isLength(psResultsEmpty, 0)\n\n\t\tawait response.meta?.promise\n\t}\n\n\t@test()\n\tprotected static async canReturnFromExecuteImmediately() {\n\t\tconst response = await this.Action('skill', 'boot').execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t})\n\n\t\tassert.isFalse(response.meta?.isBooted)\n\n\t\tconst bootResponse = await response.meta?.bootPromise\n\n\t\tassert.isEqual(bootResponse.meta.pid, response.meta.pid)\n\t\tassert.isTrue(bootResponse.meta?.isBooted)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,iB,WAEnB,iB,UAQA,iB,UAyBA,iB;;;;;;;;;;;;;iIAjCD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAAqC,EAArC,CAFvB;;cAAA;gBAEOC,OAFP;;gBAICC,aAAOC,QAAP,CAAgBF,OAAO,CAACG,MAAxB;;gBACAF,aAAOG,WAAP,CAAmBJ,OAAO,CAACG,MAAR,CAAe,CAAf,EAAkBE,OAArC,EAA8C,kBAA9C;;cALD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;sHAQA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,KAAKC,OAAL,CAAa,OAAb,EAAsBC,KAAtB,EAFP;;cAAA;gBAAA;gBAAA,OAIwB,KAAKT,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAAqC,EAArC,CAJxB;;cAAA;gBAIOS,QAJP;;gBAMCP,aAAOQ,OAAP,CAAeD,QAAQ,CAACL,MAAxB;;gBACAF,aAAOS,MAAP,mBAAcF,QAAQ,CAACG,IAAvB,mDAAc,eAAeC,QAA7B;;gBAEMC,GATP,sBASaL,QAAQ,CAACG,IATtB,oDASa,gBAAeE,GAT5B;;gBAUCZ,aAAOa,OAAP,CAAeD,GAAf,EAAoB,CAApB;;gBAVD;gBAAA,OAYyB,6BAAY,KAAZ,EAAmBA,GAAnB,CAZzB;;cAAA;gBAYOE,SAZP;;gBAaCd,aAAOa,OAAP,CAAeC,SAAS,CAACC,MAAzB,EAAiC,CAAjC;;gBAEA,mBAAAR,QAAQ,CAACG,IAAT,oEAAeM,IAAf;gBAfD;gBAAA,OAiBO,KAAKC,IAAL,CAAU,IAAV,CAjBP;;cAAA;gBAAA;gBAAA,OAmB8B,6BAAY,KAAZ,EAAmBL,GAAnB,CAnB9B;;cAAA;gBAmBOM,cAnBP;;gBAoBClB,aAAOmB,QAAP,CAAgBD,cAAhB,EAAgC,CAAhC;;gBApBD;gBAAA,0BAsBOX,QAAQ,CAACG,IAtBhB,oDAsBO,gBAAeU,OAtBtB;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;2HAyBA;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEwB,KAAKvB,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAAqC;kBAC3DuB,uBAAuB,EAAE;gBADkC,CAArC,CAFxB;;cAAA;gBAEOd,QAFP;;gBAMCP,aAAOsB,OAAP,oBAAef,QAAQ,CAACG,IAAxB,oDAAe,gBAAeC,QAA9B;;gBAND;gBAAA,0BAQ4BJ,QAAQ,CAACG,IARrC,oDAQ4B,gBAAea,WAR3C;;cAAA;gBAQOC,YARP;;gBAUCxB,aAAOyB,OAAP,CAAeD,YAAY,CAACd,IAAb,CAAkBE,GAAjC,EAAsCL,QAAQ,CAACG,IAAT,CAAcE,GAApD;;gBACAZ,aAAOS,MAAP,uBAAce,YAAY,CAACd,IAA3B,uDAAc,mBAAmBC,QAAjC;;cAXD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAnC8Ce,8B,8DACb,Q"}
|
|
@@ -61,7 +61,7 @@ var CreatingASkillTest = (_dec = (0, _test.test)(), (_class = /*#__PURE__*/funct
|
|
|
61
61
|
return (0, _get2["default"])((0, _getPrototypeOf2["default"])(CreatingASkillTest), "beforeEach", this).call(this);
|
|
62
62
|
|
|
63
63
|
case 2:
|
|
64
|
-
_CommandService["default"].
|
|
64
|
+
_CommandService["default"].fakeCommand(new RegExp(/npm[\s\S]*?install [\s\S]*?/gi), {
|
|
65
65
|
code: 0
|
|
66
66
|
});
|
|
67
67
|
|
|
@@ -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"}
|