serverless/test/unit/lib/cli/eventually-list-version.test.js

82 lines
2.6 KiB
JavaScript

'use strict';
const { expect } = require('chai');
const overrideStdoutWrite = require('process-utils/override-stdout-write');
const overrideArgv = require('process-utils/override-argv');
const eventuallyListVersion = require('../../../../lib/cli/eventually-list-version');
describe('test/unit/lib/cli/eventually-list-version.test.js', () => {
it('should log version on top level --version param', async () => {
let stdoutData = '';
expect(
await overrideArgv({ args: ['serverless', '--version'] }, () =>
overrideStdoutWrite(
(data) => (stdoutData += data),
() => eventuallyListVersion()
)
)
).to.equal(true);
expect(stdoutData).to.have.string('Framework Core: ');
});
it('should log version on deep --version param', async () => {
let stdoutData = '';
expect(
await overrideArgv({ args: ['serverless', 'deploy', 'function', '--version'] }, () =>
overrideStdoutWrite(
(data) => (stdoutData += data),
() => eventuallyListVersion()
)
)
).to.equal(true);
expect(stdoutData).to.have.string('Framework Core: ');
});
it('should log version on top level -v param', async () => {
let stdoutData = '';
expect(
await overrideArgv({ args: ['serverless', '-v'] }, () =>
overrideStdoutWrite(
(data) => (stdoutData += data),
() => eventuallyListVersion()
)
)
).to.equal(true);
expect(stdoutData).to.have.string('Framework Core: ');
});
it('should not log version on deep -v param', async () => {
let stdoutData = '';
expect(
await overrideArgv({ args: ['serverless', 'deploy', 'function', '-v'] }, () =>
overrideStdoutWrite(
(data) => (stdoutData += data),
() => eventuallyListVersion()
)
)
).to.equal(false);
expect(stdoutData).to.equal('');
});
it('should not log version when no params', async () => {
let stdoutData = '';
expect(
await overrideArgv({ args: ['serverless'] }, () =>
overrideStdoutWrite(
(data) => (stdoutData += data),
() => eventuallyListVersion()
)
)
).to.equal(false);
expect(stdoutData).to.equal('');
});
it('should not log version when no version params', async () => {
let stdoutData = '';
expect(
await overrideArgv({ args: ['serverless', 'deploy', 'function'] }, () =>
overrideStdoutWrite(
(data) => (stdoutData += data),
() => eventuallyListVersion()
)
)
).to.equal(false);
expect(stdoutData).to.equal('');
});
});