@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
82 lines • 3.67 kB
JavaScript
;
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 test_utils_1 = require("@sprucelabs/test-utils");
const LintService_1 = __importDefault(require("../../../services/LintService"));
const AbstractSkillTest_1 = __importDefault(require("../../../tests/AbstractSkillTest"));
const constants_1 = require("../../../tests/constants");
class RegisteringSkillViewOnBootTest extends AbstractSkillTest_1.default {
static skillCacheKey = 'views';
static views;
static async beforeEach() {
await super.beforeEach();
LintService_1.default.enableLinting();
this.views = this.Store('view');
}
static async noEventsToStart() {
await this.registerAndBootSkill();
let views;
try {
views = await this.fetchSkillViews();
}
catch { }
test_utils_1.assert.isFalsy(views);
}
static async syncsViewsOnBoot() {
await this.Action('view', 'create').execute({
viewType: 'skillView',
isRoot: true,
});
LintService_1.default.enableLinting();
const buildResults = await this.buildSkill();
this.log('build buildResults', JSON.stringify(buildResults));
const results = await this.bootSkill();
test_utils_1.assert.isFalsy(results.errors);
const skillViews = await this.fetchSkillViews();
test_utils_1.assert.isTruthy(skillViews, 'Skill views were not registered on boot!');
}
static async fetchSkillViews() {
return await this.views.fetchSkillViews();
}
static async registerAndBootSkill() {
await this.registerCurrentSkillAndInstallToOrg();
await this.buildSkill();
const results = await this.bootSkill();
test_utils_1.assert.isFalsy(results.errors);
}
static async bootSkill() {
const boot = await this.Action('skill', 'boot').execute({});
boot.meta?.kill();
return boot;
}
static async buildSkill() {
return await this.Service('build').build();
}
static async registerCurrentSkillAndInstallToOrg() {
await this.people.loginAsDemoPerson(constants_1.DEMO_NUMBER_VIEWS_ON_BOOT);
const skillFixture = this.getSkillFixture();
const orgFixture = this.getOrganizationFixture();
const org = await orgFixture.seedDemoOrg({ name: 'my org' });
const skill = await skillFixture.registerCurrentSkill({
name: 'current skill',
});
await orgFixture.installSkillAtOrganization(skill.id, org.id);
return { skillFixture, currentSkill: skill, org, orgFixture };
}
}
exports.default = RegisteringSkillViewOnBootTest;
__decorate([
(0, test_utils_1.test)()
], RegisteringSkillViewOnBootTest, "noEventsToStart", null);
__decorate([
(0, test_utils_1.test)()
], RegisteringSkillViewOnBootTest, "syncsViewsOnBoot", null);
//# sourceMappingURL=RegisteringSkillViewOnBoot.test.js.map