UNPKG

@interaktiv/dia-scripts

Version:

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

43 lines (35 loc) 1.27 kB
"use strict"; 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); }); });