tauri/cli/tauri.js/test/jest/__tests__/tauri.spec.js

60 lines
1.7 KiB
JavaScript
Raw Normal View History

2019-11-28 10:41:47 +03:00
const { tauri } = require('bin/tauri')
describe('[CLI] tauri.js', () => {
it('displays a help message', async () => {
jest.spyOn(console, 'log')
jest.spyOn(process, 'exit').mockImplementation(() => true)
tauri('help')
console.log(process.exit.mock.calls[0][0])
expect(process.exit.mock.calls[0][0]).toBe(0)
expect(!!console.log.mock.calls[0][0]).toBe(true)
tauri('--help')
expect(!!console.log.mock.calls[2][0]).toBe(true)
tauri('-h')
expect(!!console.log.mock.calls[3][0]).toBe(true)
tauri(['help'])
expect(!!console.log.mock.calls[4][0]).toBe(true)
jest.clearAllMocks()
})
it('will not run an unavailable command', async () => {
jest.spyOn(console, 'log')
tauri('foo')
expect(console.log.mock.calls[0][0].split('.')[0]).toBe(
'Invalid command foo'
)
jest.clearAllMocks()
})
it('will pass on an available command', async () => {
jest.spyOn(console, 'log')
2020-03-07 19:40:24 +03:00
jest.mock('fs')
try {
tauri('init')
} catch {}
expect(console.log.mock.calls[0][0].split('.')[0]).toBe(
'[tauri]: running init'
)
jest.clearAllMocks()
})
it('gets you help', async () => {
jest.spyOn(console, 'log')
const tests = ['--help', '-h', 'invalid command']
for (const test of tests) {
tauri([test])
expect(!!console.log.mock.calls[0][0]).toBe(true)
jest.clearAllMocks()
}
})
it('gets you version', async () => {
jest.spyOn(console, 'log')
const tests = ['--version', '-v']
const version = require('../../../package.json').version
for (const test of tests) {
tauri([test])
expect(console.log.mock.calls[0][0]).toBe(version)
jest.clearAllMocks()
}
})
})