UNPKG

counsel

Version:

the end of boilerplate. automatically bake structure, opinions, and business rules into projects

39 lines 1.76 kB
"use strict"; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result["default"] = mod; return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const readme_1 = require("../../../src/rules/readme"); const path = __importStar(require("path")); const fs = __importStar(require("fs-extra")); const ava_1 = __importDefault(require("ava")); const test_project_1 = require("../../fixture/test-project"); const test = ava_1.default; test.beforeEach(t => test_project_1.createMockPackageContext(t.context)); test('readme rule', async (t) => { const { apply, check, ctx } = t.context; const readmeFilename = path.resolve(ctx.projectDirname, 'readme.md'); let stat = await fs.lstat(readmeFilename); t.truthy(stat.isFile(), 'readme present'); await apply({ ctx, rules: [readme_1.rule] }); stat = await fs.lstat(readmeFilename); t.truthy(stat.isFile(), 'readme _still_ present'); await check({ ctx, rules: [readme_1.rule] }); t.pass('check is ok with readme'); await fs.remove(readmeFilename); await fs .lstat(readmeFilename) .then(() => t.fail('readme should be removed')) .catch(() => t.pass('readme removed')); await check({ ctx, rules: [readme_1.rule] }) .then(() => t.fail('readme rule should have failed check')) .catch(() => t.pass('readme rule failed check with no readme')); }); //# sourceMappingURL=readme.test.js.map