johnny-cli
Version:
CLI for Johnny Deps
34 lines (28 loc) • 1.19 kB
JavaScript
import helpers from 'helpers';
import installCmd from '../';
// Supress command output
process.stdout.write = jest.fn();
describe('"install" command', () => {
it('sends API request if --save option was passed', async () => {
await installCmd(['package@version'], {save: true});
expect(helpers.rebuildAndSync).toHaveBeenCalledTimes(1);
});
it('doesn\'t send API request if --save option was not passed', async () => {
helpers.rebuildAndSync.mockClear();
await installCmd(['package@version'], {});
expect(helpers.rebuildAndSync).toHaveBeenCalledTimes(0);
});
it('doesn\'t send API request if --saveDev option was passed', async () => {
helpers.rebuildAndSync.mockClear();
await installCmd(['package@version'], {saveDev: true});
expect(helpers.rebuildAndSync).toHaveBeenCalledTimes(0);
});
it('doesn\'t send API request in case of being called with no params — install all packages', async () => {
helpers.rebuildAndSync.mockClear();
await installCmd({}, {});
expect(helpers.rebuildAndSync).toHaveBeenCalledTimes(0);
helpers.rebuildAndSync.mockClear();
await installCmd({}, {save: true});
expect(helpers.rebuildAndSync).toHaveBeenCalledTimes(0);
});
});