UNPKG

@interaktiv/dia-scripts

Version:

CLI toolbox with common scripts for most sort of projects at DIA

65 lines (53 loc) 2.2 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var utilsMock = _interopRequireWildcard(require("../utils")); function hasFormat(linter) { return linter.some(l => l.includes('format')); } function hasGitAdd(linter) { return linter.includes('git add'); } function getLintersFor(linters) { return type => { const key = Object.keys(linters).find(k => k.includes('*') && k.includes(type)); return linters[key]; }; } jest.mock('../utils', () => (0, _extends2.default)({}, jest.requireActual('../utils'), { isOptedOut: jest.fn((key, t) => t) })); describe('linstaged config', () => { afterEach(() => { jest.resetModules(); }); test('includes format and git add when not opted out', () => { utilsMock.isOptedOut.mockImplementation((key, t, f) => f); const config = require('./lintstagedrc'); const getLinterForType = getLintersFor(config); const jsLinter = getLinterForType('js'); expect(hasFormat(jsLinter)).toBe(true); expect(hasGitAdd(jsLinter)).toBe(true); const apexLinter = getLinterForType('apex'); expect(hasFormat(apexLinter)).toBe(true); expect(hasGitAdd(apexLinter)).toBe(true); const formatLinter = getLinterForType('yaml'); expect(hasFormat(formatLinter)).toBe(true); expect(hasGitAdd(formatLinter)).toBe(true); }); test('does not include format and git add when opted out', () => { utilsMock.isOptedOut.mockImplementation((key, t) => t); const config = require('./lintstagedrc'); const getLinterForType = getLintersFor(config); const jsLinter = getLinterForType('js'); expect(hasFormat(jsLinter)).toBe(false); expect(hasGitAdd(jsLinter)).toBe(false); const apexLinter = getLinterForType('apex'); expect(hasFormat(apexLinter)).toBe(false); expect(hasGitAdd(apexLinter)).toBe(false); const formatLinter = getLinterForType('yaml'); expect(hasFormat(formatLinter)).toBe(false); expect(hasGitAdd(formatLinter)).toBe(false); }); });