@sprucelabs/spruce-cli 18.2.0 → 18.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/build/.spruce/events/events.contract.d.ts +159 -0
- package/build/.spruce/events/events.contract.js +5 -1
- package/build/.spruce/events/events.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.d.ts +46 -0
- package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js +57 -0
- package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -0
- package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.d.ts +68 -0
- package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js +78 -0
- package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -0
- package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.d.ts +40 -0
- package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js +51 -0
- package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -0
- package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.d.ts +9 -0
- package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js +17 -0
- package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -0
- package/build/.spruce/schemas/schemas.types.d.ts +158 -55
- package/build/.spruce/schemas/schemas.types.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.d.ts +3 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js +70 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.d.ts +3 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js +35 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -0
- package/build/.spruce/settings.json +2 -1
- package/build/GlobalEmitter.d.ts +13 -38
- package/build/GlobalEmitter.js +3 -6
- package/build/GlobalEmitter.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.d.ts +2 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js +74 -84
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +38 -13
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/EventWriter.test.d.ts +4 -0
- package/build/__tests__/behavioral/events/EventWriter.test.js +116 -0
- package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -0
- package/build/__tests__/behavioral/{ListeningToCoreEvents.test.d.ts → events/ListeningToCoreEvents.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{ListeningToCoreEvents.test.js → events/ListeningToCoreEvents.test.js} +1 -1
- package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -0
- package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.d.ts → events/RegisteringEventsOnBoot.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.js → events/RegisteringEventsOnBoot.test.js} +2 -2
- package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -0
- package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.d.ts → events/RegisteringGlobalEvents.test.d.ts} +2 -3
- package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.js → events/RegisteringGlobalEvents.test.js} +45 -70
- package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -0
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.d.ts +1 -0
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +16 -9
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.d.ts → events/SyncingEventsOnlyFromDependencies.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.js → events/SyncingEventsOnlyFromDependencies.test.js} +1 -1
- package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -0
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.d.ts +2 -2
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +7 -7
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.d.ts +6 -0
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +85 -0
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -0
- package/build/__tests__/behavioral/permissions/PermissionStore.test.d.ts +5 -4
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js +97 -63
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.d.ts +5 -0
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +88 -0
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -0
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +15 -4
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +325 -28
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.d.ts +11 -0
- package/build/__tests__/behavioral/permissions/{AbstractPermissionsTest.js → support/AbstractPermissionsTest.js} +34 -2
- package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -0
- package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.d.ts +1 -0
- package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js +11 -0
- package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -0
- package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.d.ts +1 -0
- package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js +17 -0
- package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -0
- package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.d.ts +5 -0
- package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js +10 -0
- package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -0
- package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.d.ts → schemas/CreatingSchemasWithGenerics.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.js → schemas/CreatingSchemasWithGenerics.test.js} +2 -2
- package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -0
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.d.ts +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +46 -46
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.d.ts → schemas/SettingUpSchemasForModuleDistribution.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.js → schemas/SettingUpSchemasForModuleDistribution.test.js} +3 -3
- package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -0
- package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.d.ts → skill/InstallingASkillAtAnOrg.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.js → skill/InstallingASkillAtAnOrg.test.js} +2 -2
- package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -0
- package/build/__tests__/behavioral/{LoggingInAsASkill.test.d.ts → skill/LoggingInAsASkill.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{LoggingInAsASkill.test.js → skill/LoggingInAsASkill.test.js} +2 -2
- package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -0
- package/build/__tests__/behavioral/{RebuildingASkill.test.d.ts → skill/RebuildingASkill.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{RebuildingASkill.test.js → skill/RebuildingASkill.test.js} +2 -2
- package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -0
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +2 -2
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.d.ts → tests/SettingUpASkillForTesting.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.js → tests/SettingUpASkillForTesting.test.js} +2 -2
- package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -0
- package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.d.ts → tests/TestReporterSettingsRemembered.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.js → tests/TestReporterSettingsRemembered.test.js} +1 -1
- package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -0
- package/build/__tests__/behavioral/{TestingDataStores.test.d.ts → tests/TestingDataStores.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{TestingDataStores.test.js → tests/TestingDataStores.test.js} +3 -3
- package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -0
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +7 -3
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +2 -2
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
- package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.d.ts → views/RegisteringSkillViewOnBoot.test.d.ts} +4 -4
- package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.js → views/RegisteringSkillViewOnBoot.test.js} +2 -2
- package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -0
- package/build/__tests__/behavioral/{WatchingSkillViews.test.d.ts → views/WatchingSkillViews.test.d.ts} +1 -1
- package/build/__tests__/behavioral/{WatchingSkillViews.test.js → views/WatchingSkillViews.test.js} +2 -2
- package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -0
- package/build/__tests__/implementation/ActionExecuter2.test.d.ts +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js +23 -11
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.test.d.ts +1 -0
- package/build/__tests__/implementation/GlobalEmitter.test.js +40 -3
- package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js +3 -4
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/features/AbstractAction.d.ts +1 -1
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/AbstractFeature.d.ts +3 -3
- package/build/features/AbstractFeature.js +8 -8
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionExecuter.d.ts +1 -1
- package/build/features/ActionExecuter.js +3 -4
- package/build/features/ActionExecuter.js.map +1 -1
- package/build/features/ActionFactory.d.ts +12 -5
- package/build/features/ActionFactory.js +27 -6
- package/build/features/ActionFactory.js.map +1 -1
- package/build/features/ActionQuestionAsker.d.ts +1 -1
- package/build/features/ActionQuestionAsker.js +6 -6
- package/build/features/ActionQuestionAsker.js.map +1 -1
- package/build/features/conversation/ConversationFeature.js +1 -1
- package/build/features/conversation/ConversationFeature.js.map +1 -1
- package/build/features/dependencies/DependencyFeature.js +1 -1
- package/build/features/dependencies/DependencyFeature.js.map +1 -1
- package/build/features/deploy/actions/HerokuAction.js +31 -33
- package/build/features/deploy/actions/HerokuAction.js.map +1 -1
- package/build/features/error/ErrorFeature.js +4 -4
- package/build/features/error/ErrorFeature.js.map +1 -1
- package/build/features/event/EventFeature.d.ts +8 -8
- package/build/features/event/EventFeature.js +7 -4
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/event/actions/CreateAction.js.map +1 -1
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/stores/EventStore.d.ts +9 -9
- package/build/features/event/stores/EventStore.js +26 -26
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/eventContract/EventContractFeature.js +4 -1
- package/build/features/eventContract/EventContractFeature.js.map +1 -1
- package/build/features/eventContract/actions/PullAction.js +10 -5
- package/build/features/eventContract/actions/PullAction.js.map +1 -1
- package/build/features/features.types.d.ts +2 -37
- package/build/features/features.types.js +0 -41
- package/build/features/features.types.js.map +1 -1
- package/build/features/log/LogFeature.js +1 -1
- package/build/features/log/LogFeature.js.map +1 -1
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/organization/actions/InstallAction.js.map +1 -1
- package/build/features/permission/PermissionFeature.d.ts +12 -2
- package/build/features/permission/PermissionFeature.js +138 -15
- package/build/features/permission/PermissionFeature.js.map +1 -1
- package/build/features/permission/actions/CreateAction.js +4 -1
- package/build/features/permission/actions/CreateAction.js.map +1 -1
- package/build/features/permission/actions/SyncAction.d.ts +5 -1
- package/build/features/permission/actions/SyncAction.js +28 -10
- package/build/features/permission/actions/SyncAction.js.map +1 -1
- package/build/features/permission/stores/PermissionStore.d.ts +6 -1
- package/build/features/permission/stores/PermissionStore.js +43 -31
- package/build/features/permission/stores/PermissionStore.js.map +1 -1
- package/build/features/permission/writers/PermissionWriter.d.ts +7 -1
- package/build/features/permission/writers/PermissionWriter.js +67 -18
- package/build/features/permission/writers/PermissionWriter.js.map +1 -1
- package/build/features/person/PersonFeature.js +1 -1
- package/build/features/person/PersonFeature.js.map +1 -1
- package/build/features/sandbox/SandboxFeature.js +1 -1
- package/build/features/sandbox/SandboxFeature.js.map +1 -1
- package/build/features/schema/SchemaFeature.d.ts +8 -8
- package/build/features/schema/SchemaFeature.js +4 -4
- package/build/features/schema/SchemaFeature.js.map +1 -1
- package/build/features/schema/writers/SchemaWriter.d.ts +12 -12
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/features/skill/SkillFeature.d.ts +11 -11
- package/build/features/skill/SkillFeature.js +2 -2
- package/build/features/skill/SkillFeature.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 +1 -2
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/store/StoreFeature.js +1 -1
- package/build/features/store/StoreFeature.js.map +1 -1
- package/build/features/store/actions/SyncAction.d.ts +1 -1
- package/build/features/store/actions/SyncAction.js.map +1 -1
- package/build/features/test/TestFeature.js +1 -1
- package/build/features/test/TestFeature.js.map +1 -1
- package/build/features/view/ViewFeature.js +1 -1
- package/build/features/view/ViewFeature.js.map +1 -1
- package/build/schemas/v2020_07_22/actionResponse.builder.d.ts +85 -0
- package/build/schemas/v2020_07_22/actionResponse.builder.js +70 -0
- package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -0
- package/build/schemas/v2020_07_22/generatedFile.builder.d.ts +27 -0
- package/build/schemas/v2020_07_22/generatedFile.builder.js +45 -0
- package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -0
- package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js +4 -40
- package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
- package/build/services/CommandService.d.ts +2 -2
- package/build/services/CommandService.js +6 -6
- package/build/services/CommandService.js.map +1 -1
- package/build/services/PkgService.d.ts +1 -0
- package/build/services/PkgService.js +5 -0
- package/build/services/PkgService.js.map +1 -1
- package/build/tests/AbstractCliTest.d.ts +7 -3
- package/build/tests/AbstractCliTest.js +81 -45
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/buildTestCache.js +7 -0
- package/build/tests/buildTestCache.js.map +1 -1
- package/build/tests/fixtures/FeatureFixture.js +1 -0
- package/build/tests/fixtures/FeatureFixture.js.map +1 -1
- package/build/tests/utilities/test.utility.d.ts +2 -0
- package/build/tests/utilities/test.utility.js +6 -0
- package/build/tests/utilities/test.utility.js.map +1 -1
- package/node_modules/@typescript-eslint/parser/package.json +5 -5
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts +4 -2
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +13 -5
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts +2 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +3 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
- package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +20 -2
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +20 -2
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +2 -0
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
- package/node_modules/@typescript-eslint/types/package.json +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +15 -3
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
- package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +63 -49
- package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
- package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
- package/package.json +65 -33
- package/src/.spruce/events/events.contract.ts +24 -0
- package/src/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.ts +54 -0
- package/src/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.ts +79 -0
- package/src/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.ts +48 -0
- package/src/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.ts +13 -0
- package/src/.spruce/schemas/schemas.types.ts +171 -52
- package/src/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.ts +58 -0
- package/src/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.ts +33 -0
- package/src/.spruce/settings.json +2 -1
- package/src/GlobalEmitter.ts +2 -7
- package/src/__tests__/behavioral/TestingAConversation.test.ts +20 -37
- package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +14 -2
- package/src/__tests__/behavioral/events/EventWriter.test.ts +75 -0
- package/src/__tests__/behavioral/{ListeningToCoreEvents.test.ts → events/ListeningToCoreEvents.test.ts} +1 -1
- package/src/__tests__/behavioral/{RegisteringEventsOnBoot.test.ts → events/RegisteringEventsOnBoot.test.ts} +2 -2
- package/src/__tests__/behavioral/{RegisteringGlobalEvents.test.ts → events/RegisteringGlobalEvents.test.ts} +4 -12
- package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +6 -0
- package/src/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.ts → events/SyncingEventsOnlyFromDependencies.test.ts} +2 -2
- package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +2 -2
- package/src/__tests__/behavioral/permissions/PermissionPlugin.test.ts +24 -0
- package/src/__tests__/behavioral/permissions/PermissionStore.test.ts +96 -38
- package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +24 -0
- package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +125 -8
- package/src/__tests__/behavioral/permissions/support/AbstractPermissionsTest.ts +38 -0
- package/src/__tests__/behavioral/permissions/support/generateShortAlphaId.ts +5 -0
- package/src/__tests__/behavioral/permissions/support/renderPermissionTestFile.ts +27 -0
- package/src/__tests__/behavioral/permissions/support/sortPermissionContracts.ts +3 -0
- package/src/__tests__/behavioral/{CreatingSchemasWithGenerics.test.ts → schemas/CreatingSchemasWithGenerics.test.ts} +2 -2
- package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +12 -12
- package/src/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.ts → schemas/SettingUpSchemasForModuleDistribution.test.ts} +4 -4
- package/src/__tests__/behavioral/{InstallingASkillAtAnOrg.test.ts → skill/InstallingASkillAtAnOrg.test.ts} +2 -2
- package/src/__tests__/behavioral/{LoggingInAsASkill.test.ts → skill/LoggingInAsASkill.test.ts} +3 -3
- package/src/__tests__/behavioral/{RebuildingASkill.test.ts → skill/RebuildingASkill.test.ts} +2 -2
- package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -2
- package/src/__tests__/behavioral/{SettingUpASkillForTesting.test.ts → tests/SettingUpASkillForTesting.test.ts} +2 -2
- package/src/__tests__/behavioral/{TestReporterSettingsRemembered.test.ts → tests/TestReporterSettingsRemembered.test.ts} +2 -2
- package/src/__tests__/behavioral/{TestingDataStores.test.ts → tests/TestingDataStores.test.ts} +3 -3
- package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +3 -0
- package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +3 -2
- package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
- package/src/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.ts → views/RegisteringSkillViewOnBoot.test.ts} +2 -2
- package/src/__tests__/behavioral/{WatchingSkillViews.test.ts → views/WatchingSkillViews.test.ts} +3 -3
- package/src/__tests__/implementation/ActionExecuter2.test.ts +13 -6
- package/src/__tests__/implementation/GlobalEmitter.test.ts +22 -1
- package/src/__tests__/implementation/SkillStore.test.ts +1 -2
- package/src/features/AbstractAction.ts +2 -2
- package/src/features/AbstractFeature.ts +8 -8
- package/src/features/ActionExecuter.ts +4 -5
- package/src/features/ActionFactory.ts +44 -20
- package/src/features/ActionQuestionAsker.ts +17 -17
- package/src/features/conversation/ConversationFeature.ts +1 -1
- package/src/features/dependencies/DependencyFeature.ts +1 -1
- package/src/features/deploy/actions/HerokuAction.ts +2 -2
- package/src/features/error/ErrorFeature.ts +4 -4
- package/src/features/event/EventFeature.ts +15 -14
- package/src/features/event/actions/CreateAction.ts +1 -1
- package/src/features/event/actions/ListenAction.ts +1 -1
- package/src/features/event/stores/EventStore.ts +37 -37
- package/src/features/eventContract/EventContractFeature.ts +6 -1
- package/src/features/eventContract/actions/PullAction.ts +7 -3
- package/src/features/features.types.ts +4 -41
- package/src/features/log/LogFeature.ts +1 -1
- package/src/features/node/NodeFeature.ts +1 -1
- package/src/features/organization/actions/InstallAction.ts +1 -1
- package/src/features/permission/PermissionFeature.ts +68 -11
- package/src/features/permission/actions/CreateAction.ts +2 -0
- package/src/features/permission/actions/SyncAction.ts +22 -3
- package/src/features/permission/stores/PermissionStore.ts +27 -8
- package/src/features/permission/writers/PermissionWriter.ts +62 -4
- package/src/features/person/PersonFeature.ts +1 -1
- package/src/features/sandbox/SandboxFeature.ts +1 -3
- package/src/features/schema/SchemaFeature.ts +14 -14
- package/src/features/schema/writers/SchemaWriter.ts +14 -15
- package/src/features/skill/SkillFeature.ts +18 -18
- package/src/features/skill/actions/RebuildAction.ts +1 -1
- package/src/features/skill/actions/RegisterAction.ts +1 -1
- package/src/features/skill/stores/SkillStore.ts +1 -2
- package/src/features/store/StoreFeature.ts +1 -1
- package/src/features/store/actions/SyncAction.ts +1 -1
- package/src/features/test/TestFeature.ts +1 -1
- package/src/features/view/ViewFeature.ts +1 -1
- package/src/schemas/v2020_07_22/actionResponse.builder.ts +62 -0
- package/src/schemas/v2020_07_22/generatedFile.builder.ts +44 -0
- package/src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts +3 -46
- package/src/services/CommandService.ts +5 -5
- package/src/services/PkgService.ts +4 -0
- package/src/tests/AbstractCliTest.ts +31 -13
- package/src/tests/buildTestCache.ts +7 -0
- package/src/tests/fixtures/FeatureFixture.ts +2 -0
- package/src/tests/utilities/test.utility.ts +13 -0
- package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +0 -1
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +0 -1
- package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +0 -1
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +0 -1
- package/build/__tests__/behavioral/RebuildingASkill.test.js.map +0 -1
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +0 -1
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +0 -1
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +0 -1
- package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +0 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +0 -1
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +0 -1
- package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +0 -1
- package/build/__tests__/behavioral/TestingDataStores.test.js.map +0 -1
- package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +0 -1
- package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.d.ts +0 -8
- package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.js.map +0 -1
- package/src/__tests__/behavioral/permissions/AbstractPermissionsTest.ts +0 -20
|
@@ -57,49 +57,20 @@ var GettingSchemasFromHealthCheckTest = (_dec = (0, _testUtils.test)(), _dec2 =
|
|
|
57
57
|
return getsCoreSchemasFromHealthCheck;
|
|
58
58
|
}()
|
|
59
59
|
}, {
|
|
60
|
-
key: "
|
|
60
|
+
key: "getsCoreAndLocalSchemasFromHealthCheck",
|
|
61
61
|
value: function () {
|
|
62
|
-
var
|
|
63
|
-
var
|
|
62
|
+
var _getsCoreAndLocalSchemasFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
63
|
+
var cli, createSchema, cleanedExpected;
|
|
64
64
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
65
65
|
while (1) {
|
|
66
66
|
switch (_context2.prev = _context2.next) {
|
|
67
67
|
case 0:
|
|
68
68
|
_context2.next = 2;
|
|
69
|
-
return cli.checkHealth();
|
|
70
|
-
case 2:
|
|
71
|
-
health = _context2.sent;
|
|
72
|
-
_testUtils.assert.isFalsy(health.skill.errors);
|
|
73
|
-
_testUtils.assert.isTruthy(health.schema);
|
|
74
|
-
_testUtils.assert.isEqual(health.schema.status, 'passed');
|
|
75
|
-
_testUtils.assert.isEqualDeep(this.sortSchemas(health.schema.schemas), expected);
|
|
76
|
-
case 7:
|
|
77
|
-
case "end":
|
|
78
|
-
return _context2.stop();
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}, _callee2, this);
|
|
82
|
-
}));
|
|
83
|
-
function assertExpectedSchemas(_x, _x2) {
|
|
84
|
-
return _assertExpectedSchemas.apply(this, arguments);
|
|
85
|
-
}
|
|
86
|
-
return assertExpectedSchemas;
|
|
87
|
-
}()
|
|
88
|
-
}, {
|
|
89
|
-
key: "getsCoreAndLocalSchemasFromHealthCheck",
|
|
90
|
-
value: function () {
|
|
91
|
-
var _getsCoreAndLocalSchemasFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
92
|
-
var cli, createSchema, cleanedExpected;
|
|
93
|
-
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
94
|
-
while (1) {
|
|
95
|
-
switch (_context3.prev = _context3.next) {
|
|
96
|
-
case 0:
|
|
97
|
-
_context3.next = 2;
|
|
98
69
|
return this.installAndSyncSchemas();
|
|
99
70
|
case 2:
|
|
100
|
-
cli =
|
|
71
|
+
cli = _context2.sent;
|
|
101
72
|
createSchema = this.Action('schema', 'create');
|
|
102
|
-
|
|
73
|
+
_context2.next = 6;
|
|
103
74
|
return createSchema.execute({
|
|
104
75
|
nameReadable: 'Test schema!',
|
|
105
76
|
namePascal: 'Test',
|
|
@@ -114,14 +85,14 @@ var GettingSchemasFromHealthCheckTest = (_dec = (0, _testUtils.test)(), _dec2 =
|
|
|
114
85
|
namespace: 'TestingSchemas',
|
|
115
86
|
description: 'this is so great!'
|
|
116
87
|
}]));
|
|
117
|
-
|
|
88
|
+
_context2.next = 9;
|
|
118
89
|
return this.assertExpectedSchemas(cli, cleanedExpected);
|
|
119
90
|
case 9:
|
|
120
91
|
case "end":
|
|
121
|
-
return
|
|
92
|
+
return _context2.stop();
|
|
122
93
|
}
|
|
123
94
|
}
|
|
124
|
-
},
|
|
95
|
+
}, _callee2, this);
|
|
125
96
|
}));
|
|
126
97
|
function getsCoreAndLocalSchemasFromHealthCheck() {
|
|
127
98
|
return _getsCoreAndLocalSchemasFromHealthCheck.apply(this, arguments);
|
|
@@ -131,32 +102,61 @@ var GettingSchemasFromHealthCheckTest = (_dec = (0, _testUtils.test)(), _dec2 =
|
|
|
131
102
|
}, {
|
|
132
103
|
key: "installAndSyncSchemas",
|
|
133
104
|
value: function () {
|
|
134
|
-
var _installAndSyncSchemas = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
105
|
+
var _installAndSyncSchemas = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
135
106
|
var cli;
|
|
136
|
-
return _regenerator["default"].wrap(function
|
|
107
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
137
108
|
while (1) {
|
|
138
|
-
switch (
|
|
109
|
+
switch (_context3.prev = _context3.next) {
|
|
139
110
|
case 0:
|
|
140
|
-
|
|
111
|
+
_context3.next = 2;
|
|
141
112
|
return this.installSchemaFeature('schemas');
|
|
142
113
|
case 2:
|
|
143
|
-
cli =
|
|
144
|
-
|
|
114
|
+
cli = _context3.sent;
|
|
115
|
+
_context3.next = 5;
|
|
145
116
|
return this.Action('schema', 'sync').execute({});
|
|
146
117
|
case 5:
|
|
147
|
-
return
|
|
118
|
+
return _context3.abrupt("return", cli);
|
|
148
119
|
case 6:
|
|
149
120
|
case "end":
|
|
150
|
-
return
|
|
121
|
+
return _context3.stop();
|
|
151
122
|
}
|
|
152
123
|
}
|
|
153
|
-
},
|
|
124
|
+
}, _callee3, this);
|
|
154
125
|
}));
|
|
155
126
|
function installAndSyncSchemas() {
|
|
156
127
|
return _installAndSyncSchemas.apply(this, arguments);
|
|
157
128
|
}
|
|
158
129
|
return installAndSyncSchemas;
|
|
159
130
|
}()
|
|
131
|
+
}, {
|
|
132
|
+
key: "assertExpectedSchemas",
|
|
133
|
+
value: function () {
|
|
134
|
+
var _assertExpectedSchemas = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(cli, expected) {
|
|
135
|
+
var health;
|
|
136
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
137
|
+
while (1) {
|
|
138
|
+
switch (_context4.prev = _context4.next) {
|
|
139
|
+
case 0:
|
|
140
|
+
_context4.next = 2;
|
|
141
|
+
return cli.checkHealth();
|
|
142
|
+
case 2:
|
|
143
|
+
health = _context4.sent;
|
|
144
|
+
_testUtils.assert.isFalsy(health.skill.errors);
|
|
145
|
+
_testUtils.assert.isTruthy(health.schema);
|
|
146
|
+
_testUtils.assert.isEqual(health.schema.status, 'passed');
|
|
147
|
+
_testUtils.assert.isEqualDeep(this.sortSchemas(health.schema.schemas), expected);
|
|
148
|
+
case 7:
|
|
149
|
+
case "end":
|
|
150
|
+
return _context4.stop();
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}, _callee4, this);
|
|
154
|
+
}));
|
|
155
|
+
function assertExpectedSchemas(_x, _x2) {
|
|
156
|
+
return _assertExpectedSchemas.apply(this, arguments);
|
|
157
|
+
}
|
|
158
|
+
return assertExpectedSchemas;
|
|
159
|
+
}()
|
|
160
160
|
}]);
|
|
161
161
|
return GettingSchemasFromHealthCheckTest;
|
|
162
162
|
}(_AbstractSchemaTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "getsCoreSchemasFromHealthCheck", [_dec], Object.getOwnPropertyDescriptor(_class, "getsCoreSchemasFromHealthCheck"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsCoreAndLocalSchemasFromHealthCheck", [_dec2], Object.getOwnPropertyDescriptor(_class, "getsCoreAndLocalSchemasFromHealthCheck"), _class)), _class));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GettingSchemasFromHealthCheck.test.js","names":["GettingSchemasFromHealthCheckTest","test","installAndSyncSchemas","cli","cleanedExpected","generateExpectedHealthSchemas","Object","values","coreSchemas","assertExpectedSchemas","
|
|
1
|
+
{"version":3,"file":"GettingSchemasFromHealthCheck.test.js","names":["GettingSchemasFromHealthCheckTest","test","installAndSyncSchemas","cli","cleanedExpected","generateExpectedHealthSchemas","Object","values","coreSchemas","assertExpectedSchemas","createSchema","Action","execute","nameReadable","namePascal","nameCamel","description","id","name","version","versionUtil","generateVersion","constValue","namespace","installSchemaFeature","expected","checkHealth","health","assert","isFalsy","skill","errors","isTruthy","schema","isEqual","status","isEqualDeep","sortSchemas","schemas","AbstractSchemaTest"],"sources":["../../../../src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts"],"sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { CliInterface } from '../../../cli'\nimport { coreSchemas } from '../../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\n\nexport default class GettingSchemasFromHealthCheckTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async getsCoreSchemasFromHealthCheck() {\n\t\tconst cli = await this.installAndSyncSchemas()\n\n\t\tconst cleanedExpected = this.generateExpectedHealthSchemas(\n\t\t\tObject.values(coreSchemas)\n\t\t)\n\n\t\tawait this.assertExpectedSchemas(cli, cleanedExpected)\n\t}\n\n\t@test()\n\tprotected static async getsCoreAndLocalSchemasFromHealthCheck() {\n\t\tconst cli = await this.installAndSyncSchemas()\n\t\tconst createSchema = this.Action('schema', 'create')\n\n\t\tawait createSchema.execute({\n\t\t\tnameReadable: 'Test schema!',\n\t\t\tnamePascal: 'Test',\n\t\t\tnameCamel: 'test',\n\t\t\tdescription: 'this is so great!',\n\t\t})\n\n\t\tconst cleanedExpected = this.generateExpectedHealthSchemas([\n\t\t\t...Object.values(coreSchemas),\n\t\t\t{\n\t\t\t\tid: 'test',\n\t\t\t\tname: 'Test schema!',\n\t\t\t\tversion: versionUtil.generateVersion().constValue,\n\t\t\t\tnamespace: 'TestingSchemas',\n\t\t\t\tdescription: 'this is so great!',\n\t\t\t},\n\t\t])\n\n\t\tawait this.assertExpectedSchemas(cli, cleanedExpected)\n\t}\n\n\tprivate static async installAndSyncSchemas() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\t\tawait this.Action('schema', 'sync').execute({})\n\t\treturn cli\n\t}\n\n\tprivate static async assertExpectedSchemas(\n\t\tcli: CliInterface,\n\t\texpected: Schema[]\n\t) {\n\t\tconst health = await cli.checkHealth()\n\t\tassert.isFalsy(health.skill.errors)\n\t\tassert.isTruthy(health.schema)\n\t\tassert.isEqual(health.schema.status, 'passed')\n\n\t\tassert.isEqualDeep(this.sortSchemas(health.schema.schemas), expected)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AACA;AACA;AAEA;AACA;AAAkE;AAAA;AAAA;AAAA,IAE7CA,iCAAiC,WACpD,IAAAC,eAAI,GAAE,UAWN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,oHAXP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,IAAI,CAACC,qBAAqB,EAAE;cAAA;gBAAxCC,GAAG;gBAEHC,eAAe,GAAG,IAAI,CAACC,6BAA6B,CACzDC,MAAM,CAACC,MAAM,CAACC,wBAAW,CAAC,CAC1B;gBAAA;gBAAA,OAEK,IAAI,CAACC,qBAAqB,CAACN,GAAG,EAAEC,eAAe,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,4HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,IAAI,CAACF,qBAAqB,EAAE;cAAA;gBAAxCC,GAAG;gBACHO,YAAY,GAAG,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAAA;gBAAA,OAE9CD,YAAY,CAACE,OAAO,CAAC;kBAC1BC,YAAY,EAAE,cAAc;kBAC5BC,UAAU,EAAE,MAAM;kBAClBC,SAAS,EAAE,MAAM;kBACjBC,WAAW,EAAE;gBACd,CAAC,CAAC;cAAA;gBAEIZ,eAAe,GAAG,IAAI,CAACC,6BAA6B,+CACtDC,MAAM,CAACC,MAAM,CAACC,wBAAW,CAAC,IAC7B;kBACCS,EAAE,EAAE,MAAM;kBACVC,IAAI,EAAE,cAAc;kBACpBC,OAAO,EAAEC,6BAAW,CAACC,eAAe,EAAE,CAACC,UAAU;kBACjDC,SAAS,EAAE,gBAAgB;kBAC3BP,WAAW,EAAE;gBACd,CAAC,GACA;gBAAA;gBAAA,OAEI,IAAI,CAACP,qBAAqB,CAACN,GAAG,EAAEC,eAAe,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACmB,IAAI,CAACoB,oBAAoB,CAAC,SAAS,CAAC;cAAA;gBAAhDrB,GAAG;gBAAA;gBAAA,OACH,IAAI,CAACQ,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAA,kCACxCT,GAAG;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACV;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2GAED,kBACCA,GAAiB,EACjBsB,QAAkB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEGtB,GAAG,CAACuB,WAAW,EAAE;cAAA;gBAAhCC,MAAM;gBACZC,iBAAM,CAACC,OAAO,CAACF,MAAM,CAACG,KAAK,CAACC,MAAM,CAAC;gBACnCH,iBAAM,CAACI,QAAQ,CAACL,MAAM,CAACM,MAAM,CAAC;gBAC9BL,iBAAM,CAACM,OAAO,CAACP,MAAM,CAACM,MAAM,CAACE,MAAM,EAAE,QAAQ,CAAC;gBAE9CP,iBAAM,CAACQ,WAAW,CAAC,IAAI,CAACC,WAAW,CAACV,MAAM,CAACM,MAAM,CAACK,OAAO,CAAC,EAAEb,QAAQ,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACrE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAtD6Dc,+BAAkB;AAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AbstractSkillTest from '
|
|
1
|
+
import AbstractSkillTest from '../../../tests/AbstractSkillTest';
|
|
2
2
|
export default class SettingUpSchemasForModuleDistributionTest extends AbstractSkillTest {
|
|
3
3
|
protected static skillCacheKey: string;
|
|
4
4
|
private static builder1;
|
|
@@ -16,9 +16,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
16
16
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
17
17
|
var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
|
|
18
18
|
var _testUtils = require("@sprucelabs/test-utils");
|
|
19
|
-
var _SchemaTemplateItemBuilder = _interopRequireDefault(require("
|
|
20
|
-
var _AbstractSkillTest2 = _interopRequireDefault(require("
|
|
21
|
-
var _test = _interopRequireDefault(require("
|
|
19
|
+
var _SchemaTemplateItemBuilder = _interopRequireDefault(require("../../../templateItemBuilders/SchemaTemplateItemBuilder"));
|
|
20
|
+
var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
|
|
21
|
+
var _test = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
|
|
22
22
|
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _class, _class2;
|
|
23
23
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
24
24
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingUpSchemasForModuleDistribution.test.js","names":["LOCAL_NAMESPACE","REMOTE_NAMESPACE","REMOTE_MODULE","REMOTE_MODULE2","SettingUpSchemasForModuleDistributionTest","test","namePascal","remoteModule","count","nameCamel","namesUtil","toCamel","promise","Action","execute","nameReadable","moduleToImportFromWhenRemote","wait","ui","isWaitingForInput","sendInput","versionUtil","generateVersion","constValue","results","assert","isFalsy","errors","builderFile","testUtil","assertFileByNameInGeneratedFiles","files","Service","importDefault","builder","isEqual","schemaFile","schema","id","templateItems","generateTemplateItems","templateItem","importFrom","isFalse","schemaNames","expectedModules","shouldConfirmInstall","reInstallSkill","Store","setCurrentSkillsNamespace","schemas","map","name","emitter","on","SyncAction","waitForInput","secondToLast","invocations","length","options","headline","expected","doesInclude","lines","pkg","isTrue","isInstalled","isTruthy","errorAssert","assertError","push","shouldInstallMissingDependencies","assertCalendarEventSchemaIsImported","doesThrow","importsWhenRemote","mySchema","fields","calendarEvent","type","schema1","namespace","version","localSchemaFile","localSchema","isEqualDeep","assertValidTypesFileWhenAddingRemoteImport","importGeneratedFile","completedFormBuilder","isRequired","personId","values","isArray","valueType","builderForm","dateDeleted","schemaId","itemBuilder","SchemaTemplateItemBuilder","buildTemplateItems","TestSkill","find","r","schemaIds","dirValue","schema2","schemaTypesFile","check","optionOverrides","fileName","imported","calendarEventContents","diskUtil","readFile","trim","builder1","nestedSchema","firstName","resolveHashSprucePath","typesContent","writeFile","AbstractSkillTest","fieldName1","label","fieldName2","hint"],"sources":["../../../../src/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.ts"],"sourcesContent":["import { Schema, SchemaTemplateItem } from '@sprucelabs/schema'\nimport {\n\tdiskUtil,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport SchemaTemplateItemBuilder from '../../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nconst LOCAL_NAMESPACE = 'TestingSchemas'\nconst REMOTE_NAMESPACE = 'RemoteSchemas'\n\nconst REMOTE_MODULE = '@sprucelabs/calendar-utils'\nconst REMOTE_MODULE2 = '@sprucelabs/spruce-templates'\n\nexport default class SettingUpSchemasForModuleDistributionTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'schemas'\n\tprivate static builder1: Schema\n\tprivate static schema1: Schema = {\n\t\tid: 'calendarEvent',\n\t\tversion: 'v2021_09_20',\n\t\tnamespace: 'TestingSchemas',\n\t\tname: 'Schema imported as module',\n\t\tmoduleToImportFromWhenRemote: '@sprucelabs/calendar-utils',\n\t\tfields: {\n\t\t\tfieldName1: { label: 'First Field', type: 'text', isRequired: true },\n\t\t\tfieldName2: {\n\t\t\t\tlabel: 'Second Field',\n\t\t\t\ttype: 'number',\n\t\t\t\tisRequired: true,\n\t\t\t\thint: 'A hint',\n\t\t\t},\n\t\t},\n\t}\n\t//@ts-ignore\n\tprivate static schema1b: Schema\n\tprivate static schema2: Schema = {\n\t\tid: 'calendarEvent2',\n\t\tversion: 'v2021_09_20',\n\t\tnamespace: 'TestingSchemas',\n\t\tname: 'Schema imported as module',\n\t\tmoduleToImportFromWhenRemote: '@sprucelabs/spruce-templates',\n\t\tfields: {\n\t\t\tfieldName1: { label: 'First Field', type: 'text', isRequired: true },\n\t\t\tfieldName2: {\n\t\t\t\tlabel: 'Second Field',\n\t\t\t\ttype: 'number',\n\t\t\t\tisRequired: true,\n\t\t\t\thint: 'A hint',\n\t\t\t},\n\t\t},\n\t}\n\n\t@test(\n\t\t'can specify importFromModuleWhenRemote 1',\n\t\t'CalendarEvent',\n\t\tREMOTE_MODULE,\n\t\t'1'\n\t)\n\t@test(\n\t\t'can specify importFromModuleWhenRemote 2',\n\t\t'CalendarEvent2',\n\t\tREMOTE_MODULE2,\n\t\t'2'\n\t)\n\tprotected static async canSpecifyModuleToImportFromWhenRemote(\n\t\tnamePascal: string,\n\t\tremoteModule: string,\n\t\tcount: '1' | '2'\n\t) {\n\t\tconst nameCamel = namesUtil.toCamel(namePascal)\n\t\tconst promise = this.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Schema imported as module',\n\t\t\tnamePascal,\n\t\t\tnameCamel,\n\t\t\tmoduleToImportFromWhenRemote: remoteModule,\n\t\t})\n\n\t\tawait this.wait(10)\n\n\t\tif (this.ui.isWaitingForInput()) {\n\t\t\tawait this.ui.sendInput(versionUtil.generateVersion().constValue)\n\t\t}\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst builderFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`${nameCamel}.builder.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tconst builder = await this.Service('import').importDefault(builderFile)\n\t\tassert.isEqual(builder.moduleToImportFromWhenRemote, remoteModule)\n\n\t\t//@ts-ignore\n\t\tthis[`builder${count}`] = builder\n\n\t\tconst schemaFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`${nameCamel}.schema.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tconst schema = await this.Service('import').importDefault(schemaFile)\n\t\tassert.isEqual(schema.moduleToImportFromWhenRemote, remoteModule)\n\n\t\t//@ts-ignore\n\t\tthis[`schema${count}`] = schema\n\t\t//@ts-ignore\n\t\tthis[`schema${count}b`] = { ...schema, id: `schema${count}B` }\n\t}\n\n\t@test()\n\tprotected static async templateItemGeneratorHonorsModuleToImportWhenRemoteWhenInRemoteNamespace() {\n\t\tconst templateItems = this.generateTemplateItems(REMOTE_NAMESPACE)\n\n\t\tfor (const templateItem of templateItems) {\n\t\t\tassert.isEqual(\n\t\t\t\ttemplateItem.schema.moduleToImportFromWhenRemote,\n\t\t\t\tREMOTE_MODULE\n\t\t\t)\n\t\t\tassert.isEqual(templateItem.importFrom, REMOTE_MODULE)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async moduleToImportWhenRemoteIgnoredWhenInSameNamespace() {\n\t\tconst templateItems = this.generateTemplateItems(LOCAL_NAMESPACE)\n\t\tfor (const templateItem of templateItems) {\n\t\t\tassert.isEqual(\n\t\t\t\ttemplateItem.schema.moduleToImportFromWhenRemote,\n\t\t\t\tREMOTE_MODULE\n\t\t\t)\n\t\t\tassert.isFalse('importFrom' in templateItem)\n\t\t}\n\t}\n\n\t@test(\n\t\t'should ask about missing module and cancel install',\n\t\t['schema1'],\n\t\t[REMOTE_MODULE],\n\t\tfalse\n\t)\n\t@test(\n\t\t'should ask about missing module and do install',\n\t\t['schema1'],\n\t\t[REMOTE_MODULE],\n\t\ttrue\n\t)\n\t@test(\n\t\t'should ask about missing module and do install',\n\t\t['schema1', 'schema2'],\n\t\t[REMOTE_MODULE, REMOTE_MODULE2],\n\t\ttrue\n\t)\n\t@test(\n\t\t'does not return the same module twice',\n\t\t['schema1', 'schema1b', 'schema2'],\n\t\t[REMOTE_MODULE, REMOTE_MODULE2],\n\t\ttrue\n\t)\n\tprotected static async asksIfModuleShouldBeInstalled(\n\t\tschemaNames: ('schema1' | 'schema2')[],\n\t\texpectedModules: string[],\n\t\tshouldConfirmInstall: boolean\n\t) {\n\t\tawait this.reInstallSkill()\n\n\t\tawait this.Store('skill').setCurrentSkillsNamespace('TestingTwo')\n\n\t\tconst schemas = schemaNames.map((name) => this[name])\n\n\t\tawait this.emitter.on('schema.did-fetch-schemas', async () => {\n\t\t\treturn {\n\t\t\t\tschemas,\n\t\t\t}\n\t\t})\n\n\t\tconst promise = this.SyncAction().execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst secondToLast = this.ui.invocations[this.ui.invocations.length - 2]\n\n\t\tassert.isEqual(\n\t\t\tsecondToLast.options.headline,\n\t\t\t`Missing ${expectedModules.length} module${\n\t\t\t\texpectedModules.length === 1 ? '' : 's'\n\t\t\t}`\n\t\t)\n\n\t\tfor (const expected of expectedModules) {\n\t\t\tassert.doesInclude(secondToLast.options.lines, expected)\n\t\t}\n\n\t\tawait this.ui.sendInput(shouldConfirmInstall ? 'y' : 'n')\n\n\t\tconst results = await promise\n\n\t\tif (shouldConfirmInstall) {\n\t\t\tassert.isFalsy(results.errors)\n\t\t\tconst pkg = this.Service('pkg')\n\t\t\tfor (const expected of expectedModules) {\n\t\t\t\tassert.isTrue(pkg.isInstalled(expected))\n\t\t\t}\n\t\t} else {\n\t\t\tassert.isTruthy(results.errors)\n\t\t\terrorAssert.assertError(results.errors[0], 'ACTION_CANCELLED')\n\t\t}\n\t}\n\n\t@test('schemas are imported from one module', ['schema1'])\n\t@test('schemas are imported from two modules', ['schema1', 'schema2'])\n\tprotected static async schemasAreImportedFromModuleWhenSyncedFromDifferentNamespace(\n\t\tschemaNames: ('schema1' | 'schema2')[]\n\t) {\n\t\tawait this.reInstallSkill()\n\t\tawait this.Store('skill').setCurrentSkillsNamespace('TestingTwo')\n\n\t\tconst schemas: Schema[] = []\n\n\t\tfor (const name of schemaNames) {\n\t\t\tschemas.push(this[name])\n\t\t}\n\n\t\tawait this.emitter.on('schema.did-fetch-schemas', async () => {\n\t\t\treturn {\n\t\t\t\tschemas,\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.SyncAction().execute({\n\t\t\tshouldInstallMissingDependencies: true,\n\t\t})\n\n\t\tawait this.assertCalendarEventSchemaIsImported(results)\n\n\t\tassert.doesThrow(() =>\n\t\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\t'schemas.types.ts',\n\t\t\t\tresults.files\n\t\t\t)\n\t\t)\n\t}\n\n\t@test('can reference impored from another module', [\n\t\t`import * as HeartwoodTypesLocal from '@sprucelabs/heartwood-view-controllers'`,\n\t])\n\t@test('can reference impored from another module with two importsWhenLocal', [\n\t\t`import * as HeartwoodTypesLocal from '@sprucelabs/heartwood-view-controllers'`,\n\t\t`import * as HeartwoodTypesLocal2 from '@sprucelabs/heartwood-view-controllers'`,\n\t])\n\tprotected static async canReferenceSchemaImportedFromAnotherModule(\n\t\timportsWhenRemote: string[]\n\t) {\n\t\tawait this.reInstallSkill()\n\t\tawait this.Store('skill').setCurrentSkillsNamespace('TestingTwo')\n\n\t\tconst mySchema = {\n\t\t\tid: 'localSchema',\n\t\t\timportsWhenRemote,\n\t\t\tfields: {\n\t\t\t\tcalendarEvent: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t...this.schema1,\n\t\t\t\t\t\t\tnamespace: 'CalendarUtils',\n\t\t\t\t\t\t\tversion: 'v2021_05_19',\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\n\t\tawait this.emitter.on('schema.did-fetch-schemas', async () => {\n\t\t\treturn {\n\t\t\t\tschemas: [mySchema],\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.SyncAction().execute({\n\t\t\tshouldInstallMissingDependencies: true,\n\t\t})\n\n\t\tconst localSchemaFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'localSchema.schema.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst localSchema = await this.Service('import').importDefault(\n\t\t\tlocalSchemaFile\n\t\t)\n\n\t\tassert.isEqualDeep(localSchema.importsWhenRemote, importsWhenRemote)\n\n\t\tawait this.assertCalendarEventSchemaIsImported(results)\n\t\tawait this.assertValidTypesFileWhenAddingRemoteImport(results)\n\t}\n\n\t@test()\n\tprotected static async canSetImportFromModuleWithNestedSchemasWhenRemoteWhenSyncing() {\n\t\tawait this.reInstallSkill()\n\n\t\tawait this.Action('schema', 'create').execute({\n\t\t\tnameReadable: 'Schema imported as module',\n\t\t\tnamePascal: 'CalandarEvent',\n\t\t\tnameCamel: 'calendarEvent',\n\t\t})\n\n\t\tconst results = await this.SyncAction().execute({\n\t\t\tmoduleToImportFromWhenRemote: REMOTE_MODULE,\n\t\t})\n\n\t\tthis.schema1 = (await this.importGeneratedFile(\n\t\t\tresults,\n\t\t\t`calendarEvent.schema.ts`\n\t\t)) as Schema\n\n\t\tassert.isEqual(this.schema1.moduleToImportFromWhenRemote, REMOTE_MODULE)\n\t}\n\n\t@test()\n\tprotected static async canHandleFormBuilderImportExportObject() {\n\t\tconst version = versionUtil.generateVersion().constValue\n\n\t\tconst completedFormBuilder = {\n\t\t\tid: 'fullCompletedForm',\n\t\t\tversion,\n\t\t\tmoduleToImportFromWhenRemote: '@sprucelabs/heartwood-view-controllers',\n\t\t\tfields: {\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tpersonId: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tvalues: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvalueType: 'Record<string, any>',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\n\t\tconst builderForm = {\n\t\t\tid: 'builtForm',\n\t\t\tversion,\n\t\t\tmoduleToImportFromWhenRemote: '@sprucelabs/heartwood-view-controllers',\n\t\t\tfields: {\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tdateDeleted: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t},\n\t\t\t\tcompletedFormBuilder: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaId: {\n\t\t\t\t\t\t\tversion,\n\t\t\t\t\t\t\tid: 'fullCompletedForm',\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\n\t\tconst itemBuilder = new SchemaTemplateItemBuilder('TestSkill')\n\n\t\tconst results = itemBuilder.buildTemplateItems({\n\t\t\t//@ts-ignore\n\t\t\tTestSkill: [completedFormBuilder, builderForm],\n\t\t})\n\n\t\tassert.isFalsy(\n\t\t\t(\n\t\t\t\tresults.find((r) => r.id === 'builtForm')?.schema.fields\n\t\t\t\t\t?.completedFormBuilder?.options as any\n\t\t\t)?.schemaIds?.[0]?.moduleToImportFromWhenRemote\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async importedSchemasDoNotShowUpInSchemaTypes() {\n\t\t// await this.reInstallSkill()\n\t\tawait this.Store('skill').setCurrentSkillsNamespace('TestingTwo')\n\n\t\tconst schema1 = {\n\t\t\tid: 'fullCompletedForm',\n\t\t\tnamespace: 'Heartwood',\n\t\t\tversion: versionUtil.generateVersion().dirValue,\n\t\t\tmoduleToImportFromWhenRemote: '@sprucelabs/heartwood-view-controllers',\n\t\t\timportsWhenRemote: ['import * from bananarama'],\n\t\t\tfields: {\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tpersonId: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tvalues: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvalueType: 'Record<string, any>',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\n\t\tconst schema2 = {\n\t\t\tid: 'localCompleted',\n\t\t\tversion: versionUtil.generateVersion().dirValue,\n\t\t\tfields: {\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tpersonId: {\n\t\t\t\t\ttype: 'id',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t},\n\t\t\t\tvalues: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvalueType: 'Record<string, any>',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\n\t\tawait this.emitter.on('schema.did-fetch-schemas', async () => {\n\t\t\treturn {\n\t\t\t\tschemas: [schema1, schema2],\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.SyncAction().execute({\n\t\t\tshouldInstallMissingDependencies: true,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst schemaTypesFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'schemas.types.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(schemaTypesFile)\n\t}\n\n\tprivate static SyncAction() {\n\t\treturn this.Action('schema', 'sync', {\n\t\t\toptionOverrides: {\n\t\t\t\t'sync.schemas': {},\n\t\t\t},\n\t\t})\n\t}\n\n\tprivate static async importGeneratedFile(\n\t\tresults: FeatureActionResponse,\n\t\tfileName: string\n\t) {\n\t\tconst schemaFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\tfileName,\n\t\t\tresults.files\n\t\t)\n\n\t\treturn await this.Service('import').importDefault(schemaFile)\n\t}\n\n\tprivate static async assertCalendarEventSchemaIsImported(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst imported = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'calendarEvent.schema.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst calendarEventContents = diskUtil.readFile(imported)\n\n\t\tassert.isEqual(\n\t\t\tcalendarEventContents.trim(),\n\t\t\t`export { calendarEventSchema as default } from '@sprucelabs/calendar-utils'`\n\t\t)\n\t}\n\n\tprivate static generateTemplateItems(namespace: string) {\n\t\tconst itemBuilder = new SchemaTemplateItemBuilder(namespace)\n\t\tconst templateItems = itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[LOCAL_NAMESPACE]: [\n\t\t\t\t\t{\n\t\t\t\t\t\t...this.builder1,\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t...this.builder1.fields,\n\t\t\t\t\t\t\tnestedSchema: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'nested',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\tfirstName: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\tthis.resolveHashSprucePath('schemas')\n\t\t)\n\t\treturn templateItems as SchemaTemplateItem[]\n\t}\n\n\tprivate static async assertValidTypesFileWhenAddingRemoteImport(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tconst schemaTypesFile = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'schemas.types.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst typesContent = `import '${REMOTE_MODULE}'\\n\\n${diskUtil.readFile(\n\t\t\tschemaTypesFile\n\t\t)}`\n\t\tdiskUtil.writeFile(schemaTypesFile, typesContent)\n\n\t\tawait this.Service('typeChecker').check(schemaTypesFile)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AbstractCliTest from '
|
|
1
|
+
import AbstractCliTest from '../../../tests/AbstractCliTest';
|
|
2
2
|
export default class InstallingASkillAtAnOrgTest extends AbstractCliTest {
|
|
3
3
|
protected static beforeEach(): Promise<void>;
|
|
4
4
|
protected static hasInstallAction(): Promise<void>;
|
|
@@ -16,8 +16,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
16
16
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
17
17
|
var _spruceEventUtils = require("@sprucelabs/spruce-event-utils");
|
|
18
18
|
var _testUtils = require("@sprucelabs/test-utils");
|
|
19
|
-
var _AbstractCliTest2 = _interopRequireDefault(require("
|
|
20
|
-
var _constants = require("
|
|
19
|
+
var _AbstractCliTest2 = _interopRequireDefault(require("../../../tests/AbstractCliTest"));
|
|
20
|
+
var _constants = require("../../../tests/constants");
|
|
21
21
|
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class;
|
|
22
22
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
23
23
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InstallingASkillAtAnOrg.test.js","names":["InstallingASkillAtAnOrgTest","test","login","getOrganizationFixture","clearAllOrgs","Cli","assert","isFunction","Action","execute","seedDemoOrg","name","org","FeatureFixture","installCachedFeatures","getSkillFixture","registerCurrentSkill","people","logout","organizationId","id","anonResults","isTruthy","errors","eventAssertUtil","assertError","errorAssert","skill","promise","waitForInput","doesInclude","ui","getLastInvocation","command","assertUtil","stringify","sendInput","results","isFalsy","Store","isSkillInstalledAtOrg","isInstalled","org2","options","type","loginAsDemoPerson","DEMO_NUMBER_INSTALL_SKILL","AbstractCliTest"],"sources":["../../../../src/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.ts"],"sourcesContent":["import { eventAssertUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert, assertUtil } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport { DEMO_NUMBER_INSTALL_SKILL } from '../../../tests/constants'\n\nexport default class InstallingASkillAtAnOrgTest extends AbstractCliTest {\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tawait this.login()\n\t\tawait this.getOrganizationFixture().clearAllOrgs()\n\t}\n\n\t@test()\n\tprotected static async hasInstallAction() {\n\t\tawait this.Cli()\n\t\tassert.isFunction(this.Action('organization', 'install').execute)\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutBeingLoggedIn() {\n\t\tconst org = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'new org',\n\t\t})\n\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tawait this.people.logout()\n\n\t\tawait this.Cli()\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({\n\t\t\torganizationId: org.id,\n\t\t})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\teventAssertUtil.assertError(anonResults.errors[0], 'UNAUTHORIZED_ACCESS')\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutAnyOrgs() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\terrorAssert.assertError(anonResults.errors[0], 'NO_ORGANIZATIONS_FOUND')\n\t}\n\n\t@test()\n\tprotected static async cantInstallWithoutBeingRegistered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst anonResults = await this.Action('organization', 'install').execute({})\n\n\t\tassert.isTruthy(anonResults.errors)\n\t\terrorAssert.assertError(anonResults.errors[0], 'SKILL_NOT_REGISTERED')\n\t}\n\n\t@test()\n\tprotected static async canInstallSkillAtOrg() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tconst org = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst promise = this.Action('organization', 'install').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(\n\t\t\tthis.ui.getLastInvocation().command,\n\t\t\t'confirm',\n\t\t\t`ui didn't get back a confirm, got back \\n\\n${assertUtil.stringify(\n\t\t\t\tthis.ui.getLastInvocation()\n\t\t\t)}`\n\t\t)\n\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst isInstalled = await this.Store('organization').isSkillInstalledAtOrg(\n\t\t\tskill.id,\n\t\t\torg.id\n\t\t)\n\n\t\tassert.isTruthy(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async asksYouToSelectOrgWithMoreThanOne() {\n\t\tawait this.FeatureFixture().installCachedFeatures('organizations')\n\n\t\tawait this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst org2 = await this.getOrganizationFixture().seedDemoOrg({\n\t\t\tname: 'My great org',\n\t\t})\n\n\t\tconst skill = await this.getSkillFixture().registerCurrentSkill({\n\t\t\tname: 'my amazing skill',\n\t\t})\n\n\t\tconst promise = this.Action('organization', 'install').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().options, {\n\t\t\ttype: 'select',\n\t\t})\n\n\t\tawait this.ui.sendInput(org2.id)\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst isInstalled = await this.Store('organization').isSkillInstalledAtOrg(\n\t\t\tskill.id,\n\t\t\torg2.id\n\t\t)\n\n\t\tassert.isTruthy(isInstalled)\n\t}\n\n\tprivate static async login() {\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_INSTALL_SKILL)\n\t}\n}\n"],"mappings":"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"}
|
package/build/__tests__/behavioral/{LoggingInAsASkill.test.js → skill/LoggingInAsASkill.test.js}
RENAMED
|
@@ -16,8 +16,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
16
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
17
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
18
18
|
var _testUtils = require("@sprucelabs/test-utils");
|
|
19
|
-
var _AbstractSkillTest2 = _interopRequireDefault(require("
|
|
20
|
-
var _constants = require("
|
|
19
|
+
var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
|
|
20
|
+
var _constants = require("../../../tests/constants");
|
|
21
21
|
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _class2;
|
|
22
22
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
23
23
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoggingInAsASkill.test.js","names":["LoggingInAsASkillTest","test","people","loginAsDemoPerson","DEMO_NUMBER_LOGIN_AS_SKILL","skillFixture","getSkillFixture","clearAllSkills","logout","assert","isFunction","Action","execute","waitForInput","doesInclude","ui","getLastInvocation","options","label","reset","login","results","isTruthy","errors","isLength","errorAssert","assertError","person","Service","setLoggedInPerson","seedDemoSkill","name","Date","getTime","skill1","isFalsy","loggedIn","getCurrentSkill","isEqual","id","skill2","promise","command","type","isEqualDeep","choices","map","s","value","sendInput","skillSlug","skill3","slug","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/skill/LoggingInAsASkill.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport { DEMO_NUMBER_LOGIN_AS_SKILL } from '../../../tests/constants'\nimport { RegisteredSkill } from '../../../types/cli.types'\n\nexport default class LoggingInAsASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\tprivate static skill1: RegisteredSkill\n\tprivate static skill2: RegisteredSkill\n\tprivate static skill3: RegisteredSkill\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_LOGIN_AS_SKILL)\n\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tawait skillFixture.clearAllSkills()\n\n\t\tawait this.people.logout()\n\t}\n\n\t@test()\n\tprotected static async hasLoginAction() {\n\t\tassert.isFunction(this.Action('skill', 'login').execute)\n\t}\n\n\t@test()\n\tprotected static async asksToLoginIfNotLoggedIn() {\n\t\tvoid this.Action('skill', 'login').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().options.label, 'Phone')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async returnsErrorIfNoSkillHasEverBeenRegistered() {\n\t\tawait this.login()\n\n\t\tconst results = await this.Action('skill', 'login').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 1)\n\t\terrorAssert.assertError(results.errors[0], 'NO_SKILLS_REGISTERED')\n\t}\n\n\tprivate static async login() {\n\t\tconst person = await this.people.loginAsDemoPerson(\n\t\t\tDEMO_NUMBER_LOGIN_AS_SKILL\n\t\t)\n\n\t\tthis.Service('auth').setLoggedInPerson(person)\n\t}\n\n\t@test()\n\tprotected static async logsInAsOnlySkillIfOnly1Registered() {\n\t\tawait this.login()\n\n\t\tthis.skill1 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst results = await this.Action('skill', 'login').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill1.id)\n\t}\n\n\t@test()\n\tprotected static async letsYouSelectSkillIfMoreThan1IsRegistered() {\n\t\tawait this.login()\n\n\t\tthis.skill2 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill 2 ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst promise = this.Action('skill', 'login').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tassert.doesInclude(this.ui.getLastInvocation().command, 'prompt')\n\t\tassert.doesInclude(this.ui.getLastInvocation().options.type, 'select')\n\t\tassert.isEqualDeep(\n\t\t\tthis.ui.getLastInvocation().options.options.choices,\n\t\t\t[this.skill1, this.skill2].map((s) => ({\n\t\t\t\tlabel: s.name,\n\t\t\t\tvalue: s.id,\n\t\t\t}))\n\t\t)\n\n\t\tawait this.ui.sendInput(this.skill2.id)\n\n\t\tawait promise\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill2.id)\n\t}\n\n\t@test()\n\tprotected static async cantLoginWithSlugYouDontOwn() {\n\t\tawait this.login()\n\t\tconst results = await this.Action('skill', 'login').execute({\n\t\t\tskillSlug: 'never found',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'SKILL_NOT_FOUND')\n\t}\n\n\t@test()\n\tprotected static async canLoginWithSlugYouOwn() {\n\t\tawait this.login()\n\n\t\tthis.skill3 = await this.getSkillFixture().seedDemoSkill({\n\t\t\tname: `login skill 3 ${new Date().getTime()}`,\n\t\t})\n\n\t\tconst results = await this.Action('skill', 'login').execute({\n\t\t\tskillSlug: this.skill3.slug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst loggedIn = this.Service('auth').getCurrentSkill()\n\t\tassert.isEqual(loggedIn?.id, this.skill3.id)\n\t}\n}\n"],"mappings":"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"}
|
package/build/__tests__/behavioral/{RebuildingASkill.test.d.ts → skill/RebuildingASkill.test.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AbstractSkillTest from '
|
|
1
|
+
import AbstractSkillTest from '../../../tests/AbstractSkillTest';
|
|
2
2
|
export default class RebuildingASkillTest extends AbstractSkillTest {
|
|
3
3
|
protected static skillCacheKey: string;
|
|
4
4
|
protected static hasRebuildCommand(): Promise<void>;
|
package/build/__tests__/behavioral/{RebuildingASkill.test.js → skill/RebuildingASkill.test.js}
RENAMED
|
@@ -15,8 +15,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
15
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
16
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
17
17
|
var _testUtils = require("@sprucelabs/test-utils");
|
|
18
|
-
var _CommandService = _interopRequireDefault(require("
|
|
19
|
-
var _AbstractSkillTest2 = _interopRequireDefault(require("
|
|
18
|
+
var _CommandService = _interopRequireDefault(require("../../../services/CommandService"));
|
|
19
|
+
var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
|
|
20
20
|
var _dec, _dec2, _dec3, _class, _class2;
|
|
21
21
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
22
22
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RebuildingASkill.test.js","names":["RebuildingASkillTest","test","assert","isFunction","Action","execute","CommandService","fakeCommand","code","shouldPlayGames","results","isFalsy","errors","isArray","errorAssert","assertError","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/skill/RebuildingASkill.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport CommandService from '../../../services/CommandService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\n\nexport default class RebuildingASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\n\t@test()\n\tprotected static async hasRebuildCommand() {\n\t\tassert.isFunction(this.Action('skill', 'rebuild').execute)\n\t}\n\n\t@test()\n\tprotected static async runsExpectedCommand() {\n\t\tCommandService.fakeCommand('yarn rebuild', { code: 0 })\n\n\t\tconst results = await this.Action('skill', 'rebuild').execute({\n\t\t\tshouldPlayGames: false,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async handlesError() {\n\t\tCommandService.fakeCommand('yarn rebuild', { code: 1 })\n\n\t\tconst results = await this.Action('skill', 'rebuild').execute({\n\t\t\tshouldPlayGames: false,\n\t\t})\n\n\t\tassert.isArray(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'EXECUTING_COMMAND_FAILED')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAEA;AACA;AAAgE;AAAA;AAAA;AAAA,IAE3CA,oBAAoB,WAGvC,IAAAC,eAAI,GAAE,UAKN,IAAAA,eAAI,GAAE,UAWN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,uGAhBP;QAAA;UAAA;YAAA;cAAA;gBAECC,iBAAM,CAACC,UAAU,CAAC,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAACC,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC1D;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,yGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAECC,0BAAc,CAACC,WAAW,CAAC,cAAc,EAAE;kBAAEC,IAAI,EAAE;gBAAE,CAAC,CAAC;gBAAA;gBAAA,OAEjC,IAAI,CAACJ,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAACC,OAAO,CAAC;kBAC7DI,eAAe,EAAE;gBAClB,CAAC,CAAC;cAAA;gBAFIC,OAAO;gBAIbR,iBAAM,CAACS,OAAO,CAACD,OAAO,CAACE,MAAM,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC9B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,kGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAECN,0BAAc,CAACC,WAAW,CAAC,cAAc,EAAE;kBAAEC,IAAI,EAAE;gBAAE,CAAC,CAAC;gBAAA;gBAAA,OAEjC,IAAI,CAACJ,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAACC,OAAO,CAAC;kBAC7DI,eAAe,EAAE;gBAClB,CAAC,CAAC;cAAA;gBAFIC,OAAO;gBAIbR,iBAAM,CAACW,OAAO,CAACH,OAAO,CAACE,MAAM,CAAC;gBAE9BE,sBAAW,CAACC,WAAW,CAACL,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA9BgDI,8BAAiB,8DACjC,QAAQ;AAAA"}
|
|
@@ -68,8 +68,8 @@ var CreatingBehavioralTestsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _t
|
|
|
68
68
|
case 5:
|
|
69
69
|
candidates = _context2.sent;
|
|
70
70
|
_testUtils.assert.doesInclude(candidates, {
|
|
71
|
-
label: '
|
|
72
|
-
name: '
|
|
71
|
+
label: 'AbstractStoreTest (requires install)',
|
|
72
|
+
name: 'AbstractStoreTest'
|
|
73
73
|
});
|
|
74
74
|
case 7:
|
|
75
75
|
case "end":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatingATest.test.js","names":["CreatingBehavioralTestsTest","test","assert","isFunction","Action","execute","installTests","testFeature","featureInstaller","getFeature","buildParentClassCandidates","candidates","doesInclude","label","name","testName","LintService","enableLinting","createTestAndGetFile","match","Service","build","doesThrowAsync","testType","createTestSubDir","installAndStartTestActionAndWaitForInput","promise","uiAssert","assertSelectRenderChoice","ui","sendInput","waitAndSelectSubClass","dirs","dir","dirName","results","expectedPath","resolvePath","isEqual","files","path","file","resolveTestDir","diskUtil","writeFile","assertSelectDidNotRenderChoice","reset","testFile","contents","readFile","newDir","createDir","testDirs","selectOptionBasedOnLabel","response","type","nameReadable","nameCamel","namePascal","waitForInput","selectedSubClass","createTest","testUtil","assertFileByNameInGeneratedFiles","AbstractTestTest"],"sources":["../../../../src/__tests__/behavioral/tests/CreatingATest.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport LintService from '../../../services/LintService'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport uiAssert from '../../../tests/utilities/uiAssert.utility'\n\nexport default class CreatingBehavioralTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tassert.isFunction(this.Action('test', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async requiresInstallIfFeatureNotInstalled() {\n\t\tawait this.installTests('testsInNodeModule')\n\n\t\tconst testFeature = this.featureInstaller.getFeature('test')\n\t\tconst candidates = await testFeature.buildParentClassCandidates()\n\n\t\tassert.doesInclude(candidates, {\n\t\t\tlabel: 'AbstractSpruceFixtureTest (requires install)',\n\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t})\n\t}\n\n\t@test(\n\t\t'can create behavioral test with AbstractSpruceFixtureTest',\n\t\t'AbstractSpruceFixtureTest'\n\t)\n\t@test(\n\t\t'can create behavioral test with AbstractStoreTest',\n\t\t'AbstractStoreTest (requires install)'\n\t)\n\tprotected static async canCreateBehavioralTest(testName: string) {\n\t\tLintService.enableLinting()\n\t\tconst match = await this.createTestAndGetFile(testName)\n\n\t\tassert.doesInclude(match, 'behavioral')\n\n\t\tawait this.Service('build').build()\n\n\t\tawait assert.doesThrowAsync(\n\t\t\t() => this.Service('command').execute('yarn test'),\n\t\t\t/false.*?does not equal.*?true/gis\n\t\t)\n\t}\n\n\t@test('finds folders inside behavioral', 'behavioral')\n\t@test('finds folders inside implementation', 'implementation')\n\tprotected static async promptsToSelectFolderIfInsideTestDir(\n\t\ttestType: string\n\t) {\n\t\tawait this.installTests()\n\n\t\tthis.createTestSubDir(testType, 'dummy1')\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput(\n\t\t\ttestType\n\t\t)\n\n\t\tuiAssert.assertSelectRenderChoice(this.ui, '.', testType)\n\t\tuiAssert.assertSelectRenderChoice(this.ui, `dummy1`, `${testType}/dummy1`)\n\n\t\tawait this.ui.sendInput('.')\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tawait promise\n\t}\n\n\t@test()\n\tprotected static async listsManyDirsIfExistInsideTestDir() {\n\t\tawait this.installTests()\n\n\t\tconst dirs = ['dir1', 'dir2', 'dir3']\n\n\t\tfor (const dir of dirs) {\n\t\t\tthis.createTestSubDir('behavioral', dir)\n\t\t}\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput()\n\n\t\tfor (const dir of dirs) {\n\t\t\tuiAssert.assertSelectRenderChoice(this.ui, `${dir}`, `behavioral/${dir}`)\n\t\t}\n\n\t\tawait this.ui.sendInput('.')\n\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tawait promise\n\t}\n\n\t@test('can select sub dir 1', 'test')\n\t@test('can select sub dir 2', 'test-2')\n\tprotected static async selectingAnOptionRendersToSubDir(dirName: string) {\n\t\tawait this.installTests()\n\t\tthis.createTestSubDir('behavioral', dirName)\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput(\n\t\t\t'behavioral'\n\t\t)\n\n\t\tawait this.ui.sendInput(`${dirName}`)\n\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tconst results = await promise\n\n\t\tconst expectedPath = this.resolvePath(\n\t\t\t'src',\n\t\t\t'__tests__',\n\t\t\t'behavioral',\n\t\t\tdirName,\n\t\t\t'CanBookAppointment.test.ts'\n\t\t)\n\n\t\tassert.isEqual(expectedPath, results.files?.[0]?.path)\n\t}\n\n\t@test()\n\tprotected static async doesNotListFiles() {\n\t\tawait this.installTests()\n\t\tthis.createTestSubDir('behavioral', 'subdir')\n\n\t\tconst file = this.resolveTestDir('behavioral', 'test.ts')\n\t\tdiskUtil.writeFile(file, 'what the!?')\n\n\t\tawait this.installAndStartTestActionAndWaitForInput()\n\n\t\tuiAssert.assertSelectDidNotRenderChoice(\n\t\t\tthis.ui,\n\t\t\t'test',\n\t\t\t`behavioral/test/test.ts`\n\t\t)\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async allTestsComeFakedToStart() {\n\t\tconst testFile = await this.createTestAndGetFile()\n\t\tconst contents = diskUtil.readFile(testFile)\n\t\tassert.doesInclude(contents, 'fake.login()')\n\t}\n\n\tprivate static createTestSubDir(...testDirs: string[]) {\n\t\tconst newDir = this.resolveTestDir(...testDirs)\n\t\tdiskUtil.createDir(newDir)\n\t}\n\n\tprivate static resolveTestDir(...testDirs: string[]) {\n\t\treturn this.resolvePath('src', '__tests__', ...testDirs)\n\t}\n\n\tprivate static async createTest(testName = 'AbstractSpruceFixtureTest') {\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput()\n\n\t\tthis.selectOptionBasedOnLabel(testName)\n\n\t\tconst response = await promise\n\t\treturn response\n\t}\n\n\tprivate static async installAndStartTestActionAndWaitForInput(\n\t\ttestType = 'behavioral'\n\t) {\n\t\tawait this.installTests()\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: testType,\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\treturn { promise }\n\t}\n\n\tprivate static async waitAndSelectSubClass(selectedSubClass?: string) {\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput(selectedSubClass ?? '')\n\t}\n\n\tprivate static async createTestAndGetFile(testName?: string) {\n\t\tconst response = await this.createTest(testName)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresponse.files\n\t\t)\n\t\treturn match\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAAgE;AAAA;AAAA;AAAA,IAE3CA,2BAA2B,WAC9C,IAAAC,eAAI,GAAE,UAKN,IAAAA,eAAI,GAAE,UAaN,IAAAA,eAAI,EACJ,2DAA2D,EAC3D,2BAA2B,CAC3B,UACA,IAAAA,eAAI,EACJ,mDAAmD,EACnD,sCAAsC,CACtC,UAeA,IAAAA,eAAI,EAAC,iCAAiC,EAAE,YAAY,CAAC,UACrD,IAAAA,eAAI,EAAC,qCAAqC,EAAE,gBAAgB,CAAC,UAqB7D,IAAAA,eAAI,GAAE,UAuBN,IAAAA,eAAI,EAAC,sBAAsB,EAAE,MAAM,CAAC,UACpC,IAAAA,eAAI,EAAC,sBAAsB,EAAE,QAAQ,CAAC,WA0BtC,IAAAA,eAAI,GAAE,WAmBN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,qGAnIP;QAAA;UAAA;YAAA;cAAA;gBAECC,iBAAM,CAACC,UAAU,CAAC,IAAI,CAACC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAACC,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACxD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,0HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACC,YAAY,CAAC,mBAAmB,CAAC;cAAA;gBAEtCC,WAAW,GAAG,IAAI,CAACC,gBAAgB,CAACC,UAAU,CAAC,MAAM,CAAC;gBAAA;gBAAA,OACnCF,WAAW,CAACG,0BAA0B,EAAE;cAAA;gBAA3DC,UAAU;gBAEhBT,iBAAM,CAACU,WAAW,CAACD,UAAU,EAAE;kBAC9BE,KAAK,EAAE,8CAA8C;kBACrDC,IAAI,EAAE;gBACP,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,6GAED,kBAQ+CC,QAAgB;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAC9DC,uBAAW,CAACC,aAAa,EAAE;gBAAA;gBAAA,OACP,IAAI,CAACC,oBAAoB,CAACH,QAAQ,CAAC;cAAA;gBAAjDI,KAAK;gBAEXjB,iBAAM,CAACU,WAAW,CAACO,KAAK,EAAE,YAAY,CAAC;gBAAA;gBAAA,OAEjC,IAAI,CAACC,OAAO,CAAC,OAAO,CAAC,CAACC,KAAK,EAAE;cAAA;gBAAA;gBAAA,OAE7BnB,iBAAM,CAACoB,cAAc,CAC1B;kBAAA,OAAM,KAAI,CAACF,OAAO,CAAC,SAAS,CAAC,CAACf,OAAO,CAAC,WAAW,CAAC;gBAAA,GAClD,2CAAkC,CAClC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,0HAED,kBAGCkB,QAAgB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEV,IAAI,CAACjB,YAAY,EAAE;cAAA;gBAEzB,IAAI,CAACkB,gBAAgB,CAACD,QAAQ,EAAE,QAAQ,CAAC;gBAAA;gBAAA,OAEf,IAAI,CAACE,wCAAwC,CACtEF,QAAQ,CACR;cAAA;gBAAA;gBAFOG,OAAO,yBAAPA,OAAO;gBAIfC,oBAAQ,CAACC,wBAAwB,CAAC,IAAI,CAACC,EAAE,EAAE,GAAG,EAAEN,QAAQ,CAAC;gBACzDI,oBAAQ,CAACC,wBAAwB,CAAC,IAAI,CAACC,EAAE,sBAAeN,QAAQ,aAAU;gBAAA;gBAAA,OAEpE,IAAI,CAACM,EAAE,CAACC,SAAS,CAAC,GAAG,CAAC;cAAA;gBAAA;gBAAA,OACtB,IAAI,CAACC,qBAAqB,EAAE;cAAA;gBAAA;gBAAA,OAE5BL,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACb;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,uHAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACpB,YAAY,EAAE;cAAA;gBAEnB0B,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAErC,qBAAkBA,IAAI,2BAAE;kBAAbC,GAAG;kBACb,IAAI,CAACT,gBAAgB,CAAC,YAAY,EAAES,GAAG,CAAC;gBACzC;gBAAC;gBAAA,OAEyB,IAAI,CAACR,wCAAwC,EAAE;cAAA;gBAAA;gBAAjEC,OAAO,0BAAPA,OAAO;gBAEf,uBAAkBM,IAAI,8BAAE;kBAAbC,GAAG;kBACbN,oBAAQ,CAACC,wBAAwB,CAAC,IAAI,CAACC,EAAE,YAAKI,GAAG,wBAAkBA,GAAG,EAAG;gBAC1E;gBAAC;gBAAA,OAEK,IAAI,CAACJ,EAAE,CAACC,SAAS,CAAC,GAAG,CAAC;cAAA;gBAAA;gBAAA,OAEtB,IAAI,CAACC,qBAAqB,EAAE;cAAA;gBAAA;gBAAA,OAE5BL,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACb;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,sHAED,kBAEwDQ,OAAe;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAChE,IAAI,CAAC5B,YAAY,EAAE;cAAA;gBACzB,IAAI,CAACkB,gBAAgB,CAAC,YAAY,EAAEU,OAAO,CAAC;gBAAA;gBAAA,OAElB,IAAI,CAACT,wCAAwC,CACtE,YAAY,CACZ;cAAA;gBAAA;gBAFOC,OAAO,0BAAPA,OAAO;gBAAA;gBAAA,OAIT,IAAI,CAACG,EAAE,CAACC,SAAS,WAAII,OAAO,EAAG;cAAA;gBAAA;gBAAA,OAE/B,IAAI,CAACH,qBAAqB,EAAE;cAAA;gBAAA;gBAAA,OAEZL,OAAO;cAAA;gBAAvBS,OAAO;gBAEPC,YAAY,GAAG,IAAI,CAACC,WAAW,CACpC,KAAK,EACL,WAAW,EACX,YAAY,EACZH,OAAO,EACP,4BAA4B,CAC5B;gBAEDhC,iBAAM,CAACoC,OAAO,CAACF,YAAY,oBAAED,OAAO,CAACI,KAAK,sEAAb,eAAgB,CAAC,CAAC,oDAAlB,gBAAoBC,IAAI,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,sGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAAClC,YAAY,EAAE;cAAA;gBACzB,IAAI,CAACkB,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC;gBAEvCiB,IAAI,GAAG,IAAI,CAACC,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC;gBACzDC,0BAAQ,CAACC,SAAS,CAACH,IAAI,EAAE,YAAY,CAAC;gBAAA;gBAAA,OAEhC,IAAI,CAAChB,wCAAwC,EAAE;cAAA;gBAErDE,oBAAQ,CAACkB,8BAA8B,CACtC,IAAI,CAAChB,EAAE,EACP,MAAM,4BAEN;gBAED,IAAI,CAACA,EAAE,CAACiB,KAAK,EAAE;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACf;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,8GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEwB,IAAI,CAAC5B,oBAAoB,EAAE;cAAA;gBAA5C6B,QAAQ;gBACRC,QAAQ,GAAGL,0BAAQ,CAACM,QAAQ,CAACF,QAAQ,CAAC;gBAC5C7C,iBAAM,CAACU,WAAW,CAACoC,QAAQ,EAAE,cAAc,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC5C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,4BAAuD;MACtD,IAAME,MAAM,GAAG,IAAI,CAACR,cAAc,OAAnB,IAAI,YAA4B;MAC/CC,0BAAQ,CAACQ,SAAS,CAACD,MAAM,CAAC;IAC3B;EAAC;IAAA;IAAA,OAED,0BAAqD;MAAA,kCAApBE,QAAQ;QAARA,QAAQ;MAAA;MACxC,OAAO,IAAI,CAACf,WAAW,OAAhB,IAAI,GAAa,KAAK,EAAE,WAAW,SAAKe,QAAQ,EAAC;IACzD;EAAC;IAAA;IAAA;MAAA,gGAED;QAAA;UAAA;UAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAAA;gBAAgCrC,QAAQ,8DAAG,2BAA2B;gBAAA;gBAAA,OAC3C,IAAI,CAACU,wCAAwC,EAAE;cAAA;gBAAA;gBAAjEC,OAAO,0BAAPA,OAAO;gBAEf,IAAI,CAAC2B,wBAAwB,CAACtC,QAAQ,CAAC;gBAAA;gBAAA,OAEhBW,OAAO;cAAA;gBAAxB4B,QAAQ;gBAAA,kCACPA,QAAQ;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACf;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,8HAED;QAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAAA;gBACC/B,QAAQ,iEAAG,YAAY;gBAAA;gBAAA,OAEjB,IAAI,CAACjB,YAAY,EAAE;cAAA;gBACnBoB,OAAO,GAAG,IAAI,CAACtB,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAACC,OAAO,CAAC;kBACrDkD,IAAI,EAAEhC,QAAQ;kBACdiC,YAAY,EAAE,sBAAsB;kBACpCC,SAAS,EAAE,oBAAoB;kBAC/BC,UAAU,EAAE;gBACb,CAAC,CAAC;gBAAA;gBAAA,OAEI,IAAI,CAACC,YAAY,EAAE;cAAA;gBAAA,mCAClB;kBAAEjC,OAAO,EAAPA;gBAAQ,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2GAED,mBAA2CkC,gBAAyB;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAC7D,IAAI,CAACD,YAAY,EAAE;cAAA;gBAAA;gBAAA,OACnB,IAAI,CAAC9B,EAAE,CAACC,SAAS,CAAC8B,gBAAgB,aAAhBA,gBAAgB,cAAhBA,gBAAgB,GAAI,EAAE,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC/C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,0GAED,mBAA0C7C,QAAiB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACnC,IAAI,CAAC8C,UAAU,CAAC9C,QAAQ,CAAC;cAAA;gBAA1CuC,QAAQ;gBAERnC,KAAK,GAAG2C,gBAAQ,CAACC,gCAAgC,CACtD,4BAA4B,EAC5BT,QAAQ,CAACf,KAAK,CACd;gBAAA,mCACMpB,KAAK;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACZ;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAzLuD6C,6BAAgB;AAAA"}
|
|
1
|
+
{"version":3,"file":"CreatingATest.test.js","names":["CreatingBehavioralTestsTest","test","assert","isFunction","Action","execute","installTests","testFeature","featureInstaller","getFeature","buildParentClassCandidates","candidates","doesInclude","label","name","testName","LintService","enableLinting","createTestAndGetFile","match","Service","build","doesThrowAsync","testType","createTestSubDir","installAndStartTestActionAndWaitForInput","promise","uiAssert","assertSelectRenderChoice","ui","sendInput","waitAndSelectSubClass","dirs","dir","dirName","results","expectedPath","resolvePath","isEqual","files","path","file","resolveTestDir","diskUtil","writeFile","assertSelectDidNotRenderChoice","reset","testFile","contents","readFile","newDir","createDir","testDirs","selectOptionBasedOnLabel","response","type","nameReadable","nameCamel","namePascal","waitForInput","selectedSubClass","createTest","testUtil","assertFileByNameInGeneratedFiles","AbstractTestTest"],"sources":["../../../../src/__tests__/behavioral/tests/CreatingATest.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport LintService from '../../../services/LintService'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport uiAssert from '../../../tests/utilities/uiAssert.utility'\n\nexport default class CreatingBehavioralTestsTest extends AbstractTestTest {\n\t@test()\n\tprotected static async hasCreateAction() {\n\t\tassert.isFunction(this.Action('test', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async requiresInstallIfFeatureNotInstalled() {\n\t\tawait this.installTests('testsInNodeModule')\n\n\t\tconst testFeature = this.featureInstaller.getFeature('test')\n\t\tconst candidates = await testFeature.buildParentClassCandidates()\n\n\t\tassert.doesInclude(candidates, {\n\t\t\tlabel: 'AbstractStoreTest (requires install)',\n\t\t\tname: 'AbstractStoreTest',\n\t\t})\n\t}\n\n\t@test(\n\t\t'can create behavioral test with AbstractSpruceFixtureTest',\n\t\t'AbstractSpruceFixtureTest'\n\t)\n\t@test(\n\t\t'can create behavioral test with AbstractStoreTest',\n\t\t'AbstractStoreTest (requires install)'\n\t)\n\tprotected static async canCreateBehavioralTest(testName: string) {\n\t\tLintService.enableLinting()\n\t\tconst match = await this.createTestAndGetFile(testName)\n\n\t\tassert.doesInclude(match, 'behavioral')\n\n\t\tawait this.Service('build').build()\n\n\t\tawait assert.doesThrowAsync(\n\t\t\t() => this.Service('command').execute('yarn test'),\n\t\t\t/false.*?does not equal.*?true/gis\n\t\t)\n\t}\n\n\t@test('finds folders inside behavioral', 'behavioral')\n\t@test('finds folders inside implementation', 'implementation')\n\tprotected static async promptsToSelectFolderIfInsideTestDir(\n\t\ttestType: string\n\t) {\n\t\tawait this.installTests()\n\n\t\tthis.createTestSubDir(testType, 'dummy1')\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput(\n\t\t\ttestType\n\t\t)\n\n\t\tuiAssert.assertSelectRenderChoice(this.ui, '.', testType)\n\t\tuiAssert.assertSelectRenderChoice(this.ui, `dummy1`, `${testType}/dummy1`)\n\n\t\tawait this.ui.sendInput('.')\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tawait promise\n\t}\n\n\t@test()\n\tprotected static async listsManyDirsIfExistInsideTestDir() {\n\t\tawait this.installTests()\n\n\t\tconst dirs = ['dir1', 'dir2', 'dir3']\n\n\t\tfor (const dir of dirs) {\n\t\t\tthis.createTestSubDir('behavioral', dir)\n\t\t}\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput()\n\n\t\tfor (const dir of dirs) {\n\t\t\tuiAssert.assertSelectRenderChoice(this.ui, `${dir}`, `behavioral/${dir}`)\n\t\t}\n\n\t\tawait this.ui.sendInput('.')\n\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tawait promise\n\t}\n\n\t@test('can select sub dir 1', 'test')\n\t@test('can select sub dir 2', 'test-2')\n\tprotected static async selectingAnOptionRendersToSubDir(dirName: string) {\n\t\tawait this.installTests()\n\t\tthis.createTestSubDir('behavioral', dirName)\n\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput(\n\t\t\t'behavioral'\n\t\t)\n\n\t\tawait this.ui.sendInput(`${dirName}`)\n\n\t\tawait this.waitAndSelectSubClass()\n\n\t\tconst results = await promise\n\n\t\tconst expectedPath = this.resolvePath(\n\t\t\t'src',\n\t\t\t'__tests__',\n\t\t\t'behavioral',\n\t\t\tdirName,\n\t\t\t'CanBookAppointment.test.ts'\n\t\t)\n\n\t\tassert.isEqual(expectedPath, results.files?.[0]?.path)\n\t}\n\n\t@test()\n\tprotected static async doesNotListFiles() {\n\t\tawait this.installTests()\n\t\tthis.createTestSubDir('behavioral', 'subdir')\n\n\t\tconst file = this.resolveTestDir('behavioral', 'test.ts')\n\t\tdiskUtil.writeFile(file, 'what the!?')\n\n\t\tawait this.installAndStartTestActionAndWaitForInput()\n\n\t\tuiAssert.assertSelectDidNotRenderChoice(\n\t\t\tthis.ui,\n\t\t\t'test',\n\t\t\t`behavioral/test/test.ts`\n\t\t)\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async allTestsComeFakedToStart() {\n\t\tconst testFile = await this.createTestAndGetFile()\n\t\tconst contents = diskUtil.readFile(testFile)\n\t\tassert.doesInclude(contents, 'fake.login()')\n\t}\n\n\tprivate static createTestSubDir(...testDirs: string[]) {\n\t\tconst newDir = this.resolveTestDir(...testDirs)\n\t\tdiskUtil.createDir(newDir)\n\t}\n\n\tprivate static resolveTestDir(...testDirs: string[]) {\n\t\treturn this.resolvePath('src', '__tests__', ...testDirs)\n\t}\n\n\tprivate static async createTest(testName = 'AbstractSpruceFixtureTest') {\n\t\tconst { promise } = await this.installAndStartTestActionAndWaitForInput()\n\n\t\tthis.selectOptionBasedOnLabel(testName)\n\n\t\tconst response = await promise\n\t\treturn response\n\t}\n\n\tprivate static async installAndStartTestActionAndWaitForInput(\n\t\ttestType = 'behavioral'\n\t) {\n\t\tawait this.installTests()\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: testType,\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\treturn { promise }\n\t}\n\n\tprivate static async waitAndSelectSubClass(selectedSubClass?: string) {\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput(selectedSubClass ?? '')\n\t}\n\n\tprivate static async createTestAndGetFile(testName?: string) {\n\t\tconst response = await this.createTest(testName)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresponse.files\n\t\t)\n\t\treturn match\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAAgE;AAAA;AAAA;AAAA,IAE3CA,2BAA2B,WAC9C,IAAAC,eAAI,GAAE,UAKN,IAAAA,eAAI,GAAE,UAaN,IAAAA,eAAI,EACJ,2DAA2D,EAC3D,2BAA2B,CAC3B,UACA,IAAAA,eAAI,EACJ,mDAAmD,EACnD,sCAAsC,CACtC,UAeA,IAAAA,eAAI,EAAC,iCAAiC,EAAE,YAAY,CAAC,UACrD,IAAAA,eAAI,EAAC,qCAAqC,EAAE,gBAAgB,CAAC,UAqB7D,IAAAA,eAAI,GAAE,UAuBN,IAAAA,eAAI,EAAC,sBAAsB,EAAE,MAAM,CAAC,UACpC,IAAAA,eAAI,EAAC,sBAAsB,EAAE,QAAQ,CAAC,WA0BtC,IAAAA,eAAI,GAAE,WAmBN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,qGAnIP;QAAA;UAAA;YAAA;cAAA;gBAECC,iBAAM,CAACC,UAAU,CAAC,IAAI,CAACC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAACC,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACxD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,0HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACC,YAAY,CAAC,mBAAmB,CAAC;cAAA;gBAEtCC,WAAW,GAAG,IAAI,CAACC,gBAAgB,CAACC,UAAU,CAAC,MAAM,CAAC;gBAAA;gBAAA,OACnCF,WAAW,CAACG,0BAA0B,EAAE;cAAA;gBAA3DC,UAAU;gBAEhBT,iBAAM,CAACU,WAAW,CAACD,UAAU,EAAE;kBAC9BE,KAAK,EAAE,sCAAsC;kBAC7CC,IAAI,EAAE;gBACP,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,6GAED,kBAQ+CC,QAAgB;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAC9DC,uBAAW,CAACC,aAAa,EAAE;gBAAA;gBAAA,OACP,IAAI,CAACC,oBAAoB,CAACH,QAAQ,CAAC;cAAA;gBAAjDI,KAAK;gBAEXjB,iBAAM,CAACU,WAAW,CAACO,KAAK,EAAE,YAAY,CAAC;gBAAA;gBAAA,OAEjC,IAAI,CAACC,OAAO,CAAC,OAAO,CAAC,CAACC,KAAK,EAAE;cAAA;gBAAA;gBAAA,OAE7BnB,iBAAM,CAACoB,cAAc,CAC1B;kBAAA,OAAM,KAAI,CAACF,OAAO,CAAC,SAAS,CAAC,CAACf,OAAO,CAAC,WAAW,CAAC;gBAAA,GAClD,2CAAkC,CAClC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,0HAED,kBAGCkB,QAAgB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEV,IAAI,CAACjB,YAAY,EAAE;cAAA;gBAEzB,IAAI,CAACkB,gBAAgB,CAACD,QAAQ,EAAE,QAAQ,CAAC;gBAAA;gBAAA,OAEf,IAAI,CAACE,wCAAwC,CACtEF,QAAQ,CACR;cAAA;gBAAA;gBAFOG,OAAO,yBAAPA,OAAO;gBAIfC,oBAAQ,CAACC,wBAAwB,CAAC,IAAI,CAACC,EAAE,EAAE,GAAG,EAAEN,QAAQ,CAAC;gBACzDI,oBAAQ,CAACC,wBAAwB,CAAC,IAAI,CAACC,EAAE,sBAAeN,QAAQ,aAAU;gBAAA;gBAAA,OAEpE,IAAI,CAACM,EAAE,CAACC,SAAS,CAAC,GAAG,CAAC;cAAA;gBAAA;gBAAA,OACtB,IAAI,CAACC,qBAAqB,EAAE;cAAA;gBAAA;gBAAA,OAE5BL,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACb;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,uHAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACpB,YAAY,EAAE;cAAA;gBAEnB0B,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAErC,qBAAkBA,IAAI,2BAAE;kBAAbC,GAAG;kBACb,IAAI,CAACT,gBAAgB,CAAC,YAAY,EAAES,GAAG,CAAC;gBACzC;gBAAC;gBAAA,OAEyB,IAAI,CAACR,wCAAwC,EAAE;cAAA;gBAAA;gBAAjEC,OAAO,0BAAPA,OAAO;gBAEf,uBAAkBM,IAAI,8BAAE;kBAAbC,GAAG;kBACbN,oBAAQ,CAACC,wBAAwB,CAAC,IAAI,CAACC,EAAE,YAAKI,GAAG,wBAAkBA,GAAG,EAAG;gBAC1E;gBAAC;gBAAA,OAEK,IAAI,CAACJ,EAAE,CAACC,SAAS,CAAC,GAAG,CAAC;cAAA;gBAAA;gBAAA,OAEtB,IAAI,CAACC,qBAAqB,EAAE;cAAA;gBAAA;gBAAA,OAE5BL,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACb;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,sHAED,kBAEwDQ,OAAe;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAChE,IAAI,CAAC5B,YAAY,EAAE;cAAA;gBACzB,IAAI,CAACkB,gBAAgB,CAAC,YAAY,EAAEU,OAAO,CAAC;gBAAA;gBAAA,OAElB,IAAI,CAACT,wCAAwC,CACtE,YAAY,CACZ;cAAA;gBAAA;gBAFOC,OAAO,0BAAPA,OAAO;gBAAA;gBAAA,OAIT,IAAI,CAACG,EAAE,CAACC,SAAS,WAAII,OAAO,EAAG;cAAA;gBAAA;gBAAA,OAE/B,IAAI,CAACH,qBAAqB,EAAE;cAAA;gBAAA;gBAAA,OAEZL,OAAO;cAAA;gBAAvBS,OAAO;gBAEPC,YAAY,GAAG,IAAI,CAACC,WAAW,CACpC,KAAK,EACL,WAAW,EACX,YAAY,EACZH,OAAO,EACP,4BAA4B,CAC5B;gBAEDhC,iBAAM,CAACoC,OAAO,CAACF,YAAY,oBAAED,OAAO,CAACI,KAAK,sEAAb,eAAgB,CAAC,CAAC,oDAAlB,gBAAoBC,IAAI,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,sGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAAClC,YAAY,EAAE;cAAA;gBACzB,IAAI,CAACkB,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC;gBAEvCiB,IAAI,GAAG,IAAI,CAACC,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC;gBACzDC,0BAAQ,CAACC,SAAS,CAACH,IAAI,EAAE,YAAY,CAAC;gBAAA;gBAAA,OAEhC,IAAI,CAAChB,wCAAwC,EAAE;cAAA;gBAErDE,oBAAQ,CAACkB,8BAA8B,CACtC,IAAI,CAAChB,EAAE,EACP,MAAM,4BAEN;gBAED,IAAI,CAACA,EAAE,CAACiB,KAAK,EAAE;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACf;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,8GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEwB,IAAI,CAAC5B,oBAAoB,EAAE;cAAA;gBAA5C6B,QAAQ;gBACRC,QAAQ,GAAGL,0BAAQ,CAACM,QAAQ,CAACF,QAAQ,CAAC;gBAC5C7C,iBAAM,CAACU,WAAW,CAACoC,QAAQ,EAAE,cAAc,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC5C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,4BAAuD;MACtD,IAAME,MAAM,GAAG,IAAI,CAACR,cAAc,OAAnB,IAAI,YAA4B;MAC/CC,0BAAQ,CAACQ,SAAS,CAACD,MAAM,CAAC;IAC3B;EAAC;IAAA;IAAA,OAED,0BAAqD;MAAA,kCAApBE,QAAQ;QAARA,QAAQ;MAAA;MACxC,OAAO,IAAI,CAACf,WAAW,OAAhB,IAAI,GAAa,KAAK,EAAE,WAAW,SAAKe,QAAQ,EAAC;IACzD;EAAC;IAAA;IAAA;MAAA,gGAED;QAAA;UAAA;UAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAAA;gBAAgCrC,QAAQ,8DAAG,2BAA2B;gBAAA;gBAAA,OAC3C,IAAI,CAACU,wCAAwC,EAAE;cAAA;gBAAA;gBAAjEC,OAAO,0BAAPA,OAAO;gBAEf,IAAI,CAAC2B,wBAAwB,CAACtC,QAAQ,CAAC;gBAAA;gBAAA,OAEhBW,OAAO;cAAA;gBAAxB4B,QAAQ;gBAAA,kCACPA,QAAQ;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACf;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,8HAED;QAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAAA;gBACC/B,QAAQ,iEAAG,YAAY;gBAAA;gBAAA,OAEjB,IAAI,CAACjB,YAAY,EAAE;cAAA;gBACnBoB,OAAO,GAAG,IAAI,CAACtB,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAACC,OAAO,CAAC;kBACrDkD,IAAI,EAAEhC,QAAQ;kBACdiC,YAAY,EAAE,sBAAsB;kBACpCC,SAAS,EAAE,oBAAoB;kBAC/BC,UAAU,EAAE;gBACb,CAAC,CAAC;gBAAA;gBAAA,OAEI,IAAI,CAACC,YAAY,EAAE;cAAA;gBAAA,mCAClB;kBAAEjC,OAAO,EAAPA;gBAAQ,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2GAED,mBAA2CkC,gBAAyB;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAC7D,IAAI,CAACD,YAAY,EAAE;cAAA;gBAAA;gBAAA,OACnB,IAAI,CAAC9B,EAAE,CAACC,SAAS,CAAC8B,gBAAgB,aAAhBA,gBAAgB,cAAhBA,gBAAgB,GAAI,EAAE,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC/C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,0GAED,mBAA0C7C,QAAiB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACnC,IAAI,CAAC8C,UAAU,CAAC9C,QAAQ,CAAC;cAAA;gBAA1CuC,QAAQ;gBAERnC,KAAK,GAAG2C,gBAAQ,CAACC,gCAAgC,CACtD,4BAA4B,EAC5BT,QAAQ,CAACf,KAAK,CACd;gBAAA,mCACMpB,KAAK;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACZ;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAzLuD6C,6BAAgB;AAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AbstractSkillTest from '
|
|
1
|
+
import AbstractSkillTest from '../../../tests/AbstractSkillTest';
|
|
2
2
|
export default class SettingUpASkillForTestingTest extends AbstractSkillTest {
|
|
3
3
|
protected static skillCacheKey: string;
|
|
4
4
|
protected static skillSlug: string;
|
|
@@ -15,8 +15,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
15
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
16
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
17
17
|
var _testUtils = require("@sprucelabs/test-utils");
|
|
18
|
-
var _AbstractSkillTest2 = _interopRequireDefault(require("
|
|
19
|
-
var _constants = require("
|
|
18
|
+
var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
|
|
19
|
+
var _constants = require("../../../tests/constants");
|
|
20
20
|
var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2;
|
|
21
21
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
22
22
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingUpASkillForTesting.test.js","names":["SettingUpASkillForTestingTest","test","assert","isFunction","Action","execute","demoNumber","DEMO_NUMBER","skillSlug","results","isFalsy","errors","auth","Service","person","getLoggedInPerson","isTruthy","skill","getCurrentSkill","isEqual","slug","updateCurrentSkill","fail","AbstractSkillTest","Date","getTime"],"sources":["../../../../src/__tests__/behavioral/tests/SettingUpASkillForTesting.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport { DEMO_NUMBER } from '../../../tests/constants'\n\nexport default class SettingUpASkillForTestingTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'tests'\n\tprotected static skillSlug = `test-skill-${new Date().getTime()}`\n\n\t@test()\n\tprotected static async hasSetupAction() {\n\t\tassert.isFunction(this.Action('test', 'setup').execute)\n\t}\n\n\t@test()\n\tprotected static async logsInAsDemoPerson() {\n\t\tconst results = await this.Action('test', 'setup').execute({\n\t\t\tdemoNumber: DEMO_NUMBER,\n\t\t\tskillSlug: this.skillSlug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst auth = this.Service('auth')\n\t\tconst person = auth.getLoggedInPerson()\n\n\t\tassert.isTruthy(person)\n\t}\n\n\t@test()\n\tprotected static async registersCurrentSkill() {\n\t\tconst auth = this.Service('auth')\n\t\tconst skill = auth.getCurrentSkill()\n\n\t\tassert.isTruthy(skill)\n\t}\n\n\t@test()\n\tprotected static async canRunAgainWithoutError() {\n\t\tconst results = await this.Action('test', 'setup').execute({\n\t\t\tdemoNumber: DEMO_NUMBER,\n\t\t\tskillSlug: this.skillSlug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst auth = this.Service('auth')\n\t\tconst skill = auth.getCurrentSkill()\n\n\t\tassert.isEqual(skill?.slug, this.skillSlug)\n\t}\n\n\t@test()\n\tprotected static async canCorrectInvalidAuth() {\n\t\tconst auth = this.Service('auth')\n\t\t//@ts-ignore\n\t\tauth.updateCurrentSkill({ fail: true })\n\n\t\tconst results = await this.Action('test', 'setup').execute({\n\t\t\tdemoNumber: DEMO_NUMBER,\n\t\t\tskillSlug: this.skillSlug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst skill = auth.getCurrentSkill()\n\n\t\tassert.isEqual(skill?.slug, this.skillSlug)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AbstractTestTest from '
|
|
1
|
+
import AbstractTestTest from '../../../tests/AbstractTestTest';
|
|
2
2
|
export default class TestReporterSettingsRememberedTest extends AbstractTestTest {
|
|
3
3
|
protected static emptyToMakeThingsPassForSomeReason(): void;
|
|
4
4
|
protected static watchSettingsRemembered(): Promise<void>;
|
|
@@ -14,7 +14,7 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
|
|
|
14
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
15
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
16
16
|
var _testUtils = require("@sprucelabs/test-utils");
|
|
17
|
-
var _AbstractTestTest2 = _interopRequireDefault(require("
|
|
17
|
+
var _AbstractTestTest2 = _interopRequireDefault(require("../../../tests/AbstractTestTest"));
|
|
18
18
|
var _dec, _dec2, _dec3, _class;
|
|
19
19
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
20
20
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestReporterSettingsRemembered.test.js","names":["TestReporterSettingsRememberedTest","test","FeatureFixture","installCachedFeatures","settings","Service","set","action","Action","execute","shouldReturnImmediately","shouldReportWhileRunning","results","meta","assert","isTruthy","isEqual","getWatchMode","kill","promise","isUndefined","get","setWatchMode","AbstractTestTest"],"sources":["../../../../src/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport TestAction from '../../../features/test/actions/TestAction'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\n\nexport default class TestReporterSettingsRememberedTest extends AbstractTestTest {\n\t@test()\n\tprotected static emptyToMakeThingsPassForSomeReason() {}\n\n\t@test()\n\tprotected static async watchSettingsRemembered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('tests')\n\t\tconst settings = this.Service('settings')\n\n\t\tsettings.set('test.watchMode', 'smart')\n\n\t\tconst action = this.Action('test', 'test')\n\n\t\tconst results = await action.execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tconst meta = (results as any).meta\n\t\tconst test = meta.test as TestAction\n\n\t\tassert.isTruthy(test)\n\n\t\tassert.isEqual(test.getWatchMode(), 'smart')\n\t\ttest.kill()\n\n\t\tawait meta.promise\n\t}\n\n\t@test()\n\tprotected static async watchSettingsSaved() {\n\t\tawait this.FeatureFixture().installCachedFeatures('tests')\n\n\t\tconst action = this.Action('test', 'test')\n\n\t\tconst results = await action.execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tconst meta = (results as any).meta\n\t\tconst test = meta.test as TestAction\n\n\t\tconst settings = this.Service('settings')\n\t\tassert.isUndefined(settings.get('test.watchMode'))\n\n\t\ttest.setWatchMode('smart')\n\n\t\tassert.isEqual(test.getWatchMode(), 'smart')\n\n\t\ttest.kill()\n\n\t\tawait meta.promise\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAEA;AAA8D;AAAA;AAAA;AAAA,IAEzCA,kCAAkC,WACrD,IAAAC,eAAI,GAAE,UAGN,IAAAA,eAAI,GAAE,UAyBN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA,OA5BP,8CACsD,CAAC;EAAC;IAAA;IAAA;MAAA,6GAExD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACC,cAAc,EAAE,CAACC,qBAAqB,CAAC,OAAO,CAAC;cAAA;gBACpDC,QAAQ,GAAG,IAAI,CAACC,OAAO,CAAC,UAAU,CAAC;gBAEzCD,QAAQ,CAACE,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC;gBAEjCC,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;gBAAA;gBAAA,OAEpBD,MAAM,CAACE,OAAO,CAAC;kBACpCC,uBAAuB,EAAE,IAAI;kBAC7BC,wBAAwB,EAAE;gBAC3B,CAAC,CAAC;cAAA;gBAHIC,OAAO;gBAKPC,IAAI,GAAID,OAAO,CAASC,IAAI;gBAC5BZ,IAAI,GAAGY,IAAI,CAACZ,IAAI;gBAEtBa,iBAAM,CAACC,QAAQ,CAACd,IAAI,CAAC;gBAErBa,iBAAM,CAACE,OAAO,CAACf,IAAI,CAACgB,YAAY,EAAE,EAAE,OAAO,CAAC;gBAC5ChB,IAAI,CAACiB,IAAI,EAAE;gBAAA;gBAAA,OAELL,IAAI,CAACM,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,wGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACjB,cAAc,EAAE,CAACC,qBAAqB,CAAC,OAAO,CAAC;cAAA;gBAEpDI,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;gBAAA;gBAAA,OAEpBD,MAAM,CAACE,OAAO,CAAC;kBACpCC,uBAAuB,EAAE,IAAI;kBAC7BC,wBAAwB,EAAE;gBAC3B,CAAC,CAAC;cAAA;gBAHIC,OAAO;gBAKPC,IAAI,GAAID,OAAO,CAASC,IAAI;gBAC5BZ,IAAI,GAAGY,IAAI,CAACZ,IAAI;gBAEhBG,QAAQ,GAAG,IAAI,CAACC,OAAO,CAAC,UAAU,CAAC;gBACzCS,iBAAM,CAACM,WAAW,CAAChB,QAAQ,CAACiB,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAElDpB,IAAI,CAACqB,YAAY,CAAC,OAAO,CAAC;gBAE1BR,iBAAM,CAACE,OAAO,CAACf,IAAI,CAACgB,YAAY,EAAE,EAAE,OAAO,CAAC;gBAE5ChB,IAAI,CAACiB,IAAI,EAAE;gBAAA;gBAAA,OAELL,IAAI,CAACM,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EArD8DI,6BAAgB;AAAA"}
|
package/build/__tests__/behavioral/{TestingDataStores.test.d.ts → tests/TestingDataStores.test.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AbstractSkillTest from '
|
|
1
|
+
import AbstractSkillTest from '../../../tests/AbstractSkillTest';
|
|
2
2
|
export default class TestingDataStoresTest extends AbstractSkillTest {
|
|
3
3
|
protected static skillCacheKey: string;
|
|
4
4
|
protected static cantSelectAbstractStoreIfStoreFeatureNotInstalled(): Promise<void>;
|
package/build/__tests__/behavioral/{TestingDataStores.test.js → tests/TestingDataStores.test.js}
RENAMED
|
@@ -16,9 +16,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
16
16
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
17
17
|
var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
|
|
18
18
|
var _testUtils = require("@sprucelabs/test-utils");
|
|
19
|
-
var _LintService = _interopRequireDefault(require("
|
|
20
|
-
var _AbstractSkillTest2 = _interopRequireDefault(require("
|
|
21
|
-
var _test = _interopRequireDefault(require("
|
|
19
|
+
var _LintService = _interopRequireDefault(require("../../../services/LintService"));
|
|
20
|
+
var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
|
|
21
|
+
var _test = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
|
|
22
22
|
var _dec, _dec2, _class, _class2;
|
|
23
23
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
24
24
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestingDataStores.test.js","names":["TestingDataStoresTest","test","storeFeature","cli","getFeature","isInstalled","Action","execute","type","nameReadable","nameCamel","namePascal","waitForInput","last","ui","getLastInvocation","assert","isTruthy","options","choices","doesInclude","label","reset","LintService","enableLinting","promise","selectOptionBasedOnLabel","results","isFalsy","errors","match","testUtil","assertFileByNameInGeneratedFiles","files","contents","diskUtil","readFile","Service","build","shouldReportWhileRunning","testResults","isArray","isLength","first","message","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/tests/TestingDataStores.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport LintService from '../../../services/LintService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class TestingDataStoresTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'storesWithTests'\n\n\t@test()\n\tprotected static async cantSelectAbstractStoreIfStoreFeatureNotInstalled() {\n\t\tconst storeFeature = this.cli.getFeature('store')\n\n\t\tstoreFeature.isInstalled = async () => false\n\n\t\tvoid this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.isTruthy(last.options.options.choices)\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractStoreTest (requires install)',\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async letsYouSelectAbstractStoreTest() {\n\t\tLintService.enableLinting()\n\t\tthis.cli.getFeature('store').isInstalled = async () => true\n\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.isTruthy(last.options.options.choices)\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractStoreTest',\n\t\t})\n\n\t\tawait this.selectOptionBasedOnLabel('AbstractStoreTest')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'CanBookAppointmentTest extends AbstractStoreTest'\n\t\t)\n\n\t\tawait this.Service('build').build()\n\n\t\tconst testResults = await this.Action('test', 'test').execute({\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tassert.isArray(testResults.errors)\n\t\tassert.isLength(testResults.errors, 1)\n\n\t\tconst first = testResults.errors[0]\n\n\t\tassert.doesInclude(first.message, 'does not equal')\n\t}\n}\n"],"mappings":"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"}
|