UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

68 lines 3.43 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const spruce_event_utils_1 = require("@sprucelabs/spruce-event-utils"); const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils"); const test_utils_1 = require("@sprucelabs/test-utils"); const AbstractEventTest_1 = __importDefault(require("../../../tests/AbstractEventTest")); const constants_1 = require("../../../tests/constants"); const EVENT_NAME_READABLE = 'did book appointment'; const EVENT_NAME = 'did-book-appointment'; const EVENT_CAMEL = 'didBookAppointment'; class RegisteringEventsOnBootTest extends AbstractEventTest_1.default { static async beforeEach() { await super.beforeEach(); await this.people.loginAsDemoPerson(constants_1.DEMO_NUMBER_EVENTS_ON_BOOT); } static async registeringEventsOnBoot() { const { skill2, currentSkill } = await this.seedDummySkillRegisterCurrentSkillAndInstallToOrg(); await this.Action('event', 'create').execute({ nameReadable: EVENT_NAME_READABLE, nameKebab: EVENT_NAME, nameCamel: EVENT_CAMEL, }); await this.copyEventBuildersAndPermissions(EVENT_NAME); await this.Action('event', 'sync').execute({}); const boot = await this.Action('skill', 'boot').execute({ local: true }); const client = await this.connectToApi({ skillId: skill2.id, apiKey: skill2.apiKey, }); const { contracts } = await this.Store('event', { apiClientFactory: async () => client, }).fetchEventContracts(); boot.meta?.kill(); const version = spruce_skill_utils_1.versionUtil.generateVersion().constValue; const name = spruce_event_utils_1.eventNameUtil.join({ eventNamespace: currentSkill.slug, eventName: EVENT_NAME, version, }); test_utils_1.assert.isTrue(contracts.length >= 2); const namespace = spruce_skill_utils_1.namesUtil.toPascal(currentSkill.slug); const sig = spruce_event_utils_1.eventContractUtil.getSignatureByName(contracts[1], name); test_utils_1.assert.doesInclude(sig.emitPayloadSchema, { id: 'didBookAppointmentEmitTargetAndPayload', version, namespace, }); test_utils_1.assert.doesInclude(sig.responsePayloadSchema, { id: 'myFantasticallyAmazingEventResponsePayload', version, namespace, }); } } exports.default = RegisteringEventsOnBootTest; __decorate([ (0, test_utils_1.test)() ], RegisteringEventsOnBootTest, "registeringEventsOnBoot", null); //# sourceMappingURL=RegisteringEventsOnBoot.test.js.map