mirror of https://github.com/Seich/Beau.git
				
				
				
			
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| const RequestCommand = require('../commands/request')
 | |
| const requestPromiseNativeMock = require('request-promise-native')
 | |
| 
 | |
| jest.mock('../../../src/shared')
 | |
| 
 | |
| jest.mock('../base')
 | |
| 
 | |
| 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)
 | |
|     })
 | |
| })
 |