@sprucelabs/spruce-cli 19.1.15 → 19.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +3 -3
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +2 -2
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +2 -2
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +5 -5
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js +2 -2
- package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +2 -2
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.js +3 -3
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/JestJsonParser.test.js +2 -2
- package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
- package/build/features/cache/actions/DisableAction.js +3 -3
- package/build/features/cache/actions/DisableAction.js.map +1 -1
- package/build/features/cache/actions/EnableAction.js +2 -2
- package/build/features/cache/actions/EnableAction.js.map +1 -1
- package/build/features/conversation/actions/TestAction.js +2 -2
- package/build/features/conversation/actions/TestAction.js.map +1 -1
- package/build/features/error/ParentTestFinder.js +2 -2
- package/build/features/error/ParentTestFinder.js.map +1 -1
- package/build/features/node/NodeFeature.d.ts +7 -2
- package/build/features/schema/stores/SchemaStore.js +3 -3
- package/build/features/schema/stores/SchemaStore.js.map +1 -1
- package/build/features/test/actions/SetupAction.js +2 -2
- package/build/features/test/actions/SetupAction.js.map +1 -1
- package/build/features/universalDevDependencies.d.ts +7 -2
- package/build/features/universalDevDependencies.js +1 -0
- package/build/features/universalDevDependencies.js.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/interfaces/TerminalInterface.js +2 -2
- package/build/interfaces/TerminalInterface.js.map +1 -1
- package/build/services/CommandService.js +2 -2
- package/build/services/CommandService.js.map +1 -1
- package/build/tests/fixtures/PersonFixture.js +2 -2
- package/build/tests/fixtures/PersonFixture.js.map +1 -1
- package/build/utilities/eventContractCleaner.utility.js +3 -3
- package/build/utilities/eventContractCleaner.utility.js.map +1 -1
- package/build/utilities/introspection.utility.js +4 -4
- package/build/utilities/introspection.utility.js.map +1 -1
- package/build/utilities/tsConfig.utility.js +2 -2
- package/build/utilities/tsConfig.utility.js.map +1 -1
- package/node_modules/@typescript-eslint/parser/package.json +5 -5
- package/node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionType.js +1 -2
- package/node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionType.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js +2 -4
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeType.js +1 -2
- package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeType.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +2 -2
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
- package/node_modules/@typescript-eslint/types/package.json +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +19 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +3 -3
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
- package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
- package/package.json +11 -11
- package/src/features/universalDevDependencies.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [19.1.17](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v19.1.16...v19.1.17) (2023-07-07)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @sprucelabs/spruce-cli
|
|
9
|
+
|
|
10
|
+
## [19.1.16](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v19.1.15...v19.1.16) (2023-07-03)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @sprucelabs/spruce-cli
|
|
13
|
+
|
|
6
14
|
## [19.1.15](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v19.1.14...v19.1.15) (2023-06-30)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @sprucelabs/spruce-cli
|
|
@@ -175,7 +175,7 @@ var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUti
|
|
|
175
175
|
return cli.checkHealth();
|
|
176
176
|
case 12:
|
|
177
177
|
health = _context5.sent;
|
|
178
|
-
_testUtils.assert.isFalsy(health === null || health === void 0
|
|
178
|
+
_testUtils.assert.isFalsy(health === null || health === void 0 || (_health$event = health.event) === null || _health$event === void 0 ? void 0 : _health$event.errors);
|
|
179
179
|
_testUtils.assert.isTruthy(health.skill);
|
|
180
180
|
_testUtils.assert.isUndefined(health.skill.errors);
|
|
181
181
|
_testUtils.assert.isTruthy(health.event);
|
|
@@ -363,7 +363,7 @@ var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUti
|
|
|
363
363
|
key: "emittingEventTriggersListenerAndCrashesWithListenerNotImplemented",
|
|
364
364
|
value: function () {
|
|
365
365
|
var _emittingEventTriggersListenerAndCrashesWithListenerNotImplemented = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
|
|
366
|
-
var _boot$meta, _boot$
|
|
366
|
+
var _boot$meta, _boot$meta2;
|
|
367
367
|
var _yield$this$setupSkil3, currentSkill, skill2, eventContract, org, currentClient, boot, client, eventName, results, error, responderRef;
|
|
368
368
|
return _regenerator["default"].wrap(function _callee11$(_context11) {
|
|
369
369
|
while (1) switch (_context11.prev = _context11.next) {
|
|
@@ -461,7 +461,7 @@ var CreatingAListenerTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUti
|
|
|
461
461
|
_testUtils.assert.isEqual(results.totalContracts, 1);
|
|
462
462
|
_testUtils.assert.isEqual(results.totalErrors, 1);
|
|
463
463
|
_testUtils.assert.isEqual(results.totalResponses, 1);
|
|
464
|
-
(_boot$meta = boot.meta) === null || _boot$meta === void 0
|
|
464
|
+
(_boot$meta = boot.meta) === null || _boot$meta === void 0 || (_boot$meta = _boot$meta.promise) === null || _boot$meta === void 0 ? void 0 : _boot$meta["catch"](function (err) {
|
|
465
465
|
_testUtils.assert.fail(err.stack);
|
|
466
466
|
});
|
|
467
467
|
_context11.next = 35;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatingAListener.test.js","names":["_mercuryClient","require","_mercuryCoreEvents","_schema","_spruceEventUtils","_spruceSkillUtils","_spruceTestFixtures","_testUtils","_ListenAction","_AbstractEventTest2","_interopRequireDefault","_test","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_class","_class2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","CreatingAListenerTest","test","_AbstractEventTest","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","_get2","listen","Action","stop","beforeEach","_throwsWithBadNamespace","_callee2","results","err","_callee2$","_context2","installEventFeature","execute","namespace","sent","assert","isTruthy","errors","errorAssert","assertError","namespaces","throwsWithBadNamespace","_throwsWithBadEventName","_callee3","_callee3$","_context3","eventName","parameters","throwsWithBadEventName","_generatesMapFile","_callee4","match","_callee4$","_context4","installEventsCreateListenerAndGetListenerMap","Service","check","generatesMapFile","_createsValidListener","_callee5","_health$event","_yield$this$installEv","version","cli","health","_callee5$","_context5","installEventsAndCreateListener","testUtil","assertFileByNameInGeneratedFiles","concat","files","doesInclude","checkHealth","isFalsy","event","skill","isUndefined","listeners","eventNamespace","createsValidListener","_creatingANewListenerAsksWhichEventToListenTo","_callee6","lastInvocation","_callee6$","_context6","executeAndWaitForInput","ui","getLastInvocation","isEqual","command","options","label","sendInput","MERCURY_API_NAMESPACE","waitForInput","reset","creatingANewListenerAsksWhichEventToListenTo","_loadsContractsFilteringByDependencies","_callee7","passedTarget","_callee7$","_context7","MercuryClientFactory","setIsTestMode","MercuryTestClient","setShouldRequireLocalListeners","fakeGetEventContracts","target","generateId","installAddDependencyExecuteAndWaitForInput","isEqualDeep","CORE_EVENT_NAMESPACE","loadsContractsFilteringByDependencies","_fakeGetEventContracts","_callee8","cb","_callee8$","_context8","eventFaker","on","_ref","contracts","_toConsumableArray2","coreEventContracts","_x","_x2","_generatesTypedListenerWithoutPayloads","_callee9","_yield$this$setupSkil","contents","_callee9$","_context9","setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener","isGlobal","generatesTypedListenerWithoutPayloads","_generatesTypedListenerWithEmitPayload","_callee10","_yield$this$setupSkil2","skill2","_callee10$","_context10","emitPayloadSchema","buildEmitTargetAndPayloadSchema","targetSchema","eventTargetSchema","payloadSchema","id","fields","booleanField","type","slug","expectedVersion","generatesTypedListenerWithEmitPayload","_emittingEventTriggersListenerAndCrashesWithListenerNotImplemented","_callee11","_boot$meta","_boot$meta$promise","_boot$meta2","_yield$this$setupSkil3","currentSkill","eventContract","org","currentClient","boot","client","error","responderRef","_callee11$","_context11","organizationId","isRequired","responsePayloadSchema","buildSchema","connectToApi","shouldAuthAsCurrentSkill","disconnect","local","wait","skillId","apiKey","mixinContract","eventSignatures","_defineProperty2","emit","payload","totalContracts","totalErrors","totalResponses","meta","promise","fail","stack","kill","doesThrow","eventResponseUtil","getFirstResponseOrThrow","eventAssertUtil","responses","emittingEventTriggersListenerAndCrashesWithListenerNotImplemented","_listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener","_callee12","_yield$this$setupSkil4","listenerPath","_callee12$","_context12","listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener","_hasIsGlobalCheck","_callee13","_callee13$","_context13","diskUtil","readFile","hasIsGlobalCheck","_installAddDependencyExecuteAndWaitForInput","_callee14","_callee14$","_context14","addDependency","abrupt","_x3","_executeAndWaitForInput","_callee15","_this","_callee15$","_context15","then","setError","dependencies","add","_installEventsAndCreateListener","_callee16","_callee16$","_context16","_setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener","_callee17","eventSignature","_yield$this$seedDummy","skillFixture","listener","_callee17$","_context17","seedDummySkillRegisterCurrentSkillAndInstallToOrg","registerEventContract","_x4","_installEventsCreateListenerAndGetListenerMap","_callee18","_yield$this$installEv2","_callee18$","_context18","AbstractEventTest","versionUtil","generateVersion","constValue","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor","exports"],"sources":["../../../../src/__tests__/behavioral/events/CreatingAListener.test.ts"],"sourcesContent":["import {\n\tMercuryClientFactory,\n\tMercuryTestClient,\n} from '@sprucelabs/mercury-client'\nimport { coreEventContracts } from '@sprucelabs/mercury-core-events'\nimport { EventSignature, SpruceSchemas } 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 { eventFaker } from '@sprucelabs/spruce-test-fixtures'\nimport { test, assert, generateId } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport ListenAction, {\n\tCORE_EVENT_NAMESPACE,\n} from '../../../features/event/actions/ListenAction'\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\tprivate static listen: ListenAction\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.listen = this.Action('event', 'listen')\n\t}\n\n\t@test()\n\tprotected static async throwsWithBadNamespace() {\n\t\tawait this.installEventFeature('events')\n\n\t\tconst results = await this.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.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 match = await this.installEventsCreateListenerAndGetListenerMap()\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\t\tawait this.executeAndWaitForInput()\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\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 loadsContractsFilteringByDependencies() {\n\t\tMercuryClientFactory.setIsTestMode(true)\n\t\tMercuryTestClient.setShouldRequireLocalListeners(true)\n\n\t\tlet passedTarget: any\n\t\tawait this.fakeGetEventContracts((target) => {\n\t\t\tpassedTarget = target\n\t\t})\n\n\t\tconst namespace = generateId()\n\t\tawait this.installAddDependencyExecuteAndWaitForInput(namespace)\n\n\t\tassert.isEqualDeep(passedTarget, {\n\t\t\tnamespaces: [namespace, CORE_EVENT_NAMESPACE],\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\tprivate static async fakeGetEventContracts(\n\t\tcb?: (\n\t\t\ttarget?: SpruceSchemas.Mercury.v2020_12_25.GetEventContractsTarget | null\n\t\t) => void,\n\t\tresults?: SpruceSchemas.Mercury.v2020_12_25.GetEventContractsResponsePayload['contracts']\n\t) {\n\t\tawait eventFaker.on('get-event-contracts::v2020_12_25', ({ target }) => {\n\t\t\tcb?.(target)\n\n\t\t\treturn {\n\t\t\t\tcontracts: results ?? [...(coreEventContracts as any)],\n\t\t\t}\n\t\t})\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\t@test()\n\tprotected static async hasIsGlobalCheck() {\n\t\tconst match = await this.installEventsCreateListenerAndGetListenerMap()\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"isGlobal: require('../../listeners/skill/will-boot.v2020_01_01.listener').isGlobal,\"\n\t\t)\n\t}\n\n\tprivate static async installAddDependencyExecuteAndWaitForInput(\n\t\tnamespace: string\n\t) {\n\t\tawait this.installEventFeature('events')\n\n\t\tthis.addDependency(namespace)\n\n\t\tawait this.executeAndWaitForInput()\n\t\treturn this.ui.getLastInvocation()\n\t}\n\n\tprivate static async executeAndWaitForInput() {\n\t\tvoid this.listen.execute({}).then((results) => {\n\t\t\tif (results.errors) {\n\t\t\t\tthis.ui.setError(results.errors[0])\n\t\t\t}\n\t\t})\n\n\t\tawait this.waitForInput()\n\t}\n\n\tprivate static addDependency(namespace: string) {\n\t\tconst dependencies = this.Service('dependency')\n\t\tdependencies.add({\n\t\t\tid: namespace,\n\t\t\tnamespace,\n\t\t})\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.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.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\tprivate static async installEventsCreateListenerAndGetListenerMap() {\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\t\treturn match\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CreatingAListener.test.js","names":["_mercuryClient","require","_mercuryCoreEvents","_schema","_spruceEventUtils","_spruceSkillUtils","_spruceTestFixtures","_testUtils","_ListenAction","_AbstractEventTest2","_interopRequireDefault","_test","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_class","_class2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","CreatingAListenerTest","test","_AbstractEventTest","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","_get2","listen","Action","stop","beforeEach","_throwsWithBadNamespace","_callee2","results","err","_callee2$","_context2","installEventFeature","execute","namespace","sent","assert","isTruthy","errors","errorAssert","assertError","namespaces","throwsWithBadNamespace","_throwsWithBadEventName","_callee3","_callee3$","_context3","eventName","parameters","throwsWithBadEventName","_generatesMapFile","_callee4","match","_callee4$","_context4","installEventsCreateListenerAndGetListenerMap","Service","check","generatesMapFile","_createsValidListener","_callee5","_health$event","_yield$this$installEv","version","cli","health","_callee5$","_context5","installEventsAndCreateListener","testUtil","assertFileByNameInGeneratedFiles","concat","files","doesInclude","checkHealth","isFalsy","event","skill","isUndefined","listeners","eventNamespace","createsValidListener","_creatingANewListenerAsksWhichEventToListenTo","_callee6","lastInvocation","_callee6$","_context6","executeAndWaitForInput","ui","getLastInvocation","isEqual","command","options","label","sendInput","MERCURY_API_NAMESPACE","waitForInput","reset","creatingANewListenerAsksWhichEventToListenTo","_loadsContractsFilteringByDependencies","_callee7","passedTarget","_callee7$","_context7","MercuryClientFactory","setIsTestMode","MercuryTestClient","setShouldRequireLocalListeners","fakeGetEventContracts","target","generateId","installAddDependencyExecuteAndWaitForInput","isEqualDeep","CORE_EVENT_NAMESPACE","loadsContractsFilteringByDependencies","_fakeGetEventContracts","_callee8","cb","_callee8$","_context8","eventFaker","on","_ref","contracts","_toConsumableArray2","coreEventContracts","_x","_x2","_generatesTypedListenerWithoutPayloads","_callee9","_yield$this$setupSkil","contents","_callee9$","_context9","setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener","isGlobal","generatesTypedListenerWithoutPayloads","_generatesTypedListenerWithEmitPayload","_callee10","_yield$this$setupSkil2","skill2","_callee10$","_context10","emitPayloadSchema","buildEmitTargetAndPayloadSchema","targetSchema","eventTargetSchema","payloadSchema","id","fields","booleanField","type","slug","expectedVersion","generatesTypedListenerWithEmitPayload","_emittingEventTriggersListenerAndCrashesWithListenerNotImplemented","_callee11","_boot$meta","_boot$meta2","_yield$this$setupSkil3","currentSkill","eventContract","org","currentClient","boot","client","error","responderRef","_callee11$","_context11","organizationId","isRequired","responsePayloadSchema","buildSchema","connectToApi","shouldAuthAsCurrentSkill","disconnect","local","wait","skillId","apiKey","mixinContract","eventSignatures","_defineProperty2","emit","payload","totalContracts","totalErrors","totalResponses","meta","promise","fail","stack","kill","doesThrow","eventResponseUtil","getFirstResponseOrThrow","eventAssertUtil","responses","emittingEventTriggersListenerAndCrashesWithListenerNotImplemented","_listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener","_callee12","_yield$this$setupSkil4","listenerPath","_callee12$","_context12","listeningToAnEventWithNoEmitTargetOrPayloadGeneratesValidListener","_hasIsGlobalCheck","_callee13","_callee13$","_context13","diskUtil","readFile","hasIsGlobalCheck","_installAddDependencyExecuteAndWaitForInput","_callee14","_callee14$","_context14","addDependency","abrupt","_x3","_executeAndWaitForInput","_callee15","_this","_callee15$","_context15","then","setError","dependencies","add","_installEventsAndCreateListener","_callee16","_callee16$","_context16","_setupSkillsInstallAtOrgRegisterEventContractAndGenerateListener","_callee17","eventSignature","_yield$this$seedDummy","skillFixture","listener","_callee17$","_context17","seedDummySkillRegisterCurrentSkillAndInstallToOrg","registerEventContract","_x4","_installEventsCreateListenerAndGetListenerMap","_callee18","_yield$this$installEv2","_callee18$","_context18","AbstractEventTest","versionUtil","generateVersion","constValue","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor","exports"],"sources":["../../../../src/__tests__/behavioral/events/CreatingAListener.test.ts"],"sourcesContent":["import {\n\tMercuryClientFactory,\n\tMercuryTestClient,\n} from '@sprucelabs/mercury-client'\nimport { coreEventContracts } from '@sprucelabs/mercury-core-events'\nimport { EventSignature, SpruceSchemas } 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 { eventFaker } from '@sprucelabs/spruce-test-fixtures'\nimport { test, assert, generateId } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport ListenAction, {\n\tCORE_EVENT_NAMESPACE,\n} from '../../../features/event/actions/ListenAction'\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\tprivate static listen: ListenAction\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.listen = this.Action('event', 'listen')\n\t}\n\n\t@test()\n\tprotected static async throwsWithBadNamespace() {\n\t\tawait this.installEventFeature('events')\n\n\t\tconst results = await this.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.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 match = await this.installEventsCreateListenerAndGetListenerMap()\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\t\tawait this.executeAndWaitForInput()\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\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 loadsContractsFilteringByDependencies() {\n\t\tMercuryClientFactory.setIsTestMode(true)\n\t\tMercuryTestClient.setShouldRequireLocalListeners(true)\n\n\t\tlet passedTarget: any\n\t\tawait this.fakeGetEventContracts((target) => {\n\t\t\tpassedTarget = target\n\t\t})\n\n\t\tconst namespace = generateId()\n\t\tawait this.installAddDependencyExecuteAndWaitForInput(namespace)\n\n\t\tassert.isEqualDeep(passedTarget, {\n\t\t\tnamespaces: [namespace, CORE_EVENT_NAMESPACE],\n\t\t})\n\n\t\tthis.ui.reset()\n\t}\n\n\tprivate static async fakeGetEventContracts(\n\t\tcb?: (\n\t\t\ttarget?: SpruceSchemas.Mercury.v2020_12_25.GetEventContractsTarget | null\n\t\t) => void,\n\t\tresults?: SpruceSchemas.Mercury.v2020_12_25.GetEventContractsResponsePayload['contracts']\n\t) {\n\t\tawait eventFaker.on('get-event-contracts::v2020_12_25', ({ target }) => {\n\t\t\tcb?.(target)\n\n\t\t\treturn {\n\t\t\t\tcontracts: results ?? [...(coreEventContracts as any)],\n\t\t\t}\n\t\t})\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\t@test()\n\tprotected static async hasIsGlobalCheck() {\n\t\tconst match = await this.installEventsCreateListenerAndGetListenerMap()\n\t\tconst contents = diskUtil.readFile(match)\n\n\t\tassert.doesInclude(\n\t\t\tcontents,\n\t\t\t\"isGlobal: require('../../listeners/skill/will-boot.v2020_01_01.listener').isGlobal,\"\n\t\t)\n\t}\n\n\tprivate static async installAddDependencyExecuteAndWaitForInput(\n\t\tnamespace: string\n\t) {\n\t\tawait this.installEventFeature('events')\n\n\t\tthis.addDependency(namespace)\n\n\t\tawait this.executeAndWaitForInput()\n\t\treturn this.ui.getLastInvocation()\n\t}\n\n\tprivate static async executeAndWaitForInput() {\n\t\tvoid this.listen.execute({}).then((results) => {\n\t\t\tif (results.errors) {\n\t\t\t\tthis.ui.setError(results.errors[0])\n\t\t\t}\n\t\t})\n\n\t\tawait this.waitForInput()\n\t}\n\n\tprivate static addDependency(namespace: string) {\n\t\tconst dependencies = this.Service('dependency')\n\t\tdependencies.add({\n\t\t\tid: namespace,\n\t\t\tnamespace,\n\t\t})\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.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.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\tprivate static async installEventsCreateListenerAndGetListenerMap() {\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\t\treturn match\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAIA,IAAAC,kBAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAMA,IAAAI,iBAAA,GAAAJ,OAAA;AAKA,IAAAK,mBAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAEA,IAAAO,aAAA,GAAAP,OAAA;AAGA,IAAAQ,mBAAA,GAAAC,sBAAA,CAAAT,OAAA;AACA,IAAAU,KAAA,GAAAD,sBAAA,CAAAT,OAAA;AAA4D,IAAAW,IAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,OAAA;AAAA,SAAAC,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,mBAAAP,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAAA,IAEvCC,qBAAqB,IAAAnC,IAAA,GAUxC,IAAAoC,eAAI,EAAC,CAAC,EAAAnC,KAAA,GAgBN,IAAAmC,eAAI,EAAC,CAAC,EAAAlC,KAAA,GAgBN,IAAAkC,eAAI,EAAC,CAAC,EAAAjC,KAAA,GAMN,IAAAiC,eAAI,EAAC,CAAC,EAAAhC,KAAA,GA6BN,IAAAgC,eAAI,EAAC,CAAC,EAAA/B,KAAA,GAoBN,IAAA+B,eAAI,EAAC,CAAC,EAAA9B,KAAA,GAmCN,IAAA8B,eAAI,EAAC,CAAC,EAAA7B,KAAA,GAeN,IAAA6B,eAAI,EAAC,CAAC,EAAA5B,KAAA,GA+BN,IAAA4B,eAAI,EAAC,CAAC,EAAA3B,MAAA,GAuGN,IAAA2B,eAAI,EAAC,CAAC,EAAA1B,MAAA,GAoBN,IAAA0B,eAAI,EAAC,CAAC,GAAAzB,MAAA,IAAAC,OAAA,0BAAAyB,kBAAA;EAAA,IAAAC,UAAA,aAAAH,qBAAA,EAAAE,kBAAA;EAAA,IAAAE,MAAA,GAAA1B,YAAA,CAAAsB,qBAAA;EAAA,SAAAA,sBAAA;IAAA,IAAAK,gBAAA,mBAAAL,qBAAA;IAAA,OAAAI,MAAA,CAAAb,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAgB,aAAA,aAAAN,qBAAA;IAAAO,GAAA;IAAAC,KAAA;MAAA,IAAAC,WAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAxSP,SAAAC,QAAA;QAAA,OAAAF,YAAA,YAAAG,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAAF,QAAA,CAAAE,IAAA;cAAA,WAAAC,KAAA,iBAAAnC,gBAAA,aAAAgB,qBAAA,uBAAAF,IAAA;YAAA;cAEC,IAAI,CAACsB,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;YAAA;YAAA;cAAA,OAAAL,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAC5C;MAAA,SAAAU,WAAA;QAAA,OAAAd,WAAA,CAAAlB,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAiC,UAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA;MAAA,IAAAgB,uBAAA,OAAAd,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAa,SAAA;QAAA,IAAAC,OAAA,EAAAC,GAAA;QAAA,OAAAhB,YAAA,YAAAG,IAAA,UAAAc,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;YAAA;cAAAW,SAAA,CAAAX,IAAA;cAAA,OAEO,IAAI,CAACY,mBAAmB,CAAC,QAAQ,CAAC;YAAA;cAAAD,SAAA,CAAAX,IAAA;cAAA,OAElB,IAAI,CAACE,MAAM,CAACW,OAAO,CAAC;gBACzCC,SAAS,EAAE;cACZ,CAAC,CAAC;YAAA;cAFIN,OAAO,GAAAG,SAAA,CAAAI,IAAA;cAIbC,iBAAM,CAACC,QAAQ,CAACT,OAAO,CAACU,MAAM,CAAC;cACzBT,GAAG,GAAGD,OAAO,CAACU,MAAM,CAAC,CAAC,CAAC;cAE7BC,sBAAW,CAACC,WAAW,CAACX,GAAG,EAAE,oBAAoB,EAAE;gBAClDY,UAAU,EAAE,CAAC,WAAW;cACzB,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAV,SAAA,CAAAP,IAAA;UAAA;QAAA,GAAAG,QAAA;MAAA,CACF;MAAA,SAAAe,uBAAA;QAAA,OAAAhB,uBAAA,CAAAjC,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAkD,sBAAA;IAAA;EAAA;IAAAjC,GAAA;IAAAC,KAAA;MAAA,IAAAiC,uBAAA,OAAA/B,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAA8B,SAAA;QAAA,IAAAhB,OAAA,EAAAC,GAAA;QAAA,OAAAhB,YAAA,YAAAG,IAAA,UAAA6B,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA3B,IAAA,GAAA2B,SAAA,CAAA1B,IAAA;YAAA;cAAA0B,SAAA,CAAA1B,IAAA;cAAA,OAEO,IAAI,CAACY,mBAAmB,CAAC,QAAQ,CAAC;YAAA;cAAAc,SAAA,CAAA1B,IAAA;cAAA,OAClB,IAAI,CAACE,MAAM,CAACW,OAAO,CAAC;gBACzCC,SAAS,EAAE,WAAW;gBACtBa,SAAS,EAAE;cACZ,CAAC,CAAC;YAAA;cAHInB,OAAO,GAAAkB,SAAA,CAAAX,IAAA;cAKbC,iBAAM,CAACC,QAAQ,CAACT,OAAO,CAACU,MAAM,CAAC;cACzBT,GAAG,GAAGD,OAAO,CAACU,MAAM,CAAC,CAAC,CAAC;cAE7BC,sBAAW,CAACC,WAAW,CAACX,GAAG,EAAE,oBAAoB,EAAE;gBAClDmB,UAAU,EAAE,CAAC,WAAW;cACzB,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAF,SAAA,CAAAtB,IAAA;UAAA;QAAA,GAAAoB,QAAA;MAAA,CACF;MAAA,SAAAK,uBAAA;QAAA,OAAAN,uBAAA,CAAAlD,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAyD,sBAAA;IAAA;EAAA;IAAAxC,GAAA;IAAAC,KAAA;MAAA,IAAAwC,iBAAA,OAAAtC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAqC,SAAA;QAAA,IAAAC,KAAA;QAAA,OAAAvC,YAAA,YAAAG,IAAA,UAAAqC,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAnC,IAAA,GAAAmC,SAAA,CAAAlC,IAAA;YAAA;cAAAkC,SAAA,CAAAlC,IAAA;cAAA,OAEqB,IAAI,CAACmC,4CAA4C,CAAC,CAAC;YAAA;cAAjEH,KAAK,GAAAE,SAAA,CAAAnB,IAAA;cAAAmB,SAAA,CAAAlC,IAAA;cAAA,OACL,IAAI,CAACoC,OAAO,CAAC,aAAa,CAAC,CAACC,KAAK,CAACL,KAAK,CAAC;YAAA;YAAA;cAAA,OAAAE,SAAA,CAAA9B,IAAA;UAAA;QAAA,GAAA2B,QAAA;MAAA,CAC9C;MAAA,SAAAO,iBAAA;QAAA,OAAAR,iBAAA,CAAAzD,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAkE,gBAAA;IAAA;EAAA;IAAAjD,GAAA;IAAAC,KAAA;MAAA,IAAAiD,qBAAA,OAAA/C,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAA8C,SAAA;QAAA,IAAAC,aAAA;QAAA,IAAAC,qBAAA,EAAAC,OAAA,EAAAnC,OAAA,EAAAoC,GAAA,EAAAZ,KAAA,EAAAa,MAAA;QAAA,OAAApD,YAAA,YAAAG,IAAA,UAAAkD,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAhD,IAAA,GAAAgD,SAAA,CAAA/C,IAAA;YAAA;cAAA+C,SAAA,CAAA/C,IAAA;cAAA,OAGQ,IAAI,CAACgD,8BAA8B,CAAC,CAAC;YAAA;cAAAN,qBAAA,GAAAK,SAAA,CAAAhC,IAAA;cADpC4B,OAAO,GAAAD,qBAAA,CAAPC,OAAO;cAAEnC,OAAO,GAAAkC,qBAAA,CAAPlC,OAAO;cAAEoC,GAAG,GAAAF,qBAAA,CAAHE,GAAG;cAGvBZ,KAAK,GAAGiB,gBAAQ,CAACC,gCAAgC,cAAAC,MAAA,CACzCR,OAAO,mBACpBnC,OAAO,CAAC4C,KACT,CAAC;cAEDpC,iBAAM,CAACqC,WAAW,CAACrB,KAAK,EAAEW,OAAO,CAAC;cAAAI,SAAA,CAAA/C,IAAA;cAAA,OAE5B,IAAI,CAACoC,OAAO,CAAC,aAAa,CAAC,CAACC,KAAK,CAACL,KAAK,CAAC;YAAA;cAAAe,SAAA,CAAA/C,IAAA;cAAA,OAEzB4C,GAAG,CAACU,WAAW,CAAC,CAAC;YAAA;cAAhCT,MAAM,GAAAE,SAAA,CAAAhC,IAAA;cAEZC,iBAAM,CAACuC,OAAO,CAACV,MAAM,aAANA,MAAM,gBAAAJ,aAAA,GAANI,MAAM,CAAEW,KAAK,cAAAf,aAAA,uBAAbA,aAAA,CAAevB,MAAM,CAAC;cACrCF,iBAAM,CAACC,QAAQ,CAAC4B,MAAM,CAACY,KAAK,CAAC;cAE7BzC,iBAAM,CAAC0C,WAAW,CAACb,MAAM,CAACY,KAAK,CAACvC,MAAM,CAAC;cACvCF,iBAAM,CAACC,QAAQ,CAAC4B,MAAM,CAACW,KAAK,CAAC;cAE7BxC,iBAAM,CAACqC,WAAW,CAACR,MAAM,CAACW,KAAK,CAACG,SAAS,EAAE;gBAC1ChC,SAAS,EAAE,WAAW;gBACtBiC,cAAc,EAAE,OAAO;gBACvBjB,OAAO,EAAPA;cACD,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAI,SAAA,CAAA3C,IAAA;UAAA;QAAA,GAAAoC,QAAA;MAAA,CACF;MAAA,SAAAqB,qBAAA;QAAA,OAAAtB,qBAAA,CAAAlE,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAyF,oBAAA;IAAA;EAAA;IAAAxE,GAAA;IAAAC,KAAA;MAAA,IAAAwE,6CAAA,OAAAtE,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAqE,SAAA;QAAA,IAAAC,cAAA;QAAA,OAAAvE,YAAA,YAAAG,IAAA,UAAAqE,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAnE,IAAA,GAAAmE,SAAA,CAAAlE,IAAA;YAAA;cAAAkE,SAAA,CAAAlE,IAAA;cAAA,OAEO,IAAI,CAACY,mBAAmB,CAAC,QAAQ,CAAC;YAAA;cAAAsD,SAAA,CAAAlE,IAAA;cAAA,OAClC,IAAI,CAACmE,sBAAsB,CAAC,CAAC;YAAA;cAE/BH,cAAc,GAAG,IAAI,CAACI,EAAE,CAACC,iBAAiB,CAAC,CAAC;cAEhDrD,iBAAM,CAACsD,OAAO,CAACN,cAAc,CAACO,OAAO,EAAE,QAAQ,CAAC;cAChDvD,iBAAM,CAACqC,WAAW,CAACW,cAAc,CAACQ,OAAO,CAACC,KAAK,EAAE,WAAW,CAAC;cAAAP,SAAA,CAAAlE,IAAA;cAAA,OAEvD,IAAI,CAACoE,EAAE,CAACM,SAAS,CAACC,uCAAqB,CAAC;YAAA;cAAAT,SAAA,CAAAlE,IAAA;cAAA,OACxC,IAAI,CAAC4E,YAAY,CAAC,CAAC;YAAA;cAEzBZ,cAAc,GAAG,IAAI,CAACI,EAAE,CAACC,iBAAiB,CAAC,CAAC;cAE5CrD,iBAAM,CAACqC,WAAW,CAACW,cAAc,CAACQ,OAAO,CAACC,KAAK,EAAE,OAAO,CAAC;cAEzD,IAAI,CAACL,EAAE,CAACS,KAAK,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAX,SAAA,CAAA9D,IAAA;UAAA;QAAA,GAAA2D,QAAA;MAAA,CACf;MAAA,SAAAe,6CAAA;QAAA,OAAAhB,6CAAA,CAAAzF,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA0G,4CAAA;IAAA;EAAA;IAAAzF,GAAA;IAAAC,KAAA;MAAA,IAAAyF,sCAAA,OAAAvF,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAsF,SAAA;QAAA,IAAAC,YAAA,EAAAnE,SAAA;QAAA,OAAArB,YAAA,YAAAG,IAAA,UAAAsF,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAApF,IAAA,GAAAoF,SAAA,CAAAnF,IAAA;YAAA;cAECoF,mCAAoB,CAACC,aAAa,CAAC,IAAI,CAAC;cACxCC,gCAAiB,CAACC,8BAA8B,CAAC,IAAI,CAAC;cAAAJ,SAAA,CAAAnF,IAAA;cAAA,OAGhD,IAAI,CAACwF,qBAAqB,CAAC,UAACC,MAAM,EAAK;gBAC5CR,YAAY,GAAGQ,MAAM;cACtB,CAAC,CAAC;YAAA;cAEI3E,SAAS,GAAG,IAAA4E,qBAAU,EAAC,CAAC;cAAAP,SAAA,CAAAnF,IAAA;cAAA,OACxB,IAAI,CAAC2F,0CAA0C,CAAC7E,SAAS,CAAC;YAAA;cAEhEE,iBAAM,CAAC4E,WAAW,CAACX,YAAY,EAAE;gBAChC5D,UAAU,EAAE,CAACP,SAAS,EAAE+E,kCAAoB;cAC7C,CAAC,CAAC;cAEF,IAAI,CAACzB,EAAE,CAACS,KAAK,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAM,SAAA,CAAA/E,IAAA;UAAA;QAAA,GAAA4E,QAAA;MAAA,CACf;MAAA,SAAAc,sCAAA;QAAA,OAAAf,sCAAA,CAAA1G,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA0H,qCAAA;IAAA;EAAA;IAAAzG,GAAA;IAAAC,KAAA;MAAA,IAAAyG,sBAAA,OAAAvG,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAsG,SACCC,EAES,EACTzF,OAAyF;QAAA,OAAAf,YAAA,YAAAG,IAAA,UAAAsG,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAApG,IAAA,GAAAoG,SAAA,CAAAnG,IAAA;YAAA;cAAAmG,SAAA,CAAAnG,IAAA;cAAA,OAEnFoG,8BAAU,CAACC,EAAE,CAAC,kCAAkC,EAAE,UAAAC,IAAA,EAAgB;gBAAA,IAAbb,MAAM,GAAAa,IAAA,CAANb,MAAM;gBAChEQ,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAGR,MAAM,CAAC;gBAEZ,OAAO;kBACNc,SAAS,EAAE/F,OAAO,aAAPA,OAAO,cAAPA,OAAO,OAAAgG,mBAAA,aAASC,qCAAkB;gBAC9C,CAAC;cACF,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAN,SAAA,CAAA/F,IAAA;UAAA;QAAA,GAAA4F,QAAA;MAAA,CACF;MAAA,SAAAR,sBAAAkB,EAAA,EAAAC,GAAA;QAAA,OAAAZ,sBAAA,CAAA1H,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAoH,qBAAA;IAAA;EAAA;IAAAnG,GAAA;IAAAC,KAAA;MAAA,IAAAsH,sCAAA,OAAApH,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAmH,SAAA;QAAA,IAAAC,qBAAA,EAAAC,QAAA;QAAA,OAAAtH,YAAA,YAAAG,IAAA,UAAAoH,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAlH,IAAA,GAAAkH,SAAA,CAAAjH,IAAA;YAAA;cAAAiH,SAAA,CAAAjH,IAAA;cAAA,OAGQ,IAAI,CAACkH,+DAA+D,CACzE;gBACCC,QAAQ,EAAE;cACX,CACD,CAAC;YAAA;cAAAL,qBAAA,GAAAG,SAAA,CAAAlG,IAAA;cALMgG,QAAQ,GAAAD,qBAAA,CAARC,QAAQ;cAOhB/F,iBAAM,CAACqC,WAAW,CACjB0D,QAAQ,EACR,gEACD,CAAC;YAAA;YAAA;cAAA,OAAAE,SAAA,CAAA7G,IAAA;UAAA;QAAA,GAAAyG,QAAA;MAAA,CACD;MAAA,SAAAO,sCAAA;QAAA,OAAAR,sCAAA,CAAAvI,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAgJ,qCAAA;IAAA;EAAA;IAAA/H,GAAA;IAAAC,KAAA;MAAA,IAAA+H,sCAAA,OAAA7H,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAA4H,UAAA;QAAA,IAAAC,sBAAA,EAAAR,QAAA,EAAAS,MAAA;QAAA,OAAA/H,YAAA,YAAAG,IAAA,UAAA6H,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA3H,IAAA,GAAA2H,UAAA,CAAA1H,IAAA;YAAA;cAAA0H,UAAA,CAAA1H,IAAA;cAAA,OAGQ,IAAI,CAACkH,+DAA+D,CACzE;gBACCS,iBAAiB,EAAE,IAAAC,iDAA+B,EAAC;kBAClDjG,SAAS,EAAE,cAAc;kBACzBkG,YAAY,EAAEC,mCAAiB;kBAC/BC,aAAa,EAAE;oBACdC,EAAE,EAAE,uBAAuB;oBAC3BC,MAAM,EAAE;sBACPC,YAAY,EAAE;wBACbC,IAAI,EAAE;sBACP;oBACD;kBACD;gBACD,CAAC;cACF,CACD,CAAC;YAAA;cAAAZ,sBAAA,GAAAG,UAAA,CAAA3G,IAAA;cAhBMgG,QAAQ,GAAAQ,sBAAA,CAARR,QAAQ;cAAES,MAAM,GAAAD,sBAAA,CAANC,MAAM;cAkBxBxG,iBAAM,CAACqC,WAAW,CACjB0D,QAAQ,EACR,qDACD,CAAC;cAED/F,iBAAM,CAACqC,WAAW,CACjB0D,QAAQ,+BAAA5D,MAAA,CACqBqE,MAAM,CAACY,IAAI,qBAAAjF,MAAA,CAAkB,IAAI,CAACkF,eAAe,MAC/E,CAAC;YAAA;YAAA;cAAA,OAAAX,UAAA,CAAAtH,IAAA;UAAA;QAAA,GAAAkH,SAAA;MAAA,CACD;MAAA,SAAAgB,sCAAA;QAAA,OAAAjB,sCAAA,CAAAhJ,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAkK,qCAAA;IAAA;EAAA;IAAAjJ,GAAA;IAAAC,KAAA;MAAA,IAAAiJ,kEAAA,OAAA/I,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAA8I,UAAA;QAAA,IAAAC,UAAA,EAAAC,WAAA;QAAA,IAAAC,sBAAA,EAAAC,YAAA,EAAApB,MAAA,EAAAqB,aAAA,EAAAC,GAAA,EAAAC,aAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAtH,SAAA,EAAAnB,OAAA,EAAA0I,KAAA,EAAAC,YAAA;QAAA,OAAA1J,YAAA,YAAAG,IAAA,UAAAwJ,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAAtJ,IAAA,GAAAsJ,UAAA,CAAArJ,IAAA;YAAA;cAAAqJ,UAAA,CAAArJ,IAAA;cAAA,OAGQ,IAAI,CAACkH,+DAA+D,CACzE;gBACCS,iBAAiB,EAAE,IAAAC,iDAA+B,EAAC;kBAClDjG,SAAS,EAAE,cAAc;kBACzBkG,YAAY,EAAE;oBACbG,EAAE,EAAE,sBAAsB;oBAC1BC,MAAM,EAAE;sBACPqB,cAAc,EAAE;wBACfnB,IAAI,EAAE,IAAI;wBACVoB,UAAU,EAAE;sBACb;oBACD;kBACD,CAAC;kBACDxB,aAAa,EAAE;oBACdC,EAAE,EAAE,uBAAuB;oBAC3BC,MAAM,EAAE;sBACPC,YAAY,EAAE;wBACbC,IAAI,EAAE;sBACP;oBACD;kBACD;gBACD,CAAC,CAAC;gBACFqB,qBAAqB,EAAE,IAAAC,mBAAW,EAAC;kBAClCzB,EAAE,EAAE,2BAA2B;kBAC/BC,MAAM,EAAE;oBACPC,YAAY,EAAE;sBACbC,IAAI,EAAE;oBACP;kBACD;gBACD,CAAC;cACF,CACD,CAAC;YAAA;cAAAQ,sBAAA,GAAAU,UAAA,CAAAtI,IAAA;cAhCM6H,YAAY,GAAAD,sBAAA,CAAZC,YAAY;cAAEpB,MAAM,GAAAmB,sBAAA,CAANnB,MAAM;cAAEqB,aAAa,GAAAF,sBAAA,CAAbE,aAAa;cAAEC,GAAG,GAAAH,sBAAA,CAAHG,GAAG;cAAAO,UAAA,CAAArJ,IAAA;cAAA,OAkCpB,IAAI,CAAC0J,YAAY,CAAC;gBAC7CC,wBAAwB,EAAE;cAC3B,CAAC,CAAC;YAAA;cAFIZ,aAAa,GAAAM,UAAA,CAAAtI,IAAA;cAAAsI,UAAA,CAAArJ,IAAA;cAAA,OAIb+I,aAAa,CAACa,UAAU,CAAC,CAAC;YAAA;cAAAP,UAAA,CAAArJ,IAAA;cAAA,OAEb,IAAI,CAACG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAACU,OAAO,CAAC;gBAAEgJ,KAAK,EAAE;cAAK,CAAC,CAAC;YAAA;cAAlEb,IAAI,GAAAK,UAAA,CAAAtI,IAAA;cAEVC,iBAAM,CAACuC,OAAO,CAACyF,IAAI,CAAC9H,MAAM,CAAC;;cAE3B;cAAAmI,UAAA,CAAArJ,IAAA;cAAA,OACM,IAAI,CAAC8J,IAAI,CAAC,KAAK,CAAC;YAAA;cAAAT,UAAA,CAAArJ,IAAA;cAAA,OAEA,IAAI,CAAC0J,YAAY,CAAC;gBACvCK,OAAO,EAAEvC,MAAM,CAACQ,EAAE;gBAClBgC,MAAM,EAAExC,MAAM,CAACwC;cAChB,CAAC,CAAC;YAAA;cAHIf,MAAM,GAAAI,UAAA,CAAAtI,IAAA;cAKNY,SAAS,MAAAwB,MAAA,CAAMqE,MAAM,CAACY,IAAI,qBAAAjF,MAAA,CAAkB,IAAI,CAACkF,eAAe;cAEtEY,MAAM,CAACgB,aAAa,CAAC;gBACpBC,eAAe,MAAAC,gBAAA,iBACbxI,SAAS,EACTkH,aAAa,CAACqB,eAAe,kBAAA/G,MAAA,CACX,IAAI,CAACkF,eAAe,EACrC;cAEJ,CAAC,CAAC;YAAA;cAAAgB,UAAA,CAAArJ,IAAA;cAAA,OAKK,IAAI,CAAC8J,IAAI,CAAC,IAAI,CAAC;YAAA;cAAAT,UAAA,CAAArJ,IAAA;cAAA,OAELiJ,MAAM,CAACmB,IAAI,CAACzI,SAAS,EAAE;gBACtC8D,MAAM,EAAE;kBACP6D,cAAc,EAAER,GAAG,CAACd;gBACrB,CAAC;gBACDqC,OAAO,EAAE;kBACRnC,YAAY,EAAE;gBACf;cACD,CAAC,CAAC;YAAA;cAPF1H,OAAO,GAAA6I,UAAA,CAAAtI,IAAA;YAAA;cAAA,IAQCP,OAAO,CAAC8J,cAAc,GAAG,CAAC;gBAAAjB,UAAA,CAAArJ,IAAA;gBAAA;cAAA;YAAA;cAEnCgB,iBAAM,CAACsD,OAAO,CAAC9D,OAAO,CAAC8J,cAAc,EAAE,CAAC,CAAC;cACzCtJ,iBAAM,CAACsD,OAAO,CAAC9D,OAAO,CAAC+J,WAAW,EAAE,CAAC,CAAC;cACtCvJ,iBAAM,CAACsD,OAAO,CAAC9D,OAAO,CAACgK,cAAc,EAAE,CAAC,CAAC;cAEzC,CAAA/B,UAAA,GAAAO,IAAI,CAACyB,IAAI,cAAAhC,UAAA,gBAAAA,UAAA,GAATA,UAAA,CAAWiC,OAAO,cAAAjC,UAAA,uBAAlBA,UAAA,SAAyB,CAAC,UAAChI,GAAU,EAAK;gBACzCO,iBAAM,CAAC2J,IAAI,CAAClK,GAAG,CAACmK,KAAK,CAAC;cACvB,CAAC,CAAC;cAAAvB,UAAA,CAAArJ,IAAA;cAAA,QAAA0I,WAAA,GAEIM,IAAI,CAACyB,IAAI,cAAA/B,WAAA,uBAATA,WAAA,CAAWmC,IAAI,CAAC,CAAC;YAAA;cAEjB3B,KAAK,GAAGlI,iBAAM,CAAC8J,SAAS,CAAC;gBAAA,OAC9BC,mCAAiB,CAACC,uBAAuB,CAACxK,OAAO,CAAC;cAAA,CACnD,CAAC;cAEDyK,iCAAe,CAAC7J,WAAW,CAAC8H,KAAK,EAAE,0BAA0B,CAAC;cAExDC,YAAY,GAAG3I,OAAO,CAAC0K,SAAS,CAAC,CAAC,CAAC,CAAC/B,YAAY;cACtDnI,iBAAM,CAACsD,OAAO,CACb6E,YAAY,WAAAhG,MAAA,CACHyF,YAAY,CAACZ,EAAE,OAAA7E,MAAA,CAAIyF,YAAY,CAACR,IAAI,CAC9C,CAAC;YAAA;YAAA;cAAA,OAAAiB,UAAA,CAAAjJ,IAAA;UAAA;QAAA,GAAAoI,SAAA;MAAA,CACD;MAAA,SAAA2C,kEAAA;QAAA,OAAA5C,kEAAA,CAAAlK,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA+M,iEAAA;IAAA;EAAA;IAAA9L,GAAA;IAAAC,KAAA;MAAA,IAAA8L,kEAAA,OAAA5L,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAA2L,UAAA;QAAA,IAAAC,sBAAA,EAAAC,YAAA;QAAA,OAAA9L,YAAA,YAAAG,IAAA,UAAA4L,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA1L,IAAA,GAAA0L,UAAA,CAAAzL,IAAA;YAAA;cAAAyL,UAAA,CAAAzL,IAAA;cAAA,OAGQ,IAAI,CAACkH,+DAA+D,CACzE;gBACCC,QAAQ,EAAE,IAAI;gBACdqC,qBAAqB,EAAE;kBACtBxB,EAAE,EAAE,MAAM;kBACVC,MAAM,EAAE;oBACPD,EAAE,EAAE;sBACHG,IAAI,EAAE;oBACP;kBACD;gBACD;cACD,CACD,CAAC;YAAA;cAAAmD,sBAAA,GAAAG,UAAA,CAAA1K,IAAA;cAbMwK,YAAY,GAAAD,sBAAA,CAAZC,YAAY;cAAAE,UAAA,CAAAzL,IAAA;cAAA,OAed,IAAI,CAACoC,OAAO,CAAC,aAAa,CAAC,CAACC,KAAK,CAACkJ,YAAY,CAAC;YAAA;YAAA;cAAA,OAAAE,UAAA,CAAArL,IAAA;UAAA;QAAA,GAAAiL,SAAA;MAAA,CACrD;MAAA,SAAAK,kEAAA;QAAA,OAAAN,kEAAA,CAAA/M,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAsN,iEAAA;IAAA;EAAA;IAAArM,GAAA;IAAAC,KAAA;MAAA,IAAAqM,iBAAA,OAAAnM,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAkM,UAAA;QAAA,IAAA5J,KAAA,EAAA+E,QAAA;QAAA,OAAAtH,YAAA,YAAAG,IAAA,UAAAiM,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA/L,IAAA,GAAA+L,UAAA,CAAA9L,IAAA;YAAA;cAAA8L,UAAA,CAAA9L,IAAA;cAAA,OAEqB,IAAI,CAACmC,4CAA4C,CAAC,CAAC;YAAA;cAAjEH,KAAK,GAAA8J,UAAA,CAAA/K,IAAA;cACLgG,QAAQ,GAAGgF,0BAAQ,CAACC,QAAQ,CAAChK,KAAK,CAAC;cAEzChB,iBAAM,CAACqC,WAAW,CACjB0D,QAAQ,EACR,qFACD,CAAC;YAAA;YAAA;cAAA,OAAA+E,UAAA,CAAA1L,IAAA;UAAA;QAAA,GAAAwL,SAAA;MAAA,CACD;MAAA,SAAAK,iBAAA;QAAA,OAAAN,iBAAA,CAAAtN,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA6N,gBAAA;IAAA;EAAA;IAAA5M,GAAA;IAAAC,KAAA;MAAA,IAAA4M,2CAAA,OAAA1M,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAyM,UACCrL,SAAiB;QAAA,OAAArB,YAAA,YAAAG,IAAA,UAAAwM,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAAtM,IAAA,GAAAsM,UAAA,CAAArM,IAAA;YAAA;cAAAqM,UAAA,CAAArM,IAAA;cAAA,OAEX,IAAI,CAACY,mBAAmB,CAAC,QAAQ,CAAC;YAAA;cAExC,IAAI,CAAC0L,aAAa,CAACxL,SAAS,CAAC;cAAAuL,UAAA,CAAArM,IAAA;cAAA,OAEvB,IAAI,CAACmE,sBAAsB,CAAC,CAAC;YAAA;cAAA,OAAAkI,UAAA,CAAAE,MAAA,WAC5B,IAAI,CAACnI,EAAE,CAACC,iBAAiB,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAgI,UAAA,CAAAjM,IAAA;UAAA;QAAA,GAAA+L,SAAA;MAAA,CAClC;MAAA,SAAAxG,2CAAA6G,GAAA;QAAA,OAAAN,2CAAA,CAAA7N,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAuH,0CAAA;IAAA;EAAA;IAAAtG,GAAA;IAAAC,KAAA;MAAA,IAAAmN,uBAAA,OAAAjN,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAgN,UAAA;QAAA,IAAAC,KAAA;QAAA,OAAAlN,YAAA,YAAAG,IAAA,UAAAgN,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA9M,IAAA,GAAA8M,UAAA,CAAA7M,IAAA;YAAA;cACC,KAAK,IAAI,CAACE,MAAM,CAACW,OAAO,CAAC,CAAC,CAAC,CAAC,CAACiM,IAAI,CAAC,UAACtM,OAAO,EAAK;gBAC9C,IAAIA,OAAO,CAACU,MAAM,EAAE;kBACnByL,KAAI,CAACvI,EAAE,CAAC2I,QAAQ,CAACvM,OAAO,CAACU,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpC;cACD,CAAC,CAAC;cAAA2L,UAAA,CAAA7M,IAAA;cAAA,OAEI,IAAI,CAAC4E,YAAY,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAiI,UAAA,CAAAzM,IAAA;UAAA;QAAA,GAAAsM,SAAA;MAAA,CACzB;MAAA,SAAAvI,uBAAA;QAAA,OAAAsI,uBAAA,CAAApO,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA+F,sBAAA;IAAA;EAAA;IAAA9E,GAAA;IAAAC,KAAA,EAED,SAAAgN,cAA6BxL,SAAiB,EAAE;MAC/C,IAAMkM,YAAY,GAAG,IAAI,CAAC5K,OAAO,CAAC,YAAY,CAAC;MAC/C4K,YAAY,CAACC,GAAG,CAAC;QAChBjF,EAAE,EAAElH,SAAS;QACbA,SAAS,EAATA;MACD,CAAC,CAAC;IACH;EAAC;IAAAzB,GAAA;IAAAC,KAAA;MAAA,IAAA4N,+BAAA,OAAA1N,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAyN,UAAA;QAAA,IAAAvK,GAAA,EAAAD,OAAA,EAAAnC,OAAA;QAAA,OAAAf,YAAA,YAAAG,IAAA,UAAAwN,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAAtN,IAAA,GAAAsN,UAAA,CAAArN,IAAA;YAAA;cAAAqN,UAAA,CAAArN,IAAA;cAAA,OACmB,IAAI,CAACY,mBAAmB,CAAC,QAAQ,CAAC;YAAA;cAA9CgC,GAAG,GAAAyK,UAAA,CAAAtM,IAAA;cAEH4B,OAAO,GAAG,aAAa;cAAA0K,UAAA,CAAArN,IAAA;cAAA,OAEP,IAAI,CAACE,MAAM,CAACW,OAAO,CAAC;gBACzCC,SAAS,EAAE,OAAO;gBAClBa,SAAS,EAAE,WAAW;gBACtBgB,OAAO,EAAPA;cACD,CAAC,CAAC;YAAA;cAJInC,OAAO,GAAA6M,UAAA,CAAAtM,IAAA;cAMbC,iBAAM,CAACuC,OAAO,CAAC/C,OAAO,CAACU,MAAM,CAAC;cAAA,OAAAmM,UAAA,CAAAd,MAAA,WACvB;gBAAE5J,OAAO,EAAPA,OAAO;gBAAEnC,OAAO,EAAPA,OAAO;gBAAEoC,GAAG,EAAHA;cAAI,CAAC;YAAA;YAAA;cAAA,OAAAyK,UAAA,CAAAjN,IAAA;UAAA;QAAA,GAAA+M,SAAA;MAAA,CAChC;MAAA,SAAAnK,+BAAA;QAAA,OAAAkK,+BAAA,CAAA7O,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA4E,8BAAA;IAAA;EAAA;IAAA3D,GAAA;IAAAC,KAAA;MAAA,IAAAgO,gEAAA,OAAA9N,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAA6N,UACCC,cAA8B;QAAA,IAAAnF,eAAA,EAAAQ,aAAA,EAAA4E,qBAAA,EAAAC,YAAA,EAAAlG,MAAA,EAAAoB,YAAA,EAAAhG,GAAA,EAAAkG,GAAA,EAAAtI,OAAA,EAAAmN,QAAA,EAAA5G,QAAA;QAAA,OAAAtH,YAAA,YAAAG,IAAA,UAAAgO,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA9N,IAAA,GAAA8N,UAAA,CAAA7N,IAAA;YAAA;cAExBqI,eAAe,GAAG,IAAI,CAACA,eAAe;cAEtCQ,aAAa,GAAG;gBACrBqB,eAAe,MAAAC,gBAAA,kCAAAhH,MAAA,CACIkF,eAAe,GAAKmF,cAAc;cAEtD,CAAC;cAAAK,UAAA,CAAA7N,IAAA;cAAA,OAGM,IAAI,CAAC8N,iDAAiD,CAAC,CAAC;YAAA;cAAAL,qBAAA,GAAAI,UAAA,CAAA9M,IAAA;cADvD2M,YAAY,GAAAD,qBAAA,CAAZC,YAAY;cAAElG,MAAM,GAAAiG,qBAAA,CAANjG,MAAM;cAAEoB,YAAY,GAAA6E,qBAAA,CAAZ7E,YAAY;cAAEhG,GAAG,GAAA6K,qBAAA,CAAH7K,GAAG;cAAEkG,GAAG,GAAA2E,qBAAA,CAAH3E,GAAG;cAAA+E,UAAA,CAAA7N,IAAA;cAAA,OAG9C0N,YAAY,CAACK,qBAAqB,CAACvG,MAAM,EAAEqB,aAAa,CAAC;YAAA;cAE/D,IAAI,CAACzG,OAAO,CAAC,YAAY,CAAC,CAAC6K,GAAG,CAAC;gBAC9BjF,EAAE,EAAER,MAAM,CAACQ,EAAE;gBACblH,SAAS,EAAE0G,MAAM,CAACY;cACnB,CAAC,CAAC;cAAAyF,UAAA,CAAA7N,IAAA;cAAA,OAEoB,IAAI,CAACE,MAAM,CAACW,OAAO,CAAC;gBACzCC,SAAS,EAAE0G,MAAM,CAACY,IAAI;gBACtBzG,SAAS,gBAAgB;gBACzBgB,OAAO,EAAE0F;cACV,CAAC,CAAC;YAAA;cAJI7H,OAAO,GAAAqN,UAAA,CAAA9M,IAAA;cAMbC,iBAAM,CAACuC,OAAO,CAAC/C,OAAO,CAACU,MAAM,CAAC;cAExByM,QAAQ,GAAG1K,gBAAQ,CAACC,gCAAgC,iBAAAC,MAAA,CACzCkF,eAAe,mBAC/B7H,OAAO,CAAC4C,KACT,CAAC;cAAAyK,UAAA,CAAA7N,IAAA;cAAA,OAEK,IAAI,CAACoC,OAAO,CAAC,aAAa,CAAC,CAACC,KAAK,CAACsL,QAAQ,CAAC;YAAA;cAE3C5G,QAAQ,GAAGgF,0BAAQ,CAACC,QAAQ,CAAC2B,QAAQ,CAAC;cAAA,OAAAE,UAAA,CAAAtB,MAAA,WAErC;gBACNxF,QAAQ,EAARA,QAAQ;gBACRS,MAAM,EAANA,MAAM;gBACN+D,YAAY,EAAEoC,QAAQ;gBACtB/K,GAAG,EAAHA,GAAG;gBACHiG,aAAa,EAAbA,aAAa;gBACbC,GAAG,EAAHA,GAAG;gBACHF,YAAY,EAAZA;cACD,CAAC;YAAA;YAAA;cAAA,OAAAiF,UAAA,CAAAzN,IAAA;UAAA;QAAA,GAAAmN,SAAA;MAAA,CACD;MAAA,SAAArG,gEAAA8G,GAAA;QAAA,OAAAV,gEAAA,CAAAjP,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA8I,+DAAA;IAAA;EAAA;IAAA7H,GAAA;IAAAC,KAAA;MAAA,IAAA2O,6CAAA,OAAAzO,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAED,SAAAwO,UAAA;QAAA,IAAAC,sBAAA,EAAA3N,OAAA,EAAAwB,KAAA;QAAA,OAAAvC,YAAA,YAAAG,IAAA,UAAAwO,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAAtO,IAAA,GAAAsO,UAAA,CAAArO,IAAA;YAAA;cAAAqO,UAAA,CAAArO,IAAA;cAAA,OAC2B,IAAI,CAACgD,8BAA8B,CAAC,CAAC;YAAA;cAAAmL,sBAAA,GAAAE,UAAA,CAAAtN,IAAA;cAAvDP,OAAO,GAAA2N,sBAAA,CAAP3N,OAAO;cAETwB,KAAK,GAAGiB,gBAAQ,CAACC,gCAAgC,iBAEtD1C,OAAO,CAAC4C,KACT,CAAC;cAAA,OAAAiL,UAAA,CAAA9B,MAAA,WACMvK,KAAK;YAAA;YAAA;cAAA,OAAAqM,UAAA,CAAAjO,IAAA;UAAA;QAAA,GAAA8N,SAAA;MAAA,CACZ;MAAA,SAAA/L,6CAAA;QAAA,OAAA8L,6CAAA,CAAA5P,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA+D,4CAAA;IAAA;EAAA;EAAA,OAAArD,qBAAA;AAAA,EA7ZiDwP,8BAAiB,OAAAnE,gBAAA,aAAA5M,OAAA,qBAElEgR,6BAAW,CAACC,eAAe,CAAC,CAAC,CAACC,UAAU,OAAAtE,gBAAA,aAAA5M,OAAA,qBAAAA,OAAA,QAAAmR,0BAAA,aAAApR,MAAA,6BAAAX,IAAA,GAAAgS,MAAA,CAAAC,wBAAA,CAAAtR,MAAA,6BAAAA,MAAA,OAAAoR,0BAAA,aAAApR,MAAA,6BAAAV,KAAA,GAAA+R,MAAA,CAAAC,wBAAA,CAAAtR,MAAA,6BAAAA,MAAA,OAAAoR,0BAAA,aAAApR,MAAA,uBAAAT,KAAA,GAAA8R,MAAA,CAAAC,wBAAA,CAAAtR,MAAA,uBAAAA,MAAA,OAAAoR,0BAAA,aAAApR,MAAA,2BAAAR,KAAA,GAAA6R,MAAA,CAAAC,wBAAA,CAAAtR,MAAA,2BAAAA,MAAA,OAAAoR,0BAAA,aAAApR,MAAA,mDAAAP,KAAA,GAAA4R,MAAA,CAAAC,wBAAA,CAAAtR,MAAA,mDAAAA,MAAA,OAAAoR,0BAAA,aAAApR,MAAA,4CAAAN,KAAA,GAAA2R,MAAA,CAAAC,wBAAA,CAAAtR,MAAA,4CAAAA,MAAA,OAAAoR,0BAAA,aAAApR,MAAA,4CAAAL,KAAA,GAAA0R,MAAA,CAAAC,wBAAA,CAAAtR,MAAA,4CAAAA,MAAA,OAAAoR,0BAAA,aAAApR,MAAA,4CAAAJ,KAAA,GAAAyR,MAAA,CAAAC,wBAAA,CAAAtR,MAAA,4CAAAA,MAAA,OAAAoR,0BAAA,aAAApR,MAAA,wEAAAH,KAAA,GAAAwR,MAAA,CAAAC,wBAAA,CAAAtR,MAAA,wEAAAA,MAAA,OAAAoR,0BAAA,aAAApR,MAAA,wEAAAF,MAAA,GAAAuR,MAAA,CAAAC,wBAAA,CAAAtR,MAAA,wEAAAA,MAAA,OAAAoR,0BAAA,aAAApR,MAAA,uBAAAD,MAAA,GAAAsR,MAAA,CAAAC,wBAAA,CAAAtR,MAAA,uBAAAA,MAAA,IAAAA,MAAA;AAAAuR,OAAA,cAAA/P,qBAAA"}
|
|
@@ -165,7 +165,7 @@ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate
|
|
|
165
165
|
key: "syncsEventsFromOtherSkills",
|
|
166
166
|
value: function () {
|
|
167
167
|
var _syncsEventsFromOtherSkills = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
168
|
-
var _sig$emitPayloadSchem, _sig$
|
|
168
|
+
var _sig$emitPayloadSchem, _sig$responsePayloadS;
|
|
169
169
|
var _yield$this$seedDummy, skillFixture, skill2, eventName, fqen, results, match, contract, sig;
|
|
170
170
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
171
171
|
while (1) switch (_context4.prev = _context4.next) {
|
|
@@ -243,7 +243,7 @@ var KeepingEventsInSyncTest = (_dec = _testUtils.test.skip('find how to simulate
|
|
|
243
243
|
sig = _spruceEventUtils.eventContractUtil.getSignatureByName(contract, fqen);
|
|
244
244
|
_testUtils.assert.isTruthy(sig.emitPayloadSchema);
|
|
245
245
|
_testUtils.assert.isTruthy( //@ts-ignore
|
|
246
|
-
(_sig$emitPayloadSchem = sig.emitPayloadSchema.fields) === null || _sig$emitPayloadSchem === void 0
|
|
246
|
+
(_sig$emitPayloadSchem = sig.emitPayloadSchema.fields) === null || _sig$emitPayloadSchem === void 0 || (_sig$emitPayloadSchem = _sig$emitPayloadSchem.payload) === null || _sig$emitPayloadSchem === void 0 || (_sig$emitPayloadSchem = _sig$emitPayloadSchem.options) === null || _sig$emitPayloadSchem === void 0 || (_sig$emitPayloadSchem = _sig$emitPayloadSchem.schema) === null || _sig$emitPayloadSchem === void 0 ? void 0 : _sig$emitPayloadSchem.id, 'myNewEventEmitPayloadId');
|
|
247
247
|
_testUtils.assert.isTruthy((_sig$responsePayloadS = sig.responsePayloadSchema) === null || _sig$responsePayloadS === void 0 ? void 0 : _sig$responsePayloadS.id, 'myNewEventResponsePayloadId');
|
|
248
248
|
_testUtils.assert.isTruthy(sig.emitPermissionContract);
|
|
249
249
|
_testUtils.assert.isEqual(sig.emitPermissionContract.id, "".concat(skill2.slug, ".myNewEventEmitPermissionContract"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeepingEventsInSync2.test.js","names":["_path","_interopRequireDefault","require","_mercuryTypes","_spruceEventUtils","_spruceSkillUtils","_testUtils","_EventWriter","_AbstractEventTest2","_test","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_class","_class2","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","KeepingEventsInSyncTest","skip","_AbstractEventTest","_inherits2","_super","_classCallCheck2","_createClass2","get","versionUtil","generateVersion","_syncingSchemasWithDisconnectedStopsWithError","_asyncToGenerator2","_regenerator","mark","_callee","results","match","client","results2","wrap","_callee$","_context","prev","FeatureFixture","installCachedFeatures","syncCoreEventsPretendingToBeMercuryTypes","Action","execute","sent","testUtil","assertFileByNameInGeneratedFiles","files","assert","isTrue","diskUtil","doesFileExist","getMercuryFixture","connectToApi","shouldAuthAsCurrentSkill","disconnect","isTruthy","errors","stop","syncingSchemasWithDisconnectedStopsWithError","_syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled","_callee2","_this","_callee2$","_context2","doesThrow","assertCorePayloadSchemasAreCreated","syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled","_canGetNumberOfEventsBackFromHealthCheck","_callee3","cli","health","_callee3$","_context3","isFalsy","Service","build","checkHealth","shouldRunOnSourceFiles","skill","event","isEqual","status","contracts","isAbove","canGetNumberOfEventsBackFromHealthCheck","_syncsEventsFromOtherSkills","_callee4","_sig$emitPayloadSchem","_sig$emitPayloadSchem2","_sig$emitPayloadSchem3","_sig$emitPayloadSchem4","_sig$responsePayloadS","_yield$this$seedDummy","skillFixture","skill2","eventName","fqen","contract","sig","_callee4$","_context4","seedDummySkillRegisterCurrentSkillAndInstallToOrg","concat","todaysVersion","constValue","slug","registerEventContract","eventSignatures","emitPayloadSchema","buildEmitTargetAndPayloadSchema","targetSchema","eventTargetSchema","payloadSchema","id","fields","onlyField","type","responsePayloadSchema","emitPermissionContract","buildPermissionContract","permissions","defaults","guest","listenPermissionContract","add","namespace","dirValue","doesInclude","namesUtil","toCamel","pathUtil","sep","importDefault","eventContractUtil","getSignatureByName","payload","options","schema","syncsEventsFromOtherSkills","_twoSkillsWithSameEventCanBeSynced","_callee5","_yield$this$seedDummy2","orgFixture","org","skill3","_callee5$","_context5","seedDemoSkill","installSkillAtOrganization","set","check","twoSkillsWithSameEventCanBeSynced","_skillWithSameEventNameButDifferentVersionsCanBeSynced","_callee6","_eventSignatures4","_yield$this$seedDummy3","eventName2","_callee6$","_context6","randomVersion","skillWithSameEventNameButDifferentVersionsCanBeSynced","_unRegisteredEventsAreRemoved","_callee7","_yield$this$seedSkill","syncResults","contractFileName","eventContract","dirname","_callee7$","_context7","seedSkillsAndRegisterAndSyncEvents","assertValidActionResponseFiles","unRegisterEvents","shouldUnregisterAll","isFalse","doesDirExist","unRegisteredEventsAreRemoved","_syncCoreEventsPretendingToBeMercuryTypes","_callee8","builder","_callee8$","_context8","shouldSyncOnlyCoreEvents","eventBuilderFile","skillEventContractTypesFile","writeFile","resolvePath","uninstall","abrupt","_seedSkillsAndRegisterAndSyncEvents","_callee9","signature","_yield$this$seedDummy4","_yield$this$registerE","filename","_callee9$","_context9","registerEventAndSync","_x","_registerEventAndSync","_callee10","stamp","_callee10$","_context10","getSkillFixture","Date","getTime","generateEventContractFileName","nameCamel","version","_x2","_x3","shouldHaveWritten","undefined","filesToCheck","path","MERCURY_API_NAMESPACE","assertFilesWereGenerated","_iterator","_step","file","expected","resolveHashSprucePath","doesExist","AbstractEventTest","_applyDecoratedDescriptor2","exports"],"sources":["../../../../src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts"],"sourcesContent":["import pathUtil from 'path'\nimport {\n\tbuildPermissionContract,\n\tEventSignature,\n} from '@sprucelabs/mercury-types'\nimport {\n\tbuildEmitTargetAndPayloadSchema,\n\teventContractUtil,\n\teventTargetSchema,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tMERCURY_API_NAMESPACE,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { generateEventContractFileName } from '../../../features/event/writers/EventWriter'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport { RegisteredSkill } from '../../../types/cli.types'\n\nexport default class KeepingEventsInSyncTest extends AbstractEventTest {\n\tprivate static randomVersion = 'v2020_01_01'\n\n\tprivate static get todaysVersion() {\n\t\treturn versionUtil.generateVersion()\n\t}\n\n\t@test.skip('find how to simulate connection errors')\n\tprotected static async syncingSchemasWithDisconnectedStopsWithError() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tawait this.syncCoreEventsPretendingToBeMercuryTypes()\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'sendMessageEmitPayload.schema.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(match))\n\n\t\tconst client = await this.getMercuryFixture().connectToApi({\n\t\t\tshouldAuthAsCurrentSkill: true,\n\t\t})\n\n\t\tawait client.disconnect()\n\n\t\tconst results2 = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isTruthy(results2.errors)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(match))\n\t}\n\n\t@test()\n\tprotected static async syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled() {\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.doesThrow(() => this.assertCorePayloadSchemasAreCreated(results))\n\t}\n\n\t@test()\n\tprotected static async canGetNumberOfEventsBackFromHealthCheck() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tawait this.Service('build').build()\n\n\t\tconst health = await cli.checkHealth({ shouldRunOnSourceFiles: false })\n\n\t\tassert.isTruthy(health.skill)\n\t\tassert.isFalsy(health.skill.errors)\n\t\tassert.isTruthy(health.event)\n\t\tassert.isEqual(health.event.status, 'passed')\n\t\tassert.isTruthy(health.event.contracts)\n\n\t\tassert.isAbove(health.event.contracts.length, 0)\n\t}\n\n\t@test()\n\tprotected static async syncsEventsFromOtherSkills() {\n\t\tconst { skillFixture, skill2 } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst eventName = `my-new-event::${this.todaysVersion.constValue}`\n\t\tconst fqen = `${skill2.slug}.my-new-event::${this.todaysVersion.constValue}`\n\n\t\tawait skillFixture.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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: 'myNewEventEmitPayloadId',\n\t\t\t\t\t\t\tfields: { onlyField: { type: 'text' } },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\tid: 'myNewEventResponsePayloadId',\n\t\t\t\t\t\tfields: {},\n\t\t\t\t\t},\n\t\t\t\t\temitPermissionContract: buildPermissionContract({\n\t\t\t\t\t\tid: 'myNewEventEmitPermissionContract',\n\t\t\t\t\t\tname: 'My new event emit permissionContract',\n\t\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'can-emit',\n\t\t\t\t\t\t\t\tname: 'Can emit my new event',\n\t\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\t\tguest: {\n\t\t\t\t\t\t\t\t\t\tdefault: true,\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\tlistenPermissionContract: buildPermissionContract({\n\t\t\t\t\t\tid: 'myNewEventListenPermissionContract',\n\t\t\t\t\t\tname: 'My new event listen permissionContract',\n\t\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'can-listen',\n\t\t\t\t\t\t\t\tname: 'Can emit my new event',\n\t\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\t\tguest: {\n\t\t\t\t\t\t\t\t\t\tdefault: true,\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})\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', 'sync').execute({})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`myNewEvent.${this.todaysVersion.dirValue}.contract.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tmatch,\n\t\t\t`${namesUtil.toCamel(skill2.slug)}${pathUtil.sep}myNewEvent.${\n\t\t\t\tthis.todaysVersion.dirValue\n\t\t\t}.contract.ts`\n\t\t)\n\n\t\tconst contract = (await this.Service('import').importDefault(match)) as any\n\t\tconst sig = eventContractUtil.getSignatureByName(contract, fqen)\n\n\t\tassert.isTruthy(sig.emitPayloadSchema)\n\t\tassert.isTruthy(\n\t\t\t//@ts-ignore\n\t\t\tsig.emitPayloadSchema.fields?.payload?.options?.schema?.id,\n\t\t\t'myNewEventEmitPayloadId'\n\t\t)\n\t\tassert.isTruthy(\n\t\t\tsig.responsePayloadSchema?.id,\n\t\t\t'myNewEventResponsePayloadId'\n\t\t)\n\n\t\tassert.isTruthy(sig.emitPermissionContract)\n\t\tassert.isEqual(\n\t\t\tsig.emitPermissionContract.id,\n\t\t\t`${skill2.slug}.myNewEventEmitPermissionContract`\n\t\t)\n\t\tassert.isEqual(sig.emitPermissionContract.permissions[0].id, 'can-emit')\n\t\tassert.isTruthy(sig.listenPermissionContract)\n\t\tassert.isEqual(\n\t\t\tsig.listenPermissionContract.id,\n\t\t\t`${skill2.slug}.myNewEventListenPermissionContract`\n\t\t)\n\t\tassert.isEqual(sig.listenPermissionContract.permissions[0].id, 'can-listen')\n\t}\n\n\t@test()\n\tprotected static async twoSkillsWithSameEventCanBeSynced() {\n\t\tconst { skill2, skillFixture, orgFixture, org } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst skill3 = await skillFixture.seedDemoSkill({ name: 'a third skill' })\n\n\t\tawait orgFixture.installSkillAtOrganization(skill3.id, org.id)\n\n\t\tconst eventName = `my-new-event::${this.todaysVersion.constValue}`\n\n\t\tawait skillFixture.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait skillFixture.registerEventContract(skill3, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.Service('dependency').set([\n\t\t\t{\n\t\t\t\tid: skill2.id,\n\t\t\t\tnamespace: skill2.slug,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: skill3.id,\n\t\t\t\tnamespace: skill3.slug,\n\t\t\t},\n\t\t])\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\tconst contract = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(contract)\n\t}\n\n\t@test()\n\tprotected static async skillWithSameEventNameButDifferentVersionsCanBeSynced() {\n\t\tconst { skill2, skillFixture } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst eventName = `my-new-event::${this.todaysVersion.constValue}`\n\t\tconst eventName2 = `my-new-event::${this.randomVersion}`\n\n\t\tawait skillFixture.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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}),\n\t\t\t\t},\n\t\t\t\t[eventName2]: {\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}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.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', 'sync').execute({})\n\n\t\tconst contract = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(contract)\n\t}\n\n\t@test()\n\tprotected static async unRegisteredEventsAreRemoved() {\n\t\tconst { skillFixture, syncResults, skill2, contractFileName } =\n\t\t\tawait this.seedSkillsAndRegisterAndSyncEvents()\n\n\t\tawait this.assertValidActionResponseFiles(syncResults)\n\n\t\tawait skillFixture.unRegisterEvents(skill2, {\n\t\t\tshouldUnregisterAll: true,\n\t\t})\n\n\t\tconst eventContract = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\tcontractFileName,\n\t\t\tsyncResults.files\n\t\t)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(eventContract))\n\n\t\tawait this.Action('event', 'sync').execute({})\n\n\t\tassert.isFalse(diskUtil.doesFileExist(eventContract))\n\n\t\tconst dirname = pathUtil.dirname(eventContract)\n\t\tassert.isFalse(diskUtil.doesDirExist(dirname))\n\t}\n\n\tprivate static async syncCoreEventsPretendingToBeMercuryTypes() {\n\t\tconst results = await this.Action('event', 'sync').execute({\n\t\t\tshouldSyncOnlyCoreEvents: true,\n\t\t\teventBuilderFile: '../../../builder',\n\t\t\tskillEventContractTypesFile: '../../builder',\n\t\t})\n\n\t\tconst builder = `\nexport function buildEventContract(..._: any[]):any { return _[0] }\nexport function buildPermissionContract(..._: any[]):any { return _[0] }\n`\n\n\t\tdiskUtil.writeFile(this.resolvePath('src', 'builder.ts'), builder)\n\t\tawait this.Service('pkg').uninstall([\n\t\t\t'@sprucelabs/mercury-types',\n\t\t\t'@sprucelabs/mercury-client',\n\t\t\t'@sprucelabs/spruce-event-plugin',\n\t\t])\n\t\treturn results\n\t}\n\n\tprivate static async seedSkillsAndRegisterAndSyncEvents(\n\t\tsignature?: EventSignature\n\t) {\n\t\tconst { skill2, skillFixture, cli } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst { results, filename } = await this.registerEventAndSync(\n\t\t\tskill2,\n\t\t\tsignature\n\t\t)\n\n\t\treturn {\n\t\t\tskillFixture,\n\t\t\tsyncResults: results,\n\t\t\tcli,\n\t\t\tskill2,\n\t\t\tcontractFileName: filename,\n\t\t}\n\t}\n\n\tprivate static async registerEventAndSync(\n\t\tskill: RegisteredSkill,\n\t\tsignature?: EventSignature\n\t) {\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tconst stamp = new Date().getTime()\n\t\tconst eventName = `cleanup-event-test-${stamp}::${this.todaysVersion.constValue}`\n\t\tconst filename = generateEventContractFileName({\n\t\t\tnameCamel: `cleanupEventTest${stamp}`,\n\t\t\tversion: this.todaysVersion.constValue,\n\t\t})\n\n\t\tawait skillFixture.registerEventContract(skill, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName,\n\t\t\t\t\t\ttargetSchema: eventTargetSchema,\n\t\t\t\t\t}),\n\t\t\t\t\t...signature,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.Service('dependency').add({\n\t\t\tid: skill.id,\n\t\t\tnamespace: skill.slug,\n\t\t})\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\treturn { results, filename }\n\t}\n\n\tprivate static assertCorePayloadSchemasAreCreated(\n\t\tresults: FeatureActionResponse,\n\t\tshouldHaveWritten = true\n\t) {\n\t\tconst filesToCheck = [\n\t\t\t{\n\t\t\t\tname: `unregisterListenersEmitTargetAndPayload.schema.ts`,\n\t\t\t\tpath: `schemas${pathUtil.sep}${MERCURY_API_NAMESPACE}`,\n\t\t\t},\n\t\t]\n\n\t\tthis.assertFilesWereGenerated(filesToCheck, results, shouldHaveWritten)\n\t}\n\n\tprivate static assertFilesWereGenerated(\n\t\tfilesToCheck: { name: string; path: string }[],\n\t\tresults: FeatureActionResponse,\n\t\tshouldHaveWritten = true\n\t) {\n\t\tfor (const file of filesToCheck) {\n\t\t\tconst expected = this.resolveHashSprucePath(\n\t\t\t\t'schemas/mercury/v2020_12_25',\n\t\t\t\tfile.name\n\t\t\t)\n\t\t\tconst doesExist = diskUtil.doesFileExist(expected)\n\n\t\t\tif (shouldHaveWritten) {\n\t\t\t\tassert.isTrue(doesExist, `Expected to find ${file} on the filesystem.`)\n\t\t\t} else {\n\t\t\t\tassert.isFalse(doesExist, `Should not have written ${file}.`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"KeepingEventsInSync2.test.js","names":["_path","_interopRequireDefault","require","_mercuryTypes","_spruceEventUtils","_spruceSkillUtils","_testUtils","_EventWriter","_AbstractEventTest2","_test","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_class","_class2","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","KeepingEventsInSyncTest","skip","_AbstractEventTest","_inherits2","_super","_classCallCheck2","_createClass2","get","versionUtil","generateVersion","_syncingSchemasWithDisconnectedStopsWithError","_asyncToGenerator2","_regenerator","mark","_callee","results","match","client","results2","wrap","_callee$","_context","prev","FeatureFixture","installCachedFeatures","syncCoreEventsPretendingToBeMercuryTypes","Action","execute","sent","testUtil","assertFileByNameInGeneratedFiles","files","assert","isTrue","diskUtil","doesFileExist","getMercuryFixture","connectToApi","shouldAuthAsCurrentSkill","disconnect","isTruthy","errors","stop","syncingSchemasWithDisconnectedStopsWithError","_syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled","_callee2","_this","_callee2$","_context2","doesThrow","assertCorePayloadSchemasAreCreated","syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled","_canGetNumberOfEventsBackFromHealthCheck","_callee3","cli","health","_callee3$","_context3","isFalsy","Service","build","checkHealth","shouldRunOnSourceFiles","skill","event","isEqual","status","contracts","isAbove","canGetNumberOfEventsBackFromHealthCheck","_syncsEventsFromOtherSkills","_callee4","_sig$emitPayloadSchem","_sig$responsePayloadS","_yield$this$seedDummy","skillFixture","skill2","eventName","fqen","contract","sig","_callee4$","_context4","seedDummySkillRegisterCurrentSkillAndInstallToOrg","concat","todaysVersion","constValue","slug","registerEventContract","eventSignatures","emitPayloadSchema","buildEmitTargetAndPayloadSchema","targetSchema","eventTargetSchema","payloadSchema","id","fields","onlyField","type","responsePayloadSchema","emitPermissionContract","buildPermissionContract","permissions","defaults","guest","listenPermissionContract","add","namespace","dirValue","doesInclude","namesUtil","toCamel","pathUtil","sep","importDefault","eventContractUtil","getSignatureByName","payload","options","schema","syncsEventsFromOtherSkills","_twoSkillsWithSameEventCanBeSynced","_callee5","_yield$this$seedDummy2","orgFixture","org","skill3","_callee5$","_context5","seedDemoSkill","installSkillAtOrganization","set","check","twoSkillsWithSameEventCanBeSynced","_skillWithSameEventNameButDifferentVersionsCanBeSynced","_callee6","_eventSignatures4","_yield$this$seedDummy3","eventName2","_callee6$","_context6","randomVersion","skillWithSameEventNameButDifferentVersionsCanBeSynced","_unRegisteredEventsAreRemoved","_callee7","_yield$this$seedSkill","syncResults","contractFileName","eventContract","dirname","_callee7$","_context7","seedSkillsAndRegisterAndSyncEvents","assertValidActionResponseFiles","unRegisterEvents","shouldUnregisterAll","isFalse","doesDirExist","unRegisteredEventsAreRemoved","_syncCoreEventsPretendingToBeMercuryTypes","_callee8","builder","_callee8$","_context8","shouldSyncOnlyCoreEvents","eventBuilderFile","skillEventContractTypesFile","writeFile","resolvePath","uninstall","abrupt","_seedSkillsAndRegisterAndSyncEvents","_callee9","signature","_yield$this$seedDummy4","_yield$this$registerE","filename","_callee9$","_context9","registerEventAndSync","_x","_registerEventAndSync","_callee10","stamp","_callee10$","_context10","getSkillFixture","Date","getTime","generateEventContractFileName","nameCamel","version","_x2","_x3","shouldHaveWritten","undefined","filesToCheck","path","MERCURY_API_NAMESPACE","assertFilesWereGenerated","_iterator","_step","file","expected","resolveHashSprucePath","doesExist","AbstractEventTest","_applyDecoratedDescriptor2","exports"],"sources":["../../../../src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts"],"sourcesContent":["import pathUtil from 'path'\nimport {\n\tbuildPermissionContract,\n\tEventSignature,\n} from '@sprucelabs/mercury-types'\nimport {\n\tbuildEmitTargetAndPayloadSchema,\n\teventContractUtil,\n\teventTargetSchema,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tMERCURY_API_NAMESPACE,\n\tnamesUtil,\n\tversionUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { generateEventContractFileName } from '../../../features/event/writers/EventWriter'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nimport { RegisteredSkill } from '../../../types/cli.types'\n\nexport default class KeepingEventsInSyncTest extends AbstractEventTest {\n\tprivate static randomVersion = 'v2020_01_01'\n\n\tprivate static get todaysVersion() {\n\t\treturn versionUtil.generateVersion()\n\t}\n\n\t@test.skip('find how to simulate connection errors')\n\tprotected static async syncingSchemasWithDisconnectedStopsWithError() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tawait this.syncCoreEventsPretendingToBeMercuryTypes()\n\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'sendMessageEmitPayload.schema.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(match))\n\n\t\tconst client = await this.getMercuryFixture().connectToApi({\n\t\t\tshouldAuthAsCurrentSkill: true,\n\t\t})\n\n\t\tawait client.disconnect()\n\n\t\tconst results2 = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.isTruthy(results2.errors)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(match))\n\t}\n\n\t@test()\n\tprotected static async syncingSchemasDoesNotSyncEventSchemasIfEventsNotInstalled() {\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\tassert.doesThrow(() => this.assertCorePayloadSchemasAreCreated(results))\n\t}\n\n\t@test()\n\tprotected static async canGetNumberOfEventsBackFromHealthCheck() {\n\t\tconst cli = await this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tawait this.Service('build').build()\n\n\t\tconst health = await cli.checkHealth({ shouldRunOnSourceFiles: false })\n\n\t\tassert.isTruthy(health.skill)\n\t\tassert.isFalsy(health.skill.errors)\n\t\tassert.isTruthy(health.event)\n\t\tassert.isEqual(health.event.status, 'passed')\n\t\tassert.isTruthy(health.event.contracts)\n\n\t\tassert.isAbove(health.event.contracts.length, 0)\n\t}\n\n\t@test()\n\tprotected static async syncsEventsFromOtherSkills() {\n\t\tconst { skillFixture, skill2 } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst eventName = `my-new-event::${this.todaysVersion.constValue}`\n\t\tconst fqen = `${skill2.slug}.my-new-event::${this.todaysVersion.constValue}`\n\n\t\tawait skillFixture.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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: 'myNewEventEmitPayloadId',\n\t\t\t\t\t\t\tfields: { onlyField: { type: 'text' } },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tresponsePayloadSchema: {\n\t\t\t\t\t\tid: 'myNewEventResponsePayloadId',\n\t\t\t\t\t\tfields: {},\n\t\t\t\t\t},\n\t\t\t\t\temitPermissionContract: buildPermissionContract({\n\t\t\t\t\t\tid: 'myNewEventEmitPermissionContract',\n\t\t\t\t\t\tname: 'My new event emit permissionContract',\n\t\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'can-emit',\n\t\t\t\t\t\t\t\tname: 'Can emit my new event',\n\t\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\t\tguest: {\n\t\t\t\t\t\t\t\t\t\tdefault: true,\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\tlistenPermissionContract: buildPermissionContract({\n\t\t\t\t\t\tid: 'myNewEventListenPermissionContract',\n\t\t\t\t\t\tname: 'My new event listen permissionContract',\n\t\t\t\t\t\tpermissions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'can-listen',\n\t\t\t\t\t\t\t\tname: 'Can emit my new event',\n\t\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\t\tguest: {\n\t\t\t\t\t\t\t\t\t\tdefault: true,\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})\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', 'sync').execute({})\n\n\t\tconst match = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t`myNewEvent.${this.todaysVersion.dirValue}.contract.ts`,\n\t\t\tresults.files\n\t\t)\n\n\t\tassert.doesInclude(\n\t\t\tmatch,\n\t\t\t`${namesUtil.toCamel(skill2.slug)}${pathUtil.sep}myNewEvent.${\n\t\t\t\tthis.todaysVersion.dirValue\n\t\t\t}.contract.ts`\n\t\t)\n\n\t\tconst contract = (await this.Service('import').importDefault(match)) as any\n\t\tconst sig = eventContractUtil.getSignatureByName(contract, fqen)\n\n\t\tassert.isTruthy(sig.emitPayloadSchema)\n\t\tassert.isTruthy(\n\t\t\t//@ts-ignore\n\t\t\tsig.emitPayloadSchema.fields?.payload?.options?.schema?.id,\n\t\t\t'myNewEventEmitPayloadId'\n\t\t)\n\t\tassert.isTruthy(\n\t\t\tsig.responsePayloadSchema?.id,\n\t\t\t'myNewEventResponsePayloadId'\n\t\t)\n\n\t\tassert.isTruthy(sig.emitPermissionContract)\n\t\tassert.isEqual(\n\t\t\tsig.emitPermissionContract.id,\n\t\t\t`${skill2.slug}.myNewEventEmitPermissionContract`\n\t\t)\n\t\tassert.isEqual(sig.emitPermissionContract.permissions[0].id, 'can-emit')\n\t\tassert.isTruthy(sig.listenPermissionContract)\n\t\tassert.isEqual(\n\t\t\tsig.listenPermissionContract.id,\n\t\t\t`${skill2.slug}.myNewEventListenPermissionContract`\n\t\t)\n\t\tassert.isEqual(sig.listenPermissionContract.permissions[0].id, 'can-listen')\n\t}\n\n\t@test()\n\tprotected static async twoSkillsWithSameEventCanBeSynced() {\n\t\tconst { skill2, skillFixture, orgFixture, org } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst skill3 = await skillFixture.seedDemoSkill({ name: 'a third skill' })\n\n\t\tawait orgFixture.installSkillAtOrganization(skill3.id, org.id)\n\n\t\tconst eventName = `my-new-event::${this.todaysVersion.constValue}`\n\n\t\tawait skillFixture.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait skillFixture.registerEventContract(skill3, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.Service('dependency').set([\n\t\t\t{\n\t\t\t\tid: skill2.id,\n\t\t\t\tnamespace: skill2.slug,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: skill3.id,\n\t\t\t\tnamespace: skill3.slug,\n\t\t\t},\n\t\t])\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\tconst contract = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(contract)\n\t}\n\n\t@test()\n\tprotected static async skillWithSameEventNameButDifferentVersionsCanBeSynced() {\n\t\tconst { skill2, skillFixture } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst eventName = `my-new-event::${this.todaysVersion.constValue}`\n\t\tconst eventName2 = `my-new-event::${this.randomVersion}`\n\n\t\tawait skillFixture.registerEventContract(skill2, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\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}),\n\t\t\t\t},\n\t\t\t\t[eventName2]: {\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}),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.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', 'sync').execute({})\n\n\t\tconst contract = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(contract)\n\t}\n\n\t@test()\n\tprotected static async unRegisteredEventsAreRemoved() {\n\t\tconst { skillFixture, syncResults, skill2, contractFileName } =\n\t\t\tawait this.seedSkillsAndRegisterAndSyncEvents()\n\n\t\tawait this.assertValidActionResponseFiles(syncResults)\n\n\t\tawait skillFixture.unRegisterEvents(skill2, {\n\t\t\tshouldUnregisterAll: true,\n\t\t})\n\n\t\tconst eventContract = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\tcontractFileName,\n\t\t\tsyncResults.files\n\t\t)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(eventContract))\n\n\t\tawait this.Action('event', 'sync').execute({})\n\n\t\tassert.isFalse(diskUtil.doesFileExist(eventContract))\n\n\t\tconst dirname = pathUtil.dirname(eventContract)\n\t\tassert.isFalse(diskUtil.doesDirExist(dirname))\n\t}\n\n\tprivate static async syncCoreEventsPretendingToBeMercuryTypes() {\n\t\tconst results = await this.Action('event', 'sync').execute({\n\t\t\tshouldSyncOnlyCoreEvents: true,\n\t\t\teventBuilderFile: '../../../builder',\n\t\t\tskillEventContractTypesFile: '../../builder',\n\t\t})\n\n\t\tconst builder = `\nexport function buildEventContract(..._: any[]):any { return _[0] }\nexport function buildPermissionContract(..._: any[]):any { return _[0] }\n`\n\n\t\tdiskUtil.writeFile(this.resolvePath('src', 'builder.ts'), builder)\n\t\tawait this.Service('pkg').uninstall([\n\t\t\t'@sprucelabs/mercury-types',\n\t\t\t'@sprucelabs/mercury-client',\n\t\t\t'@sprucelabs/spruce-event-plugin',\n\t\t])\n\t\treturn results\n\t}\n\n\tprivate static async seedSkillsAndRegisterAndSyncEvents(\n\t\tsignature?: EventSignature\n\t) {\n\t\tconst { skill2, skillFixture, cli } =\n\t\t\tawait this.seedDummySkillRegisterCurrentSkillAndInstallToOrg()\n\n\t\tconst { results, filename } = await this.registerEventAndSync(\n\t\t\tskill2,\n\t\t\tsignature\n\t\t)\n\n\t\treturn {\n\t\t\tskillFixture,\n\t\t\tsyncResults: results,\n\t\t\tcli,\n\t\t\tskill2,\n\t\t\tcontractFileName: filename,\n\t\t}\n\t}\n\n\tprivate static async registerEventAndSync(\n\t\tskill: RegisteredSkill,\n\t\tsignature?: EventSignature\n\t) {\n\t\tconst skillFixture = this.getSkillFixture()\n\t\tconst stamp = new Date().getTime()\n\t\tconst eventName = `cleanup-event-test-${stamp}::${this.todaysVersion.constValue}`\n\t\tconst filename = generateEventContractFileName({\n\t\t\tnameCamel: `cleanupEventTest${stamp}`,\n\t\t\tversion: this.todaysVersion.constValue,\n\t\t})\n\n\t\tawait skillFixture.registerEventContract(skill, {\n\t\t\teventSignatures: {\n\t\t\t\t[eventName]: {\n\t\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\t\teventName,\n\t\t\t\t\t\ttargetSchema: eventTargetSchema,\n\t\t\t\t\t}),\n\t\t\t\t\t...signature,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\tawait this.Service('dependency').add({\n\t\t\tid: skill.id,\n\t\t\tnamespace: skill.slug,\n\t\t})\n\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\treturn { results, filename }\n\t}\n\n\tprivate static assertCorePayloadSchemasAreCreated(\n\t\tresults: FeatureActionResponse,\n\t\tshouldHaveWritten = true\n\t) {\n\t\tconst filesToCheck = [\n\t\t\t{\n\t\t\t\tname: `unregisterListenersEmitTargetAndPayload.schema.ts`,\n\t\t\t\tpath: `schemas${pathUtil.sep}${MERCURY_API_NAMESPACE}`,\n\t\t\t},\n\t\t]\n\n\t\tthis.assertFilesWereGenerated(filesToCheck, results, shouldHaveWritten)\n\t}\n\n\tprivate static assertFilesWereGenerated(\n\t\tfilesToCheck: { name: string; path: string }[],\n\t\tresults: FeatureActionResponse,\n\t\tshouldHaveWritten = true\n\t) {\n\t\tfor (const file of filesToCheck) {\n\t\t\tconst expected = this.resolveHashSprucePath(\n\t\t\t\t'schemas/mercury/v2020_12_25',\n\t\t\t\tfile.name\n\t\t\t)\n\t\t\tconst doesExist = diskUtil.doesFileExist(expected)\n\n\t\t\tif (shouldHaveWritten) {\n\t\t\t\tassert.isTrue(doesExist, `Expected to find ${file} on the filesystem.`)\n\t\t\t} else {\n\t\t\t\tassert.isFalse(doesExist, `Should not have written ${file}.`)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -86,8 +86,8 @@ var KeepingListenersInSyncTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _te
|
|
|
86
86
|
}, {
|
|
87
87
|
key: "deleteLastFile",
|
|
88
88
|
value: function deleteLastFile(results) {
|
|
89
|
-
var _results$files
|
|
90
|
-
var path = (_results$files = results.files) === null || _results$files === void 0
|
|
89
|
+
var _results$files;
|
|
90
|
+
var path = (_results$files = results.files) === null || _results$files === void 0 || (_results$files = _results$files.pop()) === null || _results$files === void 0 ? void 0 : _results$files.path;
|
|
91
91
|
_testUtils.assert.isString(path);
|
|
92
92
|
_spruceSkillUtils.diskUtil.deleteFile(path);
|
|
93
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeepingListenersInSync.test.js","names":["_spruceSkillUtils","require","_testUtils","_AbstractEventTest2","_interopRequireDefault","_test","_dec","_dec2","_class","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","KeepingListenersInSyncTest","test","_AbstractEventTest","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_hasSyncAction","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","assert","isFunction","Action","execute","stop","hasSyncAction","_deletingAListener","_callee2","results","syncResults","listenerMap","_callee2$","_context2","FeatureFixture","installCachedFeatures","createBootListener","sent","deleteLastFile","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","deletingAListener","_results$files","
|
|
1
|
+
{"version":3,"file":"KeepingListenersInSync.test.js","names":["_spruceSkillUtils","require","_testUtils","_AbstractEventTest2","_interopRequireDefault","_test","_dec","_dec2","_class","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","KeepingListenersInSyncTest","test","_AbstractEventTest","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_hasSyncAction","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","assert","isFunction","Action","execute","stop","hasSyncAction","_deletingAListener","_callee2","results","syncResults","listenerMap","_callee2$","_context2","FeatureFixture","installCachedFeatures","createBootListener","sent","deleteLastFile","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","deletingAListener","_results$files","path","pop","isString","diskUtil","deleteFile","_createBootListener","_callee3","name","_callee3$","_context3","namespace","eventName","isFalsy","errors","abrupt","_x","AbstractEventTest","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor","exports"],"sources":["../../../../src/__tests__/behavioral/events/KeepingListenersInSync.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { FeatureActionResponse } from '../../../features/features.types'\nimport AbstractEventTest from '../../../tests/AbstractEventTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class KeepingListenersInSyncTest extends AbstractEventTest {\n\t@test()\n\tprotected static async hasSyncAction() {\n\t\tassert.isFunction(this.Action('event', 'sync.listeners').execute)\n\t}\n\n\t@test()\n\tprotected static async deletingAListener() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tawait this.createBootListener('did-boot')\n\t\tconst results = await this.createBootListener('will-boot')\n\n\t\tthis.deleteLastFile(results)\n\n\t\tconst syncResults = await this.Action('event', 'sync.listeners').execute({})\n\n\t\tconst listenerMap = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'listeners.ts',\n\t\t\tsyncResults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(listenerMap)\n\t}\n\n\tprivate static deleteLastFile(results: FeatureActionResponse) {\n\t\tconst path = results.files?.pop()?.path\n\t\tassert.isString(path)\n\n\t\tdiskUtil.deleteFile(path)\n\t}\n\n\tprivate static async createBootListener(name: 'will-boot' | 'did-boot') {\n\t\tconst results = await this.Action('event', 'listen').execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: name,\n\t\t})\n\t\tassert.isFalsy(results.errors)\n\t\treturn results\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -282,7 +282,7 @@ var CreatingANewSchemaBuilderTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
|
|
|
282
282
|
key: "assertAnswersFirstTime",
|
|
283
283
|
value: function () {
|
|
284
284
|
var _assertAnswersFirstTime = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(action, newVersion) {
|
|
285
|
-
var _last$options, _last$
|
|
285
|
+
var _last$options, _last$options2;
|
|
286
286
|
var createPromise, last;
|
|
287
287
|
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
288
288
|
while (1) switch (_context8.prev = _context8.next) {
|
|
@@ -297,8 +297,8 @@ var CreatingANewSchemaBuilderTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
|
|
|
297
297
|
case 3:
|
|
298
298
|
last = this.ui.invocations[this.ui.invocations.length - 1];
|
|
299
299
|
_testUtils.assert.isEqual(last === null || last === void 0 ? void 0 : last.command, 'prompt');
|
|
300
|
-
_testUtils.assert.isLength(last === null || last === void 0
|
|
301
|
-
_testUtils.assert.isEqualDeep(last === null || last === void 0
|
|
300
|
+
_testUtils.assert.isLength(last === null || last === void 0 || (_last$options = last.options) === null || _last$options === void 0 || (_last$options = _last$options.options) === null || _last$options === void 0 ? void 0 : _last$options.choices, 2);
|
|
301
|
+
_testUtils.assert.isEqualDeep(last === null || last === void 0 || (_last$options2 = last.options) === null || _last$options2 === void 0 || (_last$options2 = _last$options2.options) === null || _last$options2 === void 0 ? void 0 : _last$options2.choices, [{
|
|
302
302
|
value: newVersion.dirValue,
|
|
303
303
|
label: 'New Version'
|
|
304
304
|
}, {
|
|
@@ -325,7 +325,7 @@ var CreatingANewSchemaBuilderTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
|
|
|
325
325
|
key: "assertAnswersSecondTime",
|
|
326
326
|
value: function () {
|
|
327
327
|
var _assertAnswersSecondTime = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(action, newVersion) {
|
|
328
|
-
var _last$options3
|
|
328
|
+
var _last$options3;
|
|
329
329
|
var createPromise, term, last, createResults, schemaMatch;
|
|
330
330
|
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
331
331
|
while (1) switch (_context9.prev = _context9.next) {
|
|
@@ -340,7 +340,7 @@ var CreatingANewSchemaBuilderTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
|
|
|
340
340
|
case 3:
|
|
341
341
|
term = this.ui;
|
|
342
342
|
last = term.invocations[term.invocations.length - 1];
|
|
343
|
-
_testUtils.assert.isEqualDeep(last === null || last === void 0
|
|
343
|
+
_testUtils.assert.isEqualDeep(last === null || last === void 0 || (_last$options3 = last.options) === null || _last$options3 === void 0 || (_last$options3 = _last$options3.options) === null || _last$options3 === void 0 ? void 0 : _last$options3.choices, [{
|
|
344
344
|
value: newVersion.dirValue,
|
|
345
345
|
label: newVersion.dirValue
|
|
346
346
|
}, {
|