@interaktiv/dia-scripts
Version:
CLI toolbox with common scripts for most sort of projects at DIA
38 lines (34 loc) • 1.14 kB
JavaScript
;
var _serializers = require("../__tests__/helpers/serializers");
expect.addSnapshotSerializer(_serializers.unquoteSerializer);
expect.addSnapshotSerializer(_serializers.winPathSerializer);
let originalConsoleLog = console.log;
let originalArgv = process.argv;
let originalExit = process.exit;
let crossSpawnSyncMock;
describe('setup titanium', () => {
beforeEach(() => {
({
sync: crossSpawnSyncMock
} = require('cross-spawn'));
originalConsoleLog = console.log;
originalArgv = process.argv;
originalExit = process.exit;
console.log = jest.fn();
process.exit = jest.fn();
});
afterEach(() => {
console.log = originalConsoleLog;
process.exit = originalExit;
process.argv = originalArgv;
jest.resetModules();
});
test('installs and calls gittio CLI', () => {
process.argv = ['node', '../../setup/titanium'];
require('./titanium');
expect(crossSpawnSyncMock).toHaveBeenCalledTimes(1);
const [firstCall] = crossSpawnSyncMock.mock.calls;
const [script, calledArgs] = firstCall;
expect([script, ...calledArgs].join(' ')).toMatchSnapshot();
});
});