@sketch-hq/sketch-assistant-utils
Version:
Utility functions and types for Sketch Assistants.
63 lines (62 loc) • 3.66 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const __1 = require("..");
const path_1 = require("path");
describe('testRuleInAssistant', () => {
test('can return violations', () => __awaiter(void 0, void 0, void 0, function* () {
const { violations } = yield __1.testRuleInAssistant(path_1.resolve(__dirname, './empty.sketch'), __1.createAssistant({
rules: [__1.createRule({ name: 'rule', rule: (ctx) => __awaiter(void 0, void 0, void 0, function* () { return ctx.utils.report(''); }) })],
config: {
rules: { rule: { active: true } },
},
}), 'rule');
expect(violations).toHaveLength(1);
}));
test('rules not under-test are excluded', () => __awaiter(void 0, void 0, void 0, function* () {
const { violations } = yield __1.testRuleInAssistant(path_1.resolve(__dirname, './empty.sketch'), __1.createAssistant({
rules: [
__1.createRule({ name: 'rule1', rule: (ctx) => __awaiter(void 0, void 0, void 0, function* () { return ctx.utils.report(''); }) }),
__1.createRule({ name: 'rule2', rule: (ctx) => __awaiter(void 0, void 0, void 0, function* () { return ctx.utils.report(''); }) }),
],
config: {
rules: { rule1: { active: true }, rule2: { active: true } },
},
}), 'rule1');
expect(violations).toHaveLength(1);
}));
test('can be supplied a custom config', () => __awaiter(void 0, void 0, void 0, function* () {
const { violations } = yield __1.testRuleInAssistant(path_1.resolve(__dirname, './empty.sketch'), __1.createAssistant({
rules: [__1.createRule({ name: 'rule', rule: (ctx) => __awaiter(void 0, void 0, void 0, function* () { return ctx.utils.report(''); }) })],
config: {
rules: { rule: { active: true } },
},
}), 'rule', { active: false });
expect(violations).toHaveLength(0);
}));
});
describe('testRule', () => {
test('can return violations', () => __awaiter(void 0, void 0, void 0, function* () {
const { violations } = yield __1.testRule(path_1.resolve(__dirname, './empty.sketch'), __1.createRule({ name: 'rule', rule: (ctx) => __awaiter(void 0, void 0, void 0, function* () { return ctx.utils.report(''); }) }));
expect(violations).toHaveLength(1);
}));
});
describe('testAssistant', () => {
test('can return violations', () => __awaiter(void 0, void 0, void 0, function* () {
const { violations } = yield __1.testAssistant(path_1.resolve(__dirname, './empty.sketch'), __1.createAssistant({
rules: [__1.createRule({ name: 'rule', rule: (ctx) => __awaiter(void 0, void 0, void 0, function* () { return ctx.utils.report(''); }) })],
config: {
rules: { rule: { active: true } },
},
}));
expect(violations).toHaveLength(1);
}));
});