From 374bce8442a6132d0affc406800fa076553dd67f Mon Sep 17 00:00:00 2001 From: Opender Singh Date: Thu, 30 Jul 2020 10:31:46 +1200 Subject: [PATCH] Return 'dev' as the version if running in development (#2462) --- .../insomnia-inso/src/__tests__/cli.test.js | 15 +++++++ .../src/__tests__/inso-snapshot.test.js | 12 ------ .../insomnia-inso/src/__tests__/util.test.js | 40 ++++++++++++++++++- packages/insomnia-inso/src/util.js | 6 ++- 4 files changed, 59 insertions(+), 14 deletions(-) diff --git a/packages/insomnia-inso/src/__tests__/cli.test.js b/packages/insomnia-inso/src/__tests__/cli.test.js index c29f6aeab8..59a11af4a4 100644 --- a/packages/insomnia-inso/src/__tests__/cli.test.js +++ b/packages/insomnia-inso/src/__tests__/cli.test.js @@ -5,6 +5,7 @@ import { lintSpecification } from '../commands/lint-specification'; import { runInsomniaTests } from '../commands/run-tests'; import { exportSpecification } from '../commands/export-specification'; import { parseArgsStringToArgv } from 'string-argv'; +import * as packageJson from '../../package.json'; jest.mock('../commands/generate-config'); jest.mock('../commands/lint-specification'); @@ -43,6 +44,20 @@ describe('cli', () => { it('should throw error if working dir argument is missing', () => { expect(() => inso('-w')).toThrowError(); }); + + it.each(['-v', '--version'])('inso %s should print version from package.json', args => { + jest.spyOn(console, 'log').mockImplementation(() => {}); + expect(() => inso(args)).toThrowError(packageJson.version); + }); + + it.each(['-v', '--version'])('inso %s should print "dev" if running in development', args => { + const oldNodeEnv = process.env.NODE_ENV; + + process.env.NODE_ENV = 'development'; + expect(() => inso(args)).toThrowError('dev'); + + process.env.NODE_ENV = oldNodeEnv; + }); }); describe('generate config', () => { diff --git a/packages/insomnia-inso/src/__tests__/inso-snapshot.test.js b/packages/insomnia-inso/src/__tests__/inso-snapshot.test.js index dff671487e..3a2f1c3a81 100644 --- a/packages/insomnia-inso/src/__tests__/inso-snapshot.test.js +++ b/packages/insomnia-inso/src/__tests__/inso-snapshot.test.js @@ -1,7 +1,6 @@ // @flow import execa from 'execa'; import { getBinPathSync } from 'get-bin-path'; -import * as packageJson from '../../package.json'; // MAKE SURE YOU BUILD THE PROJECT BEFORE RUNNING THESE TESTS. // These tests use the executable /bin/inso, which relies on /dist. @@ -28,14 +27,3 @@ describe('Snapshot for', () => { 30000, ); }); - -describe('Inso version', () => { - it.each(['-v', '--version'])( - 'inso %s should print version from package.json', - async args => { - const { stdout } = await execa(getBinPathSync(), args.split(' ')); - expect(stdout).toBe(packageJson.version); - }, - 30000, - ); -}); diff --git a/packages/insomnia-inso/src/__tests__/util.test.js b/packages/insomnia-inso/src/__tests__/util.test.js index b8e720d9d8..017e824653 100644 --- a/packages/insomnia-inso/src/__tests__/util.test.js +++ b/packages/insomnia-inso/src/__tests__/util.test.js @@ -1,5 +1,6 @@ // @flow -import { exit, logErrorExit1, getDefaultAppDataDir } from '../util'; +import { exit, logErrorExit1, getDefaultAppDataDir, getVersion, isDevelopment } from '../util'; +import * as packageJson from '../../package.json'; describe('exit()', () => { it('should exit 0 if successful result', async () => { @@ -68,3 +69,40 @@ describe('getDefaultAppDataDir()', () => { ); }); }); + +describe('getVersion()', () => { + it('should return version from packageJson', () => { + expect(getVersion()).toBe(packageJson.version); + }); + + it('should return dev if running in development', () => { + const oldNodeEnv = process.env.NODE_ENV; + + process.env.NODE_ENV = 'development'; + expect(getVersion()).toBe('dev'); + + process.env.NODE_ENV = oldNodeEnv; + }); +}); + +describe('isDevelopment()', () => { + it('should return true if NODE_ENV is development', () => { + const oldNodeEnv = process.env.NODE_ENV; + + process.env.NODE_ENV = 'development'; + expect(isDevelopment()).toBe(true); + + process.env.NODE_ENV = oldNodeEnv; + }); + + it('should return false if NODE_ENV is not development', () => { + const oldNodeEnv = process.env.NODE_ENV; + + process.env.NODE_ENV = 'production'; + expect(isDevelopment()).toBe(false); + + process.env.NODE_ENV = oldNodeEnv; + }); + + it('should return dev if running in development', () => {}); +}); diff --git a/packages/insomnia-inso/src/util.js b/packages/insomnia-inso/src/util.js index 9d6eaee982..c567b185d4 100644 --- a/packages/insomnia-inso/src/util.js +++ b/packages/insomnia-inso/src/util.js @@ -2,7 +2,11 @@ import * as packageJson from '../package.json'; export function getVersion() { - return packageJson.version; + return isDevelopment() ? 'dev' : packageJson.version; +} + +export function isDevelopment() { + return process.env.NODE_ENV === 'development'; } export function logErrorExit1(err: Error) {