UNPKG

@sketch-hq/sketch-assistant-utils

Version:

Utility functions and types for Sketch Assistants.

61 lines (60 loc) 3.56 kB
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); })); });