@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,"sources":["../../../src/__tests__/implementation/EventTemplateItemBuilder.test.ts"],"names":["expectedVersion","versionUtil","generateVersion","dirValue","bookContract","eventSignatures","contractWith2Signatures","contractWith2NamespacedSignatures","didBookTemplateItem","version","namePascal","nameCamel","isLocal","namespace","namesUtil","toKebab","MERCURY_API_NAMESPACE","namespaceCamel","toCamel","namespacePascal","toPascal","imports","importAs","willBookTemplateItem","didBookWithNamespaceTemplateItem","willBookWithNamespaceTemplateItem","relatedToRelatedToProximitySchema","id","fields","onlyField","type","relatedToRelatedToProximitySchemaTemplateItem","nameReadable","schema","isNested","destinationDir","relatedToProximitySchema","boolField","relatedToRelatedSchema","options","relatedToProximitySchemaTemplateItem","schemaIds","proximityEmitPayloadSchema","textField","relatedSchema","proximityEmitPayloadTemplateItem","contractWithEmitPayload","emitPayloadSchema","expectedContractWithEmitPayloadTemplateItem","EventTemplateItemBuilderTest","itemBuilder","EventTemplateItemBuilder","assert","isTruthy","isFunction","buildTemplateItems","contracts","localNamespace","eventContractTemplateItems","actual","isEqualDeep","expectedEventContractTemplateItems","expectedSchemaTemplateItems","schemaTemplateItems","coreEventContracts","match","find","item","isEqual","groupsExpectedImports","appointmentsExpectedImports","name","responsePayloadSchema","emitPermissionContract","requireAllPermissions","permissions","listenPermissionContract","AbstractCliTest"],"mappings":"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","sourcesContent":["import { coreEventContracts } from '@sprucelabs/mercury-core-events'\nimport { EventContract } from '@sprucelabs/mercury-types'\nimport { buildSchema, SchemaTemplateItem } from '@sprucelabs/schema'\nimport {\n\tMERCURY_API_NAMESPACE,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { EventContractTemplateItem } from '@sprucelabs/spruce-templates'\nimport { test, assert } from '@sprucelabs/test'\nimport EventTemplateItemBuilder from '../../templateItemBuilders/EventTemplateItemBuilder'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nconst expectedVersion = versionUtil.generateVersion().dirValue\n\nconst bookContract: EventContract = {\n\teventSignatures: {\n\t\t[`did-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst contractWith2Signatures: EventContract = {\n\teventSignatures: {\n\t\t[`did-book::${expectedVersion}`]: {},\n\t\t[`will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst contractWith2NamespacedSignatures: EventContract = {\n\teventSignatures: {\n\t\t[`appointments.did-book::${expectedVersion}`]: {},\n\t\t[`appointments.will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst didBookTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'DidBook',\n\tnameCamel: 'didBook',\n\tisLocal: false,\n\tnamespace: namesUtil.toKebab(MERCURY_API_NAMESPACE),\n\tnamespaceCamel: namesUtil.toCamel(MERCURY_API_NAMESPACE),\n\tnamespacePascal: namesUtil.toPascal(MERCURY_API_NAMESPACE),\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`did-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst willBookTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'WillBook',\n\tnameCamel: 'willBook',\n\tisLocal: false,\n\tnamespace: namesUtil.toKebab(MERCURY_API_NAMESPACE),\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\tnamespaceCamel: namesUtil.toCamel(MERCURY_API_NAMESPACE),\n\tnamespacePascal: namesUtil.toPascal(MERCURY_API_NAMESPACE),\n\teventSignatures: {\n\t\t[`will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst didBookWithNamespaceTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'DidBook',\n\tnameCamel: 'didBook',\n\tisLocal: true,\n\tnamespace: 'appointments',\n\tnamespaceCamel: 'appointments',\n\tnamespacePascal: 'Appointments',\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`appointments.did-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst willBookWithNamespaceTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'WillBook',\n\tnameCamel: 'willBook',\n\tisLocal: true,\n\tnamespace: 'appointments',\n\tnamespaceCamel: 'appointments',\n\tnamespacePascal: 'Appointments',\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`appointments.will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst relatedToRelatedToProximitySchema = buildSchema({\n\tid: 'relatedToRelatedToProximitySchema',\n\tversion: expectedVersion,\n\tfields: {\n\t\tonlyField: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n})\n\nconst relatedToRelatedToProximitySchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'proximity',\n\tid: relatedToRelatedToProximitySchema.id,\n\tnameCamel: 'relatedToRelatedToProximitySchema',\n\tnamePascal: 'RelatedToRelatedToProximitySchema',\n\tnameReadable: 'relatedToRelatedToProximitySchema',\n\tschema: {\n\t\t...relatedToRelatedToProximitySchema,\n\t\tnamespace: 'proximity',\n\t},\n\tisNested: true,\n\tdestinationDir: '#spruce/events',\n}\n\nconst relatedToProximitySchema = buildSchema({\n\tversion: expectedVersion,\n\tid: 'relatedToProximitySchema',\n\tfields: {\n\t\tboolField: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\trelatedToRelatedSchema: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: relatedToRelatedToProximitySchema,\n\t\t\t},\n\t\t},\n\t},\n})\n\nconst relatedToProximitySchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'proximity',\n\tid: relatedToProximitySchema.id,\n\tnameCamel: 'relatedToProximitySchema',\n\tnamePascal: 'RelatedToProximitySchema',\n\tnameReadable: 'relatedToProximitySchema',\n\tschema: {\n\t\tid: 'relatedToProximitySchema',\n\t\tnamespace: 'proximity',\n\t\tversion: expectedVersion,\n\t\tfields: {\n\t\t\tboolField: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\trelatedToRelatedSchema: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'relatedToRelatedToProximitySchema',\n\t\t\t\t\t\t\tnamespace: 'proximity',\n\t\t\t\t\t\t\tversion: expectedVersion,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: true,\n\tdestinationDir: '#spruce/events',\n}\n\nconst proximityEmitPayloadSchema = buildSchema({\n\tversion: expectedVersion,\n\tid: 'proximityEmitPayload',\n\tnamespace: 'proximity',\n\tfields: {\n\t\ttextField: {\n\t\t\ttype: 'text',\n\t\t},\n\t\trelatedSchema: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: relatedToProximitySchema,\n\t\t\t},\n\t\t},\n\t},\n})\n\nconst proximityEmitPayloadTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'proximity',\n\tid: proximityEmitPayloadSchema.id,\n\tnameCamel: 'proximityEmitPayload',\n\tnamePascal: 'ProximityEmitPayload',\n\tnameReadable: 'proximityEmitPayload',\n\tschema: {\n\t\tid: 'proximityEmitPayload',\n\t\tnamespace: 'proximity',\n\t\tversion: expectedVersion,\n\t\tfields: {\n\t\t\ttextField: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\trelatedSchema: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'relatedToProximitySchema',\n\t\t\t\t\t\t\tnamespace: 'proximity',\n\t\t\t\t\t\t\tversion: expectedVersion,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: false,\n\tdestinationDir: '#spruce/events',\n}\n\nconst contractWithEmitPayload: EventContract = {\n\teventSignatures: {\n\t\t[`proximity.did-enter::${expectedVersion}`]: {\n\t\t\temitPayloadSchema: proximityEmitPayloadSchema,\n\t\t},\n\t},\n}\n\nconst expectedContractWithEmitPayloadTemplateItem: EventContractTemplateItem = {\n\tnamePascal: 'DidEnter',\n\tnameCamel: 'didEnter',\n\tnamespace: 'proximity',\n\tisLocal: false,\n\tversion: expectedVersion,\n\tnamespaceCamel: 'proximity',\n\tnamespacePascal: 'Proximity',\n\timports: [\n\t\t{\n\t\t\tpackage: `#spruce/schemas/proximity/${expectedVersion}/proximityEmitPayload.schema`,\n\t\t\timportAs: 'proximityEmitPayloadSchema',\n\t\t},\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`proximity.did-enter::${expectedVersion}`]: {\n\t\t\temitPayloadSchema: {\n\t\t\t\t...proximityEmitPayloadTemplateItem,\n\t\t\t},\n\t\t},\n\t},\n}\n\nexport default class EventTemplateItemBuilderTest extends AbstractCliTest {\n\tprivate static itemBuilder: EventTemplateItemBuilder\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.itemBuilder = new EventTemplateItemBuilder()\n\t}\n\n\t@test()\n\tprotected static async canCreateNewItemBuilder() {\n\t\tassert.isTruthy(this.itemBuilder)\n\t}\n\n\t@test()\n\tprotected static async hasGenerateFunction() {\n\t\tassert.isFunction(this.itemBuilder.buildTemplateItems)\n\t}\n\n\t@test()\n\tprotected static turnsSingleContractIntoTemplateItem() {\n\t\tconst { eventContractTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [bookContract],\n\t\t\tlocalNamespace: 'test-namespace',\n\t\t})\n\n\t\tconst actual = eventContractTemplateItems[0]\n\n\t\tassert.isEqualDeep(actual, didBookTemplateItem)\n\t}\n\n\t@test(\n\t\t'builds emit payload schema into a template item',\n\t\t[contractWithEmitPayload],\n\t\t[expectedContractWithEmitPayloadTemplateItem],\n\t\t[\n\t\t\trelatedToRelatedToProximitySchemaTemplateItem,\n\t\t\trelatedToProximitySchemaTemplateItem,\n\t\t\tproximityEmitPayloadTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'turns 1 contract with 2 event signature into 2 template items',\n\t\t[contractWith2Signatures],\n\t\t[didBookTemplateItem, willBookTemplateItem]\n\t)\n\t@test(\n\t\t'turns 2 contract with 2 event signature into 4 template items',\n\t\t[contractWith2Signatures, contractWith2Signatures],\n\t\t[\n\t\t\tdidBookTemplateItem,\n\t\t\tdidBookTemplateItem,\n\t\t\twillBookTemplateItem,\n\t\t\twillBookTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'turns 1 contract with 2 namespaced event signatures to 2 template items',\n\t\t[contractWith2NamespacedSignatures],\n\t\t[didBookWithNamespaceTemplateItem, willBookWithNamespaceTemplateItem]\n\t)\n\tprotected static generateItems(\n\t\tcontracts: EventContract[],\n\t\texpectedEventContractTemplateItems: EventContractTemplateItem[],\n\t\texpectedSchemaTemplateItems: SchemaTemplateItem[] = []\n\t) {\n\t\tconst { eventContractTemplateItems, schemaTemplateItems } =\n\t\t\tthis.itemBuilder.buildTemplateItems({\n\t\t\t\tcontracts,\n\t\t\t\tlocalNamespace: 'appointments',\n\t\t\t})\n\n\t\tassert.isEqualDeep(\n\t\t\teventContractTemplateItems,\n\t\t\texpectedEventContractTemplateItems\n\t\t)\n\t\tassert.isEqualDeep(schemaTemplateItems, expectedSchemaTemplateItems)\n\t}\n\n\t@test()\n\tprotected static canPullEventContractSchemaFromCoreEventContract() {\n\t\tconst { schemaTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [\n\t\t\t\t{\n\t\t\t\t\teventSignatures: {\n\t\t\t\t\t\t'register-events':\n\t\t\t\t\t\t\tcoreEventContracts[0].eventSignatures['can-listen::v2020_12_25'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tlocalNamespace: 'testing',\n\t\t})\n\n\t\tconst match = schemaTemplateItems.find((item) => item.id === 'eventSource')\n\t\tassert.isTruthy(match)\n\t}\n\n\t@test()\n\tprotected static sortsEventsAlphabetically() {\n\t\tconst { eventContractTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [\n\t\t\t\t{\n\t\t\t\t\teventSignatures: {\n\t\t\t\t\t\t'zebra-cheeta': {},\n\t\t\t\t\t\t'register-events':\n\t\t\t\t\t\t\tcoreEventContracts[0].eventSignatures['can-listen::v2020_12_25'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tlocalNamespace: 'testing',\n\t\t})\n\n\t\tassert.isEqual(eventContractTemplateItems[0].nameCamel, 'registerEvents')\n\t\tassert.isEqual(eventContractTemplateItems[1].nameCamel, 'zebraCheeta')\n\t}\n\n\t@test()\n\tprotected static eventContractTemplateItemsHaveProperNamespacesImports() {\n\t\tconst groupsExpectedImports = [\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/groups/v2021_12_01/listEmitTargetAndPayload.schema',\n\t\t\t\timportAs: 'listEmitTargetAndPayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/groups/v2021_12_01/listResponsePayload.schema',\n\t\t\t\timportAs: 'listResponsePayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildEventContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildPermissionContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t]\n\n\t\tconst appointmentsExpectedImports = [\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/appointments/v2021_06_23/listEmitTargetAndPayload.schema',\n\t\t\t\timportAs: 'listEmitTargetAndPayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/appointments/v2021_06_23/listResponsePayload.schema',\n\t\t\t\timportAs: 'listResponsePayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildEventContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildPermissionContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t]\n\n\t\tconst { eventContractTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [\n\t\t\t\t{\n\t\t\t\t\teventSignatures: {\n\t\t\t\t\t\t'groups.list::v2021_12_01': {\n\t\t\t\t\t\t\temitPayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listEmitTargetAndPayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_12_01',\n\t\t\t\t\t\t\t\tnamespace: 'Groups',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listResponsePayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_12_01',\n\t\t\t\t\t\t\t\tnamespace: 'Groups',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissionContract: {\n\t\t\t\t\t\t\t\tid: 'listEmitPermissions',\n\t\t\t\t\t\t\t\tname: 'list',\n\t\t\t\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\t\t\t\tpermissions: [],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\n\t\t\t\t\t\t'appointments.list::v2021_06_23': {\n\t\t\t\t\t\t\temitPayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listEmitTargetAndPayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_06_23',\n\t\t\t\t\t\t\t\tnamespace: 'Appointments',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listResponsePayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_06_23',\n\t\t\t\t\t\t\t\tnamespace: 'Appointments',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissionContract: {\n\t\t\t\t\t\t\t\tid: 'listEmitPermissions',\n\t\t\t\t\t\t\t\tname: 'list appointments',\n\t\t\t\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\t\t\t\tpermissions: [],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlistenPermissionContract: {\n\t\t\t\t\t\t\t\tid: 'listListenPermissions',\n\t\t\t\t\t\t\t\tname: 'list appointments',\n\t\t\t\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\t\t\t\tpermissions: [],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tlocalNamespace: 'testing',\n\t\t})\n\n\t\tassert.isEqualDeep(\n\t\t\teventContractTemplateItems[0].imports,\n\t\t\tgroupsExpectedImports\n\t\t)\n\t\tassert.isEqualDeep(\n\t\t\teventContractTemplateItems[1].imports,\n\t\t\tappointmentsExpectedImports\n\t\t)\n\t}\n}\n"],"file":"EventTemplateItemBuilder.test.js"}
|
|
1
|
+
{"version":3,"file":"EventTemplateItemBuilder.test.js","names":["expectedVersion","versionUtil","generateVersion","dirValue","bookContract","eventSignatures","contractWith2Signatures","contractWith2NamespacedSignatures","didBookTemplateItem","version","namePascal","nameCamel","isLocal","namespace","namesUtil","toKebab","MERCURY_API_NAMESPACE","namespaceCamel","toCamel","namespacePascal","toPascal","imports","importAs","willBookTemplateItem","didBookWithNamespaceTemplateItem","willBookWithNamespaceTemplateItem","relatedToRelatedToProximitySchema","id","fields","onlyField","type","relatedToRelatedToProximitySchemaTemplateItem","nameReadable","schema","isNested","destinationDir","relatedToProximitySchema","boolField","relatedToRelatedSchema","options","relatedToProximitySchemaTemplateItem","schemaIds","proximityEmitPayloadSchema","textField","relatedSchema","proximityEmitPayloadTemplateItem","contractWithEmitPayload","emitPayloadSchema","expectedContractWithEmitPayloadTemplateItem","EventTemplateItemBuilderTest","itemBuilder","EventTemplateItemBuilder","assert","isTruthy","isFunction","buildTemplateItems","contracts","localNamespace","eventContractTemplateItems","actual","isEqualDeep","expectedEventContractTemplateItems","expectedSchemaTemplateItems","schemaTemplateItems","coreEventContracts","match","find","item","isEqual","groupsExpectedImports","appointmentsExpectedImports","name","responsePayloadSchema","emitPermissionContract","requireAllPermissions","permissions","listenPermissionContract","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/EventTemplateItemBuilder.test.ts"],"sourcesContent":["import { coreEventContracts } from '@sprucelabs/mercury-core-events'\nimport { EventContract } from '@sprucelabs/mercury-types'\nimport { buildSchema, SchemaTemplateItem } from '@sprucelabs/schema'\nimport {\n\tMERCURY_API_NAMESPACE,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { EventContractTemplateItem } from '@sprucelabs/spruce-templates'\nimport { test, assert } from '@sprucelabs/test'\nimport EventTemplateItemBuilder from '../../templateItemBuilders/EventTemplateItemBuilder'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nconst expectedVersion = versionUtil.generateVersion().dirValue\n\nconst bookContract: EventContract = {\n\teventSignatures: {\n\t\t[`did-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst contractWith2Signatures: EventContract = {\n\teventSignatures: {\n\t\t[`did-book::${expectedVersion}`]: {},\n\t\t[`will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst contractWith2NamespacedSignatures: EventContract = {\n\teventSignatures: {\n\t\t[`appointments.did-book::${expectedVersion}`]: {},\n\t\t[`appointments.will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst didBookTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'DidBook',\n\tnameCamel: 'didBook',\n\tisLocal: false,\n\tnamespace: namesUtil.toKebab(MERCURY_API_NAMESPACE),\n\tnamespaceCamel: namesUtil.toCamel(MERCURY_API_NAMESPACE),\n\tnamespacePascal: namesUtil.toPascal(MERCURY_API_NAMESPACE),\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`did-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst willBookTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'WillBook',\n\tnameCamel: 'willBook',\n\tisLocal: false,\n\tnamespace: namesUtil.toKebab(MERCURY_API_NAMESPACE),\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\tnamespaceCamel: namesUtil.toCamel(MERCURY_API_NAMESPACE),\n\tnamespacePascal: namesUtil.toPascal(MERCURY_API_NAMESPACE),\n\teventSignatures: {\n\t\t[`will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst didBookWithNamespaceTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'DidBook',\n\tnameCamel: 'didBook',\n\tisLocal: true,\n\tnamespace: 'appointments',\n\tnamespaceCamel: 'appointments',\n\tnamespacePascal: 'Appointments',\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`appointments.did-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst willBookWithNamespaceTemplateItem: EventContractTemplateItem = {\n\tversion: expectedVersion,\n\tnamePascal: 'WillBook',\n\tnameCamel: 'willBook',\n\tisLocal: true,\n\tnamespace: 'appointments',\n\tnamespaceCamel: 'appointments',\n\tnamespacePascal: 'Appointments',\n\timports: [\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`appointments.will-book::${expectedVersion}`]: {},\n\t},\n}\n\nconst relatedToRelatedToProximitySchema = buildSchema({\n\tid: 'relatedToRelatedToProximitySchema',\n\tversion: expectedVersion,\n\tfields: {\n\t\tonlyField: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n})\n\nconst relatedToRelatedToProximitySchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'proximity',\n\tid: relatedToRelatedToProximitySchema.id,\n\tnameCamel: 'relatedToRelatedToProximitySchema',\n\tnamePascal: 'RelatedToRelatedToProximitySchema',\n\tnameReadable: 'relatedToRelatedToProximitySchema',\n\tschema: {\n\t\t...relatedToRelatedToProximitySchema,\n\t\tnamespace: 'proximity',\n\t},\n\tisNested: true,\n\tdestinationDir: '#spruce/events',\n}\n\nconst relatedToProximitySchema = buildSchema({\n\tversion: expectedVersion,\n\tid: 'relatedToProximitySchema',\n\tfields: {\n\t\tboolField: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\trelatedToRelatedSchema: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: relatedToRelatedToProximitySchema,\n\t\t\t},\n\t\t},\n\t},\n})\n\nconst relatedToProximitySchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'proximity',\n\tid: relatedToProximitySchema.id,\n\tnameCamel: 'relatedToProximitySchema',\n\tnamePascal: 'RelatedToProximitySchema',\n\tnameReadable: 'relatedToProximitySchema',\n\tschema: {\n\t\tid: 'relatedToProximitySchema',\n\t\tnamespace: 'proximity',\n\t\tversion: expectedVersion,\n\t\tfields: {\n\t\t\tboolField: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\trelatedToRelatedSchema: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'relatedToRelatedToProximitySchema',\n\t\t\t\t\t\t\tnamespace: 'proximity',\n\t\t\t\t\t\t\tversion: expectedVersion,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: true,\n\tdestinationDir: '#spruce/events',\n}\n\nconst proximityEmitPayloadSchema = buildSchema({\n\tversion: expectedVersion,\n\tid: 'proximityEmitPayload',\n\tnamespace: 'proximity',\n\tfields: {\n\t\ttextField: {\n\t\t\ttype: 'text',\n\t\t},\n\t\trelatedSchema: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: relatedToProximitySchema,\n\t\t\t},\n\t\t},\n\t},\n})\n\nconst proximityEmitPayloadTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'proximity',\n\tid: proximityEmitPayloadSchema.id,\n\tnameCamel: 'proximityEmitPayload',\n\tnamePascal: 'ProximityEmitPayload',\n\tnameReadable: 'proximityEmitPayload',\n\tschema: {\n\t\tid: 'proximityEmitPayload',\n\t\tnamespace: 'proximity',\n\t\tversion: expectedVersion,\n\t\tfields: {\n\t\t\ttextField: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\trelatedSchema: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'relatedToProximitySchema',\n\t\t\t\t\t\t\tnamespace: 'proximity',\n\t\t\t\t\t\t\tversion: expectedVersion,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: false,\n\tdestinationDir: '#spruce/events',\n}\n\nconst contractWithEmitPayload: EventContract = {\n\teventSignatures: {\n\t\t[`proximity.did-enter::${expectedVersion}`]: {\n\t\t\temitPayloadSchema: proximityEmitPayloadSchema,\n\t\t},\n\t},\n}\n\nconst expectedContractWithEmitPayloadTemplateItem: EventContractTemplateItem = {\n\tnamePascal: 'DidEnter',\n\tnameCamel: 'didEnter',\n\tnamespace: 'proximity',\n\tisLocal: false,\n\tversion: expectedVersion,\n\tnamespaceCamel: 'proximity',\n\tnamespacePascal: 'Proximity',\n\timports: [\n\t\t{\n\t\t\tpackage: `#spruce/schemas/proximity/${expectedVersion}/proximityEmitPayload.schema`,\n\t\t\timportAs: 'proximityEmitPayloadSchema',\n\t\t},\n\t\t{\n\t\t\timportAs: '{ buildEventContract }',\n\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t},\n\t],\n\teventSignatures: {\n\t\t[`proximity.did-enter::${expectedVersion}`]: {\n\t\t\temitPayloadSchema: {\n\t\t\t\t...proximityEmitPayloadTemplateItem,\n\t\t\t},\n\t\t},\n\t},\n}\n\nexport default class EventTemplateItemBuilderTest extends AbstractCliTest {\n\tprivate static itemBuilder: EventTemplateItemBuilder\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.itemBuilder = new EventTemplateItemBuilder()\n\t}\n\n\t@test()\n\tprotected static async canCreateNewItemBuilder() {\n\t\tassert.isTruthy(this.itemBuilder)\n\t}\n\n\t@test()\n\tprotected static async hasGenerateFunction() {\n\t\tassert.isFunction(this.itemBuilder.buildTemplateItems)\n\t}\n\n\t@test()\n\tprotected static turnsSingleContractIntoTemplateItem() {\n\t\tconst { eventContractTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [bookContract],\n\t\t\tlocalNamespace: 'test-namespace',\n\t\t})\n\n\t\tconst actual = eventContractTemplateItems[0]\n\n\t\tassert.isEqualDeep(actual, didBookTemplateItem)\n\t}\n\n\t@test(\n\t\t'builds emit payload schema into a template item',\n\t\t[contractWithEmitPayload],\n\t\t[expectedContractWithEmitPayloadTemplateItem],\n\t\t[\n\t\t\trelatedToRelatedToProximitySchemaTemplateItem,\n\t\t\trelatedToProximitySchemaTemplateItem,\n\t\t\tproximityEmitPayloadTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'turns 1 contract with 2 event signature into 2 template items',\n\t\t[contractWith2Signatures],\n\t\t[didBookTemplateItem, willBookTemplateItem]\n\t)\n\t@test(\n\t\t'turns 2 contract with 2 event signature into 4 template items',\n\t\t[contractWith2Signatures, contractWith2Signatures],\n\t\t[\n\t\t\tdidBookTemplateItem,\n\t\t\tdidBookTemplateItem,\n\t\t\twillBookTemplateItem,\n\t\t\twillBookTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'turns 1 contract with 2 namespaced event signatures to 2 template items',\n\t\t[contractWith2NamespacedSignatures],\n\t\t[didBookWithNamespaceTemplateItem, willBookWithNamespaceTemplateItem]\n\t)\n\tprotected static generateItems(\n\t\tcontracts: EventContract[],\n\t\texpectedEventContractTemplateItems: EventContractTemplateItem[],\n\t\texpectedSchemaTemplateItems: SchemaTemplateItem[] = []\n\t) {\n\t\tconst { eventContractTemplateItems, schemaTemplateItems } =\n\t\t\tthis.itemBuilder.buildTemplateItems({\n\t\t\t\tcontracts,\n\t\t\t\tlocalNamespace: 'appointments',\n\t\t\t})\n\n\t\tassert.isEqualDeep(\n\t\t\teventContractTemplateItems,\n\t\t\texpectedEventContractTemplateItems\n\t\t)\n\t\tassert.isEqualDeep(schemaTemplateItems, expectedSchemaTemplateItems)\n\t}\n\n\t@test()\n\tprotected static canPullEventContractSchemaFromCoreEventContract() {\n\t\tconst { schemaTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [\n\t\t\t\t{\n\t\t\t\t\teventSignatures: {\n\t\t\t\t\t\t'register-events':\n\t\t\t\t\t\t\tcoreEventContracts[0].eventSignatures['can-listen::v2020_12_25'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tlocalNamespace: 'testing',\n\t\t})\n\n\t\tconst match = schemaTemplateItems.find((item) => item.id === 'eventSource')\n\t\tassert.isTruthy(match)\n\t}\n\n\t@test()\n\tprotected static sortsEventsAlphabetically() {\n\t\tconst { eventContractTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [\n\t\t\t\t{\n\t\t\t\t\teventSignatures: {\n\t\t\t\t\t\t'zebra-cheeta': {},\n\t\t\t\t\t\t'register-events':\n\t\t\t\t\t\t\tcoreEventContracts[0].eventSignatures['can-listen::v2020_12_25'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tlocalNamespace: 'testing',\n\t\t})\n\n\t\tassert.isEqual(eventContractTemplateItems[0].nameCamel, 'registerEvents')\n\t\tassert.isEqual(eventContractTemplateItems[1].nameCamel, 'zebraCheeta')\n\t}\n\n\t@test()\n\tprotected static eventContractTemplateItemsHaveProperNamespacesImports() {\n\t\tconst groupsExpectedImports = [\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/groups/v2021_12_01/listEmitTargetAndPayload.schema',\n\t\t\t\timportAs: 'listEmitTargetAndPayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/groups/v2021_12_01/listResponsePayload.schema',\n\t\t\t\timportAs: 'listResponsePayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildEventContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildPermissionContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t]\n\n\t\tconst appointmentsExpectedImports = [\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/appointments/v2021_06_23/listEmitTargetAndPayload.schema',\n\t\t\t\timportAs: 'listEmitTargetAndPayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpackage:\n\t\t\t\t\t'#spruce/schemas/appointments/v2021_06_23/listResponsePayload.schema',\n\t\t\t\timportAs: 'listResponsePayloadSchema',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildEventContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t\t{\n\t\t\t\timportAs: '{ buildPermissionContract }',\n\t\t\t\tpackage: '@sprucelabs/mercury-types',\n\t\t\t},\n\t\t]\n\n\t\tconst { eventContractTemplateItems } = this.itemBuilder.buildTemplateItems({\n\t\t\tcontracts: [\n\t\t\t\t{\n\t\t\t\t\teventSignatures: {\n\t\t\t\t\t\t'groups.list::v2021_12_01': {\n\t\t\t\t\t\t\temitPayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listEmitTargetAndPayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_12_01',\n\t\t\t\t\t\t\t\tnamespace: 'Groups',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listResponsePayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_12_01',\n\t\t\t\t\t\t\t\tnamespace: 'Groups',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissionContract: {\n\t\t\t\t\t\t\t\tid: 'listEmitPermissions',\n\t\t\t\t\t\t\t\tname: 'list',\n\t\t\t\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\t\t\t\tpermissions: [],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\n\t\t\t\t\t\t'appointments.list::v2021_06_23': {\n\t\t\t\t\t\t\temitPayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listEmitTargetAndPayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_06_23',\n\t\t\t\t\t\t\t\tnamespace: 'Appointments',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\t\t\tid: 'listResponsePayload',\n\t\t\t\t\t\t\t\tversion: 'v2021_06_23',\n\t\t\t\t\t\t\t\tnamespace: 'Appointments',\n\t\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissionContract: {\n\t\t\t\t\t\t\t\tid: 'listEmitPermissions',\n\t\t\t\t\t\t\t\tname: 'list appointments',\n\t\t\t\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\t\t\t\tpermissions: [],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlistenPermissionContract: {\n\t\t\t\t\t\t\t\tid: 'listListenPermissions',\n\t\t\t\t\t\t\t\tname: 'list appointments',\n\t\t\t\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\t\t\t\tpermissions: [],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tlocalNamespace: 'testing',\n\t\t})\n\n\t\tassert.isEqualDeep(\n\t\t\teventContractTemplateItems[0].imports,\n\t\t\tgroupsExpectedImports\n\t\t)\n\t\tassert.isEqualDeep(\n\t\t\teventContractTemplateItems[1].imports,\n\t\t\tappointmentsExpectedImports\n\t\t)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"FeatureCommandAttacher.test.js","names":["FeatureCommandAttacherTest","test","skip","program","MockCommanderProgram","actionExecuter","ActionExecuter","attacher","FeatureCommandAttacher","ui","assert","isTruthy","isFunction","attachFeature","attachSchemaFeature","doesInclude","commandInvocations","descriptionInvocations","command","actionInvocations","optionInvocations","option","defaultValue","doesNotInclude","Cli","cli","vscodeFeature","getFeature","feature","aliasesInvocations","match","find","i","FeatureFixture","installCachedFeatures","actionHandler","personPath","resolveHashSprucePath","isFalse","diskUtil","doesFileExist","schemaFeature","MockProgramFactory","Program","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/FeatureCommandAttacher.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport FeatureCommandAttacher from '../../features/FeatureCommandAttacher'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport MockProgramFactory, { MockProgram } from '../../tests/MockProgramFactory'\n\nexport default class FeatureCommandAttacherTest extends AbstractCliTest {\n\tprivate static attacher: FeatureCommandAttacher\n\tprivate static program: MockProgram\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\tthis.program = this.MockCommanderProgram()\n\n\t\tconst actionExecuter = this.ActionExecuter()\n\n\t\tthis.attacher = new FeatureCommandAttacher({\n\t\t\tprogram: this.program,\n\t\t\tui: this.ui,\n\t\t\tactionExecuter,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canInstantiateAttacher() {\n\t\tassert.isTruthy(this.attacher)\n\t}\n\n\t@test()\n\tprotected static hasAttachMethod() {\n\t\tassert.isFunction(this.attacher.attachFeature)\n\t}\n\n\t@test()\n\tprotected static async attachFeatureSetsUpCommands() {\n\t\tawait this.attachSchemaFeature()\n\n\t\tassert.doesInclude(this.program.commandInvocations, 'create.schema')\n\t\tassert.doesInclude(this.program.commandInvocations, 'sync.schemas')\n\t\tassert.doesInclude(this.program.commandInvocations, 'sync.fields')\n\n\t\tassert.doesInclude(this.program.descriptionInvocations, {\n\t\t\tcommand: 'create.schema',\n\t\t})\n\t\tassert.doesInclude(this.program.descriptionInvocations, {\n\t\t\tcommand: 'sync.schemas',\n\t\t})\n\t\tassert.doesInclude(this.program.descriptionInvocations, {\n\t\t\tcommand: 'sync.fields',\n\t\t})\n\n\t\tassert.doesInclude(this.program.actionInvocations, 'create.schema')\n\t\tassert.doesInclude(this.program.actionInvocations, 'sync.schemas')\n\t\tassert.doesInclude(this.program.actionInvocations, 'sync.fields')\n\t}\n\n\t@test()\n\tprotected static async setsUpOptions() {\n\t\tawait this.attachSchemaFeature()\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'create.schema',\n\t\t\toption: '--schemaBuilderDestinationDir <schemaBuilderDestinationDir>',\n\t\t\tdefaultValue: 'src/schemas',\n\t\t})\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'create.schema',\n\t\t\toption: '--description <description>',\n\t\t})\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'sync.fields',\n\t\t\toption: '--addonsLookupDir <addonsLookupDir>',\n\t\t})\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'sync.schemas',\n\t\t\toption: '--shouldFetchRemoteSchemas [true|false]',\n\t\t})\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'sync.schemas',\n\t\t\toption: '--shouldGenerateCoreSchemaTypes [true|false]',\n\t\t})\n\t}\n\n\t@test.skip('enable when private fields can be optionally shown in help.')\n\tprotected static async ignoresPrivateFields() {\n\t\tawait this.attachSchemaFeature()\n\n\t\tassert.doesNotInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'create.schema',\n\t\t\toption: '--shouldEnableVersioning [true|false]',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async testBooleanArg() {\n\t\tconst cli = await this.Cli()\n\t\tconst vscodeFeature = cli.getFeature('vscode')\n\n\t\tawait this.attacher.attachFeature(vscodeFeature)\n\n\t\tassert.doesInclude(this.program.optionInvocations, {\n\t\t\tcommand: 'setup.vscode',\n\t\t\toption: '--all [true|false]',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async handlesAliases() {\n\t\tconst cli = await this.Cli()\n\t\tconst feature = cli.getFeature('node')\n\n\t\tawait this.attacher.attachFeature(feature)\n\n\t\tassert.doesInclude(this.program.aliasesInvocations, 'update')\n\t}\n\n\t@test()\n\tprotected static async testActionWithSameNameAsFeature() {\n\t\tconst cli = await this.Cli()\n\t\tconst vscodeFeature = cli.getFeature('test')\n\n\t\tawait this.attacher.attachFeature(vscodeFeature)\n\n\t\tconst match = this.program.commandInvocations.find((i) => i === 'test')\n\t\tassert.isTruthy(match)\n\t}\n\n\t@test()\n\tprotected static async optionsCanBeOverridden() {\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\t\tawait this.attachSchemaFeature()\n\n\t\tawait this.program.actionHandler({})\n\n\t\tconst personPath = this.resolveHashSprucePath(\n\t\t\t'schemas',\n\t\t\t'spruce',\n\t\t\t'v2020_07_22',\n\t\t\t'person.schema.ts'\n\t\t)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(personPath))\n\t}\n\n\tprivate static async attachSchemaFeature() {\n\t\tconst cli = await this.Cli()\n\t\tconst schemaFeature = cli.getFeature('schema')\n\n\t\tawait this.attacher.attachFeature(schemaFeature)\n\t}\n\n\tprivate static MockCommanderProgram(): MockProgram {\n\t\treturn MockProgramFactory.Program()\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"FeatureFixture.test.js","names":["FeatureFixtureTest","installSkill","cachedDir","cacheDirs","push","testUtil","shouldCleanupTestSkillDirs","assert","isTrue","diskUtil","doesDirExist","isFalse","fixture","FeatureFixture","shouldGenerateCacheIfMissing","installFeatures","code","options","name","description","cacheKey","resolvePath","AbstractCliTest","Date","getTime"],"sources":["../../../src/__tests__/implementation/FeatureFixture.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class FeatureFixtureTest extends AbstractCliTest {\n\tprivate static cacheDirs: string[] = []\n\tprivate static cacheKey = `feature-fixture-${new Date().getTime()}`\n\n\t@test()\n\tprotected static async setsUpCachedDir() {\n\t\tconst cachedDir = await this.installSkill()\n\n\t\tthis.cacheDirs.push(cachedDir)\n\t}\n\n\t@test()\n\tprotected static async setsUpSecondCachedDir() {\n\t\tconst cachedDir = await this.installSkill()\n\n\t\tthis.cacheDirs.push(cachedDir)\n\t}\n\n\tpublic static async afterAll() {\n\t\tawait super.afterAll()\n\n\t\tif (testUtil.shouldCleanupTestSkillDirs()) {\n\t\t\t// first dir should stay because it's the cached source\n\t\t\tassert.isTrue(diskUtil.doesDirExist(this.cacheDirs[0]))\n\n\t\t\t// all other dirs are deleted\n\t\t\tassert.isFalse(diskUtil.doesDirExist(this.cacheDirs[1]))\n\t\t}\n\t}\n\n\tprivate static async installSkill() {\n\t\tconst fixture = this.FeatureFixture({ shouldGenerateCacheIfMissing: true })\n\n\t\tawait fixture.installFeatures(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tcode: 'skill',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'cache-cleaning',\n\t\t\t\t\t\tdescription: 'testing deleting cached dirs',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tthis.cacheKey\n\t\t)\n\n\t\tconst cachedDir = this.resolvePath('')\n\t\tassert.isTrue(diskUtil.doesDirExist(cachedDir))\n\t\treturn cachedDir\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,kB,WAInB,iB,UAOA,iB;;;;;;;;;;;;;2GAPD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEyB,KAAKC,YAAL,EAFzB;;cAAA;gBAEOC,SAFP;gBAIC,KAAKC,SAAL,CAAeC,IAAf,CAAoBF,SAApB;;cAJD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;iHAOA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEyB,KAAKD,YAAL,EAFzB;;cAAA;gBAEOC,SAFP;gBAIC,KAAKC,SAAL,CAAeC,IAAf,CAAoBF,SAApB;;cAJD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;oGAOA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAGC,IAAIG,kBAASC,0BAAT,EAAJ,EAA2C;kBAC1C;kBACAC,aAAOC,MAAP,CAAcC,2BAASC,YAAT,CAAsB,KAAKP,SAAL,CAAe,CAAf,CAAtB,CAAd,EAF0C,CAI1C;;;kBACAI,aAAOI,OAAP,CAAeF,2BAASC,YAAT,CAAsB,KAAKP,SAAL,CAAe,CAAf,CAAtB,CAAf;gBACA;;cATF;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wGAYA;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOS,OADP,GACiB,KAAKC,cAAL,CAAoB;kBAAEC,4BAA4B,EAAE;gBAAhC,CAApB,CADjB;gBAAA;gBAAA,OAGOF,OAAO,CAACG,eAAR,CACL,CACC;kBACCC,IAAI,EAAE,OADP;kBAECC,OAAO,EAAE;oBACRC,IAAI,EAAE,gBADE;oBAERC,WAAW,EAAE;kBAFL;gBAFV,CADD,CADK,EAUL,KAAKC,QAVA,CAHP;;cAAA;gBAgBOlB,SAhBP,GAgBmB,KAAKmB,WAAL,CAAiB,EAAjB,CAhBnB;;gBAiBCd,aAAOC,MAAP,CAAcC,2BAASC,YAAT,CAAsBR,SAAtB,CAAd;;gBAjBD,kCAkBQA,SAlBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EA9B+CoB,4B,0DACV,E,mFACQ,IAAIC,IAAJ,GAAWC,OAAX,E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"FeatureInstaller.test.js","names":["FeatureInstallerTest","installer","getFeatureInstaller","dependencies","getFeatureDependencies","assert","doesInclude","code","isRequired","hitCount","featureMap","schema","afterPackageInstall","install","features","options","name","description","isEqual","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/FeatureInstaller.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport FeatureInstaller from '../../features/FeatureInstaller'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class FeatureInstallerTest extends AbstractCliTest {\n\tprotected static installer: FeatureInstaller\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.installer = this.getFeatureInstaller()\n\t}\n\n\t@test()\n\tprotected static async canGetFeatureDependencies() {\n\t\tconst dependencies = this.installer.getFeatureDependencies('schema')\n\t\tassert.doesInclude(dependencies, { code: 'skill', isRequired: false })\n\t\tassert.doesInclude(dependencies, { code: 'node', isRequired: true })\n\t}\n\n\t@test()\n\tprotected static async canGetFeatureDependenciesWithOptional() {\n\t\tconst dependencies = this.installer.getFeatureDependencies('error')\n\t\tassert.doesInclude(dependencies, { code: 'skill', isRequired: false })\n\t\tassert.doesInclude(dependencies, { code: 'schema', isRequired: true })\n\t\tassert.doesInclude(dependencies, { code: 'node', isRequired: true })\n\t}\n\n\t@test()\n\tprotected static async afterPackageInstallIsCalledOncePerFeature() {\n\t\tlet hitCount = 0\n\t\t//@ts-ignore\n\t\tthis.installer.featureMap.schema.afterPackageInstall = () => {\n\t\t\thitCount++\n\t\t}\n\t\tawait this.installer.install({\n\t\t\tfeatures: [\n\t\t\t\t{\n\t\t\t\t\tcode: 'skill',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'testing events',\n\t\t\t\t\t\tdescription: 'this too, is a great test!',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcode: 'schema',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcode: 'event',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\n\t\tassert.isEqual(hitCount, 1)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;;;;;IAEqBA,oB,WAQnB,iB,UAOA,iB,UAQA,iB;;;;;;;;;;;;;sGApBD;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAEC,KAAKC,SAAL,GAAiB,KAAKC,mBAAL,EAAjB;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;qHAKA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,YAFP,GAEsB,KAAKF,SAAL,CAAeG,sBAAf,CAAsC,QAAtC,CAFtB;;gBAGCC,aAAOC,WAAP,CAAmBH,YAAnB,EAAiC;kBAAEI,IAAI,EAAE,OAAR;kBAAiBC,UAAU,EAAE;gBAA7B,CAAjC;;gBACAH,aAAOC,WAAP,CAAmBH,YAAnB,EAAiC;kBAAEI,IAAI,EAAE,MAAR;kBAAgBC,UAAU,EAAE;gBAA5B,CAAjC;;cAJD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;iIAOA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOL,YAFP,GAEsB,KAAKF,SAAL,CAAeG,sBAAf,CAAsC,OAAtC,CAFtB;;gBAGCC,aAAOC,WAAP,CAAmBH,YAAnB,EAAiC;kBAAEI,IAAI,EAAE,OAAR;kBAAiBC,UAAU,EAAE;gBAA7B,CAAjC;;gBACAH,aAAOC,WAAP,CAAmBH,YAAnB,EAAiC;kBAAEI,IAAI,EAAE,QAAR;kBAAkBC,UAAU,EAAE;gBAA9B,CAAjC;;gBACAH,aAAOC,WAAP,CAAmBH,YAAnB,EAAiC;kBAAEI,IAAI,EAAE,MAAR;kBAAgBC,UAAU,EAAE;gBAA5B,CAAjC;;cALD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;qIAQA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEKC,QAFL,GAEgB,CAFhB,EAGC;;gBACA,KAAKR,SAAL,CAAeS,UAAf,CAA0BC,MAA1B,CAAiCC,mBAAjC,GAAuD,YAAM;kBAC5DH,QAAQ;gBACR,CAFD;;gBAJD;gBAAA,OAOO,KAAKR,SAAL,CAAeY,OAAf,CAAuB;kBAC5BC,QAAQ,EAAE,CACT;oBACCP,IAAI,EAAE,OADP;oBAECQ,OAAO,EAAE;sBACRC,IAAI,EAAE,gBADE;sBAERC,WAAW,EAAE;oBAFL;kBAFV,CADS,EAQT;oBACCV,IAAI,EAAE;kBADP,CARS,EAWT;oBACCA,IAAI,EAAE;kBADP,CAXS;gBADkB,CAAvB,CAPP;;cAAA;gBAyBCF,aAAOa,OAAP,CAAeT,QAAf,EAAyB,CAAzB;;cAzBD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAvBiDU,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"FeaturesUtil.test.js","names":["FeaturesUtilTest","path","expected","actual","featuresUtil","filePathToActionCode","assert","isEqual","AbstractSpruceTest"],"sources":["../../../src/__tests__/implementation/FeaturesUtil.test.ts"],"sourcesContent":["import AbstractSpruceTest, { test, assert } from '@sprucelabs/test'\nimport featuresUtil from '../../features/feature.utilities'\n\nexport default class FeaturesUtilTest extends AbstractSpruceTest {\n\t@test('SyncAction.ts to sync', '/wahtever/SyncAction.ts', 'sync')\n\t@test(\n\t\t'SetRemoteAction.ts to setRemote',\n\t\t'/wahtever/setRemoteAction.ts',\n\t\t'setRemote'\n\t)\n\tprotected static async generatesActionFromFile(\n\t\tpath: string,\n\t\texpected: string\n\t) {\n\t\tconst actual = featuresUtil.filePathToActionCode(path)\n\t\tassert.isEqual(actual, expected)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;;;;;IAEqBA,gB,WACnB,gBAAK,uBAAL,EAA8B,yBAA9B,EAAyD,MAAzD,C,UACA,gBACA,iCADA,EAEA,8BAFA,EAGA,WAHA,C;;;;;;;;;;;;;mHADD,iBAOCC,IAPD,EAQCC,QARD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAUOC,MAVP,GAUgBC,oBAAaC,oBAAb,CAAkCJ,IAAlC,CAVhB;;gBAWCK,aAAOC,OAAP,CAAeJ,MAAf,EAAuBD,QAAvB;;cAXD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAD6CM,gB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"FieldTemplateItemBuilder.test.js","names":["localAddressField","path","registration","className","type","importAs","description","isLocal","localAddressFieldTemplateItem","namePascal","nameCamel","nameReadable","pascalType","camelType","valueTypeMapper","undefined","remoteSchemaField","remoteSchemaFieldTemplateItem","FieldTemplateItemBuilderTest","assert","isTruthy","itemBuilder","isFunction","generateTemplateItems","templateItems","isLength","isEqualDeep","AbstractCliTest","FieldTemplateItemBuilder"],"sources":["../../../src/__tests__/implementation/FieldTemplateItemBuilder.test.ts"],"sourcesContent":["import { FieldTemplateItem } from '@sprucelabs/schema'\nimport { test, assert } from '@sprucelabs/test'\nimport FieldTemplateItemBuilder from '../../templateItemBuilders/FieldTemplateItemBuilder'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nconst localAddressField = {\n\tpath: '/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/addons/addressField.addon.js',\n\tregistration: {\n\t\tpackage: '@sprucelabs/schema',\n\t\tclassName: 'AddressField',\n\t\ttype: 'Address',\n\t\timportAs: 'SpruceSchema',\n\t\tdescription: 'An address with geocoding ability *coming soon*',\n\t},\n\tisLocal: true,\n}\n\nconst localAddressFieldTemplateItem: FieldTemplateItem = {\n\tnamePascal: 'AddressField',\n\tnameCamel: 'addressField',\n\tpackage: '#spruce/../fields/AddressField',\n\tclassName: 'AddressField',\n\timportAs: 'generated_import_0',\n\tnameReadable: 'AddressField',\n\tpascalType: 'Address',\n\tcamelType: 'address',\n\tisLocal: true,\n\tdescription: 'An address with geocoding ability *coming soon*',\n\tvalueTypeMapper: undefined,\n}\n\nconst remoteSchemaField = {\n\tpath: '/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/addons/schemaField.addon.js',\n\tregistration: {\n\t\tpackage: '@sprucelabs/schema',\n\t\tclassName: 'SchemaField',\n\t\ttype: 'Schema',\n\t\timportAs: 'SpruceSchema',\n\t\tdescription: 'A way to map relationships.',\n\t\tvalueTypeMapper:\n\t\t\t'SchemaFieldValueTypeMapper<F extends SchemaFieldFieldDefinition? F : SchemaFieldFieldDefinition, CreateEntityInstances>',\n\t},\n\tisLocal: false,\n}\n\nconst remoteSchemaFieldTemplateItem = {\n\tnamePascal: 'SchemaField',\n\tnameCamel: 'schemaField',\n\tpackage: '@sprucelabs/schema',\n\tclassName: 'SchemaField',\n\timportAs: 'SpruceSchema',\n\tnameReadable: 'SchemaField',\n\tpascalType: 'Schema',\n\tcamelType: 'schema',\n\tisLocal: false,\n\tdescription: 'A way to map relationships.',\n\tvalueTypeMapper:\n\t\t'SchemaFieldValueTypeMapper<F extends SchemaFieldFieldDefinition? F : SchemaFieldFieldDefinition, CreateEntityInstances>',\n}\n\nexport default class FieldTemplateItemBuilderTest extends AbstractCliTest {\n\tprivate static readonly itemBuilder = new FieldTemplateItemBuilder()\n\n\t@test()\n\tprotected static async canCreate() {\n\t\tassert.isTruthy(this.itemBuilder)\n\t}\n\n\t@test()\n\tprotected static hasGenerateFunction() {\n\t\tassert.isFunction(this.itemBuilder.generateTemplateItems)\n\t}\n\n\t@test()\n\tprotected static turnsSingleLocalFieldIntoTemplateItem() {\n\t\tconst templateItems = this.itemBuilder.generateTemplateItems([\n\t\t\tlocalAddressField,\n\t\t])\n\t\tassert.isLength(templateItems, 1)\n\t\tassert.isEqualDeep(templateItems[0], localAddressFieldTemplateItem)\n\t}\n\n\t@test()\n\tprotected static turnsRemoteFieldIntoTemplateItem() {\n\t\tconst templateItems = this.itemBuilder.generateTemplateItems([\n\t\t\tremoteSchemaField,\n\t\t])\n\t\tassert.isLength(templateItems, 1)\n\t\tassert.isEqualDeep(templateItems[0], remoteSchemaFieldTemplateItem)\n\t}\n\n\t@test()\n\tprotected static doesItAll() {\n\t\tconst templateItems = this.itemBuilder.generateTemplateItems([\n\t\t\tlocalAddressField,\n\t\t\tremoteSchemaField,\n\t\t])\n\t\tassert.isLength(templateItems, 2)\n\t\tassert.isEqualDeep(templateItems[0], localAddressFieldTemplateItem)\n\t\tassert.isEqualDeep(templateItems[1], remoteSchemaFieldTemplateItem)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,iBAAiB,GAAG;EACzBC,IAAI,EAAE,wJADmB;EAEzBC,YAAY,EAAE;IACb,WAAS,oBADI;IAEbC,SAAS,EAAE,cAFE;IAGbC,IAAI,EAAE,SAHO;IAIbC,QAAQ,EAAE,cAJG;IAKbC,WAAW,EAAE;EALA,CAFW;EASzBC,OAAO,EAAE;AATgB,CAA1B;AAYA,IAAMC,6BAAgD,GAAG;EACxDC,UAAU,EAAE,cAD4C;EAExDC,SAAS,EAAE,cAF6C;EAGxD,WAAS,gCAH+C;EAIxDP,SAAS,EAAE,cAJ6C;EAKxDE,QAAQ,EAAE,oBAL8C;EAMxDM,YAAY,EAAE,cAN0C;EAOxDC,UAAU,EAAE,SAP4C;EAQxDC,SAAS,EAAE,SAR6C;EASxDN,OAAO,EAAE,IAT+C;EAUxDD,WAAW,EAAE,iDAV2C;EAWxDQ,eAAe,EAAEC;AAXuC,CAAzD;AAcA,IAAMC,iBAAiB,GAAG;EACzBf,IAAI,EAAE,uJADmB;EAEzBC,YAAY,EAAE;IACb,WAAS,oBADI;IAEbC,SAAS,EAAE,aAFE;IAGbC,IAAI,EAAE,QAHO;IAIbC,QAAQ,EAAE,cAJG;IAKbC,WAAW,EAAE,6BALA;IAMbQ,eAAe,EACd;EAPY,CAFW;EAWzBP,OAAO,EAAE;AAXgB,CAA1B;AAcA,IAAMU,6BAA6B,GAAG;EACrCR,UAAU,EAAE,aADyB;EAErCC,SAAS,EAAE,aAF0B;EAGrC,WAAS,oBAH4B;EAIrCP,SAAS,EAAE,aAJ0B;EAKrCE,QAAQ,EAAE,cAL2B;EAMrCM,YAAY,EAAE,aANuB;EAOrCC,UAAU,EAAE,QAPyB;EAQrCC,SAAS,EAAE,QAR0B;EASrCN,OAAO,EAAE,KAT4B;EAUrCD,WAAW,EAAE,6BAVwB;EAWrCQ,eAAe,EACd;AAZoC,CAAtC;IAeqBI,4B,WAGnB,iB,UAKA,iB,UAKA,iB,UASA,iB,UASA,iB;;;;;;;;;;;;;qGA5BD;QAAA;UAAA;YAAA;cAAA;gBAECC,aAAOC,QAAP,CAAgB,KAAKC,WAArB;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAKA,+BACuC;MACtCF,aAAOG,UAAP,CAAkB,KAAKD,WAAL,CAAiBE,qBAAnC;IACA;;;WAED,iDACyD;MACxD,IAAMC,aAAa,GAAG,KAAKH,WAAL,CAAiBE,qBAAjB,CAAuC,CAC5DvB,iBAD4D,CAAvC,CAAtB;;MAGAmB,aAAOM,QAAP,CAAgBD,aAAhB,EAA+B,CAA/B;;MACAL,aAAOO,WAAP,CAAmBF,aAAa,CAAC,CAAD,CAAhC,EAAqChB,6BAArC;IACA;;;WAED,4CACoD;MACnD,IAAMgB,aAAa,GAAG,KAAKH,WAAL,CAAiBE,qBAAjB,CAAuC,CAC5DP,iBAD4D,CAAvC,CAAtB;;MAGAG,aAAOM,QAAP,CAAgBD,aAAhB,EAA+B,CAA/B;;MACAL,aAAOO,WAAP,CAAmBF,aAAa,CAAC,CAAD,CAAhC,EAAqCP,6BAArC;IACA;;;WAED,qBAC6B;MAC5B,IAAMO,aAAa,GAAG,KAAKH,WAAL,CAAiBE,qBAAjB,CAAuC,CAC5DvB,iBAD4D,EAE5DgB,iBAF4D,CAAvC,CAAtB;;MAIAG,aAAOM,QAAP,CAAgBD,aAAhB,EAA+B,CAA/B;;MACAL,aAAOO,WAAP,CAAmBF,aAAa,CAAC,CAAD,CAAhC,EAAqChB,6BAArC;;MACAW,aAAOO,WAAP,CAAmBF,aAAa,CAAC,CAAD,CAAhC,EAAqCP,6BAArC;IACA;;;EAxCwDU,4B,4DACnB,IAAIC,oCAAJ,E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"GlobalEmitter.js","names":["GlobalEmitterTest","emitter","getEmitter","assert","isTrue","shouldEmitSequentally","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/GlobalEmitter.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class GlobalEmitterTest extends AbstractCliTest {\n\t@test()\n\tprotected static async globalEmitterEmitsSEquentally() {\n\t\tconst emitter = this.getEmitter()\n\n\t\t//@ts-ignore\n\t\tassert.isTrue(emitter.shouldEmitSequentally)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;IAEqBA,iB,WACnB,iB;;;;;;;;;;;;;yHAAD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,OAFP,GAEiB,KAAKC,UAAL,EAFjB,EAIC;;gBACAC,aAAOC,MAAP,CAAcH,OAAO,CAACI,qBAAtB;;cALD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAD8CC,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Introspection.test.js","names":["IntrospectionTest","path","resolveTestPath","results","introspectionUtil","introspect","assert","isEqualDeep","classes","interfaces","classPath","className","isAbstract","optionsInterfaceName","undefined","parentClassName","parentClassPath","staticProperties","name","interfaceName","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/Introspection.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport introspectionUtil from '../../utilities/introspection.utility'\n\nexport default class IntrospectionTest extends AbstractCliTest {\n\t@test()\n\tprotected static doesntCrashWithBadFiles() {\n\t\tconst path = this.resolveTestPath('introspection/BadDefinition.ts')\n\t\tconst results = introspectionUtil.introspect([path])\n\t\tassert.isEqualDeep(results, [{ classes: [], interfaces: [] }])\n\t}\n\n\t@test()\n\tprotected static canIntrospectClassThatHasNoParentButImplementsInterface() {\n\t\tconst path = this.resolveTestPath('introspection/ImplementsInterface.ts')\n\t\tconst results = introspectionUtil.introspect([path])\n\n\t\tconst classPath = this.resolveTestPath(\n\t\t\t'introspection/ImplementsInterface.ts'\n\t\t)\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tclasses: [\n\t\t\t\t\t{\n\t\t\t\t\t\tclassPath,\n\t\t\t\t\t\tclassName: 'ImplementsInterface',\n\t\t\t\t\t\tisAbstract: false,\n\t\t\t\t\t\toptionsInterfaceName: undefined,\n\t\t\t\t\t\tparentClassName: undefined,\n\t\t\t\t\t\tparentClassPath: undefined,\n\t\t\t\t\t\tstaticProperties: {\n\t\t\t\t\t\t\tname: 'test',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tinterfaces: [{ interfaceName: 'TestInterface' }],\n\t\t\t},\n\t\t])\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,iB,WACnB,iB,UAOA,iB;;;;;;;;;;;;WAPD,mCAC2C;MAC1C,IAAMC,IAAI,GAAG,KAAKC,eAAL,CAAqB,gCAArB,CAAb;;MACA,IAAMC,OAAO,GAAGC,0BAAkBC,UAAlB,CAA6B,CAACJ,IAAD,CAA7B,CAAhB;;MACAK,aAAOC,WAAP,CAAmBJ,OAAnB,EAA4B,CAAC;QAAEK,OAAO,EAAE,EAAX;QAAeC,UAAU,EAAE;MAA3B,CAAD,CAA5B;IACA;;;WAED,mEAC2E;MAC1E,IAAMR,IAAI,GAAG,KAAKC,eAAL,CAAqB,sCAArB,CAAb;;MACA,IAAMC,OAAO,GAAGC,0BAAkBC,UAAlB,CAA6B,CAACJ,IAAD,CAA7B,CAAhB;;MAEA,IAAMS,SAAS,GAAG,KAAKR,eAAL,CACjB,sCADiB,CAAlB;;MAGAI,aAAOC,WAAP,CAAmBJ,OAAnB,EAA4B,CAC3B;QACCK,OAAO,EAAE,CACR;UACCE,SAAS,EAATA,SADD;UAECC,SAAS,EAAE,qBAFZ;UAGCC,UAAU,EAAE,KAHb;UAICC,oBAAoB,EAAEC,SAJvB;UAKCC,eAAe,EAAED,SALlB;UAMCE,eAAe,EAAEF,SANlB;UAOCG,gBAAgB,EAAE;YACjBC,IAAI,EAAE;UADW;QAPnB,CADQ,CADV;QAcCT,UAAU,EAAE,CAAC;UAAEU,aAAa,EAAE;QAAjB,CAAD;MAdb,CAD2B,CAA5B;IAkBA;;;EAlC6CC,4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/__tests__/implementation/JestJsonParser.test.ts"],"names":["JestJsonParserTest","parser","JestJsonParser","assert","isTruthy","write","startRun","generateTestResults","testResults","getResults","isEqualDeep","totalTestFiles","data","testFiles","isLength","path","status","jestStatus","testFile","START_DIVIDER","END_DIVIDER","JSON","stringify","Error","substr","isFalsy","firstPart","secondPart","firstSelfContained","splitIdx","length","completed","tests","name","errorMessages","duration","errorMessage","find","file","totalTestFilesComplete","totalFailed","totalPassed","totalTests","totalSkipped","totalTodo","AbstractSpruceTest"],"mappings":"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","sourcesContent":["import { START_DIVIDER, END_DIVIDER } from '@sprucelabs/jest-json-reporter'\nimport AbstractSpruceTest, { test, assert } from '@sprucelabs/test'\nimport JestJsonParser, { JsonResultKeys } from '../../tests/JestJsonParser'\nimport onTestFileResult from '../support/onTestFileResult'\nexport default class JestJsonParserTest extends AbstractSpruceTest {\n\tprivate static parser: JestJsonParser\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.parser = new JestJsonParser()\n\t}\n\n\t@test()\n\tprotected static canCreateJjp() {\n\t\tassert.isTruthy(this.parser.write)\n\t}\n\n\t@test()\n\tprotected static generatesEmptyResults() {\n\t\tconst startRun = this.generateTestResults('onRunStart')\n\n\t\tthis.parser.write(startRun)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isEqualDeep(testResults, {\n\t\t\ttotalTestFiles: 43,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canHandleSelfContainedWrite() {\n\t\tconst data = this.generateTestResults(\n\t\t\t'onTestFileStart',\n\t\t\t'behavioral/errors/CreatingANewErrorBuilder.test.js'\n\t\t)\n\n\t\tthis.parser.write(this.generateTestResults('onRunStart'))\n\t\tthis.parser.write(data)\n\n\t\tconst testResults = this.parser.getResults()\n\t\tassert.isTruthy(testResults.testFiles)\n\n\t\tassert.isLength(testResults.testFiles, 1)\n\t\tassert.isEqualDeep(testResults.testFiles[0], {\n\t\t\tpath: `behavioral/errors/CreatingANewErrorBuilder.test.ts`,\n\t\t\tstatus: 'running',\n\t\t})\n\t}\n\n\tprivate static generateTestResults(\n\t\tjestStatus: JsonResultKeys,\n\t\ttestFile?: string\n\t): string {\n\t\tswitch (jestStatus) {\n\t\t\tcase 'onRunStart':\n\t\t\t\treturn `${START_DIVIDER}{\"status\":\"onRunStart\",\"results\":{\"numFailedTestSuites\":0,\"numFailedTests\":0,\"numPassedTestSuites\":0,\"numPassedTests\":0,\"numPendingTestSuites\":0,\"numPendingTests\":0,\"numRuntimeErrorTestSuites\":0,\"numTodoTests\":0,\"numTotalTestSuites\":43,\"numTotalTests\":0,\"openHandles\":[],\"snapshot\":{\"added\":0,\"didUpdate\":false,\"failure\":false,\"filesAdded\":0,\"filesRemoved\":0,\"filesRemovedList\":[],\"filesUnmatched\":0,\"filesUpdated\":0,\"matched\":0,\"total\":0,\"unchecked\":0,\"uncheckedKeysByFile\":[],\"unmatched\":0,\"updated\":0},\"startTime\":1603459399575,\"success\":false,\"testResults\":[],\"wasInterrupted\":false}}${END_DIVIDER}`\n\t\t\tcase 'onTestFileStart':\n\t\t\t\treturn `${START_DIVIDER}{\"status\":\"onTestFileStart\",\"test\":{\"context\":{\"config\":{\"automock\":false,\"cache\":true,\"cacheDirectory\":\"/private/var/folders/qw/v2bfr0c94bn37vclwvcltsj40000gn/T/jest_dx\",\"clearMocks\":false,\"coveragePathIgnorePatterns\":[\"/node_modules/\"],\"cwd\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"detectLeaks\":false,\"detectOpenHandles\":false,\"errorOnDeprecated\":false,\"extraGlobals\":[],\"forceCoverageMatch\":[],\"globals\":{},\"haste\":{\"computeSha1\":false,\"throwOnModuleCollision\":false},\"injectGlobals\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleFileExtensions\":[\"js\",\"json\",\"jsx\",\"ts\",\"tsx\",\"node\"],\"moduleNameMapper\":[[\"^#spruce/schemas/fields/(.*)\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\"],[\"^#spruce/(.*)$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\"]],\"modulePathIgnorePatterns\":[],\"name\":\"44406c6bd09f4805a9dd2ad1a17b150c\",\"prettierPath\":\"prettier\",\"resetMocks\":false,\"resetModules\":false,\"restoreMocks\":false,\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"roots\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"],\"runner\":\"jest-runner\",\"setupFiles\":[],\"setupFilesAfterEnv\":[],\"skipFilter\":false,\"slowTestThreshold\":5,\"snapshotSerializers\":[],\"testEnvironment\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-environment-node/build/index.js\",\"testEnvironmentOptions\":{},\"testLocationInResults\":false,\"testMatch\":[\"**/__tests__/**/*.test.js?(x)\"],\"testPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/tmp/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/testDirsAndFiles/\"],\"testRegex\":[],\"testRunner\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-jasmine2/build/index.js\",\"testURL\":\"http://localhost\",\"timers\":\"real\",\"transform\":[[\".[jt]sx?$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/babel-jest/build/index.js\",{}]],\"transformIgnorePatterns\":[\"/node_modules/\",\".pnp.[^/]+$\"],\"watchPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\"]},\"hasteFS\":{\"_rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"_files\":{}},\"moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"resolver\":{\"_options\":{\"extensions\":[\".js\",\".json\",\".jsx\",\".ts\",\".tsx\",\".node\"],\"hasCoreModules\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleNameMapper\":[{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\",\"regex\":{}},{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\",\"regex\":{}}],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleIDCache\":{},\"_moduleNameCache\":{},\"_modulePathCache\":{},\"_supportsNativePlatform\":false}},\"duration\":40472,\"path\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/${testFile}\"}}${END_DIVIDER}`\n\t\t\tcase 'onTestFileResult':\n\t\t\t\treturn `${START_DIVIDER}${JSON.stringify(\n\t\t\t\t\tonTestFileResult(testFile ?? 'missing')\n\t\t\t\t)}${END_DIVIDER}`\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Status not implemented')\n\t\t}\n\t}\n\n\t@test()\n\tprotected static canHandleSelfContainedWriteWithTwoTests() {\n\t\tconst data =\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t'behavioral/errors/CreatingANewErrorBuilder.test.js'\n\t\t\t) +\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t'behavioral/tests/RunningTests.test.js'\n\t\t\t)\n\t\tthis.parser.write(data)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 2)\n\t\tassert.isEqualDeep(testResults.testFiles, [\n\t\t\t{\n\t\t\t\tpath: `behavioral/errors/CreatingANewErrorBuilder.test.ts`,\n\t\t\t\tstatus: 'running',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `behavioral/tests/RunningTests.test.ts`,\n\t\t\t\tstatus: 'running',\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static multipleSelfContainedWritesWorks() {\n\t\tthis.parser.write(\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t`behavioral/errors/CreatingANewErrorBuilder.test.js`\n\t\t\t)\n\t\t)\n\n\t\tthis.parser.write(\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t`behavioral/tests/RunningTests.test.js`\n\t\t\t)\n\t\t)\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 2)\n\t\tassert.isEqualDeep(testResults.testFiles, [\n\t\t\t{\n\t\t\t\tpath: `behavioral/errors/CreatingANewErrorBuilder.test.ts`,\n\t\t\t\tstatus: 'running',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `behavioral/tests/RunningTests.test.ts`,\n\t\t\t\tstatus: 'running',\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static partialWriteReturnsNothing() {\n\t\tconst data = this.generateTestResults(\n\t\t\t'onTestFileStart',\n\t\t\t'behavioral/errors/KeepingErrorsInSync.test.js'\n\t\t).substr(0, 100)\n\n\t\tthis.parser.write(data)\n\n\t\tconst testResults = this.parser.getResults()\n\t\tassert.isFalsy(testResults.testFiles)\n\t}\n\n\t@test()\n\tprotected static canPartialWriteAcrossTwoWrites() {\n\t\tconst data = this.generateTestResults(\n\t\t\t'onTestFileStart',\n\t\t\t'behavioral/errors/KeepingErrorsInSync.test.js'\n\t\t)\n\n\t\tconst firstPart = data.substr(0, 100)\n\t\tconst secondPart = data.substr(100)\n\n\t\tthis.parser.write(firstPart)\n\t\tthis.parser.write(secondPart)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 1)\n\n\t\tassert.isEqualDeep(testResults.testFiles[0], {\n\t\t\tpath: `behavioral/errors/KeepingErrorsInSync.test.ts`,\n\t\t\tstatus: 'running',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canPartialWriteAndSelfContainedAcrossThreeWrites() {\n\t\tconst data = this.generateTestResults(\n\t\t\t'onTestFileStart',\n\t\t\t'behavioral/errors/KeepingErrorsInSync.test.js'\n\t\t)\n\n\t\tconst firstPart = data.substr(0, 100)\n\t\tconst secondPart = data.substr(100)\n\n\t\tthis.parser.write(this.generateTestResults('onRunStart'))\n\t\tthis.parser.write(firstPart)\n\t\tthis.parser.write(secondPart)\n\t\tthis.parser.write(\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t'behavioral/tests/CreatingANewErrorBuilder.test.js'\n\t\t\t)\n\t\t)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isEqualDeep(testResults, {\n\t\t\ttotalTestFiles: 43,\n\t\t\ttestFiles: [\n\t\t\t\t{\n\t\t\t\t\tpath: 'behavioral/errors/KeepingErrorsInSync.test.ts',\n\t\t\t\t\tstatus: 'running',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'behavioral/tests/CreatingANewErrorBuilder.test.ts',\n\t\t\t\t\tstatus: 'running',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canSelfContainedPlusPartial() {\n\t\tconst firstSelfContained = this.generateTestResults(\n\t\t\t'onTestFileStart',\n\t\t\t`behavioral/errors/KeepingErrorsInSync.test.js`\n\t\t)\n\t\tconst data =\n\t\t\tfirstSelfContained +\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t'behavioral/tests/CreatingANewErrorBuilder.test.js'\n\t\t\t)\n\n\t\tconst splitIdx = firstSelfContained.length + 500\n\t\tconst firstPart = data.substr(0, splitIdx)\n\t\tconst secondPart = data.substr(splitIdx)\n\n\t\tthis.parser.write(firstPart)\n\t\tthis.parser.write(secondPart)\n\n\t\tconst testResults = this.parser.getResults()\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 2)\n\n\t\tassert.isEqualDeep(testResults.testFiles[0], {\n\t\t\tpath: `behavioral/errors/KeepingErrorsInSync.test.ts`,\n\t\t\tstatus: 'running',\n\t\t})\n\n\t\tassert.isEqualDeep(testResults.testFiles[1], {\n\t\t\tpath: 'behavioral/tests/CreatingANewErrorBuilder.test.ts',\n\t\t\tstatus: 'running',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canHandleGarbageAtFrontOfData() {\n\t\tconst data =\n\t\t\t'yarn test run\\nother garbage' +\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t'behavioral/errors/CreatingANewErrorBuilder.test.js'\n\t\t\t)\n\t\tthis.parser.write(data)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 1)\n\t\tassert.isEqualDeep(testResults.testFiles[0], {\n\t\t\tpath: `behavioral/errors/CreatingANewErrorBuilder.test.ts`,\n\t\t\tstatus: 'running',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canHandlesSplitTestRestsWithGarbageInFrontAndDanglingEnd() {\n\t\tthis.parser.write(\n\t\t\t'yarn run go team ***************************START_JSON_DIVIDER***************************'\n\t\t)\n\t\tthis.parser.write(\n\t\t\t'{\"status\":\"onTestFileStart\",\"test\":{\"context\":{\"config\":{\"automock\":false,\"cache\":true,\"cacheDirectory\":\"/private/tmp/jest_dx\",\"clearMocks\":false,\"coveragePathIgnorePatterns\":[\"/node_modules/\"],\"cwd\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"detectLeaks\":false,\"detectOpenHandles\":false,\"errorOnDeprecated\":false,\"extraGlobals\":[],\"forceCoverageMatch\":[],\"globals\":{},\"haste\":{\"computeSha1\":false,\"throwOnModuleCollision\":false},\"injectGlobals\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleFileExtensions\":[\"js\",\"json\",\"jsx\",\"ts\",\"tsx\",\"node\"],\"moduleNameMapper\":[[\"^#spruce/schemas/fields/(.*)\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\"],[\"^#spruce/(.*)$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\"]],\"modulePathIgnorePatterns\":[],\"name\":\"44406c6bd09f4805a9dd2ad1a17b150c\",\"prettierPath\":\"prettier\",\"resetMocks\":false,\"resetModules\":false,\"restoreMocks\":false,\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"roots\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"],\"runner\":\"jest-runner\",\"setupFiles\":[],\"setupFilesAfterEnv\":[],\"skipFilter\":false,\"slowTestThreshold\":5,\"snapshotSerializers\":[],\"testEnvironment\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-environment-node/build/index.js\",\"testEnvironmentOptions\":{},\"testLocationInResults\":false,\"testMatch\":[\"**/__tests__/**/*.test.js?(x)\"],\"testPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/tmp/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/testDirsAndFiles/\"],\"testRegex\":[],\"testRunner\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-jasmine2/build/index.js\",\"testURL\":\"http://localhost\",\"timers\":\"real\",\"transform\":[[\".[jt]sx?$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/babel-jest/build/index.js\",{}]],\"transformIgnorePatterns\":[\"/node_modules/\",\".pnp.[^/]+$\"],\"watchPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\"]},\"hasteFS\":{\"_rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"_files\":{}},\"moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"resolver\":{\"_options\":{\"extensions\":[\".js\",\".json\",\".jsx\",\".ts\",\".tsx\",\".node\"],\"hasCoreModules\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleNameMapper\":[{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\",\"regex\":{}},{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\",\"regex\":{}}],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleIDCache\":{},\"_moduleNameCache\":{},\"_modulePathCache\":{},\"_supportsNativePlatform\":false}},\"duration\":50540,\"path\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/behavioral/tests/RunningTests.test.js\"}}'\n\t\t)\n\t\t/* eslint-disable no-useless-escape */\n\t\tthis.parser\n\t\t\t.write(`***************************END_JSON_DIVIDER***************************\n\t\t\t***************************START_JSON_DIVIDER***************************\n\t\t\t{\"status\":\"onTestFileStart\",\"test\":{\"context\":{\"config\":{\"automock\":false,\"cache\":true,\"cacheDirectory\":\"/private/tmp/jest_dx\",\"clearMocks\":false,\"coveragePathIgnorePatterns\":[\"/node_modules/\"],\"cwd\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"detectLeaks\":false,\"detectOpenHandles\":false,\"errorOnDeprecated\":false,\"extraGlobals\":[],\"forceCoverageMatch\":[],\"globals\":{},\"haste\":{\"computeSha1\":false,\"throwOnModuleCollision\":false},\"injectGlobals\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleFileExtensions\":[\"js\",\"json\",\"jsx\",\"ts\",\"tsx\",\"node\"],\"moduleNameMapper\":[[\"^#spruce/schemas/fields/(.*)\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\"],[\"^#spruce/(.*)$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\"]],\"modulePathIgnorePatterns\":[],\"name\":\"44406c6bd09f4805a9dd2ad1a17b150c\",\"prettierPath\":\"prettier\",\"resetMocks\":false,\"resetModules\":false,\"restoreMocks\":false,\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"roots\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"],\"runner\":\"jest-runner\",\"setupFiles\":[],\"setupFilesAfterEnv\":[],\"skipFilter\":false,\"slowTestThreshold\":5,\"snapshotSerializers\":[],\"testEnvironment\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-environment-node/build/index.js\",\"testEnvironmentOptions\":{},\"testLocationInResults\":false,\"testMatch\":[\"**/__tests__/**/*.test.js?(x)\"],\"testPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/tmp/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/testDirsAndFiles/\"],\"testRegex\":[],\"testRunner\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-jasmine2/build/index.js\",\"testURL\":\"http://localhost\",\"timers\":\"real\",\"transform\":[[\"\\.[jt]sx?$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/babel-jest/build/index.js\",{}]],\"transformIgnorePatterns\":[\"/node_modules/\",\"\\.pnp\\.[^\\/]+$\"],\"watchPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\"]},\"hasteFS\":{\"_rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"_files\":{}},\"moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"resolver\":{\"_options\":{\"extensions\":[\".js\",\".json\",\".jsx\",\".ts\",\".tsx\",\".node\"],\"hasCoreModules\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleNameMapper\":[{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\",\"regex\":{}},{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\",\"regex\":{}}],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleIDCache\":{},\"_moduleNameCache\":{},\"_modulePathCache\":{},\"_supportsNativePlatform\":false}},\"duration\":48733,\"path\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js\"}}\n\t\t\t***************************END_JSON_DIVIDER***************************\n\t\t\t***************************START_JSON_DIVIDER***************************\n\t\t\t{\"status\":\"onTestFileStart\",\"test\":{\"context\":{\"config\":{\"automock\":false,\"cache\":true,\"cacheDirectory\":\"/private/tmp/jest_dx\",\"clearMocks\":false,\"coveragePathIgnorePatterns\":[\"/node_modules/\"],\"cwd\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"detectLeaks\":false,\"detectOpenHandles\":false,\"errorOnDeprecated\":false,\"extraGlobals\":[],\"forceCoverageMatch\":[],\"globals\":{},\"haste\":{\"computeSha1\":false,\"throwOnModuleCollision\":false},\"injectGlobals\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleFileExtensions\":[\"js\",\"json\",\"jsx\",\"ts\",\"tsx\",\"node\"],\"moduleNameMapper\":[[\"^#spruce/schemas/fields/(.*)\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\"],[\"^#spruce/(.*)$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\"]],\"modulePathIgnorePatterns\":[],\"name\":\"44406c6bd09f4805a9dd2ad1a17b150c\",\"prettierPath\":\"prettier\",\"resetMocks\":false,\"resetModules\":false,\"restoreMocks\":false,\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"roots\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"],\"runner\":\"jest-runner\",\"setupFiles\":[],\"setupFilesAfterEnv\":[],\"skipFilter\":false,\"slowTestThreshold\":5,\"snapshotSerializers\":[],\"testEnvironment\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-environment-node/build/index.js\",\"testEnvironmentOptions\":{},\"testLocationInResults\":false,\"testMatch\":[\"**/__tests__/**/*.test.js?(x)\"],\"testPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/tmp/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/testDirsAndFiles/\"],\"testRegex\":[],\"testRunner\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-jasmine2/build/index.js\",\"testURL\":\"http://localhost\",\"timers\":\"real\",\"transform\":[[\"\\.[jt]sx?$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/babel-jest/build/index.js\",{}]],\"transformIgnorePatterns\":[\"/node_modules/\",\"\\.pnp\\.[^\\/]+$\"],\"watchPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\"]},\"hasteFS\":{\"_rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"_files\":{}},\"moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"resolver\":{\"_options\":{\"extensions\":[\".js\",\".json\",\".jsx\",\".ts\",\".tsx\",\".node\"],\"hasCoreModules\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleNameMapper\":[{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\",\"regex\":{}},{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\",\"regex\":{}}],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleIDCache\":{},\"_moduleNameCache\":{},\"_modulePathCache\":{},\"_supportsNativePlatform\":false}},\"duration\":17443,\"path\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/behavioral/watchers/WatchingForChanges.test.js\"}}`)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 2)\n\t}\n\n\t@test()\n\tprotected static canUpdateAsTestsCompletes() {\n\t\tconst data = this.generateTestResults(\n\t\t\t'onTestFileStart',\n\t\t\t'behavioral/errors/CreatingANewErrorBuilder.test.js'\n\t\t)\n\n\t\tthis.parser.write(data)\n\n\t\tconst completed = this.generateTestResults(\n\t\t\t'onTestFileResult',\n\t\t\t'behavioral/errors/CreatingANewErrorBuilder.test.js'\n\t\t)\n\n\t\tthis.parser.write(completed)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 11)\n\n\t\tassert.isEqualDeep(testResults, {\n\t\t\ttotalTestFiles: 39,\n\t\t\ttestFiles: [\n\t\t\t\t{\n\t\t\t\t\tpath: 'behavioral/errors/CreatingANewErrorBuilder.test.ts',\n\t\t\t\t\tstatus: 'running',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/CasualNameUtility.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'No name returns friend',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 2,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'Just last name to just last name',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'First name only to first name only',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'last and first name to First Last initial',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/PhoneUtility.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canMatchDummyNumber',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/TokenUtility.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'exists',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canGenerateTokenForPerson',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 10,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'generatesValidToken',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'decodesAndVerifiesValidToken',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'decodesValidToken',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'verifyFailsOnBadSecret',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 17,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/RoleStore.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canCreateOrgStore',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 4,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canGenerateBaseRoles',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 80,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/PersonRoleStore.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'personRole',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 6,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canGivePersonGlobalRole',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 88,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canGiveRoleAndThenTakeItAway',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 25,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canAssignOrgRole',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 30,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'removeRoleFromOrgDoesNotRemoveGlobal',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 28,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'cantAssignSameRoleTwice',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 14,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canAddRemoveThenReAddRole',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 18,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'removesTheCorrectRole',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 19,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/ContractValidator.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canRegisterContract',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 2,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'cannotMixinContractWithDuplicateEvents',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canClearEventsFromContract',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'clearingUnknownEventThrowsError',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/MercuryServer.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canCreateServer',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 28,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'throwsWhenEmittingBadEvent',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 21,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'behavioral/UpdatingARole.test.ts',\n\t\t\t\t\tstatus: 'failed',\n\t\t\t\t\terrorMessage: testResults.testFiles.find(\n\t\t\t\t\t\t(file) => file.path === 'behavioral/UpdatingARole.test.ts'\n\t\t\t\t\t)?.errorMessage,\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'hasUpdateRoleEvent',\n\t\t\t\t\t\t\tstatus: 'failed',\n\t\t\t\t\t\t\terrorMessages: testResults.testFiles.find(\n\t\t\t\t\t\t\t\t(file) => file.path === 'behavioral/UpdatingARole.test.ts'\n\t\t\t\t\t\t\t)?.tests?.[0]?.errorMessages,\n\t\t\t\t\t\t\tduration: 24,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/SkillGenerator.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canInstantiate',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'generatesNewSkillValuesByName',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/Database.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'throws error when updating record not found (neDb)',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 3,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'can delete record (mongo)',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 47,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'can upsert (neDb)',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 5,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'can create a compound field unique index (mongo)',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 82,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t\ttotalTestFilesComplete: 20,\n\t\t\ttotalFailed: 1,\n\t\t\ttotalPassed: 181,\n\t\t\ttotalTests: 183,\n\t\t\ttotalSkipped: 1,\n\t\t\ttotalTodo: 0,\n\t\t})\n\t}\n}\n"],"file":"JestJsonParser.test.js"}
|
|
1
|
+
{"version":3,"file":"JestJsonParser.test.js","names":["JestJsonParserTest","parser","JestJsonParser","assert","isTruthy","write","startRun","generateTestResults","testResults","getResults","isEqualDeep","totalTestFiles","data","testFiles","isLength","path","status","jestStatus","testFile","START_DIVIDER","END_DIVIDER","JSON","stringify","Error","substr","isFalsy","firstPart","secondPart","firstSelfContained","splitIdx","length","completed","tests","name","errorMessages","duration","errorMessage","find","file","totalTestFilesComplete","totalFailed","totalPassed","totalTests","totalSkipped","totalTodo","AbstractSpruceTest"],"sources":["../../../src/__tests__/implementation/JestJsonParser.test.ts"],"sourcesContent":["import { START_DIVIDER, END_DIVIDER } from '@sprucelabs/jest-json-reporter'\nimport AbstractSpruceTest, { test, assert } from '@sprucelabs/test'\nimport JestJsonParser, { JsonResultKeys } from '../../tests/JestJsonParser'\nimport onTestFileResult from '../support/onTestFileResult'\nexport default class JestJsonParserTest extends AbstractSpruceTest {\n\tprivate static parser: JestJsonParser\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.parser = new JestJsonParser()\n\t}\n\n\t@test()\n\tprotected static canCreateJjp() {\n\t\tassert.isTruthy(this.parser.write)\n\t}\n\n\t@test()\n\tprotected static generatesEmptyResults() {\n\t\tconst startRun = this.generateTestResults('onRunStart')\n\n\t\tthis.parser.write(startRun)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isEqualDeep(testResults, {\n\t\t\ttotalTestFiles: 43,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canHandleSelfContainedWrite() {\n\t\tconst data = this.generateTestResults(\n\t\t\t'onTestFileStart',\n\t\t\t'behavioral/errors/CreatingANewErrorBuilder.test.js'\n\t\t)\n\n\t\tthis.parser.write(this.generateTestResults('onRunStart'))\n\t\tthis.parser.write(data)\n\n\t\tconst testResults = this.parser.getResults()\n\t\tassert.isTruthy(testResults.testFiles)\n\n\t\tassert.isLength(testResults.testFiles, 1)\n\t\tassert.isEqualDeep(testResults.testFiles[0], {\n\t\t\tpath: `behavioral/errors/CreatingANewErrorBuilder.test.ts`,\n\t\t\tstatus: 'running',\n\t\t})\n\t}\n\n\tprivate static generateTestResults(\n\t\tjestStatus: JsonResultKeys,\n\t\ttestFile?: string\n\t): string {\n\t\tswitch (jestStatus) {\n\t\t\tcase 'onRunStart':\n\t\t\t\treturn `${START_DIVIDER}{\"status\":\"onRunStart\",\"results\":{\"numFailedTestSuites\":0,\"numFailedTests\":0,\"numPassedTestSuites\":0,\"numPassedTests\":0,\"numPendingTestSuites\":0,\"numPendingTests\":0,\"numRuntimeErrorTestSuites\":0,\"numTodoTests\":0,\"numTotalTestSuites\":43,\"numTotalTests\":0,\"openHandles\":[],\"snapshot\":{\"added\":0,\"didUpdate\":false,\"failure\":false,\"filesAdded\":0,\"filesRemoved\":0,\"filesRemovedList\":[],\"filesUnmatched\":0,\"filesUpdated\":0,\"matched\":0,\"total\":0,\"unchecked\":0,\"uncheckedKeysByFile\":[],\"unmatched\":0,\"updated\":0},\"startTime\":1603459399575,\"success\":false,\"testResults\":[],\"wasInterrupted\":false}}${END_DIVIDER}`\n\t\t\tcase 'onTestFileStart':\n\t\t\t\treturn `${START_DIVIDER}{\"status\":\"onTestFileStart\",\"test\":{\"context\":{\"config\":{\"automock\":false,\"cache\":true,\"cacheDirectory\":\"/private/var/folders/qw/v2bfr0c94bn37vclwvcltsj40000gn/T/jest_dx\",\"clearMocks\":false,\"coveragePathIgnorePatterns\":[\"/node_modules/\"],\"cwd\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"detectLeaks\":false,\"detectOpenHandles\":false,\"errorOnDeprecated\":false,\"extraGlobals\":[],\"forceCoverageMatch\":[],\"globals\":{},\"haste\":{\"computeSha1\":false,\"throwOnModuleCollision\":false},\"injectGlobals\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleFileExtensions\":[\"js\",\"json\",\"jsx\",\"ts\",\"tsx\",\"node\"],\"moduleNameMapper\":[[\"^#spruce/schemas/fields/(.*)\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\"],[\"^#spruce/(.*)$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\"]],\"modulePathIgnorePatterns\":[],\"name\":\"44406c6bd09f4805a9dd2ad1a17b150c\",\"prettierPath\":\"prettier\",\"resetMocks\":false,\"resetModules\":false,\"restoreMocks\":false,\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"roots\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"],\"runner\":\"jest-runner\",\"setupFiles\":[],\"setupFilesAfterEnv\":[],\"skipFilter\":false,\"slowTestThreshold\":5,\"snapshotSerializers\":[],\"testEnvironment\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-environment-node/build/index.js\",\"testEnvironmentOptions\":{},\"testLocationInResults\":false,\"testMatch\":[\"**/__tests__/**/*.test.js?(x)\"],\"testPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/tmp/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/testDirsAndFiles/\"],\"testRegex\":[],\"testRunner\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-jasmine2/build/index.js\",\"testURL\":\"http://localhost\",\"timers\":\"real\",\"transform\":[[\".[jt]sx?$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/babel-jest/build/index.js\",{}]],\"transformIgnorePatterns\":[\"/node_modules/\",\".pnp.[^/]+$\"],\"watchPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\"]},\"hasteFS\":{\"_rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"_files\":{}},\"moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"resolver\":{\"_options\":{\"extensions\":[\".js\",\".json\",\".jsx\",\".ts\",\".tsx\",\".node\"],\"hasCoreModules\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleNameMapper\":[{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\",\"regex\":{}},{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\",\"regex\":{}}],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleIDCache\":{},\"_moduleNameCache\":{},\"_modulePathCache\":{},\"_supportsNativePlatform\":false}},\"duration\":40472,\"path\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/${testFile}\"}}${END_DIVIDER}`\n\t\t\tcase 'onTestFileResult':\n\t\t\t\treturn `${START_DIVIDER}${JSON.stringify(\n\t\t\t\t\tonTestFileResult(testFile ?? 'missing')\n\t\t\t\t)}${END_DIVIDER}`\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Status not implemented')\n\t\t}\n\t}\n\n\t@test()\n\tprotected static canHandleSelfContainedWriteWithTwoTests() {\n\t\tconst data =\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t'behavioral/errors/CreatingANewErrorBuilder.test.js'\n\t\t\t) +\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t'behavioral/tests/RunningTests.test.js'\n\t\t\t)\n\t\tthis.parser.write(data)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 2)\n\t\tassert.isEqualDeep(testResults.testFiles, [\n\t\t\t{\n\t\t\t\tpath: `behavioral/errors/CreatingANewErrorBuilder.test.ts`,\n\t\t\t\tstatus: 'running',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `behavioral/tests/RunningTests.test.ts`,\n\t\t\t\tstatus: 'running',\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static multipleSelfContainedWritesWorks() {\n\t\tthis.parser.write(\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t`behavioral/errors/CreatingANewErrorBuilder.test.js`\n\t\t\t)\n\t\t)\n\n\t\tthis.parser.write(\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t`behavioral/tests/RunningTests.test.js`\n\t\t\t)\n\t\t)\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 2)\n\t\tassert.isEqualDeep(testResults.testFiles, [\n\t\t\t{\n\t\t\t\tpath: `behavioral/errors/CreatingANewErrorBuilder.test.ts`,\n\t\t\t\tstatus: 'running',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `behavioral/tests/RunningTests.test.ts`,\n\t\t\t\tstatus: 'running',\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static partialWriteReturnsNothing() {\n\t\tconst data = this.generateTestResults(\n\t\t\t'onTestFileStart',\n\t\t\t'behavioral/errors/KeepingErrorsInSync.test.js'\n\t\t).substr(0, 100)\n\n\t\tthis.parser.write(data)\n\n\t\tconst testResults = this.parser.getResults()\n\t\tassert.isFalsy(testResults.testFiles)\n\t}\n\n\t@test()\n\tprotected static canPartialWriteAcrossTwoWrites() {\n\t\tconst data = this.generateTestResults(\n\t\t\t'onTestFileStart',\n\t\t\t'behavioral/errors/KeepingErrorsInSync.test.js'\n\t\t)\n\n\t\tconst firstPart = data.substr(0, 100)\n\t\tconst secondPart = data.substr(100)\n\n\t\tthis.parser.write(firstPart)\n\t\tthis.parser.write(secondPart)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 1)\n\n\t\tassert.isEqualDeep(testResults.testFiles[0], {\n\t\t\tpath: `behavioral/errors/KeepingErrorsInSync.test.ts`,\n\t\t\tstatus: 'running',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canPartialWriteAndSelfContainedAcrossThreeWrites() {\n\t\tconst data = this.generateTestResults(\n\t\t\t'onTestFileStart',\n\t\t\t'behavioral/errors/KeepingErrorsInSync.test.js'\n\t\t)\n\n\t\tconst firstPart = data.substr(0, 100)\n\t\tconst secondPart = data.substr(100)\n\n\t\tthis.parser.write(this.generateTestResults('onRunStart'))\n\t\tthis.parser.write(firstPart)\n\t\tthis.parser.write(secondPart)\n\t\tthis.parser.write(\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t'behavioral/tests/CreatingANewErrorBuilder.test.js'\n\t\t\t)\n\t\t)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isEqualDeep(testResults, {\n\t\t\ttotalTestFiles: 43,\n\t\t\ttestFiles: [\n\t\t\t\t{\n\t\t\t\t\tpath: 'behavioral/errors/KeepingErrorsInSync.test.ts',\n\t\t\t\t\tstatus: 'running',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'behavioral/tests/CreatingANewErrorBuilder.test.ts',\n\t\t\t\t\tstatus: 'running',\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canSelfContainedPlusPartial() {\n\t\tconst firstSelfContained = this.generateTestResults(\n\t\t\t'onTestFileStart',\n\t\t\t`behavioral/errors/KeepingErrorsInSync.test.js`\n\t\t)\n\t\tconst data =\n\t\t\tfirstSelfContained +\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t'behavioral/tests/CreatingANewErrorBuilder.test.js'\n\t\t\t)\n\n\t\tconst splitIdx = firstSelfContained.length + 500\n\t\tconst firstPart = data.substr(0, splitIdx)\n\t\tconst secondPart = data.substr(splitIdx)\n\n\t\tthis.parser.write(firstPart)\n\t\tthis.parser.write(secondPart)\n\n\t\tconst testResults = this.parser.getResults()\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 2)\n\n\t\tassert.isEqualDeep(testResults.testFiles[0], {\n\t\t\tpath: `behavioral/errors/KeepingErrorsInSync.test.ts`,\n\t\t\tstatus: 'running',\n\t\t})\n\n\t\tassert.isEqualDeep(testResults.testFiles[1], {\n\t\t\tpath: 'behavioral/tests/CreatingANewErrorBuilder.test.ts',\n\t\t\tstatus: 'running',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canHandleGarbageAtFrontOfData() {\n\t\tconst data =\n\t\t\t'yarn test run\\nother garbage' +\n\t\t\tthis.generateTestResults(\n\t\t\t\t'onTestFileStart',\n\t\t\t\t'behavioral/errors/CreatingANewErrorBuilder.test.js'\n\t\t\t)\n\t\tthis.parser.write(data)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 1)\n\t\tassert.isEqualDeep(testResults.testFiles[0], {\n\t\t\tpath: `behavioral/errors/CreatingANewErrorBuilder.test.ts`,\n\t\t\tstatus: 'running',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static canHandlesSplitTestRestsWithGarbageInFrontAndDanglingEnd() {\n\t\tthis.parser.write(\n\t\t\t'yarn run go team ***************************START_JSON_DIVIDER***************************'\n\t\t)\n\t\tthis.parser.write(\n\t\t\t'{\"status\":\"onTestFileStart\",\"test\":{\"context\":{\"config\":{\"automock\":false,\"cache\":true,\"cacheDirectory\":\"/private/tmp/jest_dx\",\"clearMocks\":false,\"coveragePathIgnorePatterns\":[\"/node_modules/\"],\"cwd\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"detectLeaks\":false,\"detectOpenHandles\":false,\"errorOnDeprecated\":false,\"extraGlobals\":[],\"forceCoverageMatch\":[],\"globals\":{},\"haste\":{\"computeSha1\":false,\"throwOnModuleCollision\":false},\"injectGlobals\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleFileExtensions\":[\"js\",\"json\",\"jsx\",\"ts\",\"tsx\",\"node\"],\"moduleNameMapper\":[[\"^#spruce/schemas/fields/(.*)\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\"],[\"^#spruce/(.*)$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\"]],\"modulePathIgnorePatterns\":[],\"name\":\"44406c6bd09f4805a9dd2ad1a17b150c\",\"prettierPath\":\"prettier\",\"resetMocks\":false,\"resetModules\":false,\"restoreMocks\":false,\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"roots\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"],\"runner\":\"jest-runner\",\"setupFiles\":[],\"setupFilesAfterEnv\":[],\"skipFilter\":false,\"slowTestThreshold\":5,\"snapshotSerializers\":[],\"testEnvironment\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-environment-node/build/index.js\",\"testEnvironmentOptions\":{},\"testLocationInResults\":false,\"testMatch\":[\"**/__tests__/**/*.test.js?(x)\"],\"testPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/tmp/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/testDirsAndFiles/\"],\"testRegex\":[],\"testRunner\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-jasmine2/build/index.js\",\"testURL\":\"http://localhost\",\"timers\":\"real\",\"transform\":[[\".[jt]sx?$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/babel-jest/build/index.js\",{}]],\"transformIgnorePatterns\":[\"/node_modules/\",\".pnp.[^/]+$\"],\"watchPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\"]},\"hasteFS\":{\"_rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"_files\":{}},\"moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"resolver\":{\"_options\":{\"extensions\":[\".js\",\".json\",\".jsx\",\".ts\",\".tsx\",\".node\"],\"hasCoreModules\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleNameMapper\":[{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\",\"regex\":{}},{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\",\"regex\":{}}],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleIDCache\":{},\"_moduleNameCache\":{},\"_modulePathCache\":{},\"_supportsNativePlatform\":false}},\"duration\":50540,\"path\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/behavioral/tests/RunningTests.test.js\"}}'\n\t\t)\n\t\t/* eslint-disable no-useless-escape */\n\t\tthis.parser\n\t\t\t.write(`***************************END_JSON_DIVIDER***************************\n\t\t\t***************************START_JSON_DIVIDER***************************\n\t\t\t{\"status\":\"onTestFileStart\",\"test\":{\"context\":{\"config\":{\"automock\":false,\"cache\":true,\"cacheDirectory\":\"/private/tmp/jest_dx\",\"clearMocks\":false,\"coveragePathIgnorePatterns\":[\"/node_modules/\"],\"cwd\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"detectLeaks\":false,\"detectOpenHandles\":false,\"errorOnDeprecated\":false,\"extraGlobals\":[],\"forceCoverageMatch\":[],\"globals\":{},\"haste\":{\"computeSha1\":false,\"throwOnModuleCollision\":false},\"injectGlobals\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleFileExtensions\":[\"js\",\"json\",\"jsx\",\"ts\",\"tsx\",\"node\"],\"moduleNameMapper\":[[\"^#spruce/schemas/fields/(.*)\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\"],[\"^#spruce/(.*)$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\"]],\"modulePathIgnorePatterns\":[],\"name\":\"44406c6bd09f4805a9dd2ad1a17b150c\",\"prettierPath\":\"prettier\",\"resetMocks\":false,\"resetModules\":false,\"restoreMocks\":false,\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"roots\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"],\"runner\":\"jest-runner\",\"setupFiles\":[],\"setupFilesAfterEnv\":[],\"skipFilter\":false,\"slowTestThreshold\":5,\"snapshotSerializers\":[],\"testEnvironment\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-environment-node/build/index.js\",\"testEnvironmentOptions\":{},\"testLocationInResults\":false,\"testMatch\":[\"**/__tests__/**/*.test.js?(x)\"],\"testPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/tmp/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/testDirsAndFiles/\"],\"testRegex\":[],\"testRunner\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-jasmine2/build/index.js\",\"testURL\":\"http://localhost\",\"timers\":\"real\",\"transform\":[[\"\\.[jt]sx?$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/babel-jest/build/index.js\",{}]],\"transformIgnorePatterns\":[\"/node_modules/\",\"\\.pnp\\.[^\\/]+$\"],\"watchPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\"]},\"hasteFS\":{\"_rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"_files\":{}},\"moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"resolver\":{\"_options\":{\"extensions\":[\".js\",\".json\",\".jsx\",\".ts\",\".tsx\",\".node\"],\"hasCoreModules\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleNameMapper\":[{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\",\"regex\":{}},{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\",\"regex\":{}}],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleIDCache\":{},\"_moduleNameCache\":{},\"_modulePathCache\":{},\"_supportsNativePlatform\":false}},\"duration\":48733,\"path\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js\"}}\n\t\t\t***************************END_JSON_DIVIDER***************************\n\t\t\t***************************START_JSON_DIVIDER***************************\n\t\t\t{\"status\":\"onTestFileStart\",\"test\":{\"context\":{\"config\":{\"automock\":false,\"cache\":true,\"cacheDirectory\":\"/private/tmp/jest_dx\",\"clearMocks\":false,\"coveragePathIgnorePatterns\":[\"/node_modules/\"],\"cwd\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"detectLeaks\":false,\"detectOpenHandles\":false,\"errorOnDeprecated\":false,\"extraGlobals\":[],\"forceCoverageMatch\":[],\"globals\":{},\"haste\":{\"computeSha1\":false,\"throwOnModuleCollision\":false},\"injectGlobals\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleFileExtensions\":[\"js\",\"json\",\"jsx\",\"ts\",\"tsx\",\"node\"],\"moduleNameMapper\":[[\"^#spruce/schemas/fields/(.*)\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\"],[\"^#spruce/(.*)$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\"]],\"modulePathIgnorePatterns\":[],\"name\":\"44406c6bd09f4805a9dd2ad1a17b150c\",\"prettierPath\":\"prettier\",\"resetMocks\":false,\"resetModules\":false,\"restoreMocks\":false,\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"roots\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"],\"runner\":\"jest-runner\",\"setupFiles\":[],\"setupFilesAfterEnv\":[],\"skipFilter\":false,\"slowTestThreshold\":5,\"snapshotSerializers\":[],\"testEnvironment\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-environment-node/build/index.js\",\"testEnvironmentOptions\":{},\"testLocationInResults\":false,\"testMatch\":[\"**/__tests__/**/*.test.js?(x)\"],\"testPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/tmp/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/testDirsAndFiles/\"],\"testRegex\":[],\"testRunner\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/jest-jasmine2/build/index.js\",\"testURL\":\"http://localhost\",\"timers\":\"real\",\"transform\":[[\"\\.[jt]sx?$\",\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/node_modules/babel-jest/build/index.js\",{}]],\"transformIgnorePatterns\":[\"/node_modules/\",\"\\.pnp\\.[^\\/]+$\"],\"watchPathIgnorePatterns\":[\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/src/\"]},\"hasteFS\":{\"_rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\",\"_files\":{}},\"moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"resolver\":{\"_options\":{\"extensions\":[\".js\",\".json\",\".jsx\",\".ts\",\".tsx\",\".node\"],\"hasCoreModules\":true,\"moduleDirectories\":[\"node_modules\"],\"moduleNameMapper\":[{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1\",\"regex\":{}},{\"moduleName\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/.spruce/$1\",\"regex\":{}}],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleMap\":{\"duplicates\":[],\"map\":[[\"@sprucelabs/spruce-cli\",{\"g\":[\"package.json\",1]}]],\"mocks\":[],\"rootDir\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli\"},\"_moduleIDCache\":{},\"_moduleNameCache\":{},\"_modulePathCache\":{},\"_supportsNativePlatform\":false}},\"duration\":17443,\"path\":\"/Users/taylorromero/Development/SpruceLabs/spruce-cli-workspace/packages/spruce-cli/build/__tests__/behavioral/watchers/WatchingForChanges.test.js\"}}`)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 2)\n\t}\n\n\t@test()\n\tprotected static canUpdateAsTestsCompletes() {\n\t\tconst data = this.generateTestResults(\n\t\t\t'onTestFileStart',\n\t\t\t'behavioral/errors/CreatingANewErrorBuilder.test.js'\n\t\t)\n\n\t\tthis.parser.write(data)\n\n\t\tconst completed = this.generateTestResults(\n\t\t\t'onTestFileResult',\n\t\t\t'behavioral/errors/CreatingANewErrorBuilder.test.js'\n\t\t)\n\n\t\tthis.parser.write(completed)\n\n\t\tconst testResults = this.parser.getResults()\n\n\t\tassert.isTruthy(testResults.testFiles)\n\t\tassert.isLength(testResults.testFiles, 11)\n\n\t\tassert.isEqualDeep(testResults, {\n\t\t\ttotalTestFiles: 39,\n\t\t\ttestFiles: [\n\t\t\t\t{\n\t\t\t\t\tpath: 'behavioral/errors/CreatingANewErrorBuilder.test.ts',\n\t\t\t\t\tstatus: 'running',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/CasualNameUtility.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'No name returns friend',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 2,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'Just last name to just last name',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'First name only to first name only',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'last and first name to First Last initial',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/PhoneUtility.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canMatchDummyNumber',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/TokenUtility.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'exists',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canGenerateTokenForPerson',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 10,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'generatesValidToken',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'decodesAndVerifiesValidToken',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'decodesValidToken',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'verifyFailsOnBadSecret',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 17,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/RoleStore.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canCreateOrgStore',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 4,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canGenerateBaseRoles',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 80,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/PersonRoleStore.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'personRole',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 6,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canGivePersonGlobalRole',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 88,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canGiveRoleAndThenTakeItAway',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 25,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canAssignOrgRole',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 30,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'removeRoleFromOrgDoesNotRemoveGlobal',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 28,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'cantAssignSameRoleTwice',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 14,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canAddRemoveThenReAddRole',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 18,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'removesTheCorrectRole',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 19,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/ContractValidator.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canRegisterContract',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 2,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'cannotMixinContractWithDuplicateEvents',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canClearEventsFromContract',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'clearingUnknownEventThrowsError',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/MercuryServer.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canCreateServer',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 28,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'throwsWhenEmittingBadEvent',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 21,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'behavioral/UpdatingARole.test.ts',\n\t\t\t\t\tstatus: 'failed',\n\t\t\t\t\terrorMessage: testResults.testFiles.find(\n\t\t\t\t\t\t(file) => file.path === 'behavioral/UpdatingARole.test.ts'\n\t\t\t\t\t)?.errorMessage,\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'hasUpdateRoleEvent',\n\t\t\t\t\t\t\tstatus: 'failed',\n\t\t\t\t\t\t\terrorMessages: testResults.testFiles.find(\n\t\t\t\t\t\t\t\t(file) => file.path === 'behavioral/UpdatingARole.test.ts'\n\t\t\t\t\t\t\t)?.tests?.[0]?.errorMessages,\n\t\t\t\t\t\t\tduration: 24,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/SkillGenerator.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'canInstantiate',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'generatesNewSkillValuesByName',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'implementation/Database.test.ts',\n\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\ttests: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'throws error when updating record not found (neDb)',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 3,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'can delete record (mongo)',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 47,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'can upsert (neDb)',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 5,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'can create a compound field unique index (mongo)',\n\t\t\t\t\t\t\tstatus: 'passed',\n\t\t\t\t\t\t\terrorMessages: [],\n\t\t\t\t\t\t\tduration: 82,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t\ttotalTestFilesComplete: 20,\n\t\t\ttotalFailed: 1,\n\t\t\ttotalPassed: 181,\n\t\t\ttotalTests: 183,\n\t\t\ttotalSkipped: 1,\n\t\t\ttotalTodo: 0,\n\t\t})\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -63,7 +63,7 @@ var LintServiceTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), (_cl
|
|
|
63
63
|
return this.FeatureFixture().installCachedFeatures('skills');
|
|
64
64
|
|
|
65
65
|
case 3:
|
|
66
|
-
_CommandService["default"].
|
|
66
|
+
_CommandService["default"].fakeCommand(/node/, {
|
|
67
67
|
code: 0,
|
|
68
68
|
stdout: "[{\"filePath\":\"/Users/taylorromero/Development/SpruceLabs/spruce-appointments-skill/src/.spruce/stores/stores.types.ts\",\"messages\":[{\"fatal\":false,\"severity\":1,\"message\":\"File ignored by default. Use a negated ignore pattern (like \\\"--ignore-pattern '!<relative/path/to/filename>'\\\") to override.\"}],\"errorCount\":1,\"warningCount\":0,\"fixableErrorCount\":0,\"fixableWarningCount\":0,\"usedDeprecatedRules\":[]}]\n"
|
|
69
69
|
});
|
|
@@ -101,7 +101,7 @@ var LintServiceTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), (_cl
|
|
|
101
101
|
return this.FeatureFixture().installCachedFeatures('skills');
|
|
102
102
|
|
|
103
103
|
case 3:
|
|
104
|
-
_CommandService["default"].
|
|
104
|
+
_CommandService["default"].fakeCommand(/node/, {
|
|
105
105
|
code: 0,
|
|
106
106
|
stdout: "[{\"filePath\":\"/Users/taylorromero/Development/SpruceLabs/spruce-appointments-skill/src/.spruce/stores/stores.types.ts\",\"messages\":[{\"fatal\":false,\"severity\":1,\"message\":\"File ignored by default. Use a negated ignore pattern (like \\\"--ignore-pattern '!<relative/path/to/filename>'\\\") to override.\"}],\"errorCount\":0,\"warningCount\":1,\"fixableErrorCount\":0,\"fixableWarningCount\":0,\"usedDeprecatedRules\":[]}]\n"
|
|
107
107
|
});
|