@wmfs/tymly-cli-rest-client
Version:
CLI tool to launch Tymly State Machines over REST
85 lines (72 loc) • 2.3 kB
JavaScript
/* eslint-env mocha */
const expect = require('chai').expect
const exec = require('child_process').exec
describe('tymly-cli tests', function () {
this.timeout(5000)
const hasEnv = !!(
process.env.TYMLY_NIC_AUTH0_DOMAIN &&
process.env.TYMLY_NIC_AUTH0_CLIENT_ID &&
process.env.TYMLY_NIC_AUTH0_CLIENT_SECRET &&
process.env.TYMLY_AUTH_AUDIENCE &&
process.env.TYMLY_API_URL
)
it('should run the script successfully', done => {
exec(
'npm run cli --command=search --query=kebab --limit=12 --offset=0',
(err, stdout, stderr) => {
if (hasEnv) {
expect(err).to.eql(null)
} else {
expect(err).to.not.eql(null)
expect(stderr).to.not.eql(null)
expect(stdout.split('\n').includes('Missing env var: TYMLY_NIC_AUTH0_DOMAIN')).to.eql(true)
}
done()
}
)
})
it('should run the script without a command specified', done => {
exec(
'npm run cli',
(err, stdout, stderr) => {
expect(err).to.not.eql(null)
expect(stderr).to.not.eql(null)
if (hasEnv) {
expect(stdout.split('\n')[5].includes('You must specify a command')).to.eql(true)
} else {
expect(stdout.split('\n').includes('Missing env var: TYMLY_NIC_AUTH0_DOMAIN')).to.eql(true)
}
done()
}
)
})
it('should run the script with an unknown config command', done => {
exec(
'npm run cli --command=searchStuff ',
(err, stdout, stderr) => {
expect(err).to.not.eql(null)
expect(stderr).to.not.eql(null)
if (hasEnv) {
expect(stdout.split('\n')[5].includes('Unknown config: \'searchStuff\'')).to.eql(true)
} else {
expect(stdout.split('\n').includes('Missing env var: TYMLY_NIC_AUTH0_DOMAIN')).to.eql(true)
}
done()
}
)
})
it('should run the script with quiet flag', done => {
exec(
'npm run cli quiet --command=incidentsInProgress',
(err, stdout, stderr) => {
if (hasEnv) {
expect(err).to.eql(null)
} else {
expect(err).to.not.eql(null)
expect(stdout.split('\n').includes('Missing env var: TYMLY_NIC_AUTH0_DOMAIN')).to.eql(true)
}
done()
}
)
})
})