UNPKG

@interaktiv/dia-scripts

Version:

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

45 lines (39 loc) 1.43 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _crossSpawn = _interopRequireDefault(require("cross-spawn")); describe('contributors', () => { const { sync: crossSpawnSyncMock } = _crossSpawn.default; const originalExit = process.exit; const originalArgv = process.argv; beforeEach(() => { process.exit = jest.fn(); }); afterEach(() => { process.exit = originalExit; process.argv = originalArgv; jest.resetModules(); }); test('calls all-contributors CLI with args', () => { jest.mock('../utils', () => (0, _extends2.default)({}, jest.requireActual('../utils'), { isBitbucketRepo: jest.fn(() => false) })); process.argv = ['node', './contributors', 'add']; require('./contributors'); expect(crossSpawnSyncMock).toHaveBeenCalledTimes(1); expect(crossSpawnSyncMock).toHaveBeenCalledWith(expect.stringMatching('all-contributors'), ['add'], { stdio: 'inherit' }); }); test('does throw an error for Bitbucket hosted repo', () => { jest.mock('../utils', () => (0, _extends2.default)({}, jest.requireActual('../utils'), { isBitbucketRepo: jest.fn(() => true) })); process.argv = ['node', './contributors', 'add']; expect(() => { require('./contributors'); }).toThrow(); }); });