@sprucelabs/spruce-cli 18.3.0 → 18.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/__tests__/behavioral/events/EventWriter.test.d.ts +4 -0
  3. package/build/__tests__/behavioral/events/EventWriter.test.js +116 -0
  4. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -0
  5. package/build/__tests__/behavioral/{ListeningToCoreEvents.test.d.ts → events/ListeningToCoreEvents.test.d.ts} +1 -1
  6. package/build/__tests__/behavioral/{ListeningToCoreEvents.test.js → events/ListeningToCoreEvents.test.js} +1 -1
  7. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -0
  8. package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.d.ts → events/RegisteringEventsOnBoot.test.d.ts} +1 -1
  9. package/build/__tests__/behavioral/{RegisteringEventsOnBoot.test.js → events/RegisteringEventsOnBoot.test.js} +2 -2
  10. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -0
  11. package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.d.ts → events/RegisteringGlobalEvents.test.d.ts} +2 -3
  12. package/build/__tests__/behavioral/{RegisteringGlobalEvents.test.js → events/RegisteringGlobalEvents.test.js} +45 -70
  13. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -0
  14. package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.d.ts → events/SyncingEventsOnlyFromDependencies.test.d.ts} +1 -1
  15. package/build/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.js → events/SyncingEventsOnlyFromDependencies.test.js} +1 -1
  16. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -0
  17. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +1 -0
  18. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  19. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +1 -1
  20. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
  21. package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.d.ts → schemas/CreatingSchemasWithGenerics.test.d.ts} +1 -1
  22. package/build/__tests__/behavioral/{CreatingSchemasWithGenerics.test.js → schemas/CreatingSchemasWithGenerics.test.js} +2 -2
  23. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -0
  24. package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.d.ts → schemas/SettingUpSchemasForModuleDistribution.test.d.ts} +1 -1
  25. package/build/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.js → schemas/SettingUpSchemasForModuleDistribution.test.js} +3 -3
  26. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -0
  27. package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.d.ts → skill/InstallingASkillAtAnOrg.test.d.ts} +1 -1
  28. package/build/__tests__/behavioral/{InstallingASkillAtAnOrg.test.js → skill/InstallingASkillAtAnOrg.test.js} +2 -2
  29. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -0
  30. package/build/__tests__/behavioral/{LoggingInAsASkill.test.d.ts → skill/LoggingInAsASkill.test.d.ts} +1 -1
  31. package/build/__tests__/behavioral/{LoggingInAsASkill.test.js → skill/LoggingInAsASkill.test.js} +2 -2
  32. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -0
  33. package/build/__tests__/behavioral/{RebuildingASkill.test.d.ts → skill/RebuildingASkill.test.d.ts} +1 -1
  34. package/build/__tests__/behavioral/{RebuildingASkill.test.js → skill/RebuildingASkill.test.js} +2 -2
  35. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -0
  36. package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.d.ts → tests/SettingUpASkillForTesting.test.d.ts} +1 -1
  37. package/build/__tests__/behavioral/{SettingUpASkillForTesting.test.js → tests/SettingUpASkillForTesting.test.js} +2 -2
  38. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -0
  39. package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.d.ts → tests/TestReporterSettingsRemembered.test.d.ts} +1 -1
  40. package/build/__tests__/behavioral/{TestReporterSettingsRemembered.test.js → tests/TestReporterSettingsRemembered.test.js} +1 -1
  41. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -0
  42. package/build/__tests__/behavioral/{TestingDataStores.test.d.ts → tests/TestingDataStores.test.d.ts} +1 -1
  43. package/build/__tests__/behavioral/{TestingDataStores.test.js → tests/TestingDataStores.test.js} +3 -3
  44. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -0
  45. package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.d.ts → views/RegisteringSkillViewOnBoot.test.d.ts} +4 -4
  46. package/build/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.js → views/RegisteringSkillViewOnBoot.test.js} +2 -2
  47. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -0
  48. package/build/__tests__/behavioral/{WatchingSkillViews.test.d.ts → views/WatchingSkillViews.test.d.ts} +1 -1
  49. package/build/__tests__/behavioral/{WatchingSkillViews.test.js → views/WatchingSkillViews.test.js} +2 -2
  50. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -0
  51. package/build/features/permission/PermissionFeature.js +1 -3
  52. package/build/features/permission/PermissionFeature.js.map +1 -1
  53. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  54. package/build/features/permission/writers/PermissionWriter.d.ts +1 -1
  55. package/build/features/permission/writers/PermissionWriter.js +2 -2
  56. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  57. package/package.json +22 -22
  58. package/src/__tests__/behavioral/events/EventWriter.test.ts +75 -0
  59. package/src/__tests__/behavioral/{ListeningToCoreEvents.test.ts → events/ListeningToCoreEvents.test.ts} +1 -1
  60. package/src/__tests__/behavioral/{RegisteringEventsOnBoot.test.ts → events/RegisteringEventsOnBoot.test.ts} +2 -2
  61. package/src/__tests__/behavioral/{RegisteringGlobalEvents.test.ts → events/RegisteringGlobalEvents.test.ts} +4 -12
  62. package/src/__tests__/behavioral/{SyncingEventsOnlyFromDependencies.test.ts → events/SyncingEventsOnlyFromDependencies.test.ts} +2 -2
  63. package/src/__tests__/behavioral/permissions/PermissionStore.test.ts +1 -0
  64. package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +1 -0
  65. package/src/__tests__/behavioral/{CreatingSchemasWithGenerics.test.ts → schemas/CreatingSchemasWithGenerics.test.ts} +2 -2
  66. package/src/__tests__/behavioral/{SettingUpSchemasForModuleDistribution.test.ts → schemas/SettingUpSchemasForModuleDistribution.test.ts} +4 -4
  67. package/src/__tests__/behavioral/{InstallingASkillAtAnOrg.test.ts → skill/InstallingASkillAtAnOrg.test.ts} +2 -2
  68. package/src/__tests__/behavioral/{LoggingInAsASkill.test.ts → skill/LoggingInAsASkill.test.ts} +3 -3
  69. package/src/__tests__/behavioral/{RebuildingASkill.test.ts → skill/RebuildingASkill.test.ts} +2 -2
  70. package/src/__tests__/behavioral/{SettingUpASkillForTesting.test.ts → tests/SettingUpASkillForTesting.test.ts} +2 -2
  71. package/src/__tests__/behavioral/{TestReporterSettingsRemembered.test.ts → tests/TestReporterSettingsRemembered.test.ts} +2 -2
  72. package/src/__tests__/behavioral/{TestingDataStores.test.ts → tests/TestingDataStores.test.ts} +3 -3
  73. package/src/__tests__/behavioral/{RegisteringSkillViewOnBoot.test.ts → views/RegisteringSkillViewOnBoot.test.ts} +2 -2
  74. package/src/__tests__/behavioral/{WatchingSkillViews.test.ts → views/WatchingSkillViews.test.ts} +3 -3
  75. package/src/features/permission/PermissionFeature.ts +5 -3
  76. package/src/features/permission/stores/PermissionStore.ts +1 -1
  77. package/src/features/permission/writers/PermissionWriter.ts +2 -5
  78. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +0 -1
  79. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +0 -1
  80. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +0 -1
  81. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +0 -1
  82. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +0 -1
  83. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +0 -1
  84. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +0 -1
  85. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +0 -1
  86. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +0 -1
  87. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +0 -1
  88. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +0 -1
  89. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +0 -1
  90. package/build/__tests__/behavioral/TestingDataStores.test.js.map +0 -1
  91. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +0 -1
@@ -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} 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\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,OAEpB,IAAI,CAACG,cAAc,sCACvBJ,UAAU,EAAG,CAACE,KAAK,EAAEC,KAAK,CAAC,EAC3B;cAAA;gBAAA;gBAAA,OAEI,IAAI,CAACE,2BAA2B,CAACL,UAAU,EAAEE,KAAK,EAAEC,KAAK,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAChE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,oGAED,kBAAoCG,GAA0B;QAAA;QAAA;UAAA;YAAA;cAAA;gBACvDC,MAAM,GAAG,IAAI,CAACC,OAAO,CAACC,MAAM,CAAC,YAAY,EAAE;kBAAEC,gBAAgB,EAAE;gBAAG,CAAC,CAAC;gBAAA;gBAAA,OACpEH,MAAM,CAACH,cAAc,CAAC,IAAI,CAACO,GAAG,EAAEL,GAAG,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC1C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAjBgDM,mCAAuB;AAAA"}
1
+ {"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"}
@@ -1,4 +1,4 @@
1
- import AbstractSchemaTest from '../../tests/AbstractSchemaTest';
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("../../tests/AbstractSchemaTest"));
19
- var _test = _interopRequireDefault(require("../../tests/utilities/test.utility"));
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 '../../tests/AbstractSkillTest';
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("../../templateItemBuilders/SchemaTemplateItemBuilder"));
20
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
21
- var _test = _interopRequireDefault(require("../../tests/utilities/test.utility"));
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 '../../tests/AbstractCliTest';
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("../../tests/AbstractCliTest"));
20
- var _constants = require("../../tests/constants");
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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"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class LoggingInAsASkillTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  private static skill1;
@@ -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("../../tests/AbstractSkillTest"));
20
- var _constants = require("../../tests/constants");
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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"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
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>;
@@ -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("../../services/CommandService"));
19
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
18
+ var _CommandService = _interopRequireDefault(require("../../../services/CommandService"));
19
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
20
20
  var _dec, _dec2, _dec3, _class, _class2;
21
21
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
22
22
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RebuildingASkill.test.js","names":["RebuildingASkillTest","test","assert","isFunction","Action","execute","CommandService","fakeCommand","code","shouldPlayGames","results","isFalsy","errors","isArray","errorAssert","assertError","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/skill/RebuildingASkill.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport CommandService from '../../../services/CommandService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\n\nexport default class RebuildingASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\n\t@test()\n\tprotected static async hasRebuildCommand() {\n\t\tassert.isFunction(this.Action('skill', 'rebuild').execute)\n\t}\n\n\t@test()\n\tprotected static async runsExpectedCommand() {\n\t\tCommandService.fakeCommand('yarn rebuild', { code: 0 })\n\n\t\tconst results = await this.Action('skill', 'rebuild').execute({\n\t\t\tshouldPlayGames: false,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async handlesError() {\n\t\tCommandService.fakeCommand('yarn rebuild', { code: 1 })\n\n\t\tconst results = await this.Action('skill', 'rebuild').execute({\n\t\t\tshouldPlayGames: false,\n\t\t})\n\n\t\tassert.isArray(results.errors)\n\n\t\terrorAssert.assertError(results.errors[0], 'EXECUTING_COMMAND_FAILED')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAEA;AACA;AAAgE;AAAA;AAAA;AAAA,IAE3CA,oBAAoB,WAGvC,IAAAC,eAAI,GAAE,UAKN,IAAAA,eAAI,GAAE,UAWN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,uGAhBP;QAAA;UAAA;YAAA;cAAA;gBAECC,iBAAM,CAACC,UAAU,CAAC,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAACC,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC1D;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,yGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAECC,0BAAc,CAACC,WAAW,CAAC,cAAc,EAAE;kBAAEC,IAAI,EAAE;gBAAE,CAAC,CAAC;gBAAA;gBAAA,OAEjC,IAAI,CAACJ,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAACC,OAAO,CAAC;kBAC7DI,eAAe,EAAE;gBAClB,CAAC,CAAC;cAAA;gBAFIC,OAAO;gBAIbR,iBAAM,CAACS,OAAO,CAACD,OAAO,CAACE,MAAM,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC9B;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,kGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAECN,0BAAc,CAACC,WAAW,CAAC,cAAc,EAAE;kBAAEC,IAAI,EAAE;gBAAE,CAAC,CAAC;gBAAA;gBAAA,OAEjC,IAAI,CAACJ,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAACC,OAAO,CAAC;kBAC7DI,eAAe,EAAE;gBAClB,CAAC,CAAC;cAAA;gBAFIC,OAAO;gBAIbR,iBAAM,CAACW,OAAO,CAACH,OAAO,CAACE,MAAM,CAAC;gBAE9BE,sBAAW,CAACC,WAAW,CAACL,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA9BgDI,8BAAiB,8DACjC,QAAQ;AAAA"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class SettingUpASkillForTestingTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  protected static skillSlug: string;
@@ -15,8 +15,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
17
17
  var _testUtils = require("@sprucelabs/test-utils");
18
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
19
- var _constants = require("../../tests/constants");
18
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
19
+ var _constants = require("../../../tests/constants");
20
20
  var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2;
21
21
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
22
22
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingUpASkillForTesting.test.js","names":["SettingUpASkillForTestingTest","test","assert","isFunction","Action","execute","demoNumber","DEMO_NUMBER","skillSlug","results","isFalsy","errors","auth","Service","person","getLoggedInPerson","isTruthy","skill","getCurrentSkill","isEqual","slug","updateCurrentSkill","fail","AbstractSkillTest","Date","getTime"],"sources":["../../../../src/__tests__/behavioral/tests/SettingUpASkillForTesting.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport { DEMO_NUMBER } from '../../../tests/constants'\n\nexport default class SettingUpASkillForTestingTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'tests'\n\tprotected static skillSlug = `test-skill-${new Date().getTime()}`\n\n\t@test()\n\tprotected static async hasSetupAction() {\n\t\tassert.isFunction(this.Action('test', 'setup').execute)\n\t}\n\n\t@test()\n\tprotected static async logsInAsDemoPerson() {\n\t\tconst results = await this.Action('test', 'setup').execute({\n\t\t\tdemoNumber: DEMO_NUMBER,\n\t\t\tskillSlug: this.skillSlug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst auth = this.Service('auth')\n\t\tconst person = auth.getLoggedInPerson()\n\n\t\tassert.isTruthy(person)\n\t}\n\n\t@test()\n\tprotected static async registersCurrentSkill() {\n\t\tconst auth = this.Service('auth')\n\t\tconst skill = auth.getCurrentSkill()\n\n\t\tassert.isTruthy(skill)\n\t}\n\n\t@test()\n\tprotected static async canRunAgainWithoutError() {\n\t\tconst results = await this.Action('test', 'setup').execute({\n\t\t\tdemoNumber: DEMO_NUMBER,\n\t\t\tskillSlug: this.skillSlug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst auth = this.Service('auth')\n\t\tconst skill = auth.getCurrentSkill()\n\n\t\tassert.isEqual(skill?.slug, this.skillSlug)\n\t}\n\n\t@test()\n\tprotected static async canCorrectInvalidAuth() {\n\t\tconst auth = this.Service('auth')\n\t\t//@ts-ignore\n\t\tauth.updateCurrentSkill({ fail: true })\n\n\t\tconst results = await this.Action('test', 'setup').execute({\n\t\t\tdemoNumber: DEMO_NUMBER,\n\t\t\tskillSlug: this.skillSlug,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst skill = auth.getCurrentSkill()\n\n\t\tassert.isEqual(skill?.slug, this.skillSlug)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAAsD;AAAA;AAAA;AAAA,IAEjCA,6BAA6B,WAIhD,IAAAC,eAAI,GAAE,UAKN,IAAAA,eAAI,GAAE,UAeN,IAAAA,eAAI,GAAE,UAQN,IAAAA,eAAI,GAAE,UAeN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,oGA3CP;QAAA;UAAA;YAAA;cAAA;gBAECC,iBAAM,CAACC,UAAU,CAAC,IAAI,CAACC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAACC,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACvD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,wGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,IAAI,CAACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAACC,OAAO,CAAC;kBAC1DC,UAAU,EAAEC,sBAAW;kBACvBC,SAAS,EAAE,IAAI,CAACA;gBACjB,CAAC,CAAC;cAAA;gBAHIC,OAAO;gBAKbP,iBAAM,CAACQ,OAAO,CAACD,OAAO,CAACE,MAAM,CAAC;gBAExBC,IAAI,GAAG,IAAI,CAACC,OAAO,CAAC,MAAM,CAAC;gBAC3BC,MAAM,GAAGF,IAAI,CAACG,iBAAiB,EAAE;gBAEvCb,iBAAM,CAACc,QAAQ,CAACF,MAAM,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACvB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOF,IAAI,GAAG,IAAI,CAACC,OAAO,CAAC,MAAM,CAAC;gBAC3BI,KAAK,GAAGL,IAAI,CAACM,eAAe,EAAE;gBAEpChB,iBAAM,CAACc,QAAQ,CAACC,KAAK,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,6GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,IAAI,CAACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAACC,OAAO,CAAC;kBAC1DC,UAAU,EAAEC,sBAAW;kBACvBC,SAAS,EAAE,IAAI,CAACA;gBACjB,CAAC,CAAC;cAAA;gBAHIC,OAAO;gBAKbP,iBAAM,CAACQ,OAAO,CAACD,OAAO,CAACE,MAAM,CAAC;gBAExBC,IAAI,GAAG,IAAI,CAACC,OAAO,CAAC,MAAM,CAAC;gBAC3BI,KAAK,GAAGL,IAAI,CAACM,eAAe,EAAE;gBAEpChB,iBAAM,CAACiB,OAAO,CAACF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG,IAAI,EAAE,IAAI,CAACZ,SAAS,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC3C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOI,IAAI,GAAG,IAAI,CAACC,OAAO,CAAC,MAAM,CAAC,EACjC;gBACAD,IAAI,CAACS,kBAAkB,CAAC;kBAAEC,IAAI,EAAE;gBAAK,CAAC,CAAC;gBAAA;gBAAA,OAEjB,IAAI,CAAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAACC,OAAO,CAAC;kBAC1DC,UAAU,EAAEC,sBAAW;kBACvBC,SAAS,EAAE,IAAI,CAACA;gBACjB,CAAC,CAAC;cAAA;gBAHIC,OAAO;gBAKbP,iBAAM,CAACQ,OAAO,CAACD,OAAO,CAACE,MAAM,CAAC;gBAExBM,KAAK,GAAGL,IAAI,CAACM,eAAe,EAAE;gBAEpChB,iBAAM,CAACiB,OAAO,CAACF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG,IAAI,EAAE,IAAI,CAACZ,SAAS,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC3C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EA/DyDe,8BAAiB,8DAC1C,OAAO,+EACG,IAAIC,IAAI,EAAE,CAACC,OAAO,EAAE;AAAA"}
@@ -1,4 +1,4 @@
1
- import AbstractTestTest from '../../tests/AbstractTestTest';
1
+ import AbstractTestTest from '../../../tests/AbstractTestTest';
2
2
  export default class TestReporterSettingsRememberedTest extends AbstractTestTest {
3
3
  protected static emptyToMakeThingsPassForSomeReason(): void;
4
4
  protected static watchSettingsRemembered(): Promise<void>;
@@ -14,7 +14,7 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
14
14
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
15
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
16
16
  var _testUtils = require("@sprucelabs/test-utils");
17
- var _AbstractTestTest2 = _interopRequireDefault(require("../../tests/AbstractTestTest"));
17
+ var _AbstractTestTest2 = _interopRequireDefault(require("../../../tests/AbstractTestTest"));
18
18
  var _dec, _dec2, _dec3, _class;
19
19
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
20
20
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestReporterSettingsRemembered.test.js","names":["TestReporterSettingsRememberedTest","test","FeatureFixture","installCachedFeatures","settings","Service","set","action","Action","execute","shouldReturnImmediately","shouldReportWhileRunning","results","meta","assert","isTruthy","isEqual","getWatchMode","kill","promise","isUndefined","get","setWatchMode","AbstractTestTest"],"sources":["../../../../src/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport TestAction from '../../../features/test/actions/TestAction'\nimport AbstractTestTest from '../../../tests/AbstractTestTest'\n\nexport default class TestReporterSettingsRememberedTest extends AbstractTestTest {\n\t@test()\n\tprotected static emptyToMakeThingsPassForSomeReason() {}\n\n\t@test()\n\tprotected static async watchSettingsRemembered() {\n\t\tawait this.FeatureFixture().installCachedFeatures('tests')\n\t\tconst settings = this.Service('settings')\n\n\t\tsettings.set('test.watchMode', 'smart')\n\n\t\tconst action = this.Action('test', 'test')\n\n\t\tconst results = await action.execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tconst meta = (results as any).meta\n\t\tconst test = meta.test as TestAction\n\n\t\tassert.isTruthy(test)\n\n\t\tassert.isEqual(test.getWatchMode(), 'smart')\n\t\ttest.kill()\n\n\t\tawait meta.promise\n\t}\n\n\t@test()\n\tprotected static async watchSettingsSaved() {\n\t\tawait this.FeatureFixture().installCachedFeatures('tests')\n\n\t\tconst action = this.Action('test', 'test')\n\n\t\tconst results = await action.execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tconst meta = (results as any).meta\n\t\tconst test = meta.test as TestAction\n\n\t\tconst settings = this.Service('settings')\n\t\tassert.isUndefined(settings.get('test.watchMode'))\n\n\t\ttest.setWatchMode('smart')\n\n\t\tassert.isEqual(test.getWatchMode(), 'smart')\n\n\t\ttest.kill()\n\n\t\tawait meta.promise\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAEA;AAA8D;AAAA;AAAA;AAAA,IAEzCA,kCAAkC,WACrD,IAAAC,eAAI,GAAE,UAGN,IAAAA,eAAI,GAAE,UAyBN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA,OA5BP,8CACsD,CAAC;EAAC;IAAA;IAAA;MAAA,6GAExD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACC,cAAc,EAAE,CAACC,qBAAqB,CAAC,OAAO,CAAC;cAAA;gBACpDC,QAAQ,GAAG,IAAI,CAACC,OAAO,CAAC,UAAU,CAAC;gBAEzCD,QAAQ,CAACE,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC;gBAEjCC,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;gBAAA;gBAAA,OAEpBD,MAAM,CAACE,OAAO,CAAC;kBACpCC,uBAAuB,EAAE,IAAI;kBAC7BC,wBAAwB,EAAE;gBAC3B,CAAC,CAAC;cAAA;gBAHIC,OAAO;gBAKPC,IAAI,GAAID,OAAO,CAASC,IAAI;gBAC5BZ,IAAI,GAAGY,IAAI,CAACZ,IAAI;gBAEtBa,iBAAM,CAACC,QAAQ,CAACd,IAAI,CAAC;gBAErBa,iBAAM,CAACE,OAAO,CAACf,IAAI,CAACgB,YAAY,EAAE,EAAE,OAAO,CAAC;gBAC5ChB,IAAI,CAACiB,IAAI,EAAE;gBAAA;gBAAA,OAELL,IAAI,CAACM,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,wGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEO,IAAI,CAACjB,cAAc,EAAE,CAACC,qBAAqB,CAAC,OAAO,CAAC;cAAA;gBAEpDI,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;gBAAA;gBAAA,OAEpBD,MAAM,CAACE,OAAO,CAAC;kBACpCC,uBAAuB,EAAE,IAAI;kBAC7BC,wBAAwB,EAAE;gBAC3B,CAAC,CAAC;cAAA;gBAHIC,OAAO;gBAKPC,IAAI,GAAID,OAAO,CAASC,IAAI;gBAC5BZ,IAAI,GAAGY,IAAI,CAACZ,IAAI;gBAEhBG,QAAQ,GAAG,IAAI,CAACC,OAAO,CAAC,UAAU,CAAC;gBACzCS,iBAAM,CAACM,WAAW,CAAChB,QAAQ,CAACiB,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAElDpB,IAAI,CAACqB,YAAY,CAAC,OAAO,CAAC;gBAE1BR,iBAAM,CAACE,OAAO,CAACf,IAAI,CAACgB,YAAY,EAAE,EAAE,OAAO,CAAC;gBAE5ChB,IAAI,CAACiB,IAAI,EAAE;gBAAA;gBAAA,OAELL,IAAI,CAACM,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAClB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EArD8DI,6BAAgB;AAAA"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class TestingDataStoresTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  protected static cantSelectAbstractStoreIfStoreFeatureNotInstalled(): Promise<void>;
@@ -16,9 +16,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
16
16
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
17
17
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
18
18
  var _testUtils = require("@sprucelabs/test-utils");
19
- var _LintService = _interopRequireDefault(require("../../services/LintService"));
20
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
21
- var _test = _interopRequireDefault(require("../../tests/utilities/test.utility"));
19
+ var _LintService = _interopRequireDefault(require("../../../services/LintService"));
20
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
21
+ var _test = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
22
22
  var _dec, _dec2, _class, _class2;
23
23
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
24
24
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestingDataStores.test.js","names":["TestingDataStoresTest","test","storeFeature","cli","getFeature","isInstalled","Action","execute","type","nameReadable","nameCamel","namePascal","waitForInput","last","ui","getLastInvocation","assert","isTruthy","options","choices","doesInclude","label","reset","LintService","enableLinting","promise","selectOptionBasedOnLabel","results","isFalsy","errors","match","testUtil","assertFileByNameInGeneratedFiles","files","contents","diskUtil","readFile","Service","build","shouldReportWhileRunning","testResults","isArray","isLength","first","message","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/tests/TestingDataStores.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport LintService from '../../../services/LintService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class TestingDataStoresTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'storesWithTests'\n\n\t@test()\n\tprotected static async cantSelectAbstractStoreIfStoreFeatureNotInstalled() {\n\t\tconst storeFeature = this.cli.getFeature('store')\n\n\t\tstoreFeature.isInstalled = async () => false\n\n\t\tvoid this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.isTruthy(last.options.options.choices)\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractStoreTest (requires install)',\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async letsYouSelectAbstractStoreTest() {\n\t\tLintService.enableLinting()\n\t\tthis.cli.getFeature('store').isInstalled = async () => true\n\n\t\tconst promise = this.Action('test', 'create').execute({\n\t\t\ttype: 'behavioral',\n\t\t\tnameReadable: 'Can book appointment',\n\t\t\tnameCamel: 'canBookAppointment',\n\t\t\tnamePascal: 'CanBookAppointment',\n\t\t})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.isTruthy(last.options.options.choices)\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel: 'AbstractStoreTest',\n\t\t})\n\n\t\tawait this.selectOptionBasedOnLabel('AbstractStoreTest')\n\n\t\tconst results = await promise\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'CanBookAppointment.test.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'CanBookAppointmentTest extends AbstractStoreTest'\n\t\t)\n\n\t\tawait this.Service('build').build()\n\n\t\tconst testResults = await this.Action('test', 'test').execute({\n\t\t\tshouldReportWhileRunning: false,\n\t\t})\n\n\t\tassert.isArray(testResults.errors)\n\t\tassert.isLength(testResults.errors, 1)\n\n\t\tconst first = testResults.errors[0]\n\n\t\tassert.doesInclude(first.message, 'does not equal')\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class RegisteringSkillViewOnBootTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  protected static noEventsToStart(): Promise<void>;
@@ -7,9 +7,9 @@ export default class RegisteringSkillViewOnBootTest extends AbstractSkillTest {
7
7
  private static bootSkill;
8
8
  private static buildSkill;
9
9
  protected static registerCurrentSkillAndInstallToOrg(): Promise<{
10
- skillFixture: import("../../tests/fixtures/SkillFixture").default;
11
- currentSkill: import("../../types/cli.types").RegisteredSkill;
10
+ skillFixture: import("../../../tests/fixtures/SkillFixture").default;
11
+ currentSkill: import("../../../types/cli.types").RegisteredSkill;
12
12
  org: import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false>>;
13
- orgFixture: import("../../tests/fixtures/OrganizationFixture").default;
13
+ orgFixture: import("../../../tests/fixtures/OrganizationFixture").default;
14
14
  }>;
15
15
  }
@@ -15,8 +15,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
17
17
  var _testUtils = require("@sprucelabs/test-utils");
18
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
19
- var _constants = require("../../tests/constants");
18
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
19
+ var _constants = require("../../../tests/constants");
20
20
  var _dec, _dec2, _class, _class2;
21
21
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
22
22
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisteringSkillViewOnBoot.test.js","names":["RegisteringSkillViewOnBootTest","test","registerAndBootSkill","Store","fetchSkillViews","skillViews","assert","isFalsy","Action","execute","viewType","isRoot","buildSkill","bootSkill","results","errors","isTruthy","registerCurrentSkillAndInstallToOrg","boot","meta","kill","Service","build","people","loginAsDemoPerson","DEMO_NUMBER_VIEWS_ON_BOOT","skillFixture","getSkillFixture","orgFixture","getOrganizationFixture","seedDemoOrg","name","org","registerCurrentSkill","skill","installSkillAtOrganization","id","currentSkill","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport { DEMO_NUMBER_VIEWS_ON_BOOT } from '../../../tests/constants'\n\nexport default class RegisteringSkillViewOnBootTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\n\t@test()\n\tprotected static async noEventsToStart() {\n\t\tawait this.registerAndBootSkill()\n\n\t\tconst skillViews = await this.Store('view').fetchSkillViews()\n\n\t\tassert.isFalsy(skillViews)\n\t}\n\n\t@test()\n\tprotected static async syncsViewsOnBoot() {\n\t\tawait this.Action('view', 'create').execute({\n\t\t\tviewType: 'skillView',\n\t\t\tisRoot: true,\n\t\t})\n\n\t\tawait this.buildSkill()\n\n\t\tconst results = await this.bootSkill()\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst skillViews = await this.Store('view').fetchSkillViews()\n\n\t\tassert.isTruthy(skillViews, 'Skill views were not registered on boot!')\n\t}\n\n\tprotected static async registerAndBootSkill() {\n\t\tawait this.registerCurrentSkillAndInstallToOrg()\n\t\tawait this.buildSkill()\n\n\t\tconst results = await this.bootSkill()\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\tprivate static async bootSkill() {\n\t\tconst boot = await this.Action('skill', 'boot').execute({})\n\t\tboot.meta?.kill()\n\t\treturn boot\n\t}\n\n\tprivate static async buildSkill() {\n\t\tawait this.Service('build').build()\n\t}\n\n\tprotected static async registerCurrentSkillAndInstallToOrg() {\n\t\tawait this.people.loginAsDemoPerson(DEMO_NUMBER_VIEWS_ON_BOOT)\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tconst orgFixture = this.getOrganizationFixture()\n\n\t\tconst org = await orgFixture.seedDemoOrg({ name: 'my org' })\n\n\t\tconst skill = await skillFixture.registerCurrentSkill({\n\t\t\tname: 'current skill',\n\t\t})\n\n\t\tawait orgFixture.installSkillAtOrganization(skill.id, org.id)\n\n\t\treturn { skillFixture, currentSkill: skill, org, orgFixture }\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class WatchingSkillViewsTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  protected static oldBootExecute: any;
@@ -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 _CommandService = _interopRequireDefault(require("../../services/CommandService"));
20
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
19
+ var _CommandService = _interopRequireDefault(require("../../../services/CommandService"));
20
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
21
21
  var _dec, _dec2, _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":"WatchingSkillViews.test.js","names":["WatchingSkillViewsTest","test","action","Action","assert","isFunction","execute","wasHit","CommandService","fakeCommand","code","callback","wait","isTrue","AbstractSkillTest"],"sources":["../../../../src/__tests__/behavioral/views/WatchingSkillViews.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport WatchAction from '../../../features/view/actions/WatchAction'\nimport CommandService from '../../../services/CommandService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\n\nexport default class WatchingSkillViewsTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'views'\n\tprotected static oldBootExecute: any\n\tprivate static action: WatchAction\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.action = this.Action('view', 'watch')\n\t}\n\n\t@test()\n\tprotected static async hasWatchSkillViewsEvent() {\n\t\tassert.isFunction(this.action.execute)\n\t}\n\n\t@test()\n\tprotected static async shouldCallBoot() {\n\t\tlet wasHit = false\n\t\tCommandService.fakeCommand(\n\t\t\t'ENABLED_SKILL_FEATURES=view,event SHOULD_WATCH_VIEWS=true MAXIMUM_LOG_PREFIXES_LENGTH=0 yarn boot',\n\t\t\t{\n\t\t\t\tcode: 200,\n\t\t\t\tcallback: () => {\n\t\t\t\t\twasHit = true\n\t\t\t\t},\n\t\t\t}\n\t\t)\n\n\t\tvoid this.action.execute()\n\n\t\tawait this.wait(10)\n\n\t\tassert.isTrue(wasHit)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAEA;AACA;AAAgE;AAAA;AAAA;AAAA,IAE3CA,sBAAsB,WAUzC,IAAAC,eAAI,GAAE,UAKN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,gGAVP;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;cAAA;gBAEC,IAAI,CAACC,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAC1C;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,6GAED;QAAA;UAAA;YAAA;cAAA;gBAECC,iBAAM,CAACC,UAAU,CAAC,IAAI,CAACH,MAAM,CAACI,OAAO,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACtC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,oGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEKC,MAAM,GAAG,KAAK;gBAClBC,0BAAc,CAACC,WAAW,CACzB,mGAAmG,EACnG;kBACCC,IAAI,EAAE,GAAG;kBACTC,QAAQ,EAAE,oBAAM;oBACfJ,MAAM,GAAG,IAAI;kBACd;gBACD,CAAC,CACD;gBAED,KAAK,IAAI,CAACL,MAAM,CAACI,OAAO,EAAE;gBAAA;gBAAA,OAEpB,IAAI,CAACM,IAAI,CAAC,EAAE,CAAC;cAAA;gBAEnBR,iBAAM,CAACS,MAAM,CAACN,MAAM,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACrB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAjCkDO,8BAAiB,8DACnC,OAAO;AAAA"}
@@ -126,9 +126,7 @@ var PermissionFeature = /*#__PURE__*/function (_AbstractFeature) {
126
126
  switch (_context3.prev = _context3.next) {
127
127
  case 0:
128
128
  _context3.next = 2;
129
- return this.writer.writeTypesFile(this.cwd, {
130
- contracts: []
131
- });
129
+ return this.writer.writeTypesFile(this.cwd, {});
132
130
  case 2:
133
131
  return _context3.abrupt("return", _context3.sent);
134
132
  case 3: