32 lines
806 B
TypeScript
32 lines
806 B
TypeScript
|
import { system, filesystem } from 'gluegun'
|
||
|
|
||
|
const src = filesystem.path(__dirname, '..')
|
||
|
|
||
|
const cli = async (cmd) =>
|
||
|
system.run(
|
||
|
'node ' + filesystem.path(src, 'bin', 'docker-volume-manager') + ` ${cmd}`
|
||
|
)
|
||
|
|
||
|
test('outputs version', async () => {
|
||
|
const output = await cli('--version')
|
||
|
expect(output).toContain('0.0.1')
|
||
|
})
|
||
|
|
||
|
test('outputs help', async () => {
|
||
|
const output = await cli('--help')
|
||
|
expect(output).toContain('0.0.1')
|
||
|
})
|
||
|
|
||
|
test('generates file', async () => {
|
||
|
const output = await cli('generate foo')
|
||
|
|
||
|
expect(output).toContain('Generated file at models/foo-model.ts')
|
||
|
const foomodel = filesystem.read('models/foo-model.ts')
|
||
|
|
||
|
expect(foomodel).toContain(`module.exports = {`)
|
||
|
expect(foomodel).toContain(`name: 'foo'`)
|
||
|
|
||
|
// cleanup artifact
|
||
|
filesystem.remove('models')
|
||
|
})
|