@interaktiv/dia-scripts
Version:
CLI toolbox with common scripts for most sort of projects at DIA
43 lines (35 loc) • 1.27 kB
JavaScript
;
var _serializers = require("./__tests__/helpers/serializers");
expect.addSnapshotSerializer(_serializers.unquoteSerializer);
expect.addSnapshotSerializer(_serializers.winPathSerializer);
let crossSpawnSyncMock, originalArgv, originalExit;
describe('commit-msg hook', () => {
beforeEach(() => {
({
sync: crossSpawnSyncMock
} = require('cross-spawn'));
originalArgv = process.argv;
originalExit = process.exit;
process.exit = jest.fn();
});
afterEach(() => {
process.exit = originalExit;
process.argv = originalArgv;
jest.resetModules();
});
test('calls lint run script with commit-msg arg', () => {
const utils = require('../utils');
utils.isOptedOut = optOut => optOut !== 'commit-msg';
require('./commit-msg');
expect(crossSpawnSyncMock).toHaveBeenCalledTimes(1);
const [firstCall] = crossSpawnSyncMock.mock.calls;
const [scriptOne, calledArgsOne] = firstCall;
expect([scriptOne, ...calledArgsOne].join(' ')).toMatchSnapshot();
});
test('does nothing if is opted out', () => {
const utils = require('../utils');
utils.isOptedOut = optOut => optOut === 'commit-msg';
require('./commit-msg');
expect(crossSpawnSyncMock).toHaveBeenCalledTimes(0);
});
});