@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
34 lines • 1.62 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils");
const AbstractSkillTest_1 = __importDefault(require("../../../../tests/AbstractSkillTest"));
const EventFaker_1 = __importDefault(require("../../../support/EventFaker"));
const renderPermissionTestFile_1 = __importDefault(require("./renderPermissionTestFile"));
class AbstractPermissionsTest extends AbstractSkillTest_1.default {
static skillCacheKey = 'permissions';
static createAction;
static eventFaker;
static async beforeEach() {
await super.beforeEach();
this.createAction = this.Action('permission', 'create');
this.eventFaker = new EventFaker_1.default();
}
static async createPermissionContract(nameReadable) {
return await this.createAction.execute({
nameReadable,
nameCamel: spruce_skill_utils_1.namesUtil.toCamel(nameReadable),
});
}
static async writeTestFileAndAssertValid(contractId, perm1, perm2) {
const contents = (0, renderPermissionTestFile_1.default)(contractId, perm1, perm2);
const destination = this.resolvePath('src', 'test.ts');
spruce_skill_utils_1.diskUtil.writeFile(destination, contents);
await this.assertFilePassesTypeChecks(destination);
return destination;
}
}
exports.default = AbstractPermissionsTest;
//# sourceMappingURL=AbstractPermissionsTest.js.map