@sprucelabs/spruce-cli 18.1.8 → 18.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -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/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/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 +12 -2
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js +248 -36
- 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/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/tests/CreatingATest.test.js +2 -2
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- 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__/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/__tests__/support/EventFaker.d.ts +5 -0
- package/build/__tests__/support/EventFaker.js +48 -0
- package/build/__tests__/support/EventFaker.js.map +1 -0
- 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 +140 -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 +7 -1
- package/build/features/permission/stores/PermissionStore.js +92 -23
- 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 +66 -17
- 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 +6 -6
- package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js +9 -9
- package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js +1 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js +21 -7
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.d.ts +3 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.d.ts.map +1 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.js +12 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.js.map +1 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.js +2 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts +1 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js +2 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js +2 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js +39 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js.map +1 -1
- 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/ExportVisitor.d.ts +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts +2 -2
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js +9 -9
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js +17 -17
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.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/dist/scope/Scope.d.ts +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/package.json +12 -12
- package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +27 -3
- package/node_modules/@typescript-eslint/types/_ts3.4/dist/lib.d.ts +1 -1
- package/node_modules/@typescript-eslint/types/_ts3.4/dist/parser-options.d.ts +3 -3
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +27 -3
- 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 +3 -0
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
- package/node_modules/@typescript-eslint/types/dist/lib.d.ts +1 -1
- package/node_modules/@typescript-eslint/types/dist/lib.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts +3 -3
- package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/types/package.json +3 -3
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/shared.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/index.d.ts +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser-options.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/simple-traverse.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +4 -1
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +4 -2
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +22 -3
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js +9 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +4 -1
- 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 +4 -2
- 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 +6 -6
- 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 -48
- package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
- package/node_modules/@typescript-eslint/visitor-keys/package.json +4 -4
- 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/SkillEmitsBootEvents.test.ts +6 -0
- 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 +204 -23
- package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +23 -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/schemas/GettingSchemasFromHealthCheck.test.ts +12 -12
- package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -2
- 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__/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/__tests__/support/EventFaker.ts +23 -0
- 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 +66 -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 +44 -3
- package/src/features/permission/writers/PermissionWriter.ts +64 -3
- 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/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
|
@@ -15,13 +15,16 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
|
|
|
15
15
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
17
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
18
|
+
var _mercuryClient = require("@sprucelabs/mercury-client");
|
|
18
19
|
var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
|
|
19
20
|
var _testUtils = require("@sprucelabs/test-utils");
|
|
20
|
-
var _AbstractPermissionsTest = _interopRequireDefault(require("./AbstractPermissionsTest"));
|
|
21
|
-
var
|
|
21
|
+
var _AbstractPermissionsTest = _interopRequireDefault(require("./support/AbstractPermissionsTest"));
|
|
22
|
+
var _generateShortAlphaId = _interopRequireDefault(require("./support/generateShortAlphaId"));
|
|
23
|
+
var _sortPermissionContracts = require("./support/sortPermissionContracts");
|
|
24
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _class2;
|
|
22
25
|
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
26
|
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; } }
|
|
24
|
-
var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractPermissionsT) {
|
|
27
|
+
var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)(), _dec5 = (0, _testUtils.test)(), _dec6 = (0, _testUtils.test)(), _dec7 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractPermissionsT) {
|
|
25
28
|
(0, _inherits2["default"])(PermissionStoreTest, _AbstractPermissionsT);
|
|
26
29
|
var _super = _createSuper(PermissionStoreTest);
|
|
27
30
|
function PermissionStoreTest() {
|
|
@@ -32,6 +35,7 @@ var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils
|
|
|
32
35
|
key: "beforeAll",
|
|
33
36
|
value: function () {
|
|
34
37
|
var _beforeAll = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
38
|
+
var namespace, contractId;
|
|
35
39
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
36
40
|
while (1) {
|
|
37
41
|
switch (_context.prev = _context.next) {
|
|
@@ -39,9 +43,17 @@ var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils
|
|
|
39
43
|
_context.next = 2;
|
|
40
44
|
return (0, _get2["default"])((0, _getPrototypeOf2["default"])(PermissionStoreTest), "beforeAll", this).call(this);
|
|
41
45
|
case 2:
|
|
42
|
-
|
|
43
|
-
this.
|
|
46
|
+
_context.next = 4;
|
|
47
|
+
return this.Service('pkg').getSkillNamespace();
|
|
44
48
|
case 4:
|
|
49
|
+
namespace = _context.sent;
|
|
50
|
+
this.namespace = namespace;
|
|
51
|
+
this.contractName1 = (0, _generateShortAlphaId["default"])();
|
|
52
|
+
this.fqid1 = "".concat(namespace, ".").concat(this.contractName1);
|
|
53
|
+
this.contractName2 = (0, _generateShortAlphaId["default"])();
|
|
54
|
+
contractId = this.contractName2;
|
|
55
|
+
this.fqid2 = buildPermissionContractId(contractId, namespace);
|
|
56
|
+
case 11:
|
|
45
57
|
case "end":
|
|
46
58
|
return _context.stop();
|
|
47
59
|
}
|
|
@@ -64,8 +76,11 @@ var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils
|
|
|
64
76
|
_context2.next = 2;
|
|
65
77
|
return (0, _get2["default"])((0, _getPrototypeOf2["default"])(PermissionStoreTest), "beforeEach", this).call(this);
|
|
66
78
|
case 2:
|
|
79
|
+
_mercuryClient.MercuryClientFactory.setIsTestMode(true);
|
|
67
80
|
this.permissions = this.Store('permission');
|
|
68
|
-
|
|
81
|
+
_context2.next = 6;
|
|
82
|
+
return this.eventFaker.fakeListPermissionContracts(function () {});
|
|
83
|
+
case 6:
|
|
69
84
|
case "end":
|
|
70
85
|
return _context2.stop();
|
|
71
86
|
}
|
|
@@ -90,7 +105,7 @@ var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils
|
|
|
90
105
|
return this.loadLocalPermissions();
|
|
91
106
|
case 2:
|
|
92
107
|
permissions = _context3.sent;
|
|
93
|
-
_testUtils.assert.isEqualDeep(permissions,
|
|
108
|
+
_testUtils.assert.isEqualDeep(permissions, []);
|
|
94
109
|
case 4:
|
|
95
110
|
case "end":
|
|
96
111
|
return _context3.stop();
|
|
@@ -115,7 +130,11 @@ var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils
|
|
|
115
130
|
return this.createPermissionContract(this.contractName1);
|
|
116
131
|
case 2:
|
|
117
132
|
_context4.next = 4;
|
|
118
|
-
return this.assertLocalPermissionsEqual(
|
|
133
|
+
return this.assertLocalPermissionsEqual([{
|
|
134
|
+
id: this.fqid1,
|
|
135
|
+
permissions: ['can-high-five'],
|
|
136
|
+
path: this.resolvePath("src/permissions/".concat(this.contractName1, ".permissions.ts"))
|
|
137
|
+
}]);
|
|
119
138
|
case 4:
|
|
120
139
|
case "end":
|
|
121
140
|
return _context4.stop();
|
|
@@ -132,7 +151,6 @@ var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils
|
|
|
132
151
|
key: "loadsSecondContract",
|
|
133
152
|
value: function () {
|
|
134
153
|
var _loadsSecondContract = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
135
|
-
var _this$assertLocalPerm2;
|
|
136
154
|
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
137
155
|
while (1) {
|
|
138
156
|
switch (_context5.prev = _context5.next) {
|
|
@@ -141,7 +159,15 @@ var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils
|
|
|
141
159
|
return this.createPermissionContract(this.contractName2);
|
|
142
160
|
case 2:
|
|
143
161
|
_context5.next = 4;
|
|
144
|
-
return this.assertLocalPermissionsEqual(
|
|
162
|
+
return this.assertLocalPermissionsEqual([{
|
|
163
|
+
id: this.fqid2,
|
|
164
|
+
permissions: ['can-high-five'],
|
|
165
|
+
path: this.resolvePath("src/permissions/".concat(this.contractName2, ".permissions.ts"))
|
|
166
|
+
}, {
|
|
167
|
+
id: this.fqid1,
|
|
168
|
+
permissions: ['can-high-five'],
|
|
169
|
+
path: this.resolvePath("src/permissions/".concat(this.contractName1, ".permissions.ts"))
|
|
170
|
+
}]);
|
|
145
171
|
case 4:
|
|
146
172
|
case "end":
|
|
147
173
|
return _context5.stop();
|
|
@@ -158,17 +184,26 @@ var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils
|
|
|
158
184
|
key: "mixesInAllPermissions",
|
|
159
185
|
value: function () {
|
|
160
186
|
var _mixesInAllPermissions = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
161
|
-
var
|
|
162
|
-
var file;
|
|
187
|
+
var contractId, perm1Id, perm2Id;
|
|
163
188
|
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
164
189
|
while (1) {
|
|
165
190
|
switch (_context6.prev = _context6.next) {
|
|
166
191
|
case 0:
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
192
|
+
contractId = 'oeu-aoeuao';
|
|
193
|
+
perm1Id = 'what-the';
|
|
194
|
+
perm2Id = 'go-dogs';
|
|
195
|
+
this.updateFirstContractBuilder(contractId, perm1Id, perm2Id);
|
|
196
|
+
_context6.next = 6;
|
|
197
|
+
return this.assertLocalPermissionsEqual([{
|
|
198
|
+
id: this.fqid2,
|
|
199
|
+
permissions: ['can-high-five'],
|
|
200
|
+
path: this.resolvePath("src/permissions/".concat(this.contractName2, ".permissions.ts"))
|
|
201
|
+
}, {
|
|
202
|
+
id: buildPermissionContractId(contractId, this.namespace),
|
|
203
|
+
permissions: [perm1Id, perm2Id],
|
|
204
|
+
path: this.resolvePath("src/permissions/".concat(this.contractName1, ".permissions.ts"))
|
|
205
|
+
}]);
|
|
206
|
+
case 6:
|
|
172
207
|
case "end":
|
|
173
208
|
return _context6.stop();
|
|
174
209
|
}
|
|
@@ -181,25 +216,197 @@ var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils
|
|
|
181
216
|
return mixesInAllPermissions;
|
|
182
217
|
}()
|
|
183
218
|
}, {
|
|
184
|
-
key: "
|
|
219
|
+
key: "passesThroughDependentSkills",
|
|
185
220
|
value: function () {
|
|
186
|
-
var
|
|
187
|
-
var
|
|
221
|
+
var _passesThroughDependentSkills = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
222
|
+
var namespace, passedTarget;
|
|
188
223
|
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
189
224
|
while (1) {
|
|
190
225
|
switch (_context7.prev = _context7.next) {
|
|
191
226
|
case 0:
|
|
192
|
-
|
|
227
|
+
namespace = this.addRandomDependency();
|
|
228
|
+
_context7.next = 3;
|
|
229
|
+
return this.eventFaker.fakeListPermissionContracts(function (_ref) {
|
|
230
|
+
var target = _ref.target;
|
|
231
|
+
passedTarget = target;
|
|
232
|
+
});
|
|
233
|
+
case 3:
|
|
234
|
+
_context7.next = 5;
|
|
235
|
+
return this.fetchContracts();
|
|
236
|
+
case 5:
|
|
237
|
+
_testUtils.assert.isEqualDeep(passedTarget, {
|
|
238
|
+
namespaces: [namespace]
|
|
239
|
+
});
|
|
240
|
+
case 6:
|
|
241
|
+
case "end":
|
|
242
|
+
return _context7.stop();
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}, _callee7, this);
|
|
246
|
+
}));
|
|
247
|
+
function passesThroughDependentSkills() {
|
|
248
|
+
return _passesThroughDependentSkills.apply(this, arguments);
|
|
249
|
+
}
|
|
250
|
+
return passesThroughDependentSkills;
|
|
251
|
+
}()
|
|
252
|
+
}, {
|
|
253
|
+
key: "returnsDependencyMapFromRemoteContracts",
|
|
254
|
+
value: function () {
|
|
255
|
+
var _returnsDependencyMapFromRemoteContracts = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
|
|
256
|
+
var _assert$isEqualDeep;
|
|
257
|
+
var perm, perm2, perm3, _this$generateContrac, contract, contractId, _this$generateContrac2, contract2, contractId2, map;
|
|
258
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
259
|
+
while (1) {
|
|
260
|
+
switch (_context8.prev = _context8.next) {
|
|
261
|
+
case 0:
|
|
262
|
+
perm = this.generatePermValues();
|
|
263
|
+
perm2 = this.generatePermValues();
|
|
264
|
+
perm3 = this.generatePermValues();
|
|
265
|
+
_this$generateContrac = this.generateContractRowValues([perm, perm2]), contract = _this$generateContrac.contract, contractId = _this$generateContrac.contractId;
|
|
266
|
+
_this$generateContrac2 = this.generateContractRowValues([perm3]), contract2 = _this$generateContrac2.contract, contractId2 = _this$generateContrac2.contractId;
|
|
267
|
+
_context8.next = 7;
|
|
268
|
+
return this.eventFaker.fakeListPermissionContracts(function () {
|
|
269
|
+
return [contract, contract2];
|
|
270
|
+
});
|
|
271
|
+
case 7:
|
|
272
|
+
_context8.next = 9;
|
|
273
|
+
return this.fetchContracts();
|
|
274
|
+
case 9:
|
|
275
|
+
map = _context8.sent;
|
|
276
|
+
_testUtils.assert.isEqualDeep(map, (_assert$isEqualDeep = {}, (0, _defineProperty2["default"])(_assert$isEqualDeep, contractId, [perm.id, perm2.id]), (0, _defineProperty2["default"])(_assert$isEqualDeep, contractId2, [perm3.id]), (0, _defineProperty2["default"])(_assert$isEqualDeep, this.fqid2, ['can-high-five']), (0, _defineProperty2["default"])(_assert$isEqualDeep, buildPermissionContractId('oeu-aoeuao', this.namespace), ['what-the', 'go-dogs']), _assert$isEqualDeep));
|
|
277
|
+
case 11:
|
|
278
|
+
case "end":
|
|
279
|
+
return _context8.stop();
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}, _callee8, this);
|
|
283
|
+
}));
|
|
284
|
+
function returnsDependencyMapFromRemoteContracts() {
|
|
285
|
+
return _returnsDependencyMapFromRemoteContracts.apply(this, arguments);
|
|
286
|
+
}
|
|
287
|
+
return returnsDependencyMapFromRemoteContracts;
|
|
288
|
+
}()
|
|
289
|
+
}, {
|
|
290
|
+
key: "connectsAsSkill",
|
|
291
|
+
value: function () {
|
|
292
|
+
var _connectsAsSkill = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
|
|
293
|
+
var passedOptions, old;
|
|
294
|
+
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
295
|
+
while (1) {
|
|
296
|
+
switch (_context9.prev = _context9.next) {
|
|
297
|
+
case 0:
|
|
298
|
+
//@ts-ignore
|
|
299
|
+
old = this.permissions.connectToApi.bind(this.permissions); //@ts-ignore
|
|
300
|
+
this.permissions.connectToApi = function (options) {
|
|
301
|
+
passedOptions = options;
|
|
302
|
+
return old(passedOptions);
|
|
303
|
+
};
|
|
304
|
+
_context9.next = 4;
|
|
305
|
+
return this.fetchContracts();
|
|
306
|
+
case 4:
|
|
307
|
+
_testUtils.assert.isEqualDeep(passedOptions, {
|
|
308
|
+
shouldAuthAsCurrentSkill: true
|
|
309
|
+
});
|
|
310
|
+
case 5:
|
|
311
|
+
case "end":
|
|
312
|
+
return _context9.stop();
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}, _callee9, this);
|
|
316
|
+
}));
|
|
317
|
+
function connectsAsSkill() {
|
|
318
|
+
return _connectsAsSkill.apply(this, arguments);
|
|
319
|
+
}
|
|
320
|
+
return connectsAsSkill;
|
|
321
|
+
}()
|
|
322
|
+
}, {
|
|
323
|
+
key: "updateFirstContractBuilder",
|
|
324
|
+
value: function updateFirstContractBuilder(contractId, perm1Id, perm2Id) {
|
|
325
|
+
var file = this.resolvePath('src', 'permissions', "".concat(this.contractName1, ".permissions.ts"));
|
|
326
|
+
_spruceSkillUtils.diskUtil.writeFile(file, generateContractBuilder(contractId, perm1Id, perm2Id));
|
|
327
|
+
}
|
|
328
|
+
}, {
|
|
329
|
+
key: "generateContractRowValues",
|
|
330
|
+
value: function generateContractRowValues(permissions) {
|
|
331
|
+
var contractId = (0, _testUtils.generateId)();
|
|
332
|
+
var contract = {
|
|
333
|
+
id: (0, _testUtils.generateId)(),
|
|
334
|
+
contract: {
|
|
335
|
+
id: contractId,
|
|
336
|
+
name: (0, _testUtils.generateId)(),
|
|
337
|
+
permissions: permissions
|
|
338
|
+
}
|
|
339
|
+
};
|
|
340
|
+
return {
|
|
341
|
+
contract: contract,
|
|
342
|
+
contractId: contractId
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
}, {
|
|
346
|
+
key: "generatePermValues",
|
|
347
|
+
value: function generatePermValues() {
|
|
348
|
+
var permissionId = (0, _testUtils.generateId)();
|
|
349
|
+
var perm = {
|
|
350
|
+
id: permissionId,
|
|
351
|
+
name: (0, _testUtils.generateId)(),
|
|
352
|
+
defaults: {}
|
|
353
|
+
};
|
|
354
|
+
return perm;
|
|
355
|
+
}
|
|
356
|
+
}, {
|
|
357
|
+
key: "addRandomDependency",
|
|
358
|
+
value: function addRandomDependency() {
|
|
359
|
+
var dep = this.Service('dependency');
|
|
360
|
+
var namespace = (0, _testUtils.generateId)();
|
|
361
|
+
dep.add({
|
|
362
|
+
id: (0, _testUtils.generateId)(),
|
|
363
|
+
namespace: namespace
|
|
364
|
+
});
|
|
365
|
+
return namespace;
|
|
366
|
+
}
|
|
367
|
+
}, {
|
|
368
|
+
key: "fetchContracts",
|
|
369
|
+
value: function () {
|
|
370
|
+
var _fetchContracts = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
|
|
371
|
+
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
372
|
+
while (1) {
|
|
373
|
+
switch (_context10.prev = _context10.next) {
|
|
374
|
+
case 0:
|
|
375
|
+
return _context10.abrupt("return", this.permissions.fetchContracts());
|
|
376
|
+
case 1:
|
|
377
|
+
case "end":
|
|
378
|
+
return _context10.stop();
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}, _callee10, this);
|
|
382
|
+
}));
|
|
383
|
+
function fetchContracts() {
|
|
384
|
+
return _fetchContracts.apply(this, arguments);
|
|
385
|
+
}
|
|
386
|
+
return fetchContracts;
|
|
387
|
+
}()
|
|
388
|
+
}, {
|
|
389
|
+
key: "assertLocalPermissionsEqual",
|
|
390
|
+
value: function () {
|
|
391
|
+
var _assertLocalPermissionsEqual = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11(expected) {
|
|
392
|
+
var perms;
|
|
393
|
+
return _regenerator["default"].wrap(function _callee11$(_context11) {
|
|
394
|
+
while (1) {
|
|
395
|
+
switch (_context11.prev = _context11.next) {
|
|
396
|
+
case 0:
|
|
397
|
+
_context11.next = 2;
|
|
193
398
|
return this.loadLocalPermissions();
|
|
194
399
|
case 2:
|
|
195
|
-
perms =
|
|
400
|
+
perms = _context11.sent;
|
|
401
|
+
perms.sort(_sortPermissionContracts.sortPermissionContracts);
|
|
402
|
+
expected.sort(_sortPermissionContracts.sortPermissionContracts);
|
|
196
403
|
_testUtils.assert.isEqualDeep(perms, expected);
|
|
197
|
-
case
|
|
404
|
+
case 6:
|
|
198
405
|
case "end":
|
|
199
|
-
return
|
|
406
|
+
return _context11.stop();
|
|
200
407
|
}
|
|
201
408
|
}
|
|
202
|
-
},
|
|
409
|
+
}, _callee11, this);
|
|
203
410
|
}));
|
|
204
411
|
function assertLocalPermissionsEqual(_x) {
|
|
205
412
|
return _assertLocalPermissionsEqual.apply(this, arguments);
|
|
@@ -209,21 +416,21 @@ var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils
|
|
|
209
416
|
}, {
|
|
210
417
|
key: "loadLocalPermissions",
|
|
211
418
|
value: function () {
|
|
212
|
-
var _loadLocalPermissions = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
213
|
-
return _regenerator["default"].wrap(function
|
|
419
|
+
var _loadLocalPermissions = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
|
|
420
|
+
return _regenerator["default"].wrap(function _callee12$(_context12) {
|
|
214
421
|
while (1) {
|
|
215
|
-
switch (
|
|
422
|
+
switch (_context12.prev = _context12.next) {
|
|
216
423
|
case 0:
|
|
217
|
-
|
|
424
|
+
_context12.next = 2;
|
|
218
425
|
return this.permissions.loadLocalPermissions();
|
|
219
426
|
case 2:
|
|
220
|
-
return
|
|
427
|
+
return _context12.abrupt("return", _context12.sent);
|
|
221
428
|
case 3:
|
|
222
429
|
case "end":
|
|
223
|
-
return
|
|
430
|
+
return _context12.stop();
|
|
224
431
|
}
|
|
225
432
|
}
|
|
226
|
-
},
|
|
433
|
+
}, _callee12, this);
|
|
227
434
|
}));
|
|
228
435
|
function loadLocalPermissions() {
|
|
229
436
|
return _loadLocalPermissions.apply(this, arguments);
|
|
@@ -232,10 +439,15 @@ var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils
|
|
|
232
439
|
}()
|
|
233
440
|
}]);
|
|
234
441
|
return PermissionStoreTest;
|
|
235
|
-
}(_AbstractPermissionsTest["default"]), (0, _defineProperty2["default"])(_class2, "
|
|
442
|
+
}(_AbstractPermissionsTest["default"]), (0, _defineProperty2["default"])(_class2, "permissions", void 0), (0, _defineProperty2["default"])(_class2, "contractName1", void 0), (0, _defineProperty2["default"])(_class2, "contractName2", void 0), (0, _defineProperty2["default"])(_class2, "fqid1", void 0), (0, _defineProperty2["default"])(_class2, "fqid2", void 0), (0, _defineProperty2["default"])(_class2, "namespace", void 0), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "loadsNoLocalByDefault", [_dec], Object.getOwnPropertyDescriptor(_class, "loadsNoLocalByDefault"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "loadsOneContract", [_dec2], Object.getOwnPropertyDescriptor(_class, "loadsOneContract"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "loadsSecondContract", [_dec3], Object.getOwnPropertyDescriptor(_class, "loadsSecondContract"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "mixesInAllPermissions", [_dec4], Object.getOwnPropertyDescriptor(_class, "mixesInAllPermissions"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "passesThroughDependentSkills", [_dec5], Object.getOwnPropertyDescriptor(_class, "passesThroughDependentSkills"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "returnsDependencyMapFromRemoteContracts", [_dec6], Object.getOwnPropertyDescriptor(_class, "returnsDependencyMapFromRemoteContracts"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "connectsAsSkill", [_dec7], Object.getOwnPropertyDescriptor(_class, "connectsAsSkill"), _class)), _class));
|
|
236
443
|
exports["default"] = PermissionStoreTest;
|
|
237
|
-
function
|
|
238
|
-
return (
|
|
444
|
+
function buildPermissionContractId(contractId, namespace) {
|
|
445
|
+
return "".concat(namespace, ".").concat(contractId);
|
|
446
|
+
}
|
|
447
|
+
function generateContractBuilder() {
|
|
448
|
+
var contractId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'oeu-aoeuao';
|
|
449
|
+
var perm1Id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'what-the';
|
|
450
|
+
var perm2Id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'go-dogs';
|
|
451
|
+
return "import {\n buildPermissionContract\n} from '@sprucelabs/mercury-types'\n\nconst debeePermissions = buildPermissionContract({\n id: '".concat(contractId, "',\n name: 'debee',\n description: '',\n requireAllPermissions: false,\n permissions: [\n {\n id: '").concat(perm1Id, "',\n name: 'Can give high five',\n description: 'Will this person be allowed to high five?',\n defaults: {\n skill: false,\n },\n requireAllStatuses: false,\n },\n {\n id: '").concat(perm2Id, "',\n name: 'Can give high five',\n description: 'Will this person be allowed to high five?',\n defaults: {\n skill: false,\n },\n requireAllStatuses: false,\n }\n ]\n})\n\nexport default debeePermissions\n");
|
|
239
452
|
}
|
|
240
|
-
var contract1 = "import {\n buildPermissionContract\n} from '@sprucelabs/mercury-types'\n\nconst debeePermissions = buildPermissionContract({\n id: 'oeu-aoeuao',\n name: 'debee',\n description: '',\n requireAllPermissions: false,\n permissions: [\n {\n id: 'what-the',\n name: 'Can give high five',\n description: 'Will this person be allowed to high five?',\n defaults: {\n skill: false,\n },\n requireAllStatuses: false,\n },\n {\n id: 'go-dogs',\n name: 'Can give high five',\n description: 'Will this person be allowed to high five?',\n defaults: {\n skill: false,\n },\n requireAllStatuses: false,\n }\n ]\n})\n\nexport default debeePermissions\n";
|
|
241
453
|
//# sourceMappingURL=PermissionStore.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionStore.test.js","names":["PermissionStoreTest","test","contractName1","generateShortAlphaId","contractName2","permissions","Store","loadLocalPermissions","assert","isEqualDeep","createPermissionContract","assertLocalPermissionsEqual","file","resolvePath","diskUtil","writeFile","contract1","expected","perms","AbstractPermissionsTest","generateId","replace","substring"],"sources":["../../../../src/__tests__/behavioral/permissions/PermissionStore.test.ts"],"sourcesContent":["import { PermissionContractMap } from '@sprucelabs/mercury-types'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert, generateId } from '@sprucelabs/test-utils'\nimport PermissionStore from '../../../features/permission/stores/PermissionStore'\nimport AbstractPermissionsTest from './AbstractPermissionsTest'\n\nexport default class PermissionStoreTest extends AbstractPermissionsTest {\n\tprotected static skillCacheKey = 'permissions'\n\tprivate static permissions: PermissionStore\n\tprivate static contractName1: string\n\tprivate static contractName2: string\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tthis.contractName1 = generateShortAlphaId()\n\t\tthis.contractName2 = generateShortAlphaId()\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.permissions = this.Store('permission')\n\t}\n\n\t@test()\n\tprotected static async loadsNoLocalByDefault() {\n\t\tconst permissions = await this.loadLocalPermissions()\n\t\tassert.isEqualDeep(permissions, {})\n\t}\n\n\t@test()\n\tprotected static async loadsOneContract() {\n\t\tawait this.createPermissionContract(this.contractName1)\n\t\tawait this.assertLocalPermissionsEqual({\n\t\t\t[this.contractName1]: ['can-high-five'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async loadsSecondContract() {\n\t\tawait this.createPermissionContract(this.contractName2)\n\t\tawait this.assertLocalPermissionsEqual({\n\t\t\t[this.contractName1]: ['can-high-five'],\n\t\t\t[this.contractName2]: ['can-high-five'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async mixesInAllPermissions() {\n\t\tconst file = this.resolvePath(\n\t\t\t'src',\n\t\t\t'permissions',\n\t\t\t`${this.contractName1}.permissions.ts`\n\t\t)\n\t\tdiskUtil.writeFile(file, contract1)\n\n\t\tawait this.assertLocalPermissionsEqual({\n\t\t\t['oeu-aoeuao']: ['what-the', 'go-dogs'],\n\t\t\t[this.contractName2]: ['can-high-five'],\n\t\t})\n\t}\n\n\tprivate static async assertLocalPermissionsEqual(\n\t\texpected: PermissionContractMap\n\t) {\n\t\tconst perms = await this.loadLocalPermissions()\n\t\tassert.isEqualDeep(perms, expected)\n\t}\n\n\tprivate static async loadLocalPermissions() {\n\t\treturn await this.permissions.loadLocalPermissions()\n\t}\n}\nfunction generateShortAlphaId() {\n\treturn generateId().replace(/[0-9]/g, '').substring(0, 5)\n}\n\nconst contract1 = `import {\n buildPermissionContract\n} from '@sprucelabs/mercury-types'\n\nconst debeePermissions = buildPermissionContract({\n id: 'oeu-aoeuao',\n name: 'debee',\n description: '',\n requireAllPermissions: false,\n permissions: [\n {\n id: 'what-the',\n name: 'Can give high five',\n description: 'Will this person be allowed to high five?',\n defaults: {\n skill: false,\n },\n requireAllStatuses: false,\n },\n {\n id: 'go-dogs',\n name: 'Can give high five',\n description: 'Will this person be allowed to high five?',\n defaults: {\n skill: false,\n },\n requireAllStatuses: false,\n }\n ]\n})\n\nexport default debeePermissions\n`\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PermissionStore.test.js","names":["PermissionStoreTest","test","Service","getSkillNamespace","namespace","contractName1","generateShortAlphaId","fqid1","contractName2","contractId","fqid2","buildPermissionContractId","MercuryClientFactory","setIsTestMode","permissions","Store","eventFaker","fakeListPermissionContracts","loadLocalPermissions","assert","isEqualDeep","createPermissionContract","assertLocalPermissionsEqual","id","path","resolvePath","perm1Id","perm2Id","updateFirstContractBuilder","addRandomDependency","target","passedTarget","fetchContracts","namespaces","perm","generatePermValues","perm2","perm3","generateContractRowValues","contract","contract2","contractId2","map","old","connectToApi","bind","options","passedOptions","shouldAuthAsCurrentSkill","file","diskUtil","writeFile","generateContractBuilder","generateId","name","permissionId","defaults","dep","add","expected","perms","sort","sortPermissionContracts","AbstractPermissionsTest"],"sources":["../../../../src/__tests__/behavioral/permissions/PermissionStore.test.ts"],"sourcesContent":["import { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert, generateId } from '@sprucelabs/test-utils'\nimport PermissionStore, {\n\tImportedPermission,\n} from '../../../features/permission/stores/PermissionStore'\nimport { ApiClientFactoryOptions } from '../../../types/apiClient.types'\nimport { ListPermContractsTargetAndPayload } from '../../support/EventFaker'\nimport AbstractPermissionsTest from './support/AbstractPermissionsTest'\nimport generateShortAlphaId from './support/generateShortAlphaId'\nimport { sortPermissionContracts } from './support/sortPermissionContracts'\n\nexport default class PermissionStoreTest extends AbstractPermissionsTest {\n\tprivate static permissions: PermissionStore\n\tprivate static contractName1: string\n\tprivate static contractName2: string\n\tprivate static fqid1: string\n\tprivate static fqid2: string\n\tprivate static namespace: string\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tconst namespace = await this.Service('pkg').getSkillNamespace()\n\t\tthis.namespace = namespace\n\n\t\tthis.contractName1 = generateShortAlphaId()\n\t\tthis.fqid1 = `${namespace}.${this.contractName1}`\n\n\t\tthis.contractName2 = generateShortAlphaId()\n\t\tconst contractId = this.contractName2\n\t\tthis.fqid2 = buildPermissionContractId(contractId, namespace)\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tMercuryClientFactory.setIsTestMode(true)\n\t\tthis.permissions = this.Store('permission')\n\t\tawait this.eventFaker.fakeListPermissionContracts(() => {})\n\t}\n\n\t@test()\n\tprotected static async loadsNoLocalByDefault() {\n\t\tconst permissions = await this.loadLocalPermissions()\n\t\tassert.isEqualDeep(permissions, [])\n\t}\n\n\t@test()\n\tprotected static async loadsOneContract() {\n\t\tawait this.createPermissionContract(this.contractName1)\n\t\tawait this.assertLocalPermissionsEqual([\n\t\t\t{\n\t\t\t\tid: this.fqid1,\n\t\t\t\tpermissions: ['can-high-five'],\n\t\t\t\tpath: this.resolvePath(\n\t\t\t\t\t`src/permissions/${this.contractName1}.permissions.ts`\n\t\t\t\t),\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static async loadsSecondContract() {\n\t\tawait this.createPermissionContract(this.contractName2)\n\n\t\tawait this.assertLocalPermissionsEqual([\n\t\t\t{\n\t\t\t\tid: this.fqid2,\n\t\t\t\tpermissions: ['can-high-five'],\n\t\t\t\tpath: this.resolvePath(\n\t\t\t\t\t`src/permissions/${this.contractName2}.permissions.ts`\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: this.fqid1,\n\t\t\t\tpermissions: ['can-high-five'],\n\t\t\t\tpath: this.resolvePath(\n\t\t\t\t\t`src/permissions/${this.contractName1}.permissions.ts`\n\t\t\t\t),\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static async mixesInAllPermissions() {\n\t\tconst contractId = 'oeu-aoeuao'\n\t\tconst perm1Id = 'what-the'\n\t\tconst perm2Id = 'go-dogs'\n\n\t\tthis.updateFirstContractBuilder(contractId, perm1Id, perm2Id)\n\n\t\tawait this.assertLocalPermissionsEqual([\n\t\t\t{\n\t\t\t\tid: this.fqid2,\n\t\t\t\tpermissions: ['can-high-five'],\n\t\t\t\tpath: this.resolvePath(\n\t\t\t\t\t`src/permissions/${this.contractName2}.permissions.ts`\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: buildPermissionContractId(contractId, this.namespace),\n\t\t\t\tpermissions: [perm1Id, perm2Id],\n\t\t\t\tpath: this.resolvePath(\n\t\t\t\t\t`src/permissions/${this.contractName1}.permissions.ts`\n\t\t\t\t),\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static async passesThroughDependentSkills() {\n\t\tconst namespace = this.addRandomDependency()\n\n\t\tlet passedTarget: ListPermContractsTargetAndPayload['target']\n\n\t\tawait this.eventFaker.fakeListPermissionContracts(({ target }) => {\n\t\t\tpassedTarget = target\n\t\t})\n\n\t\tawait this.fetchContracts()\n\n\t\tassert.isEqualDeep(passedTarget, {\n\t\t\tnamespaces: [namespace],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async returnsDependencyMapFromRemoteContracts() {\n\t\tconst perm = this.generatePermValues()\n\t\tconst perm2 = this.generatePermValues()\n\t\tconst perm3 = this.generatePermValues()\n\n\t\tconst { contract, contractId } = this.generateContractRowValues([\n\t\t\tperm,\n\t\t\tperm2,\n\t\t])\n\n\t\tconst { contract: contract2, contractId: contractId2 } =\n\t\t\tthis.generateContractRowValues([perm3])\n\n\t\tawait this.eventFaker.fakeListPermissionContracts(() => {\n\t\t\treturn [contract, contract2]\n\t\t})\n\n\t\tconst map = await this.fetchContracts()\n\t\tassert.isEqualDeep(map, {\n\t\t\t[contractId]: [perm.id, perm2.id],\n\t\t\t[contractId2]: [perm3.id],\n\t\t\t[this.fqid2]: ['can-high-five'],\n\t\t\t[buildPermissionContractId('oeu-aoeuao', this.namespace)]: [\n\t\t\t\t'what-the',\n\t\t\t\t'go-dogs',\n\t\t\t],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async connectsAsSkill() {\n\t\tlet passedOptions: ApiClientFactoryOptions | undefined\n\n\t\t//@ts-ignore\n\t\tconst old = this.permissions.connectToApi.bind(this.permissions)\n\t\t//@ts-ignore\n\t\tthis.permissions.connectToApi = (options) => {\n\t\t\tpassedOptions = options\n\t\t\treturn old(passedOptions)\n\t\t}\n\n\t\tawait this.fetchContracts()\n\t\tassert.isEqualDeep(passedOptions, { shouldAuthAsCurrentSkill: true })\n\t}\n\n\tprivate static updateFirstContractBuilder(\n\t\tcontractId: string,\n\t\tperm1Id: string,\n\t\tperm2Id: string\n\t) {\n\t\tconst file = this.resolvePath(\n\t\t\t'src',\n\t\t\t'permissions',\n\t\t\t`${this.contractName1}.permissions.ts`\n\t\t)\n\t\tdiskUtil.writeFile(\n\t\t\tfile,\n\t\t\tgenerateContractBuilder(contractId, perm1Id, perm2Id)\n\t\t)\n\t}\n\n\tprivate static generateContractRowValues(\n\t\tpermissions: SpruceSchemas.Mercury.v2020_12_25.Permission[]\n\t) {\n\t\tconst contractId = generateId()\n\t\tconst contract = {\n\t\t\tid: generateId(),\n\t\t\tcontract: {\n\t\t\t\tid: contractId,\n\t\t\t\tname: generateId(),\n\t\t\t\tpermissions,\n\t\t\t},\n\t\t}\n\t\treturn { contract, contractId }\n\t}\n\n\tprivate static generatePermValues() {\n\t\tconst permissionId = generateId()\n\t\tconst perm = {\n\t\t\tid: permissionId,\n\t\t\tname: generateId(),\n\t\t\tdefaults: {},\n\t\t}\n\t\treturn perm\n\t}\n\n\tprivate static addRandomDependency() {\n\t\tconst dep = this.Service('dependency')\n\t\tconst namespace = generateId()\n\t\tdep.add({\n\t\t\tid: generateId(),\n\t\t\tnamespace,\n\t\t})\n\t\treturn namespace\n\t}\n\n\tprivate static async fetchContracts() {\n\t\treturn this.permissions.fetchContracts()\n\t}\n\n\tprivate static async assertLocalPermissionsEqual(\n\t\texpected: ImportedPermission[]\n\t) {\n\t\tconst perms = await this.loadLocalPermissions()\n\n\t\tperms.sort(sortPermissionContracts)\n\t\texpected.sort(sortPermissionContracts)\n\n\t\tassert.isEqualDeep(perms, expected)\n\t}\n\n\tprivate static async loadLocalPermissions() {\n\t\t//@ts-ignore\n\t\treturn await this.permissions.loadLocalPermissions()\n\t}\n}\n\nfunction buildPermissionContractId(\n\tcontractId: string,\n\tnamespace?: string\n): string {\n\treturn `${namespace}.${contractId}`\n}\n\nfunction generateContractBuilder(\n\tcontractId = 'oeu-aoeuao',\n\tperm1Id = 'what-the',\n\tperm2Id = 'go-dogs'\n) {\n\treturn `import {\n buildPermissionContract\n} from '@sprucelabs/mercury-types'\n\nconst debeePermissions = buildPermissionContract({\n id: '${contractId}',\n name: 'debee',\n description: '',\n requireAllPermissions: false,\n permissions: [\n {\n id: '${perm1Id}',\n name: 'Can give high five',\n description: 'Will this person be allowed to high five?',\n defaults: {\n skill: false,\n },\n requireAllStatuses: false,\n },\n {\n id: '${perm2Id}',\n name: 'Can give high five',\n description: 'Will this person be allowed to high five?',\n defaults: {\n skill: false,\n },\n requireAllStatuses: false,\n }\n ]\n})\n\nexport default debeePermissions\n`\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
|
+
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
17
|
+
var _testUtils = require("@sprucelabs/test-utils");
|
|
18
|
+
var _AbstractPermissionsTest = _interopRequireDefault(require("./support/AbstractPermissionsTest"));
|
|
19
|
+
var _dec, _class;
|
|
20
|
+
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); }; }
|
|
21
|
+
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; } }
|
|
22
|
+
var PermissionWriterTest = (_dec = (0, _testUtils.test)(), (_class = /*#__PURE__*/function (_AbstractPermissionsT) {
|
|
23
|
+
(0, _inherits2["default"])(PermissionWriterTest, _AbstractPermissionsT);
|
|
24
|
+
var _super = _createSuper(PermissionWriterTest);
|
|
25
|
+
function PermissionWriterTest() {
|
|
26
|
+
(0, _classCallCheck2["default"])(this, PermissionWriterTest);
|
|
27
|
+
return _super.apply(this, arguments);
|
|
28
|
+
}
|
|
29
|
+
(0, _createClass2["default"])(PermissionWriterTest, null, [{
|
|
30
|
+
key: "writesProperContractId",
|
|
31
|
+
value: function () {
|
|
32
|
+
var _writesProperContractId = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
33
|
+
var contractId, perm1, perm2;
|
|
34
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
35
|
+
while (1) {
|
|
36
|
+
switch (_context.prev = _context.next) {
|
|
37
|
+
case 0:
|
|
38
|
+
contractId = (0, _testUtils.generateId)();
|
|
39
|
+
perm1 = (0, _testUtils.generateId)();
|
|
40
|
+
perm2 = (0, _testUtils.generateId)();
|
|
41
|
+
_context.next = 5;
|
|
42
|
+
return this.writeTypesFile((0, _defineProperty2["default"])({}, contractId, [perm1, perm2]));
|
|
43
|
+
case 5:
|
|
44
|
+
_context.next = 7;
|
|
45
|
+
return this.writeTestFileAndAssertValid(contractId, perm1, perm2);
|
|
46
|
+
case 7:
|
|
47
|
+
case "end":
|
|
48
|
+
return _context.stop();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}, _callee, this);
|
|
52
|
+
}));
|
|
53
|
+
function writesProperContractId() {
|
|
54
|
+
return _writesProperContractId.apply(this, arguments);
|
|
55
|
+
}
|
|
56
|
+
return writesProperContractId;
|
|
57
|
+
}()
|
|
58
|
+
}, {
|
|
59
|
+
key: "writeTypesFile",
|
|
60
|
+
value: function () {
|
|
61
|
+
var _writeTypesFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(map) {
|
|
62
|
+
var writer;
|
|
63
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
64
|
+
while (1) {
|
|
65
|
+
switch (_context2.prev = _context2.next) {
|
|
66
|
+
case 0:
|
|
67
|
+
writer = this.writers.Writer('permission', {
|
|
68
|
+
fileDescriptions: []
|
|
69
|
+
});
|
|
70
|
+
_context2.next = 3;
|
|
71
|
+
return writer.writeTypesFile(this.cwd, map);
|
|
72
|
+
case 3:
|
|
73
|
+
case "end":
|
|
74
|
+
return _context2.stop();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}, _callee2, this);
|
|
78
|
+
}));
|
|
79
|
+
function writeTypesFile(_x) {
|
|
80
|
+
return _writeTypesFile.apply(this, arguments);
|
|
81
|
+
}
|
|
82
|
+
return writeTypesFile;
|
|
83
|
+
}()
|
|
84
|
+
}]);
|
|
85
|
+
return PermissionWriterTest;
|
|
86
|
+
}(_AbstractPermissionsTest["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "writesProperContractId", [_dec], Object.getOwnPropertyDescriptor(_class, "writesProperContractId"), _class)), _class));
|
|
87
|
+
exports["default"] = PermissionWriterTest;
|
|
88
|
+
//# sourceMappingURL=PermissionWriter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PermissionWriter.test.js","names":["PermissionWriterTest","test","contractId","generateId","perm1","perm2","writeTypesFile","writeTestFileAndAssertValid","map","writer","writers","Writer","fileDescriptions","cwd","AbstractPermissionsTest"],"sources":["../../../../src/__tests__/behavioral/permissions/PermissionWriter.test.ts"],"sourcesContent":["import { PermissionContractMap } from '@sprucelabs/mercury-types'\nimport { test, generateId } from '@sprucelabs/test-utils'\nimport AbstractPermissionsTest from './support/AbstractPermissionsTest'\n\nexport default class PermissionWriterTest extends AbstractPermissionsTest {\n\t@test()\n\tprotected static async writesProperContractId() {\n\t\tconst contractId = generateId()\n\t\tconst perm1 = generateId()\n\t\tconst perm2 = generateId()\n\n\t\tawait this.writeTypesFile({\n\t\t\t[contractId]: [perm1, perm2],\n\t\t})\n\n\t\tawait this.writeTestFileAndAssertValid(contractId, perm1, perm2)\n\t}\n\n\tprivate static async writeTypesFile(map: PermissionContractMap) {\n\t\tconst writer = this.writers.Writer('permission', { fileDescriptions: [] })\n\t\tawait writer.writeTypesFile(this.cwd, map)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AACA;AACA;AAAuE;AAAA;AAAA;AAAA,IAElDA,oBAAoB,WACvC,IAAAC,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,4GAAP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOC,UAAU,GAAG,IAAAC,qBAAU,GAAE;gBACzBC,KAAK,GAAG,IAAAD,qBAAU,GAAE;gBACpBE,KAAK,GAAG,IAAAF,qBAAU,GAAE;gBAAA;gBAAA,OAEpB,IAAI,CAACG,cAAc,sCACvBJ,UAAU,EAAG,CAACE,KAAK,EAAEC,KAAK,CAAC,EAC3B;cAAA;gBAAA;gBAAA,OAEI,IAAI,CAACE,2BAA2B,CAACL,UAAU,EAAEE,KAAK,EAAEC,KAAK,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAChE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,oGAED,kBAAoCG,GAA0B;QAAA;QAAA;UAAA;YAAA;cAAA;gBACvDC,MAAM,GAAG,IAAI,CAACC,OAAO,CAACC,MAAM,CAAC,YAAY,EAAE;kBAAEC,gBAAgB,EAAE;gBAAG,CAAC,CAAC;gBAAA;gBAAA,OACpEH,MAAM,CAACH,cAAc,CAAC,IAAI,CAACO,GAAG,EAAEL,GAAG,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC1C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAjBgDM,mCAAuB;AAAA"}
|
|
@@ -1,7 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default class SyncingPermissionsTest extends
|
|
3
|
-
|
|
4
|
-
private static
|
|
1
|
+
import AbstractPermissionsTest from './support/AbstractPermissionsTest';
|
|
2
|
+
export default class SyncingPermissionsTest extends AbstractPermissionsTest {
|
|
3
|
+
private static syncAction;
|
|
4
|
+
private static contractId1;
|
|
5
|
+
private static contractId2;
|
|
6
|
+
protected static beforeAll(): Promise<void>;
|
|
5
7
|
protected static beforeEach(): Promise<void>;
|
|
6
8
|
protected static generatesExpectedTypesFile(): Promise<void>;
|
|
9
|
+
protected static syncsNewPermissionsWhenMade(): Promise<void>;
|
|
10
|
+
protected static upgradingSyncsPermissions(): Promise<void>;
|
|
11
|
+
protected static doesNotSyncIfNotInstalled(): Promise<void>;
|
|
12
|
+
protected static generatesCombinedFile(): Promise<void>;
|
|
13
|
+
protected static combinedFileImportsAllPermissions(): Promise<void>;
|
|
14
|
+
private static getCombinedPath;
|
|
15
|
+
private static beginTrackingExecute;
|
|
16
|
+
private static sync;
|
|
17
|
+
private static emitDidExecuteUpgrade;
|
|
7
18
|
}
|