diff --git a/src/Logger.ts b/src/Logger.ts index 49bdd7c..12668c3 100644 --- a/src/Logger.ts +++ b/src/Logger.ts @@ -1,12 +1,11 @@ import { ConsoleLogger, Logger, NullLogger } from 'noicejs'; - -const ENV_DEBUG = 'DEBUG'; +import { isDebug } from './utils/Env'; export function getTestLogger(verbose = false): Logger { - if (verbose || process.env[ENV_DEBUG] === 'TRUE') { - return new ConsoleLogger(); + if (verbose || isDebug()) { + return ConsoleLogger.global; } else { - return new NullLogger(); + return NullLogger.global; } } diff --git a/src/utils/Env.ts b/src/utils/Env.ts index 96bc09f..3020c07 100644 --- a/src/utils/Env.ts +++ b/src/utils/Env.ts @@ -1,3 +1,5 @@ +const ENV_DEBUG = 'DEBUG'; + export function isDebug() { - return Reflect.has(process.env, 'DEBUG'); + return Reflect.has(process.env, ENV_DEBUG); } diff --git a/test/TestLogger.ts b/test/TestLogger.ts new file mode 100644 index 0000000..7bc744e --- /dev/null +++ b/test/TestLogger.ts @@ -0,0 +1,25 @@ +import { expect } from 'chai'; +import { ConsoleLogger, NullLogger } from 'noicejs'; + +import { getTestLogger, spyLogger } from '../src/Logger'; + +describe('logger utils', () => { + describe('get test logger helper', () => { + it('should return console logger in verbose mode', () => { + expect(getTestLogger(true)).to.equal(ConsoleLogger.global); + }); + + it('should return console logger in debug mode'); + + it('should return null logger otherwise', () => { + expect(getTestLogger()).to.equal(NullLogger.global); + }); + }); + + describe('spy logger helper', () => { + it('should return itself as a child', () => { + const logger = spyLogger({}); + expect(logger.child({})).to.equal(logger); + }); + }); +});