@sprucelabs/spruce-cli 15.2.6 → 15.2.9

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 (120) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/build/__tests__/behavioral/AddingADependency.test.js +2 -2
  3. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  4. package/build/__tests__/behavioral/BlockingCommands.test.js +2 -2
  5. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  6. package/build/__tests__/behavioral/DeployingASkill.test.js +10 -10
  7. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  8. package/build/__tests__/behavioral/DeployingToSandbox.test.js +1 -1
  9. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  10. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +5 -5
  11. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  12. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +2 -2
  13. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  14. package/build/__tests__/behavioral/LoggingInAsASkill.test.js +2 -2
  15. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  16. package/build/__tests__/behavioral/RebuildingASkill.test.js +1 -1
  17. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  18. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +1 -1
  19. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  20. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +1 -1
  21. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  22. package/build/__tests__/behavioral/TestingAConversation.test.js +1 -1
  23. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  24. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +1 -1
  25. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  26. package/build/__tests__/behavioral/events/CreatingAListener.test.js +2 -2
  27. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  28. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +1 -1
  29. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  30. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +2 -2
  31. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  32. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +1 -1
  33. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  34. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +1 -1
  35. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  36. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +4 -10
  37. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  38. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +6 -12
  39. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  40. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +1 -1
  41. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  42. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +1 -1
  43. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  44. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +2 -2
  45. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  46. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +1 -1
  47. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  48. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +1 -1
  49. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  50. package/build/__tests__/behavioral/tests/RunningTests.test.js +1 -1
  51. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  52. package/build/__tests__/behavioral/tests/SettingUpTests.test.js +1 -1
  53. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  54. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +1 -1
  55. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  56. package/build/__tests__/behavioral/views/CreatingATheme.test.js +1 -1
  57. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  58. package/build/__tests__/implementation/ActionExecuter.test.js +3 -9
  59. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  60. package/build/__tests__/implementation/ActionExecuter3.test.js +1 -1
  61. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  62. package/build/__tests__/implementation/ActionExecuter4.test.js +1 -1
  63. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  64. package/build/__tests__/implementation/BulkImporting.test.js +3 -3
  65. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  66. package/build/__tests__/implementation/DataStoreStore.test.js +2 -2
  67. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  68. package/build/__tests__/implementation/EventStore.test.js +2 -2
  69. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  70. package/build/__tests__/implementation/SchemaStore.test.js +8 -14
  71. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  72. package/build/__tests__/implementation/SettingUpANodeModule.test.js +1 -1
  73. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  74. package/build/__tests__/implementation/SkillStore.test.js +4 -4
  75. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  76. package/build/__tests__/implementation/TestRunner.test.js +1 -1
  77. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  78. package/build/features/schema/stores/SchemaStore.d.ts +16 -0
  79. package/build/features/schema/stores/SchemaStore.js +21 -10
  80. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  81. package/package.json +33 -33
  82. package/src/__tests__/behavioral/AddingADependency.test.ts +3 -3
  83. package/src/__tests__/behavioral/BlockingCommands.test.ts +3 -3
  84. package/src/__tests__/behavioral/DeployingASkill.test.ts +11 -11
  85. package/src/__tests__/behavioral/DeployingToSandbox.test.ts +2 -2
  86. package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +6 -6
  87. package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +3 -3
  88. package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +3 -3
  89. package/src/__tests__/behavioral/RebuildingASkill.test.ts +2 -2
  90. package/src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts +2 -2
  91. package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +2 -2
  92. package/src/__tests__/behavioral/TestingAConversation.test.ts +1 -1
  93. package/src/__tests__/behavioral/errors/SettingUpErrors.test.ts +2 -2
  94. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +3 -3
  95. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +2 -2
  96. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +3 -3
  97. package/src/__tests__/behavioral/person/LoggingInAsPerson.test.ts +2 -2
  98. package/src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts +2 -2
  99. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +1 -1
  100. package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +4 -4
  101. package/src/__tests__/behavioral/schemas/SettingUpSchemas.test.ts +2 -2
  102. package/src/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.ts +2 -2
  103. package/src/__tests__/behavioral/skill/RegisteringASkill.test.ts +3 -3
  104. package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +2 -2
  105. package/src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts +2 -2
  106. package/src/__tests__/behavioral/tests/RunningTests.test.ts +2 -2
  107. package/src/__tests__/behavioral/tests/SettingUpTests.test.ts +2 -2
  108. package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +2 -2
  109. package/src/__tests__/behavioral/views/CreatingATheme.test.ts +2 -2
  110. package/src/__tests__/implementation/ActionExecuter.test.ts +1 -1
  111. package/src/__tests__/implementation/ActionExecuter3.test.ts +2 -2
  112. package/src/__tests__/implementation/ActionExecuter4.test.ts +2 -2
  113. package/src/__tests__/implementation/BulkImporting.test.ts +4 -4
  114. package/src/__tests__/implementation/DataStoreStore.test.ts +3 -3
  115. package/src/__tests__/implementation/EventStore.test.ts +3 -3
  116. package/src/__tests__/implementation/SchemaStore.test.ts +6 -6
  117. package/src/__tests__/implementation/SettingUpANodeModule.test.ts +2 -2
  118. package/src/__tests__/implementation/SkillStore.test.ts +5 -5
  119. package/src/__tests__/implementation/TestRunner.test.ts +2 -2
  120. package/src/features/schema/stores/SchemaStore.ts +35 -3
@@ -166,7 +166,7 @@ var LoggingInAsASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
166
166
 
167
167
  _test.assert.isLength(results.errors, 1);
168
168
 
169
- _testUtils.errorAssertUtil.assertError(results.errors[0], 'NO_SKILLS_REGISTERED');
169
+ _testUtils.errorAssert.assertError(results.errors[0], 'NO_SKILLS_REGISTERED');
170
170
 
171
171
  case 8:
172
172
  case "end":
@@ -343,7 +343,7 @@ var LoggingInAsASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
343
343
 
344
344
  _test.assert.isTruthy(results.errors);
345
345
 
346
- _testUtils.errorAssertUtil.assertError(results.errors[0], 'SKILL_NOT_FOUND');
346
+ _testUtils.errorAssert.assertError(results.errors[0], 'SKILL_NOT_FOUND');
347
347
 
348
348
  case 7:
349
349
  case "end":
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/behavioral/LoggingInAsASkill.test.ts"],"names":["LoggingInAsASkillTest","people","loginAsDemoPerson","process","env","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","errorAssertUtil","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"],"mappings":"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","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\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(process.env.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\terrorAssertUtil.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\tprocess.env.DEMO_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\terrorAssertUtil.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"],"file":"LoggingInAsASkill.test.js"}
1
+ {"version":3,"sources":["../../../src/__tests__/behavioral/LoggingInAsASkill.test.ts"],"names":["LoggingInAsASkillTest","people","loginAsDemoPerson","process","env","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"],"mappings":"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","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\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(process.env.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\tprocess.env.DEMO_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"],"file":"LoggingInAsASkill.test.js"}
@@ -133,7 +133,7 @@ var RebuildingASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
133
133
 
134
134
  _test.assert.isArray(results.errors);
135
135
 
136
- _testUtils.errorAssertUtil.assertError(results.errors[0], 'EXECUTING_COMMAND_FAILED');
136
+ _testUtils.errorAssert.assertError(results.errors[0], 'EXECUTING_COMMAND_FAILED');
137
137
 
138
138
  case 6:
139
139
  case "end":
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/behavioral/RebuildingASkill.test.ts"],"names":["RebuildingASkillTest","assert","isFunction","Action","execute","CommandService","setMockResponse","code","shouldPlayGames","results","isFalsy","errors","isArray","errorAssertUtil","assertError","AbstractSkillTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,oB,WAGnB,iB,UAKA,iB,UAWA,iB;;;;;;;;;;;;;6GAhBD;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,SAArB,EAAgCC,OAAlD;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAECC,2CAAeC,eAAf,CAA+B,cAA/B,EAA+C;AAAEC,kBAAAA,IAAI,EAAE;AAAR,iBAA/C;;AAFD;AAAA,uBAIuB,KAAKJ,MAAL,CAAY,OAAZ,EAAqB,SAArB,EAAgCC,OAAhC,CAAwC;AAC7DI,kBAAAA,eAAe,EAAE;AAD4C,iBAAxC,CAJvB;;AAAA;AAIOC,gBAAAA,OAJP;;AAQCR,6BAAOS,OAAP,CAAeD,OAAO,CAACE,MAAvB;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wGAWA;AAAA;AAAA;AAAA;AAAA;AAAA;AAECN,2CAAeC,eAAf,CAA+B,cAA/B,EAA+C;AAAEC,kBAAAA,IAAI,EAAE;AAAR,iBAA/C;;AAFD;AAAA,uBAIuB,KAAKJ,MAAL,CAAY,OAAZ,EAAqB,SAArB,EAAgCC,OAAhC,CAAwC;AAC7DI,kBAAAA,eAAe,EAAE;AAD4C,iBAAxC,CAJvB;;AAAA;AAIOC,gBAAAA,OAJP;;AAQCR,6BAAOW,OAAP,CAAeH,OAAO,CAACE,MAAvB;;AAEAE,2CAAgBC,WAAhB,CAA4BL,OAAO,CAACE,MAAR,CAAe,CAAf,CAA5B,EAA+C,0BAA/C;;AAVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAnBiDI,8B,8DAChB,Q","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } 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.setMockResponse('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.setMockResponse('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\terrorAssertUtil.assertError(results.errors[0], 'EXECUTING_COMMAND_FAILED')\n\t}\n}\n"],"file":"RebuildingASkill.test.js"}
1
+ {"version":3,"sources":["../../../src/__tests__/behavioral/RebuildingASkill.test.ts"],"names":["RebuildingASkillTest","assert","isFunction","Action","execute","CommandService","setMockResponse","code","shouldPlayGames","results","isFalsy","errors","isArray","errorAssert","assertError","AbstractSkillTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,oB,WAGnB,iB,UAKA,iB,UAWA,iB;;;;;;;;;;;;;6GAhBD;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,OAAZ,EAAqB,SAArB,EAAgCC,OAAlD;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAECC,2CAAeC,eAAf,CAA+B,cAA/B,EAA+C;AAAEC,kBAAAA,IAAI,EAAE;AAAR,iBAA/C;;AAFD;AAAA,uBAIuB,KAAKJ,MAAL,CAAY,OAAZ,EAAqB,SAArB,EAAgCC,OAAhC,CAAwC;AAC7DI,kBAAAA,eAAe,EAAE;AAD4C,iBAAxC,CAJvB;;AAAA;AAIOC,gBAAAA,OAJP;;AAQCR,6BAAOS,OAAP,CAAeD,OAAO,CAACE,MAAvB;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wGAWA;AAAA;AAAA;AAAA;AAAA;AAAA;AAECN,2CAAeC,eAAf,CAA+B,cAA/B,EAA+C;AAAEC,kBAAAA,IAAI,EAAE;AAAR,iBAA/C;;AAFD;AAAA,uBAIuB,KAAKJ,MAAL,CAAY,OAAZ,EAAqB,SAArB,EAAgCC,OAAhC,CAAwC;AAC7DI,kBAAAA,eAAe,EAAE;AAD4C,iBAAxC,CAJvB;;AAAA;AAIOC,gBAAAA,OAJP;;AAQCR,6BAAOW,OAAP,CAAeH,OAAO,CAACE,MAAvB;;AAEAE,uCAAYC,WAAZ,CAAwBL,OAAO,CAACE,MAAR,CAAe,CAAf,CAAxB,EAA2C,0BAA3C;;AAVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAnBiDI,8B,8DAChB,Q","sourcesContent":["import { test, assert } from '@sprucelabs/test'\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.setMockResponse('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.setMockResponse('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"],"file":"RebuildingASkill.test.js"}
@@ -163,7 +163,7 @@ var SettingLogTransportsInASkillTest = (_dec = (0, _test.test)(), _dec2 = (0, _t
163
163
 
164
164
  _test.assert.isTruthy(results.errors);
165
165
 
166
- _testUtils.errorAssertUtil.assertError(results.errors[0], 'TRANSPORT_ALREADY_EXISTS', {
166
+ _testUtils.errorAssert.assertError(results.errors[0], 'TRANSPORT_ALREADY_EXISTS', {
167
167
  name: 'Slack'
168
168
  });
169
169
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts"],"names":["SettingLogTransportsInASkillTest","action","Action","assert","isFunction","execute","createTransport","results","isFalsy","errors","nameReadable","nameCamel","namesUtil","toCamel","match","testUtil","assertFileByNameInGeneratedFiles","files","doesInclude","resolvePath","isTrue","diskUtil","doesFileExist","isTruthy","errorAssertUtil","assertError","name","LintService","enableLinting","transportContents","createTransportWithContents","Service","build","boot","meta","kill","cwd","writeFile","AbstractSkillTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,gC,WAGnB,iB,UAMA,iB,UAMA,gBAAK,wBAAL,EAA+B,KAA/B,C,UACA,gBAAK,wBAAL,EAA+B,OAA/B,C,UAiBA,iB,UASA,iB;;;;;;;;;;;;;qHAvCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOC,gBAAAA,MAFP,GAEgB,KAAKC,MAAL,CAAY,KAAZ,EAAmB,iBAAnB,CAFhB;;AAGCC,6BAAOC,UAAP,CAAkBH,MAAM,CAACI,OAAzB;;AAHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gHAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAKC,eAAL,EAFvB;;AAAA;AAEOC,gBAAAA,OAFP;;AAGCJ,6BAAOK,OAAP,CAAeD,OAAO,CAACE,MAAvB;;AAHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gHAMA,kBAE4CC,YAF5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAGuB,KAAKJ,eAAL,CAAqBI,YAArB,CAHvB;;AAAA;AAGOH,gBAAAA,OAHP;AAIOI,gBAAAA,SAJP,GAImBC,4BAAUC,OAAV,CAAkBH,YAAlB,CAJnB;AAKOI,gBAAAA,KALP,GAKeC,kBAASC,gCAAT,WACVL,SADU,0BAEbJ,OAAO,CAACU,KAFK,CALf;;AAUCd,6BAAOe,WAAP,CACCJ,KADD,EAEC,KAAKK,WAAL,CAAiB,mBAAjB,YAAyCR,SAAzC,yBAFD;;AAKAR,6BAAOiB,MAAP,CAAcC,2BAASC,aAAT,CAAuBR,KAAvB,CAAd;;AAfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gIAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAKR,eAAL,CAAqB,OAArB,CAFvB;;AAAA;AAEOC,gBAAAA,OAFP;;AAGCJ,6BAAOoB,QAAP,CAAgBhB,OAAO,CAACE,MAAxB;;AACAe,2CAAgBC,WAAhB,CAA4BlB,OAAO,CAACE,MAAR,CAAe,CAAf,CAA5B,EAA+C,0BAA/C,EAA2E;AAC1EiB,kBAAAA,IAAI,EAAE;AADoE,iBAA3E;;AAJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;iHASA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAECC,wCAAYC,aAAZ;;AACMC,gBAAAA,iBAHP;AAAA;AAAA,uBAuBO,KAAKC,2BAAL,CAAiCD,iBAAjC,EAAoD,MAApD,CAvBP;;AAAA;AAAA;AAAA,uBAwBO,KAAKE,OAAL,CAAa,OAAb,EAAsBC,KAAtB,EAxBP;;AAAA;AAAA;AAAA,uBA0BoB,KAAK9B,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BG,OAA7B,CAAqC,EAArC,CA1BpB;;AAAA;AA0BO4B,gBAAAA,IA1BP;AAAA;AAAA,qCA4BOA,IAAI,CAACC,IA5BZ,+CA4BO,WAAWC,IAAX,EA5BP;;AAAA;AA8BChC,6BAAOiB,MAAP,CACCC,2BAASC,aAAT,CAAuBD,2BAASF,WAAT,CAAqB,KAAKiB,GAA1B,EAA+B,SAA/B,CAAvB,CADD;;AA9BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uHAmCA,kBACCP,iBADD,EAECnB,YAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAIuB,KAAKJ,eAAL,CAAqBI,YAArB,CAJvB;;AAAA;AAIOH,gBAAAA,OAJP;AAKOO,gBAAAA,KALP,GAKeC,kBAASC,gCAAT,WACVJ,4BAAUC,OAAV,CAAkBH,YAAlB,CADU,0BAEbH,OAAO,CAACU,KAFK,CALf;;AAUCI,2CAASgB,SAAT,CAAmBvB,KAAnB,EAA0Be,iBAA1B;;AAVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;2GAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqCnB,gBAAAA,YAArC,8DAAoD,OAApD;AACOT,gBAAAA,MADP,GACgB,KAAKC,MAAL,CAAY,KAAZ,EAAmB,iBAAnB,CADhB;AAAA;AAAA,uBAEuBD,MAAM,CAACI,OAAP,CAAe;AACpCK,kBAAAA,YAAY,EAAZA,YADoC;AAEpCC,kBAAAA,SAAS,EAAEC,4BAAUC,OAAV,CAAkBH,YAAlB;AAFyB,iBAAf,CAFvB;;AAAA;AAEOH,gBAAAA,OAFP;AAAA,kDAMQA,OANR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA1F6D+B,8B,8DAC5B,Q","sourcesContent":["import { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } 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 SettingLogTransportsInASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\n\t@test()\n\tprotected static async hasCreateTransportCommand() {\n\t\tconst action = this.Action('log', 'createTransport')\n\t\tassert.isFunction(action.execute)\n\t}\n\n\t@test()\n\tprotected static async needsNameOfTransport() {\n\t\tconst results = await this.createTransport()\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test('can create transport 1', 'Sms')\n\t@test('can create transport 2', 'Email')\n\tprotected static async createsTransportFile(nameReadable: string) {\n\t\tconst results = await this.createTransport(nameReadable)\n\t\tconst nameCamel = namesUtil.toCamel(nameReadable)\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`${nameCamel}Transport.plugin.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tmatch,\n\t\t\tthis.resolvePath('src/logTransports', `${nameCamel}Transport.plugin.ts`)\n\t\t)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(match))\n\t}\n\n\t@test()\n\tprotected static async cantCreateTransportThatAlreadyExists() {\n\t\tconst results = await this.createTransport('Slack')\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssertUtil.assertError(results.errors[0], 'TRANSPORT_ALREADY_EXISTS', {\n\t\t\tname: 'Slack',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async logsWriteToTransports() {\n\t\tLintService.enableLinting()\n\t\tconst transportContents = `\n\t\timport { diskUtil, Level, LogTransport } from '@sprucelabs/spruce-skill-utils'\n\t\t\n\t\texport default function (): {\n\t\t\tlevels: Level[]\n\t\t\ttransport: LogTransport\n\t\t} | null {\n\t\t\treturn {\n\t\t\t\tlevels: ['ERROR', 'INFO', 'WARN'],\n\t\t\t\ttransport: (...messageParts: string[]) => {\n\t\t\t\t\tconst message = messageParts.join(' ')\n\t\t\t\t\tdiskUtil.writeFile(\n\t\t\t\t\t\tdiskUtil.resolvePath(__dirname, '..', '..', 'log.txt'),\n\t\t\t\t\t\tmessage\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t\t`\n\n\t\tawait this.createTransportWithContents(transportContents, 'File')\n\t\tawait this.Service('build').build()\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({})\n\n\t\tawait boot.meta?.kill()\n\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(diskUtil.resolvePath(this.cwd, 'log.txt'))\n\t\t)\n\t}\n\n\tprivate static async createTransportWithContents(\n\t\ttransportContents: string,\n\t\tnameReadable: string\n\t) {\n\t\tconst results = await this.createTransport(nameReadable)\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`${namesUtil.toCamel(nameReadable)}Transport.plugin.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tdiskUtil.writeFile(match, transportContents)\n\t}\n\n\tprivate static async createTransport(nameReadable = 'Slack') {\n\t\tconst action = this.Action('log', 'createTransport')\n\t\tconst results = await action.execute({\n\t\t\tnameReadable,\n\t\t\tnameCamel: namesUtil.toCamel(nameReadable),\n\t\t})\n\t\treturn results\n\t}\n}\n"],"file":"SettingLogTransportsInASkill.test.js"}
1
+ {"version":3,"sources":["../../../src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts"],"names":["SettingLogTransportsInASkillTest","action","Action","assert","isFunction","execute","createTransport","results","isFalsy","errors","nameReadable","nameCamel","namesUtil","toCamel","match","testUtil","assertFileByNameInGeneratedFiles","files","doesInclude","resolvePath","isTrue","diskUtil","doesFileExist","isTruthy","errorAssert","assertError","name","LintService","enableLinting","transportContents","createTransportWithContents","Service","build","boot","meta","kill","cwd","writeFile","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } 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 SettingLogTransportsInASkillTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'skills'\n\n\t@test()\n\tprotected static async hasCreateTransportCommand() {\n\t\tconst action = this.Action('log', 'createTransport')\n\t\tassert.isFunction(action.execute)\n\t}\n\n\t@test()\n\tprotected static async needsNameOfTransport() {\n\t\tconst results = await this.createTransport()\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test('can create transport 1', 'Sms')\n\t@test('can create transport 2', 'Email')\n\tprotected static async createsTransportFile(nameReadable: string) {\n\t\tconst results = await this.createTransport(nameReadable)\n\t\tconst nameCamel = namesUtil.toCamel(nameReadable)\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`${nameCamel}Transport.plugin.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tmatch,\n\t\t\tthis.resolvePath('src/logTransports', `${nameCamel}Transport.plugin.ts`)\n\t\t)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(match))\n\t}\n\n\t@test()\n\tprotected static async cantCreateTransportThatAlreadyExists() {\n\t\tconst results = await this.createTransport('Slack')\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssert.assertError(results.errors[0], 'TRANSPORT_ALREADY_EXISTS', {\n\t\t\tname: 'Slack',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async logsWriteToTransports() {\n\t\tLintService.enableLinting()\n\t\tconst transportContents = `\n\t\timport { diskUtil, Level, LogTransport } from '@sprucelabs/spruce-skill-utils'\n\t\t\n\t\texport default function (): {\n\t\t\tlevels: Level[]\n\t\t\ttransport: LogTransport\n\t\t} | null {\n\t\t\treturn {\n\t\t\t\tlevels: ['ERROR', 'INFO', 'WARN'],\n\t\t\t\ttransport: (...messageParts: string[]) => {\n\t\t\t\t\tconst message = messageParts.join(' ')\n\t\t\t\t\tdiskUtil.writeFile(\n\t\t\t\t\t\tdiskUtil.resolvePath(__dirname, '..', '..', 'log.txt'),\n\t\t\t\t\t\tmessage\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t\t`\n\n\t\tawait this.createTransportWithContents(transportContents, 'File')\n\t\tawait this.Service('build').build()\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({})\n\n\t\tawait boot.meta?.kill()\n\n\t\tassert.isTrue(\n\t\t\tdiskUtil.doesFileExist(diskUtil.resolvePath(this.cwd, 'log.txt'))\n\t\t)\n\t}\n\n\tprivate static async createTransportWithContents(\n\t\ttransportContents: string,\n\t\tnameReadable: string\n\t) {\n\t\tconst results = await this.createTransport(nameReadable)\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`${namesUtil.toCamel(nameReadable)}Transport.plugin.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tdiskUtil.writeFile(match, transportContents)\n\t}\n\n\tprivate static async createTransport(nameReadable = 'Slack') {\n\t\tconst action = this.Action('log', 'createTransport')\n\t\tconst results = await action.execute({\n\t\t\tnameReadable,\n\t\t\tnameCamel: namesUtil.toCamel(nameReadable),\n\t\t})\n\t\treturn results\n\t}\n}\n"],"file":"SettingLogTransportsInASkill.test.js"}
@@ -323,7 +323,7 @@ var SettingUpSchemasForModuleDistributionTest = (_dec = (0, _test.test)('can spe
323
323
  } else {
324
324
  _test.assert.isTruthy(results.errors);
325
325
 
326
- _testUtils.errorAssertUtil.assertError(results.errors[0], 'ACTION_CANCELLED');
326
+ _testUtils.errorAssert.assertError(results.errors[0], 'ACTION_CANCELLED');
327
327
  }
328
328
 
329
329
  case 20:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts"],"names":["LOCAL_NAMESPACE","REMOTE_NAMESPACE","REMOTE_MODULE","REMOTE_MODULE2","SettingUpSchemasForModuleDistributionTest","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","getEmitter","on","SyncAction","waitForInput","secondToLast","invocations","length","options","headline","expected","doesInclude","lines","pkg","isTrue","isInstalled","isTruthy","errorAssertUtil","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"],"mappings":"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","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'\nimport { errorAssertUtil } 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.getEmitter().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\terrorAssertUtil.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.getEmitter().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.getEmitter().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.getEmitter().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"],"file":"SettingUpSchemasForModuleDistribution.test.js"}
1
+ {"version":3,"sources":["../../../src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts"],"names":["LOCAL_NAMESPACE","REMOTE_NAMESPACE","REMOTE_MODULE","REMOTE_MODULE2","SettingUpSchemasForModuleDistributionTest","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","getEmitter","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"],"mappings":"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","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'\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.getEmitter().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.getEmitter().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.getEmitter().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.getEmitter().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"],"file":"SettingUpSchemasForModuleDistribution.test.js"}
@@ -216,7 +216,7 @@ var TestingAConversationTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test
216
216
  // .Action('test')
217
217
  // .execute({ shouldRunSilently: true })
218
218
  // assert.isTruthy(test.errors)
219
- // errorAssertUtil.assertError(test.errors[0], 'EXECUTING_COMMAND_FAILED', {
219
+ // errorAssert.assertError(test.errors[0], 'EXECUTING_COMMAND_FAILED', {
220
220
  // stderr: 'oh no!',
221
221
  // })
222
222
  // }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/behavioral/TestingAConversation.test.ts"],"names":["TestingAConversationTest","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","shouldReturnImmediately","shouldRunSilently","test","isTruthy","meta","kill","isNumber","pid","promise","psResults","length","installAndCreateConversation","wait","isAbove","nameReadable","nameCamel","results","isFalsy","errors","createResults","getChild","setTimeout","topic","testUtil","assertFileByNameInGeneratedFiles","files","diskUtil","writeFile","isArray","AbstractCliTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport findProcess from 'find-process'\nimport TestAction from '../../features/conversation/actions/TestAction'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class TestingAConversationTest extends AbstractCliTest {\n\t@test()\n\tprotected static async hasTestConvoFeature() {\n\t\tassert.isFunction(this.Action('conversation', 'test').execute)\n\t}\n\n\t@test()\n\tprotected static async shouldRunWithoutConversationShouldShutdownOnItsOwn() {\n\t\tawait this.FeatureFixture().installCachedFeatures('conversation')\n\n\t\tconst test = await this.Action('conversation', 'test').execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isTruthy(test.meta)\n\t\tassert.isFunction(test.meta.kill)\n\t\tassert.isNumber(test.meta.pid)\n\t\tassert.isTruthy(test.meta.promise)\n\n\t\tlet psResults\n\n\t\tdo {\n\t\t\tpsResults = await findProcess('pid', test.meta.pid)\n\t\t} while (psResults.length > 0)\n\t}\n\n\t@test()\n\tprotected static async runsUntilKilled() {\n\t\tawait this.installAndCreateConversation()\n\n\t\tconst test = await this.Action('conversation', 'test').execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isTruthy(test.meta)\n\t\tassert.isFunction(test.meta.kill)\n\t\tassert.isNumber(test.meta.pid)\n\t\tassert.isTruthy(test.meta.promise)\n\n\t\tawait this.wait(1000)\n\n\t\tlet psResults = await findProcess('pid', test.meta.pid)\n\t\tassert.isAbove(psResults.length, 0)\n\n\t\tawait test.meta.kill()\n\n\t\tdo {\n\t\t\tpsResults = await findProcess('pid', test.meta.pid)\n\t\t} while (psResults.length > 0)\n\t}\n\n\t// @test.skip('No longer dies on stderr')\n\t// protected static async diesWithStandardError() {\n\t// \tconst { conversation } = await this.installAndCreateConversation()\n\n\t// \tconst topicFile = this.resolvePath(\n\t// \t\t'src',\n\t// \t\t'conversations',\n\t// \t\t'knockKnockJoke.topic.ts'\n\t// \t)\n\n\t// \tconst contents =\n\t// \t\t`process.stderr.write('oh no!')\\n\\n` + diskUtil.readFile(topicFile)\n\n\t// \tdiskUtil.writeFile(topicFile, contents)\n\n\t// \tconst test = await conversation\n\t// \t\t.Action('test')\n\t// \t\t.execute({ shouldRunSilently: true })\n\n\t// \tassert.isTruthy(test.errors)\n\t// \terrorAssertUtil.assertError(test.errors[0], 'EXECUTING_COMMAND_FAILED', {\n\t// \t\tstderr: 'oh no!',\n\t// \t})\n\t// }\n\n\tprivate static async installAndCreateConversation() {\n\t\tawait this.FeatureFixture().installCachedFeatures('conversation')\n\n\t\tconst results = await this.Action('conversation', 'create').execute({\n\t\t\tnameReadable: 'tell a knock knock joke',\n\t\t\tnameCamel: 'knockKnockJoke',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\treturn { createResults: results }\n\t}\n\n\t@test()\n\tprotected static async doesntReturnErrorWhenKilled() {\n\t\tawait this.installAndCreateConversation()\n\t\t//@ts-ignore\n\t\tconst test = this.Action('conversation', 'test').getChild() as TestAction\n\n\t\tsetTimeout(async () => {\n\t\t\tawait test.kill()\n\t\t}, 5000)\n\n\t\tconst results = await test.execute({\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenScriptErrors() {\n\t\tconst { createResults } = await this.installAndCreateConversation()\n\n\t\tconst topic = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'knockKnockJoke',\n\t\t\tcreateResults.files\n\t\t)\n\n\t\tdiskUtil.writeFile(topic, 'throw new Error(\"whaaa\")')\n\n\t\tconst test = this.Action('conversation', 'test')\n\n\t\tconst results = await test.execute({\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isArray(results.errors)\n\t}\n}\n"],"file":"TestingAConversation.test.js"}
1
+ {"version":3,"sources":["../../../src/__tests__/behavioral/TestingAConversation.test.ts"],"names":["TestingAConversationTest","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","shouldReturnImmediately","shouldRunSilently","test","isTruthy","meta","kill","isNumber","pid","promise","psResults","length","installAndCreateConversation","wait","isAbove","nameReadable","nameCamel","results","isFalsy","errors","createResults","getChild","setTimeout","topic","testUtil","assertFileByNameInGeneratedFiles","files","diskUtil","writeFile","isArray","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;IAEqBA,wB,WACnB,iB,UAKA,iB,UAqBA,iB,UA+DA,iB,UAiBA,iB;;;;;;;;;;;;;+GA1GD;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,UAAP,CAAkB,KAAKC,MAAL,CAAY,cAAZ,EAA4B,MAA5B,EAAoCC,OAAtD;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;8IAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4C,cAA5C,CAFP;;AAAA;AAAA;AAAA,uBAIoB,KAAKH,MAAL,CAAY,cAAZ,EAA4B,MAA5B,EAAoCC,OAApC,CAA4C;AAC9DG,kBAAAA,uBAAuB,EAAE,IADqC;AAE9DC,kBAAAA,iBAAiB,EAAE;AAF2C,iBAA5C,CAJpB;;AAAA;AAIOC,gBAAAA,IAJP;;AASCR,6BAAOS,QAAP,CAAgBD,IAAI,CAACE,IAArB;;AACAV,6BAAOC,UAAP,CAAkBO,IAAI,CAACE,IAAL,CAAUC,IAA5B;;AACAX,6BAAOY,QAAP,CAAgBJ,IAAI,CAACE,IAAL,CAAUG,GAA1B;;AACAb,6BAAOS,QAAP,CAAgBD,IAAI,CAACE,IAAL,CAAUI,OAA1B;;AAZD;AAAA;AAAA,uBAiBoB,6BAAY,KAAZ,EAAmBN,IAAI,CAACE,IAAL,CAAUG,GAA7B,CAjBpB;;AAAA;AAiBEE,gBAAAA,SAjBF;;AAAA;AAAA,oBAkBUA,SAAS,CAACC,MAAV,GAAmB,CAlB7B;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;2GAqBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKC,4BAAL,EAFP;;AAAA;AAAA;AAAA,uBAIoB,KAAKf,MAAL,CAAY,cAAZ,EAA4B,MAA5B,EAAoCC,OAApC,CAA4C;AAC9DG,kBAAAA,uBAAuB,EAAE,IADqC;AAE9DC,kBAAAA,iBAAiB,EAAE;AAF2C,iBAA5C,CAJpB;;AAAA;AAIOC,gBAAAA,IAJP;;AASCR,6BAAOS,QAAP,CAAgBD,IAAI,CAACE,IAArB;;AACAV,6BAAOC,UAAP,CAAkBO,IAAI,CAACE,IAAL,CAAUC,IAA5B;;AACAX,6BAAOY,QAAP,CAAgBJ,IAAI,CAACE,IAAL,CAAUG,GAA1B;;AACAb,6BAAOS,QAAP,CAAgBD,IAAI,CAACE,IAAL,CAAUI,OAA1B;;AAZD;AAAA,uBAcO,KAAKI,IAAL,CAAU,IAAV,CAdP;;AAAA;AAAA;AAAA,uBAgBuB,6BAAY,KAAZ,EAAmBV,IAAI,CAACE,IAAL,CAAUG,GAA7B,CAhBvB;;AAAA;AAgBKE,gBAAAA,SAhBL;;AAiBCf,6BAAOmB,OAAP,CAAeJ,SAAS,CAACC,MAAzB,EAAiC,CAAjC;;AAjBD;AAAA,uBAmBOR,IAAI,CAACE,IAAL,CAAUC,IAAV,EAnBP;;AAAA;AAAA;AAAA,uBAsBoB,6BAAY,KAAZ,EAAmBH,IAAI,CAACE,IAAL,CAAUG,GAA7B,CAtBpB;;AAAA;AAsBEE,gBAAAA,SAtBF;;AAAA;AAAA,oBAuBUA,SAAS,CAACC,MAAV,GAAmB,CAvB7B;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;QA0BA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;;;;wHAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACO,KAAKZ,cAAL,GAAsBC,qBAAtB,CAA4C,cAA5C,CADP;;AAAA;AAAA;AAAA,uBAGuB,KAAKH,MAAL,CAAY,cAAZ,EAA4B,QAA5B,EAAsCC,OAAtC,CAA8C;AACnEiB,kBAAAA,YAAY,EAAE,yBADqD;AAEnEC,kBAAAA,SAAS,EAAE;AAFwD,iBAA9C,CAHvB;;AAAA;AAGOC,gBAAAA,OAHP;;AAQCtB,6BAAOuB,OAAP,CAAeD,OAAO,CAACE,MAAvB;;AARD,kDASQ;AAAEC,kBAAAA,aAAa,EAAEH;AAAjB,iBATR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uHAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKL,4BAAL,EAFP;;AAAA;AAGC;AACMT,gBAAAA,IAJP,GAIc,KAAKN,MAAL,CAAY,cAAZ,EAA4B,MAA5B,EAAoCwB,QAApC,EAJd;AAMCC,gBAAAA,UAAU,6FAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCACJnB,IAAI,CAACG,IAAL,EADI;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAD,IAEP,IAFO,CAAV;AAND;AAAA,uBAUuBH,IAAI,CAACL,OAAL,CAAa;AAClCI,kBAAAA,iBAAiB,EAAE;AADe,iBAAb,CAVvB;;AAAA;AAUOe,gBAAAA,OAVP;;AAcCtB,6BAAOuB,OAAP,CAAeD,OAAO,CAACE,MAAvB;;AAdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wHAiBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEiC,KAAKP,4BAAL,EAFjC;;AAAA;AAAA;AAESQ,gBAAAA,aAFT,yBAESA,aAFT;AAIOG,gBAAAA,KAJP,GAIeC,kBAASC,gCAAT,CACb,gBADa,EAEbL,aAAa,CAACM,KAFD,CAJf;;AASCC,2CAASC,SAAT,CAAmBL,KAAnB,EAA0B,0BAA1B;;AAEMpB,gBAAAA,IAXP,GAWc,KAAKN,MAAL,CAAY,cAAZ,EAA4B,MAA5B,CAXd;AAAA;AAAA,uBAauBM,IAAI,CAACL,OAAL,CAAa;AAClCI,kBAAAA,iBAAiB,EAAE;AADe,iBAAb,CAbvB;;AAAA;AAaOe,gBAAAA,OAbP;;AAiBCtB,6BAAOkC,OAAP,CAAeZ,OAAO,CAACE,MAAvB;;AAjBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA3GqDW,4B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport findProcess from 'find-process'\nimport TestAction from '../../features/conversation/actions/TestAction'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class TestingAConversationTest extends AbstractCliTest {\n\t@test()\n\tprotected static async hasTestConvoFeature() {\n\t\tassert.isFunction(this.Action('conversation', 'test').execute)\n\t}\n\n\t@test()\n\tprotected static async shouldRunWithoutConversationShouldShutdownOnItsOwn() {\n\t\tawait this.FeatureFixture().installCachedFeatures('conversation')\n\n\t\tconst test = await this.Action('conversation', 'test').execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isTruthy(test.meta)\n\t\tassert.isFunction(test.meta.kill)\n\t\tassert.isNumber(test.meta.pid)\n\t\tassert.isTruthy(test.meta.promise)\n\n\t\tlet psResults\n\n\t\tdo {\n\t\t\tpsResults = await findProcess('pid', test.meta.pid)\n\t\t} while (psResults.length > 0)\n\t}\n\n\t@test()\n\tprotected static async runsUntilKilled() {\n\t\tawait this.installAndCreateConversation()\n\n\t\tconst test = await this.Action('conversation', 'test').execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isTruthy(test.meta)\n\t\tassert.isFunction(test.meta.kill)\n\t\tassert.isNumber(test.meta.pid)\n\t\tassert.isTruthy(test.meta.promise)\n\n\t\tawait this.wait(1000)\n\n\t\tlet psResults = await findProcess('pid', test.meta.pid)\n\t\tassert.isAbove(psResults.length, 0)\n\n\t\tawait test.meta.kill()\n\n\t\tdo {\n\t\t\tpsResults = await findProcess('pid', test.meta.pid)\n\t\t} while (psResults.length > 0)\n\t}\n\n\t// @test.skip('No longer dies on stderr')\n\t// protected static async diesWithStandardError() {\n\t// \tconst { conversation } = await this.installAndCreateConversation()\n\n\t// \tconst topicFile = this.resolvePath(\n\t// \t\t'src',\n\t// \t\t'conversations',\n\t// \t\t'knockKnockJoke.topic.ts'\n\t// \t)\n\n\t// \tconst contents =\n\t// \t\t`process.stderr.write('oh no!')\\n\\n` + diskUtil.readFile(topicFile)\n\n\t// \tdiskUtil.writeFile(topicFile, contents)\n\n\t// \tconst test = await conversation\n\t// \t\t.Action('test')\n\t// \t\t.execute({ shouldRunSilently: true })\n\n\t// \tassert.isTruthy(test.errors)\n\t// \terrorAssert.assertError(test.errors[0], 'EXECUTING_COMMAND_FAILED', {\n\t// \t\tstderr: 'oh no!',\n\t// \t})\n\t// }\n\n\tprivate static async installAndCreateConversation() {\n\t\tawait this.FeatureFixture().installCachedFeatures('conversation')\n\n\t\tconst results = await this.Action('conversation', 'create').execute({\n\t\t\tnameReadable: 'tell a knock knock joke',\n\t\t\tnameCamel: 'knockKnockJoke',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\treturn { createResults: results }\n\t}\n\n\t@test()\n\tprotected static async doesntReturnErrorWhenKilled() {\n\t\tawait this.installAndCreateConversation()\n\t\t//@ts-ignore\n\t\tconst test = this.Action('conversation', 'test').getChild() as TestAction\n\n\t\tsetTimeout(async () => {\n\t\t\tawait test.kill()\n\t\t}, 5000)\n\n\t\tconst results = await test.execute({\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenScriptErrors() {\n\t\tconst { createResults } = await this.installAndCreateConversation()\n\n\t\tconst topic = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'knockKnockJoke',\n\t\t\tcreateResults.files\n\t\t)\n\n\t\tdiskUtil.writeFile(topic, 'throw new Error(\"whaaa\")')\n\n\t\tconst test = this.Action('conversation', 'test')\n\n\t\tconst results = await test.execute({\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isArray(results.errors)\n\t}\n}\n"],"file":"TestingAConversation.test.js"}
@@ -65,7 +65,7 @@ var SettingUpErrorTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), (
65
65
  case 3:
66
66
  err = _context.sent;
67
67
 
68
- _testUtils.errorAssertUtil.assertError(err, 'VALIDATION_FAILED');
68
+ _testUtils.errorAssert.assertError(err, 'VALIDATION_FAILED');
69
69
 
70
70
  case 5:
71
71
  case "end":
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/errors/SettingUpErrors.test.ts"],"names":["SettingUpErrorTest","fixture","FeatureFixture","assert","doesThrowAsync","installFeatures","code","err","errorAssertUtil","assertError","installErrorFeature","installer","getFeatureInstaller","isInstalled","isSchemaInstalled","isTrue","isErrorInstalled","AbstractErrorTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,kB,WACnB,iB,UAcA,iB;;;;;;;;;;;;;sHAdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOC,gBAAAA,OAFP,GAEiB,KAAKC,cAAL,EAFjB;AAAA;AAAA,uBAGmBC,aAAOC,cAAP,CAAsB;AAAA,yBACvCH,OAAO,CAACI,eAAR,CAAwB,CACvB;AACCC,oBAAAA,IAAI,EAAE;AADP,mBADuB,CAAxB,CADuC;AAAA,iBAAtB,CAHnB;;AAAA;AAGOC,gBAAAA,GAHP;;AAWCC,2CAAgBC,WAAhB,CAA4BF,GAA5B,EAAiC,mBAAjC;;AAXD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yHAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKG,mBAAL,CAAyB,QAAzB,CAFP;;AAAA;AAIOC,gBAAAA,SAJP,GAImB,KAAKC,mBAAL,EAJnB;AAAA;AAAA,uBAMiCD,SAAS,CAACE,WAAV,CAAsB,QAAtB,CANjC;;AAAA;AAMOC,gBAAAA,iBANP;;AAOCX,6BAAOY,MAAP,CAAcD,iBAAd;;AAPD;AAAA,uBASgCH,SAAS,CAACE,WAAV,CAAsB,OAAtB,CAThC;;AAAA;AASOG,gBAAAA,gBATP;;AAUCb,6BAAOY,MAAP,CAAcC,gBAAd;;AAVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAf+CC,8B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractErrorTest from '../../../tests/AbstractErrorTest'\n\nexport default class SettingUpErrorTest extends AbstractErrorTest {\n\t@test()\n\tprotected static async failsIfSkillIsNotInstalled() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tfixture.installFeatures([\n\t\t\t\t{\n\t\t\t\t\tcode: 'error',\n\t\t\t\t},\n\t\t\t])\n\t\t)\n\n\t\terrorAssertUtil.assertError(err, 'VALIDATION_FAILED')\n\t}\n\n\t@test()\n\tprotected static async installsSchemasIfNotInstalled() {\n\t\tawait this.installErrorFeature('errors')\n\n\t\tconst installer = this.getFeatureInstaller()\n\n\t\tconst isSchemaInstalled = await installer.isInstalled('schema')\n\t\tassert.isTrue(isSchemaInstalled)\n\n\t\tconst isErrorInstalled = await installer.isInstalled('error')\n\t\tassert.isTrue(isErrorInstalled)\n\t}\n}\n"],"file":"SettingUpErrors.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/errors/SettingUpErrors.test.ts"],"names":["SettingUpErrorTest","fixture","FeatureFixture","assert","doesThrowAsync","installFeatures","code","err","errorAssert","assertError","installErrorFeature","installer","getFeatureInstaller","isInstalled","isSchemaInstalled","isTrue","isErrorInstalled","AbstractErrorTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,kB,WACnB,iB,UAcA,iB;;;;;;;;;;;;;sHAdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOC,gBAAAA,OAFP,GAEiB,KAAKC,cAAL,EAFjB;AAAA;AAAA,uBAGmBC,aAAOC,cAAP,CAAsB;AAAA,yBACvCH,OAAO,CAACI,eAAR,CAAwB,CACvB;AACCC,oBAAAA,IAAI,EAAE;AADP,mBADuB,CAAxB,CADuC;AAAA,iBAAtB,CAHnB;;AAAA;AAGOC,gBAAAA,GAHP;;AAWCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,mBAA7B;;AAXD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yHAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKG,mBAAL,CAAyB,QAAzB,CAFP;;AAAA;AAIOC,gBAAAA,SAJP,GAImB,KAAKC,mBAAL,EAJnB;AAAA;AAAA,uBAMiCD,SAAS,CAACE,WAAV,CAAsB,QAAtB,CANjC;;AAAA;AAMOC,gBAAAA,iBANP;;AAOCX,6BAAOY,MAAP,CAAcD,iBAAd;;AAPD;AAAA,uBASgCH,SAAS,CAACE,WAAV,CAAsB,OAAtB,CAThC;;AAAA;AASOG,gBAAAA,gBATP;;AAUCb,6BAAOY,MAAP,CAAcC,gBAAd;;AAVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAf+CC,8B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractErrorTest from '../../../tests/AbstractErrorTest'\n\nexport default class SettingUpErrorTest extends AbstractErrorTest {\n\t@test()\n\tprotected static async failsIfSkillIsNotInstalled() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tfixture.installFeatures([\n\t\t\t\t{\n\t\t\t\t\tcode: 'error',\n\t\t\t\t},\n\t\t\t])\n\t\t)\n\n\t\terrorAssert.assertError(err, 'VALIDATION_FAILED')\n\t}\n\n\t@test()\n\tprotected static async installsSchemasIfNotInstalled() {\n\t\tawait this.installErrorFeature('errors')\n\n\t\tconst installer = this.getFeatureInstaller()\n\n\t\tconst isSchemaInstalled = await installer.isInstalled('schema')\n\t\tassert.isTrue(isSchemaInstalled)\n\n\t\tconst isErrorInstalled = await installer.isInstalled('error')\n\t\tassert.isTrue(isErrorInstalled)\n\t}\n}\n"],"file":"SettingUpErrors.test.js"}
@@ -80,7 +80,7 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
80
80
 
81
81
  err = results.errors[0];
82
82
 
83
- _testUtils.errorAssertUtil.assertError(err, 'INVALID_NAMESPACES', {
83
+ _testUtils.errorAssert.assertError(err, 'INVALID_NAMESPACES', {
84
84
  namespaces: ['taco-bell']
85
85
  });
86
86
 
@@ -124,7 +124,7 @@ var CreatingAListenerTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)()
124
124
 
125
125
  err = results.errors[0];
126
126
 
127
- _testUtils.errorAssertUtil.assertError(err, 'INVALID_PARAMETERS', {
127
+ _testUtils.errorAssert.assertError(err, 'INVALID_PARAMETERS', {
128
128
  parameters: ['eventName']
129
129
  });
130
130
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/events/CreatingAListener.test.ts"],"names":["CreatingAListenerTest","installEventFeature","Action","execute","namespace","results","assert","isTruthy","errors","err","errorAssertUtil","assertError","namespaces","eventName","parameters","installEventsAndCreateListener","match","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","version","cli","doesInclude","checkHealth","health","isFalsy","event","skill","isUndefined","listeners","eventNamespace","waitForInput","lastInvocation","ui","getLastInvocation","isEqual","command","options","label","sendInput","MERCURY_API_NAMESPACE","reset","setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener","isGlobal","contents","emitPayloadSchema","targetSchema","eventTargetSchema","payloadSchema","id","fields","booleanField","type","skill2","slug","expectedVersion","organizationId","isRequired","responsePayloadSchema","currentSkill","eventContract","org","connectToApi","shouldAuthAsCurrentSkill","currentClient","disconnect","local","boot","wait","skillId","apiKey","client","mixinContract","eventSignatures","emit","target","payload","totalContracts","totalErrors","totalResponses","meta","promise","fail","stack","kill","error","doesThrow","eventResponseUtil","getFirstResponseOrThrow","eventAssertUtil","responderRef","responses","listenerPath","eventSignature","seedDummySkillRegisterCurrentSkillAndInstallToOrg","skillFixture","registerEventContract","add","listener","diskUtil","readFile","AbstractEventTest","versionUtil","generateVersion","constValue"],"mappings":"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","sourcesContent":["import { EventSignature } from '@sprucelabs/mercury-types'\nimport { buildSchema } from '@sprucelabs/schema'\nimport {\n\tbuildEmitTargetAndPayloadSchema,\n\teventAssertUtil,\n\teventResponseUtil,\n\teventTargetSchema,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tMERCURY_API_NAMESPACE,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingAListenerTest extends AbstractEventTest {\n\tprivate static readonly expectedVersion =\n\t\tversionUtil.generateVersion().constValue\n\n\t@test()\n\tprotected static async throwsWithBadNamespace() {\n\t\tawait this.installEventFeature('events')\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'taco-bell',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tconst err = results.errors[0]\n\n\t\terrorAssertUtil.assertError(err, 'INVALID_NAMESPACES', {\n\t\t\tnamespaces: ['taco-bell'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async throwsWithBadEventName() {\n\t\tawait this.installEventFeature('events')\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'heartwood',\n\t\t\teventName: 'bad-time',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tconst err = results.errors[0]\n\n\t\terrorAssertUtil.assertError(err, 'INVALID_PARAMETERS', {\n\t\t\tparameters: ['eventName'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesMapFile() {\n\t\tconst { results } = await this.installEventsAndCreateListener()\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`listeners.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(match)\n\t}\n\n\t@test()\n\tprotected static async createsValidListener() {\n\t\tconst { version, results, cli } =\n\t\t\tawait this.installEventsAndCreateListener()\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(match, version)\n\n\t\tawait this.Service('typeChecker').check(match)\n\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isFalsy(health?.event?.errors)\n\t\tassert.isTruthy(health.skill)\n\n\t\tassert.isUndefined(health.skill.errors)\n\t\tassert.isTruthy(health.event)\n\n\t\tassert.doesInclude(health.event.listeners, {\n\t\t\teventName: 'will-boot',\n\t\t\teventNamespace: 'skill',\n\t\t\tversion,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async creatingANewListenerAsksWhichEventToListenTo() {\n\t\tawait this.installEventFeature('events')\n\n\t\tvoid this.Action('event', 'listen').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tlet lastInvocation = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(lastInvocation.command, 'prompt')\n\t\tassert.doesInclude(lastInvocation.options.label, 'namespace')\n\n\t\tawait this.ui.sendInput(MERCURY_API_NAMESPACE)\n\n\t\tawait this.waitForInput()\n\n\t\tlastInvocation = this.ui.getLastInvocation()\n\n\t\tassert.doesInclude(lastInvocation.options.label, 'event')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async generatesTypedListenerWithoutPayloads() {\n\t\tconst { contents } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t}\n\t\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default async (event: SpruceEvent): SpruceEventResponse'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async generatesTypedListenerWithEmitPayload() {\n\t\tconst { contents, skill2 } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName: 'my-new-event',\n\t\t\t\t\t\ttargetSchema: eventTargetSchema,\n\t\t\t\t\t\tpayloadSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitPayload',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\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\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'event: SpruceEvent<SkillEventContract, EmitPayload>'\n\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t`fullyQualifiedEventName: '${skill2.slug}.my-new-event::${this.expectedVersion}'`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async emittingEventTriggersListenerAndCrashesWithListenerNotImplemented() {\n\t\tconst { currentSkill, skill2, eventContract, org } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName: 'my-new-event',\n\t\t\t\t\t\ttargetSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitTarget',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\torganizationId: {\n\t\t\t\t\t\t\t\t\ttype: 'id',\n\t\t\t\t\t\t\t\t\tisRequired: true,\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\tpayloadSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitPayload',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\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\tresponsePayloadSchema: buildSchema({\n\t\t\t\t\t\tid: 'myNewEventResponsePayload',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\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\n\t\tconst currentClient = await this.connectToApi({\n\t\t\tshouldAuthAsCurrentSkill: true,\n\t\t})\n\n\t\tawait currentClient.disconnect()\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tassert.isFalsy(boot.errors)\n\n\t\t//give the skill time to boot\n\t\tawait this.wait(20000)\n\n\t\tconst client = (await this.connectToApi({\n\t\t\tskillId: skill2.id,\n\t\t\tapiKey: skill2.apiKey,\n\t\t})) as any\n\n\t\tconst eventName = `${skill2.slug}.my-new-event::${this.expectedVersion}`\n\n\t\tclient.mixinContract({\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]:\n\t\t\t\t\teventContract.eventSignatures[\n\t\t\t\t\t\t`my-new-event::${this.expectedVersion}`\n\t\t\t\t\t],\n\t\t\t},\n\t\t})\n\n\t\tlet results: any\n\n\t\tdo {\n\t\t\tawait this.wait(5000)\n\n\t\t\tresults = await client.emit(eventName, {\n\t\t\t\ttarget: {\n\t\t\t\t\torganizationId: org.id,\n\t\t\t\t},\n\t\t\t\tpayload: {\n\t\t\t\t\tbooleanField: true,\n\t\t\t\t},\n\t\t\t})\n\t\t} while (results.totalContracts < 1)\n\n\t\tassert.isEqual(results.totalContracts, 1)\n\t\tassert.isEqual(results.totalErrors, 1)\n\t\tassert.isEqual(results.totalResponses, 1)\n\n\t\tboot.meta?.promise?.catch((err: Error) => {\n\t\t\tassert.fail(err.stack)\n\t\t})\n\n\t\tawait boot.meta?.kill()\n\n\t\tconst error = assert.doesThrow(() =>\n\t\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\t\t)\n\n\t\teventAssertUtil.assertError(error, 'LISTENER_NOT_IMPLEMENTED')\n\n\t\tconst responderRef = results.responses[0].responderRef\n\t\tassert.isEqual(\n\t\t\tresponderRef,\n\t\t\t`skill:${currentSkill.id}:${currentSkill.slug}`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener() {\n\t\tconst { listenerPath } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\tid: 'test',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\ttype: 'id',\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\n\t\tawait this.Service('typeChecker').check(listenerPath)\n\t}\n\n\tprivate static async installEventsAndCreateListener() {\n\t\tconst cli = await this.installEventFeature('events')\n\n\t\tconst version = 'v2020_01_01'\n\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: 'will-boot',\n\t\t\tversion,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\treturn { version, results, cli }\n\t}\n\n\tprivate static async setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\teventSignature: EventSignature\n\t) {\n\t\tconst expectedVersion = this.expectedVersion\n\n\t\tconst eventContract = {\n\t\t\teventSignatures: {\n\t\t\t\t[`my-new-event::${expectedVersion}`]: eventSignature,\n\t\t\t},\n\t\t} as const\n\n\t\tconst { skillFixture, skill2, currentSkill, cli, org } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tawait skillFixture.registerEventContract(skill2, eventContract)\n\n\t\tthis.Service('dependency').add({\n\t\t\tid: skill2.id,\n\t\t\tnamespace: skill2.slug,\n\t\t})\n\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\tnamespace: skill2.slug,\n\t\t\teventName: `my-new-event`,\n\t\t\tversion: expectedVersion,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst listener = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`my-new-event.${expectedVersion}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(listener)\n\n\t\tconst contents = diskUtil.readFile(listener)\n\n\t\treturn {\n\t\t\tcontents,\n\t\t\tskill2,\n\t\t\tlistenerPath: listener,\n\t\t\tcli,\n\t\t\teventContract,\n\t\t\torg,\n\t\t\tcurrentSkill,\n\t\t}\n\t}\n}\n"],"file":"CreatingAListener.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/events/CreatingAListener.test.ts"],"names":["CreatingAListenerTest","installEventFeature","Action","execute","namespace","results","assert","isTruthy","errors","err","errorAssert","assertError","namespaces","eventName","parameters","installEventsAndCreateListener","match","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","version","cli","doesInclude","checkHealth","health","isFalsy","event","skill","isUndefined","listeners","eventNamespace","waitForInput","lastInvocation","ui","getLastInvocation","isEqual","command","options","label","sendInput","MERCURY_API_NAMESPACE","reset","setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener","isGlobal","contents","emitPayloadSchema","targetSchema","eventTargetSchema","payloadSchema","id","fields","booleanField","type","skill2","slug","expectedVersion","organizationId","isRequired","responsePayloadSchema","currentSkill","eventContract","org","connectToApi","shouldAuthAsCurrentSkill","currentClient","disconnect","local","boot","wait","skillId","apiKey","client","mixinContract","eventSignatures","emit","target","payload","totalContracts","totalErrors","totalResponses","meta","promise","fail","stack","kill","error","doesThrow","eventResponseUtil","getFirstResponseOrThrow","eventAssertUtil","responderRef","responses","listenerPath","eventSignature","seedDummySkillRegisterCurrentSkillAndInstallToOrg","skillFixture","registerEventContract","add","listener","diskUtil","readFile","AbstractEventTest","versionUtil","generateVersion","constValue"],"mappings":"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","sourcesContent":["import { EventSignature } from '@sprucelabs/mercury-types'\nimport { buildSchema } from '@sprucelabs/schema'\nimport {\n\tbuildEmitTargetAndPayloadSchema,\n\teventAssertUtil,\n\teventResponseUtil,\n\teventTargetSchema,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tMERCURY_API_NAMESPACE,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingAListenerTest extends AbstractEventTest {\n\tprivate static readonly expectedVersion =\n\t\tversionUtil.generateVersion().constValue\n\n\t@test()\n\tprotected static async throwsWithBadNamespace() {\n\t\tawait this.installEventFeature('events')\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'taco-bell',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tconst err = results.errors[0]\n\n\t\terrorAssert.assertError(err, 'INVALID_NAMESPACES', {\n\t\t\tnamespaces: ['taco-bell'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async throwsWithBadEventName() {\n\t\tawait this.installEventFeature('events')\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'heartwood',\n\t\t\teventName: 'bad-time',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\tconst err = results.errors[0]\n\n\t\terrorAssert.assertError(err, 'INVALID_PARAMETERS', {\n\t\t\tparameters: ['eventName'],\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async generatesMapFile() {\n\t\tconst { results } = await this.installEventsAndCreateListener()\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`listeners.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(match)\n\t}\n\n\t@test()\n\tprotected static async createsValidListener() {\n\t\tconst { version, results, cli } =\n\t\t\tawait this.installEventsAndCreateListener()\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`will-boot.${version}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(match, version)\n\n\t\tawait this.Service('typeChecker').check(match)\n\n\t\tconst health = await cli.checkHealth()\n\n\t\tassert.isFalsy(health?.event?.errors)\n\t\tassert.isTruthy(health.skill)\n\n\t\tassert.isUndefined(health.skill.errors)\n\t\tassert.isTruthy(health.event)\n\n\t\tassert.doesInclude(health.event.listeners, {\n\t\t\teventName: 'will-boot',\n\t\t\teventNamespace: 'skill',\n\t\t\tversion,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async creatingANewListenerAsksWhichEventToListenTo() {\n\t\tawait this.installEventFeature('events')\n\n\t\tvoid this.Action('event', 'listen').execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tlet lastInvocation = this.ui.getLastInvocation()\n\n\t\tassert.isEqual(lastInvocation.command, 'prompt')\n\t\tassert.doesInclude(lastInvocation.options.label, 'namespace')\n\n\t\tawait this.ui.sendInput(MERCURY_API_NAMESPACE)\n\n\t\tawait this.waitForInput()\n\n\t\tlastInvocation = this.ui.getLastInvocation()\n\n\t\tassert.doesInclude(lastInvocation.options.label, 'event')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test()\n\tprotected static async generatesTypedListenerWithoutPayloads() {\n\t\tconst { contents } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t}\n\t\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'export default async (event: SpruceEvent): SpruceEventResponse'\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async generatesTypedListenerWithEmitPayload() {\n\t\tconst { contents, skill2 } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName: 'my-new-event',\n\t\t\t\t\t\ttargetSchema: eventTargetSchema,\n\t\t\t\t\t\tpayloadSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitPayload',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\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\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t'event: SpruceEvent<SkillEventContract, EmitPayload>'\n\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t`fullyQualifiedEventName: '${skill2.slug}.my-new-event::${this.expectedVersion}'`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async emittingEventTriggersListenerAndCrashesWithListenerNotImplemented() {\n\t\tconst { currentSkill, skill2, eventContract, org } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName: 'my-new-event',\n\t\t\t\t\t\ttargetSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitTarget',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\torganizationId: {\n\t\t\t\t\t\t\t\t\ttype: 'id',\n\t\t\t\t\t\t\t\t\tisRequired: true,\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\tpayloadSchema: {\n\t\t\t\t\t\t\tid: 'myNewEventEmitPayload',\n\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\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\tresponsePayloadSchema: buildSchema({\n\t\t\t\t\t\tid: 'myNewEventResponsePayload',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tbooleanField: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\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\n\t\tconst currentClient = await this.connectToApi({\n\t\t\tshouldAuthAsCurrentSkill: true,\n\t\t})\n\n\t\tawait currentClient.disconnect()\n\n\t\tconst boot = await this.Action('skill', 'boot').execute({ local: true })\n\n\t\tassert.isFalsy(boot.errors)\n\n\t\t//give the skill time to boot\n\t\tawait this.wait(20000)\n\n\t\tconst client = (await this.connectToApi({\n\t\t\tskillId: skill2.id,\n\t\t\tapiKey: skill2.apiKey,\n\t\t})) as any\n\n\t\tconst eventName = `${skill2.slug}.my-new-event::${this.expectedVersion}`\n\n\t\tclient.mixinContract({\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]:\n\t\t\t\t\teventContract.eventSignatures[\n\t\t\t\t\t\t`my-new-event::${this.expectedVersion}`\n\t\t\t\t\t],\n\t\t\t},\n\t\t})\n\n\t\tlet results: any\n\n\t\tdo {\n\t\t\tawait this.wait(5000)\n\n\t\t\tresults = await client.emit(eventName, {\n\t\t\t\ttarget: {\n\t\t\t\t\torganizationId: org.id,\n\t\t\t\t},\n\t\t\t\tpayload: {\n\t\t\t\t\tbooleanField: true,\n\t\t\t\t},\n\t\t\t})\n\t\t} while (results.totalContracts < 1)\n\n\t\tassert.isEqual(results.totalContracts, 1)\n\t\tassert.isEqual(results.totalErrors, 1)\n\t\tassert.isEqual(results.totalResponses, 1)\n\n\t\tboot.meta?.promise?.catch((err: Error) => {\n\t\t\tassert.fail(err.stack)\n\t\t})\n\n\t\tawait boot.meta?.kill()\n\n\t\tconst error = assert.doesThrow(() =>\n\t\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\t\t)\n\n\t\teventAssertUtil.assertError(error, 'LISTENER_NOT_IMPLEMENTED')\n\n\t\tconst responderRef = results.responses[0].responderRef\n\t\tassert.isEqual(\n\t\t\tresponderRef,\n\t\t\t`skill:${currentSkill.id}:${currentSkill.slug}`\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener() {\n\t\tconst { listenerPath } =\n\t\t\tawait this.setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\t\t\t{\n\t\t\t\t\tisGlobal: true,\n\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\tid: 'test',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\ttype: 'id',\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\n\t\tawait this.Service('typeChecker').check(listenerPath)\n\t}\n\n\tprivate static async installEventsAndCreateListener() {\n\t\tconst cli = await this.installEventFeature('events')\n\n\t\tconst version = 'v2020_01_01'\n\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: 'will-boot',\n\t\t\tversion,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\treturn { version, results, cli }\n\t}\n\n\tprivate static async setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener(\n\t\teventSignature: EventSignature\n\t) {\n\t\tconst expectedVersion = this.expectedVersion\n\n\t\tconst eventContract = {\n\t\t\teventSignatures: {\n\t\t\t\t[`my-new-event::${expectedVersion}`]: eventSignature,\n\t\t\t},\n\t\t} as const\n\n\t\tconst { skillFixture, skill2, currentSkill, cli, org } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tawait skillFixture.registerEventContract(skill2, eventContract)\n\n\t\tthis.Service('dependency').add({\n\t\t\tid: skill2.id,\n\t\t\tnamespace: skill2.slug,\n\t\t})\n\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\tnamespace: skill2.slug,\n\t\t\teventName: `my-new-event`,\n\t\t\tversion: expectedVersion,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst listener = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`my-new-event.${expectedVersion}.listener.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(listener)\n\n\t\tconst contents = diskUtil.readFile(listener)\n\n\t\treturn {\n\t\t\tcontents,\n\t\t\tskill2,\n\t\t\tlistenerPath: listener,\n\t\t\tcli,\n\t\t\teventContract,\n\t\t\torg,\n\t\t\tcurrentSkill,\n\t\t}\n\t}\n}\n"],"file":"CreatingAListener.test.js"}
@@ -114,7 +114,7 @@ var CreatingAnEventTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(),
114
114
 
115
115
  _test.assert.isArray(results.errors);
116
116
 
117
- _testUtils.errorAssertUtil.assertError(results.errors[0], 'SKILL_NOT_REGISTERED');
117
+ _testUtils.errorAssert.assertError(results.errors[0], 'SKILL_NOT_REGISTERED');
118
118
 
119
119
  case 7:
120
120
  case "end":