mirror of https://github.com/Seich/Beau.git
38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
const RequestCommand = require('../commands/request');
|
|
const requestPromiseNativeMock = require('request-promise-native');
|
|
|
|
jest.mock('../utils');
|
|
|
|
describe('Request Command', () => {
|
|
let result;
|
|
|
|
beforeEach(() => {
|
|
requestPromiseNativeMock.fail = false;
|
|
result = [];
|
|
jest
|
|
.spyOn(process.stdout, 'write')
|
|
.mockImplementation(val =>
|
|
result.push(require('strip-ansi')(val.toString('utf8')))
|
|
);
|
|
});
|
|
|
|
afterEach(() => jest.restoreAllMocks());
|
|
|
|
test.each([
|
|
['alias'],
|
|
['alias', '--verbose'],
|
|
['alias', '--as-json'],
|
|
['alias', '--as-json', '--verbose'],
|
|
['alias', '--no-format'],
|
|
['alias', '--quiet']
|
|
])('with flags: %s %s %s', async (...args) => {
|
|
await RequestCommand.run(args);
|
|
expect(result).toMatchSnapshot();
|
|
});
|
|
|
|
it('should throw an error when the request fails', async () => {
|
|
requestPromiseNativeMock.fail = true;
|
|
await expect(RequestCommand.run(['anything'])).rejects.toThrow(Error);
|
|
});
|
|
});
|