mirror of https://github.com/Seich/Beau.git
				
				
				
			
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.5 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());
 | |
| 
 | |
| 	it('Should request the given alias', async () => {
 | |
| 		await RequestCommand.run(['anything']);
 | |
| 		expect(result).toMatchSnapshot();
 | |
| 	});
 | |
| 
 | |
| 	it('Should show all information available when being verbose', async () => {
 | |
| 		await RequestCommand.run(['anything', '--verbose']);
 | |
| 		expect(result).toMatchSnapshot();
 | |
| 	});
 | |
| 
 | |
| 	it('Should output the response as json', async () => {
 | |
| 		await RequestCommand.run(['anything', '--as-json']);
 | |
| 		expect(result).toMatchSnapshot();
 | |
| 	});
 | |
| 
 | |
| 	it('Should output the response as json verboselly', async () => {
 | |
| 		await RequestCommand.run(['anything', '--as-json', '--verbose']);
 | |
| 		expect(result).toMatchSnapshot();
 | |
| 	});
 | |
| 
 | |
| 	it('Should output an unformatted version', async () => {
 | |
| 		await RequestCommand.run(['anything', '--no-format']);
 | |
| 		expect(result).toMatchSnapshot();
 | |
| 	});
 | |
| 
 | |
| 	it('Should output nothing', async () => {
 | |
| 		await RequestCommand.run(['anything', '--quiet']);
 | |
| 		expect(result).toMatchSnapshot();
 | |
| 	});
 | |
| 
 | |
| 	it('should thrown an error when the request fails', async () => {
 | |
| 		requestPromiseNativeMock.fail = true;
 | |
| 		await expect(RequestCommand.run(['anything'])).rejects.toThrow(Error);
 | |
| 	});
 | |
| });
 |