@sketch-hq/sketch-assistant-utils
Version:
Utility functions and types for Sketch Assistants.
61 lines (60 loc) • 3.56 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());
});
};
import { testRuleInAssistant, testRule, testAssistant, createAssistant, createRule } from '..';
import { resolve } from 'path';
describe('testRuleInAssistant', () => {
test('can return violations', () => __awaiter(void 0, void 0, void 0, function* () {
const { violations } = yield testRuleInAssistant(resolve(__dirname, './empty.sketch'), createAssistant({
rules: [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 testRuleInAssistant(resolve(__dirname, './empty.sketch'), createAssistant({
rules: [
createRule({ name: 'rule1', rule: (ctx) => __awaiter(void 0, void 0, void 0, function* () { return ctx.utils.report(''); }) }),
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 testRuleInAssistant(resolve(__dirname, './empty.sketch'), createAssistant({
rules: [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 testRule(resolve(__dirname, './empty.sketch'), 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 testAssistant(resolve(__dirname, './empty.sketch'), createAssistant({
rules: [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);
}));
});