@sprucelabs/spruce-cli 18.3.0 → 18.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +2 -14
- 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/{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/PermissionStore.test.js +1 -0
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +1 -1
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +1 -0
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +53 -18
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
- 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/{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/{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/{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} +3 -3
- package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -0
- package/build/__tests__/support/EventFaker.d.ts +1 -1
- package/build/__tests__/support/EventFaker.js.map +1 -1
- package/build/features/eventContract/EventContractFeature.js +1 -4
- package/build/features/eventContract/EventContractFeature.js.map +1 -1
- package/build/features/eventContract/actions/PullAction.d.ts +1 -0
- package/build/features/eventContract/actions/PullAction.js +49 -8
- package/build/features/eventContract/actions/PullAction.js.map +1 -1
- package/build/features/permission/PermissionFeature.js +20 -12
- package/build/features/permission/PermissionFeature.js.map +1 -1
- package/build/features/permission/actions/SyncAction.d.ts +22 -3
- package/build/features/permission/actions/SyncAction.js +58 -16
- package/build/features/permission/actions/SyncAction.js.map +1 -1
- package/build/features/permission/stores/PermissionStore.d.ts +6 -2
- package/build/features/permission/stores/PermissionStore.js +25 -21
- package/build/features/permission/stores/PermissionStore.js.map +1 -1
- package/build/features/permission/writers/PermissionWriter.d.ts +1 -1
- package/build/features/permission/writers/PermissionWriter.js +2 -2
- package/build/features/permission/writers/PermissionWriter.js.map +1 -1
- package/build/features/view/actions/WatchAction.js +1 -1
- package/build/features/view/actions/WatchAction.js.map +1 -1
- package/node_modules/@typescript-eslint/parser/README.md +6 -300
- package/node_modules/@typescript-eslint/parser/dist/parser.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/parser/dist/parser.js +15 -17
- package/node_modules/@typescript-eslint/parser/dist/parser.js.map +1 -1
- package/node_modules/@typescript-eslint/parser/package.json +5 -5
- package/node_modules/@typescript-eslint/scope-manager/README.md +5 -117
- package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
- package/node_modules/@typescript-eslint/types/README.md +6 -11
- package/node_modules/@typescript-eslint/types/package.json +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/README.md +6 -379
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/{createWatchProgram.d.ts → getWatchProgramsForProjects.d.ts} +3 -4
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/index.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js +3 -3
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/{createWatchProgram.d.ts → getWatchProgramsForProjects.d.ts} +3 -4
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/{createWatchProgram.js → getWatchProgramsForProjects.js} +4 -5
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map +1 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/index.js +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/dist/index.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
- package/node_modules/@typescript-eslint/visitor-keys/README.md +6 -9
- package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
- package/package.json +22 -22
- package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +0 -5
- 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/{SyncingEventsOnlyFromDependencies.test.ts → events/SyncingEventsOnlyFromDependencies.test.ts} +2 -2
- package/src/__tests__/behavioral/permissions/PermissionStore.test.ts +2 -1
- package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +1 -0
- package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +21 -3
- package/src/__tests__/behavioral/{CreatingSchemasWithGenerics.test.ts → schemas/CreatingSchemasWithGenerics.test.ts} +2 -2
- 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/{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/{RegisteringSkillViewOnBoot.test.ts → views/RegisteringSkillViewOnBoot.test.ts} +2 -2
- package/src/__tests__/behavioral/{WatchingSkillViews.test.ts → views/WatchingSkillViews.test.ts} +4 -4
- package/src/__tests__/support/EventFaker.ts +1 -2
- package/src/features/eventContract/EventContractFeature.ts +1 -6
- package/src/features/eventContract/actions/PullAction.ts +21 -3
- package/src/features/permission/PermissionFeature.ts +7 -10
- package/src/features/permission/actions/SyncAction.ts +42 -5
- package/src/features/permission/stores/PermissionStore.ts +26 -12
- package/src/features/permission/writers/PermissionWriter.ts +2 -5
- package/src/features/view/actions/WatchAction.ts +1 -1
- 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/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts.map +0 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyncingEventsOnlyFromDependencies.test.js","names":["SyncingEventsOnlyFromDependenciesTest","test","skills","getSkillFixture","registerCurrentSkill","name","registerGlobalEvent","skill","Action","execute","results","assert","isFalsy","errors","eventFolder","resolveEventFolder","isFalse","diskUtil","doesDirExist","files","fsUtil","readdirSync","resolveHashSprucePath","isLength","isEqual","Service","add","id","namespace","slug","isTrue","namesUtil","toCamel","seedDemoSkill","registerEventContract","eventSignatures","isGlobal","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.ts"],"sourcesContent":["import { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport fsUtil from 'fs-extra'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport { RegisteredSkill } from '../../../types/cli.types'\n\nexport default class SyncingEventsOnlyFromDependenciesTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'events'\n\n\t@test()\n\tprotected static async doesntSyncAnythingButListenersToStart() {\n\t\tconst skills = this.getSkillFixture()\n\t\tawait skills.registerCurrentSkill({\n\t\t\tname: 'events in sync skill',\n\t\t})\n\t\tconst { skill } = await this.registerGlobalEvent()\n\n\t\tconst results = await this.Action('event', 'sync', {}).execute({})\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst eventFolder = this.resolveEventFolder(skill)\n\n\t\tassert.isFalse(diskUtil.doesDirExist(eventFolder))\n\n\t\tconst files = fsUtil.readdirSync(this.resolveHashSprucePath('events'))\n\n\t\tassert.isLength(files, 2, 'The wrong number of files were generated.')\n\t\tassert.isEqual(files[0], 'events.contract.ts')\n\t\tassert.isEqual(files[1], 'listeners.ts')\n\t}\n\n\t@test()\n\tprotected static async syncsEventsForSkillsWeveAddedAsDependencies() {\n\t\tconst { skill } = await this.registerGlobalEvent()\n\n\t\tthis.Service('dependency').add({\n\t\t\tid: skill.id,\n\t\t\tnamespace: skill.slug,\n\t\t})\n\n\t\tconst results = await this.Action('event', 'sync', {}).execute({})\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst eventFolder = this.resolveEventFolder(skill)\n\n\t\tassert.isTrue(diskUtil.doesDirExist(eventFolder))\n\n\t\tconst files = fsUtil.readdirSync(this.resolveHashSprucePath('events'))\n\n\t\tassert.isLength(files, 3, 'The wrong number of files were generated.')\n\t\tassert.isEqual(files[0], namesUtil.toCamel(skill.slug))\n\t\tassert.isEqual(files[1], 'events.contract.ts')\n\t\tassert.isEqual(files[2], 'listeners.ts')\n\t}\n\n\tprivate static async registerGlobalEvent() {\n\t\tconst skills = this.getSkillFixture()\n\n\t\tconst skill = await skills.seedDemoSkill({ name: 'a temp skill' })\n\n\t\tawait skills.registerEventContract(skill, {\n\t\t\teventSignatures: {\n\t\t\t\t'test-sync::v2021_01_01': {\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\treturn { skill }\n\t}\n\n\tprivate static resolveEventFolder(skill: RegisteredSkill) {\n\t\treturn this.resolveHashSprucePath('events', namesUtil.toCamel(skill.slug))\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -273,6 +273,7 @@ var PermissionStoreTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils
|
|
|
273
273
|
return this.fetchContracts();
|
|
274
274
|
case 9:
|
|
275
275
|
map = _context8.sent;
|
|
276
|
+
//@ts-ignore
|
|
276
277
|
_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
278
|
case 11:
|
|
278
279
|
case "end":
|
|
@@ -1 +1 @@
|
|
|
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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"}
|
|
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\tListPermContractsTargetAndPayload,\n} from '../../../features/permission/stores/PermissionStore'\nimport { ApiClientFactoryOptions } from '../../../types/apiClient.types'\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\t//@ts-ignore\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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"}
|
|
@@ -37,7 +37,7 @@ var PermissionWriterTest = (_dec = (0, _testUtils.test)(), (_class = /*#__PURE__
|
|
|
37
37
|
case 0:
|
|
38
38
|
contractId = (0, _testUtils.generateId)();
|
|
39
39
|
perm1 = (0, _testUtils.generateId)();
|
|
40
|
-
perm2 = (0, _testUtils.generateId)();
|
|
40
|
+
perm2 = (0, _testUtils.generateId)(); //@ts-ignore
|
|
41
41
|
_context.next = 5;
|
|
42
42
|
return this.writeTypesFile((0, _defineProperty2["default"])({}, contractId, [perm1, perm2]));
|
|
43
43
|
case 5:
|
|
@@ -1 +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,
|
|
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\t//@ts-ignore\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,EAE1B;gBAAA;gBAAA,OACM,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,EAlBgDM,mCAAuB;AAAA"}
|
|
@@ -11,6 +11,7 @@ export default class SyncingPermissionsTest extends AbstractPermissionsTest {
|
|
|
11
11
|
protected static doesNotSyncIfNotInstalled(): Promise<void>;
|
|
12
12
|
protected static generatesCombinedFile(): Promise<void>;
|
|
13
13
|
protected static combinedFileImportsAllPermissions(): Promise<void>;
|
|
14
|
+
protected static canSyncCorePermissions(): Promise<void>;
|
|
14
15
|
private static getCombinedPath;
|
|
15
16
|
private static beginTrackingExecute;
|
|
16
17
|
private static sync;
|
|
@@ -24,10 +24,10 @@ var _test = _interopRequireDefault(require("../../../tests/utilities/test.utilit
|
|
|
24
24
|
var _AbstractPermissionsTest = _interopRequireDefault(require("./support/AbstractPermissionsTest"));
|
|
25
25
|
var _generateShortAlphaId = _interopRequireDefault(require("./support/generateShortAlphaId"));
|
|
26
26
|
var _sortPermissionContracts = require("./support/sortPermissionContracts");
|
|
27
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _class2;
|
|
27
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _class2;
|
|
28
28
|
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); }; }
|
|
29
29
|
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; } }
|
|
30
|
-
var SyncingPermissionsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)(), _dec5 = (0, _testUtils.test)(), _dec6 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractPermissionsT) {
|
|
30
|
+
var SyncingPermissionsTest = (_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) {
|
|
31
31
|
(0, _inherits2["default"])(SyncingPermissionsTest, _AbstractPermissionsT);
|
|
32
32
|
var _super2 = _createSuper(SyncingPermissionsTest);
|
|
33
33
|
function SyncingPermissionsTest() {
|
|
@@ -285,6 +285,41 @@ var SyncingPermissionsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUt
|
|
|
285
285
|
}
|
|
286
286
|
return combinedFileImportsAllPermissions;
|
|
287
287
|
}()
|
|
288
|
+
}, {
|
|
289
|
+
key: "canSyncCorePermissions",
|
|
290
|
+
value: function () {
|
|
291
|
+
var _canSyncCorePermissions = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
|
|
292
|
+
var wasHit, passedTarget;
|
|
293
|
+
return _regenerator["default"].wrap(function _callee11$(_context11) {
|
|
294
|
+
while (1) {
|
|
295
|
+
switch (_context11.prev = _context11.next) {
|
|
296
|
+
case 0:
|
|
297
|
+
wasHit = false;
|
|
298
|
+
_context11.next = 3;
|
|
299
|
+
return this.eventFaker.fakeListPermissionContracts(function (targetAndPayload) {
|
|
300
|
+
passedTarget = targetAndPayload.target;
|
|
301
|
+
wasHit = true;
|
|
302
|
+
});
|
|
303
|
+
case 3:
|
|
304
|
+
_context11.next = 5;
|
|
305
|
+
return this.sync({
|
|
306
|
+
shouldSyncCorePermissions: true
|
|
307
|
+
});
|
|
308
|
+
case 5:
|
|
309
|
+
_testUtils.assert.isTrue(wasHit);
|
|
310
|
+
_testUtils.assert.isUndefined(passedTarget);
|
|
311
|
+
case 7:
|
|
312
|
+
case "end":
|
|
313
|
+
return _context11.stop();
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}, _callee11, this);
|
|
317
|
+
}));
|
|
318
|
+
function canSyncCorePermissions() {
|
|
319
|
+
return _canSyncCorePermissions.apply(this, arguments);
|
|
320
|
+
}
|
|
321
|
+
return canSyncCorePermissions;
|
|
322
|
+
}()
|
|
288
323
|
}, {
|
|
289
324
|
key: "getCombinedPath",
|
|
290
325
|
value: function getCombinedPath() {
|
|
@@ -298,23 +333,23 @@ var SyncingPermissionsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUt
|
|
|
298
333
|
}, {
|
|
299
334
|
key: "sync",
|
|
300
335
|
value: function () {
|
|
301
|
-
var _sync = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
302
|
-
return _regenerator["default"].wrap(function
|
|
336
|
+
var _sync = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12(options) {
|
|
337
|
+
return _regenerator["default"].wrap(function _callee12$(_context12) {
|
|
303
338
|
while (1) {
|
|
304
|
-
switch (
|
|
339
|
+
switch (_context12.prev = _context12.next) {
|
|
305
340
|
case 0:
|
|
306
|
-
|
|
307
|
-
return this.syncAction.execute();
|
|
341
|
+
_context12.next = 2;
|
|
342
|
+
return this.syncAction.execute(options);
|
|
308
343
|
case 2:
|
|
309
|
-
return
|
|
344
|
+
return _context12.abrupt("return", _context12.sent);
|
|
310
345
|
case 3:
|
|
311
346
|
case "end":
|
|
312
|
-
return
|
|
347
|
+
return _context12.stop();
|
|
313
348
|
}
|
|
314
349
|
}
|
|
315
|
-
},
|
|
350
|
+
}, _callee12, this);
|
|
316
351
|
}));
|
|
317
|
-
function sync() {
|
|
352
|
+
function sync(_x2) {
|
|
318
353
|
return _sync.apply(this, arguments);
|
|
319
354
|
}
|
|
320
355
|
return sync;
|
|
@@ -322,12 +357,12 @@ var SyncingPermissionsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUt
|
|
|
322
357
|
}, {
|
|
323
358
|
key: "emitDidExecuteUpgrade",
|
|
324
359
|
value: function () {
|
|
325
|
-
var _emitDidExecuteUpgrade = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
326
|
-
return _regenerator["default"].wrap(function
|
|
360
|
+
var _emitDidExecuteUpgrade = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee13() {
|
|
361
|
+
return _regenerator["default"].wrap(function _callee13$(_context13) {
|
|
327
362
|
while (1) {
|
|
328
|
-
switch (
|
|
363
|
+
switch (_context13.prev = _context13.next) {
|
|
329
364
|
case 0:
|
|
330
|
-
|
|
365
|
+
_context13.next = 2;
|
|
331
366
|
return this.emitter.emitAndFlattenResponses('feature.did-execute', {
|
|
332
367
|
actionCode: 'upgrade',
|
|
333
368
|
featureCode: 'node',
|
|
@@ -335,10 +370,10 @@ var SyncingPermissionsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUt
|
|
|
335
370
|
});
|
|
336
371
|
case 2:
|
|
337
372
|
case "end":
|
|
338
|
-
return
|
|
373
|
+
return _context13.stop();
|
|
339
374
|
}
|
|
340
375
|
}
|
|
341
|
-
},
|
|
376
|
+
}, _callee13, this);
|
|
342
377
|
}));
|
|
343
378
|
function emitDidExecuteUpgrade() {
|
|
344
379
|
return _emitDidExecuteUpgrade.apply(this, arguments);
|
|
@@ -347,7 +382,7 @@ var SyncingPermissionsTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUt
|
|
|
347
382
|
}()
|
|
348
383
|
}]);
|
|
349
384
|
return SyncingPermissionsTest;
|
|
350
|
-
}(_AbstractPermissionsTest["default"]), (0, _defineProperty2["default"])(_class2, "syncAction", void 0), (0, _defineProperty2["default"])(_class2, "contractId1", void 0), (0, _defineProperty2["default"])(_class2, "contractId2", void 0), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "generatesExpectedTypesFile", [_dec], Object.getOwnPropertyDescriptor(_class, "generatesExpectedTypesFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "syncsNewPermissionsWhenMade", [_dec2], Object.getOwnPropertyDescriptor(_class, "syncsNewPermissionsWhenMade"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "upgradingSyncsPermissions", [_dec3], Object.getOwnPropertyDescriptor(_class, "upgradingSyncsPermissions"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "doesNotSyncIfNotInstalled", [_dec4], Object.getOwnPropertyDescriptor(_class, "doesNotSyncIfNotInstalled"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesCombinedFile", [_dec5], Object.getOwnPropertyDescriptor(_class, "generatesCombinedFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "combinedFileImportsAllPermissions", [_dec6], Object.getOwnPropertyDescriptor(_class, "combinedFileImportsAllPermissions"), _class)), _class));
|
|
385
|
+
}(_AbstractPermissionsTest["default"]), (0, _defineProperty2["default"])(_class2, "syncAction", void 0), (0, _defineProperty2["default"])(_class2, "contractId1", void 0), (0, _defineProperty2["default"])(_class2, "contractId2", void 0), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "generatesExpectedTypesFile", [_dec], Object.getOwnPropertyDescriptor(_class, "generatesExpectedTypesFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "syncsNewPermissionsWhenMade", [_dec2], Object.getOwnPropertyDescriptor(_class, "syncsNewPermissionsWhenMade"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "upgradingSyncsPermissions", [_dec3], Object.getOwnPropertyDescriptor(_class, "upgradingSyncsPermissions"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "doesNotSyncIfNotInstalled", [_dec4], Object.getOwnPropertyDescriptor(_class, "doesNotSyncIfNotInstalled"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesCombinedFile", [_dec5], Object.getOwnPropertyDescriptor(_class, "generatesCombinedFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "combinedFileImportsAllPermissions", [_dec6], Object.getOwnPropertyDescriptor(_class, "combinedFileImportsAllPermissions"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canSyncCorePermissions", [_dec7], Object.getOwnPropertyDescriptor(_class, "canSyncCorePermissions"), _class)), _class));
|
|
351
386
|
exports["default"] = SyncingPermissionsTest;
|
|
352
387
|
var ExecuteTrackingAction = /*#__PURE__*/function (_SyncAction) {
|
|
353
388
|
(0, _inherits2["default"])(ExecuteTrackingAction, _SyncAction);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncingPermissions.test.js","names":["SyncingPermissionsTest","test","contractId1","generateShortAlphaId","contractId2","syncAction","Action","MercuryClientFactory","setIsTestMode","ExecuteTrackingAction","wasExecuteInvoked","eventFaker","fakeListPermissionContracts","sync","results","expected","resolveHashSprucePath","testUtil","assertFileByPathInGeneratedFiles","files","createPermissionContract","writeTestFileAndAssertValid","beginTrackingExecute","emitDidExecuteUpgrade","assert","isTrue","featureInstaller","isInstalled","code","isFalse","diskUtil","doesFileExist","getCombinedPath","Service","importDefault","imported","isEqualDeep","sort","sortPermissionContracts","id","name","description","requireAllPermissions","permissions","defaults","skill","requireAllStatuses","ActionFactory","setActionClass","execute","emitter","emitAndFlattenResponses","actionCode","featureCode","AbstractPermissionsTest","SyncAction"],"sources":["../../../../src/__tests__/behavioral/permissions/SyncingPermissions.test.ts"],"sourcesContent":["import { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { assert, test } from '@sprucelabs/test-utils'\nimport ActionFactory from '../../../features/ActionFactory'\nimport SyncAction from '../../../features/permission/actions/SyncAction'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport AbstractPermissionsTest from './support/AbstractPermissionsTest'\nimport generateShortAlphaId from './support/generateShortAlphaId'\nimport { sortPermissionContracts } from './support/sortPermissionContracts'\n\nexport default class SyncingPermissionsTest extends AbstractPermissionsTest {\n\tprivate static syncAction: SyncAction\n\tprivate static contractId1: string\n\tprivate static contractId2: string\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tthis.contractId1 = generateShortAlphaId()\n\t\tthis.contractId2 = generateShortAlphaId()\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.syncAction = this.Action('permission', 'sync')\n\t\tMercuryClientFactory.setIsTestMode(true)\n\t\tExecuteTrackingAction.wasExecuteInvoked = false\n\t\tawait this.eventFaker.fakeListPermissionContracts()\n\t}\n\n\t@test()\n\tprotected static async generatesExpectedTypesFile() {\n\t\tconst results = await this.sync()\n\n\t\tconst expected = this.resolveHashSprucePath(\n\t\t\t`permissions/permissions.types.ts`\n\t\t)\n\n\t\ttestUtil.assertFileByPathInGeneratedFiles(expected, results.files)\n\t}\n\n\t@test()\n\tprotected static async syncsNewPermissionsWhenMade() {\n\t\tawait this.createPermissionContract(this.contractId1)\n\t\tawait this.writeTestFileAndAssertValid(\n\t\t\t`testing-permissions.${this.contractId1}`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradingSyncsPermissions() {\n\t\tthis.beginTrackingExecute()\n\t\tawait this.emitDidExecuteUpgrade()\n\t\tassert.isTrue(ExecuteTrackingAction.wasExecuteInvoked)\n\t}\n\n\t@test()\n\tprotected static async doesNotSyncIfNotInstalled() {\n\t\tthis.beginTrackingExecute()\n\t\tthis.featureInstaller.isInstalled = async (code) => code === 'node'\n\n\t\tawait this.emitDidExecuteUpgrade()\n\t\tassert.isFalse(ExecuteTrackingAction.wasExecuteInvoked)\n\t}\n\n\t@test()\n\tprotected static async generatesCombinedFile() {\n\t\tassert.isTrue(diskUtil.doesFileExist(this.getCombinedPath()))\n\t}\n\n\t@test()\n\tprotected static async combinedFileImportsAllPermissions() {\n\t\tawait this.createPermissionContract(this.contractId2)\n\n\t\tconst imported = await this.Service('import').importDefault(\n\t\t\tthis.getCombinedPath()\n\t\t)\n\n\t\tassert.isEqualDeep(\n\t\t\timported.sort(sortPermissionContracts),\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tid: this.contractId1,\n\t\t\t\t\tname: this.contractId1,\n\t\t\t\t\tdescription: '',\n\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'can-high-five',\n\t\t\t\t\t\t\tname: 'Can give high five',\n\t\t\t\t\t\t\tdescription: 'Will this person be allowed to high five?',\n\t\t\t\t\t\t\tdefaults: { skill: false },\n\t\t\t\t\t\t\trequireAllStatuses: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: this.contractId2,\n\t\t\t\t\tname: this.contractId2,\n\t\t\t\t\tdescription: '',\n\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'can-high-five',\n\t\t\t\t\t\t\tname: 'Can give high five',\n\t\t\t\t\t\t\tdescription: 'Will this person be allowed to high five?',\n\t\t\t\t\t\t\tdefaults: { skill: false },\n\t\t\t\t\t\t\trequireAllStatuses: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t].sort(sortPermissionContracts)\n\t\t)\n\t}\n\n\tprivate static getCombinedPath() {\n\t\treturn this.resolveHashSprucePath('permissions', 'permissions.ts')\n\t}\n\n\tprivate static beginTrackingExecute() {\n\t\tActionFactory.setActionClass('permission', 'sync', ExecuteTrackingAction)\n\t}\n\n\tprivate static async sync() {\n\t\treturn await this.syncAction.execute()\n\t}\n\n\tprivate static async emitDidExecuteUpgrade() {\n\t\tawait this.emitter.emitAndFlattenResponses('feature.did-execute', {\n\t\t\tactionCode: 'upgrade',\n\t\t\tfeatureCode: 'node',\n\t\t\tresults: {},\n\t\t})\n\t}\n}\n\nclass ExecuteTrackingAction extends SyncAction {\n\tpublic static wasExecuteInvoked = false\n\tpublic async execute() {\n\t\tExecuteTrackingAction.wasExecuteInvoked = true\n\t\treturn {}\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SyncingPermissions.test.js","names":["SyncingPermissionsTest","test","contractId1","generateShortAlphaId","contractId2","syncAction","Action","MercuryClientFactory","setIsTestMode","ExecuteTrackingAction","wasExecuteInvoked","eventFaker","fakeListPermissionContracts","sync","results","expected","resolveHashSprucePath","testUtil","assertFileByPathInGeneratedFiles","files","createPermissionContract","writeTestFileAndAssertValid","beginTrackingExecute","emitDidExecuteUpgrade","assert","isTrue","featureInstaller","isInstalled","code","isFalse","diskUtil","doesFileExist","getCombinedPath","Service","importDefault","imported","isEqualDeep","sort","sortPermissionContracts","id","name","description","requireAllPermissions","permissions","defaults","skill","requireAllStatuses","wasHit","targetAndPayload","passedTarget","target","shouldSyncCorePermissions","isUndefined","ActionFactory","setActionClass","options","execute","emitter","emitAndFlattenResponses","actionCode","featureCode","AbstractPermissionsTest","SyncAction"],"sources":["../../../../src/__tests__/behavioral/permissions/SyncingPermissions.test.ts"],"sourcesContent":["import { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { assert, test } from '@sprucelabs/test-utils'\nimport ActionFactory from '../../../features/ActionFactory'\nimport SyncAction, {\n\tSyncPermissionsOptions,\n} from '../../../features/permission/actions/SyncAction'\nimport { ListPermContractsTargetAndPayload } from '../../../features/permission/stores/PermissionStore'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport AbstractPermissionsTest from './support/AbstractPermissionsTest'\nimport generateShortAlphaId from './support/generateShortAlphaId'\nimport { sortPermissionContracts } from './support/sortPermissionContracts'\n\nexport default class SyncingPermissionsTest extends AbstractPermissionsTest {\n\tprivate static syncAction: SyncAction\n\tprivate static contractId1: string\n\tprivate static contractId2: string\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tthis.contractId1 = generateShortAlphaId()\n\t\tthis.contractId2 = generateShortAlphaId()\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.syncAction = this.Action('permission', 'sync')\n\t\tMercuryClientFactory.setIsTestMode(true)\n\t\tExecuteTrackingAction.wasExecuteInvoked = false\n\t\tawait this.eventFaker.fakeListPermissionContracts()\n\t}\n\n\t@test()\n\tprotected static async generatesExpectedTypesFile() {\n\t\tconst results = await this.sync()\n\n\t\tconst expected = this.resolveHashSprucePath(\n\t\t\t`permissions/permissions.types.ts`\n\t\t)\n\n\t\ttestUtil.assertFileByPathInGeneratedFiles(expected, results.files)\n\t}\n\n\t@test()\n\tprotected static async syncsNewPermissionsWhenMade() {\n\t\tawait this.createPermissionContract(this.contractId1)\n\t\tawait this.writeTestFileAndAssertValid(\n\t\t\t`testing-permissions.${this.contractId1}`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradingSyncsPermissions() {\n\t\tthis.beginTrackingExecute()\n\t\tawait this.emitDidExecuteUpgrade()\n\t\tassert.isTrue(ExecuteTrackingAction.wasExecuteInvoked)\n\t}\n\n\t@test()\n\tprotected static async doesNotSyncIfNotInstalled() {\n\t\tthis.beginTrackingExecute()\n\t\tthis.featureInstaller.isInstalled = async (code) => code === 'node'\n\n\t\tawait this.emitDidExecuteUpgrade()\n\t\tassert.isFalse(ExecuteTrackingAction.wasExecuteInvoked)\n\t}\n\n\t@test()\n\tprotected static async generatesCombinedFile() {\n\t\tassert.isTrue(diskUtil.doesFileExist(this.getCombinedPath()))\n\t}\n\n\t@test()\n\tprotected static async combinedFileImportsAllPermissions() {\n\t\tawait this.createPermissionContract(this.contractId2)\n\n\t\tconst imported = await this.Service('import').importDefault(\n\t\t\tthis.getCombinedPath()\n\t\t)\n\n\t\tassert.isEqualDeep(\n\t\t\timported.sort(sortPermissionContracts),\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tid: this.contractId1,\n\t\t\t\t\tname: this.contractId1,\n\t\t\t\t\tdescription: '',\n\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'can-high-five',\n\t\t\t\t\t\t\tname: 'Can give high five',\n\t\t\t\t\t\t\tdescription: 'Will this person be allowed to high five?',\n\t\t\t\t\t\t\tdefaults: { skill: false },\n\t\t\t\t\t\t\trequireAllStatuses: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: this.contractId2,\n\t\t\t\t\tname: this.contractId2,\n\t\t\t\t\tdescription: '',\n\t\t\t\t\trequireAllPermissions: false,\n\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'can-high-five',\n\t\t\t\t\t\t\tname: 'Can give high five',\n\t\t\t\t\t\t\tdescription: 'Will this person be allowed to high five?',\n\t\t\t\t\t\t\tdefaults: { skill: false },\n\t\t\t\t\t\t\trequireAllStatuses: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t].sort(sortPermissionContracts)\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async canSyncCorePermissions() {\n\t\tlet wasHit = false\n\t\tlet passedTarget: ListPermContractsTargetAndPayload['target']\n\n\t\tawait this.eventFaker.fakeListPermissionContracts((targetAndPayload) => {\n\t\t\tpassedTarget = targetAndPayload.target\n\t\t\twasHit = true\n\t\t})\n\n\t\tawait this.sync({ shouldSyncCorePermissions: true })\n\t\tassert.isTrue(wasHit)\n\t\tassert.isUndefined(passedTarget)\n\t}\n\n\tprivate static getCombinedPath() {\n\t\treturn this.resolveHashSprucePath('permissions', 'permissions.ts')\n\t}\n\n\tprivate static beginTrackingExecute() {\n\t\tActionFactory.setActionClass('permission', 'sync', ExecuteTrackingAction)\n\t}\n\n\tprivate static async sync(options?: SyncPermissionsOptions) {\n\t\treturn await this.syncAction.execute(options)\n\t}\n\n\tprivate static async emitDidExecuteUpgrade() {\n\t\tawait this.emitter.emitAndFlattenResponses('feature.did-execute', {\n\t\t\tactionCode: 'upgrade',\n\t\t\tfeatureCode: 'node',\n\t\t\tresults: {},\n\t\t})\n\t}\n}\n\nclass ExecuteTrackingAction extends SyncAction {\n\tpublic static wasExecuteInvoked = false\n\tpublic async execute() {\n\t\tExecuteTrackingAction.wasExecuteInvoked = true\n\t\treturn {}\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AbstractSchemaTest from '
|
|
1
|
+
import AbstractSchemaTest from '../../../tests/AbstractSchemaTest';
|
|
2
2
|
export default class CreatingSchemasWithGenericsTest extends AbstractSchemaTest {
|
|
3
3
|
protected static schemaImportsLocalImports(): Promise<void>;
|
|
4
4
|
}
|
|
@@ -15,8 +15,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
15
15
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
16
16
|
var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
|
|
17
17
|
var _testUtils = require("@sprucelabs/test-utils");
|
|
18
|
-
var _AbstractSchemaTest2 = _interopRequireDefault(require("
|
|
19
|
-
var _test = _interopRequireDefault(require("
|
|
18
|
+
var _AbstractSchemaTest2 = _interopRequireDefault(require("../../../tests/AbstractSchemaTest"));
|
|
19
|
+
var _test = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
|
|
20
20
|
var _dec, _class;
|
|
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":"CreatingSchemasWithGenerics.test.js","names":["CreatingSchemasWithGenericsTest","test","installSchemaFeature","source","resolveTestPath","destination","resolvePath","diskUtil","copyDir","Action","execute","results","assert","isFalsy","errors","isTruthy","files","match","testUtil","assertFileByNameInGeneratedFiles","contents","readFile","doesInclude","assertValidActionResponseFiles","AbstractSchemaTest"],"sources":["../../../../src/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport AbstractSchemaTest from '../../../tests/AbstractSchemaTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingSchemasWithGenericsTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async schemaImportsLocalImports() {\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst source = this.resolveTestPath('schemas_with_suffix')\n\n\t\tconst destination = this.resolvePath('src', 'schemas')\n\n\t\tawait diskUtil.copyDir(source, destination)\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTruthy(results.files)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'schemas.types.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\t\tassert.doesInclude(contents, '<Type extends string = string>')\n\t\tassert.doesInclude(contents, '<Type2 extends string = string>')\n\t\tassert.doesInclude(contents, '<Type>')\n\t\tassert.doesInclude(contents, \"typedByGeneric'?: (Type2)| undefined | null\")\n\n\t\tawait this.assertValidActionResponseFiles(results)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAA4D;AAAA;AAAA;AAAA,IAEvCA,+BAA+B,WAClD,IAAAC,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,+GAAP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACC,oBAAoB,CAAC,SAAS,CAAC;cAAA;gBAEpCC,MAAM,GAAG,IAAI,CAACC,eAAe,CAAC,qBAAqB,CAAC;gBAEpDC,WAAW,GAAG,IAAI,CAACC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC;gBAAA;gBAAA,OAEhDC,0BAAQ,CAACC,OAAO,CAACL,MAAM,EAAEE,WAAW,CAAC;cAAA;gBAAA;gBAAA,OAErB,IAAI,CAACI,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;cAAA;gBAAzDC,OAAO;gBAEbC,iBAAM,CAACC,OAAO,CAACF,OAAO,CAACG,MAAM,CAAC;gBAC9BF,iBAAM,CAACG,QAAQ,CAACJ,OAAO,CAACK,KAAK,CAAC;gBAExBC,KAAK,GAAGC,gBAAQ,CAACC,gCAAgC,CACtD,kBAAkB,EAClBR,OAAO,CAACK,KAAK,CACb;gBAEKI,QAAQ,GAAGb,0BAAQ,CAACc,QAAQ,CAACJ,KAAK,CAAC;gBACzCL,iBAAM,CAACU,WAAW,CAACF,QAAQ,EAAE,gCAAgC,CAAC;gBAC9DR,iBAAM,CAACU,WAAW,CAACF,QAAQ,EAAE,iCAAiC,CAAC;gBAC/DR,iBAAM,CAACU,WAAW,CAACF,QAAQ,EAAE,QAAQ,CAAC;gBACtCR,iBAAM,CAACU,WAAW,CAACF,QAAQ,EAAE,6CAA6C,CAAC;gBAAA;gBAAA,OAErE,IAAI,CAACG,8BAA8B,CAACZ,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA5B2Da,+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; } }
|