1
0
Fork 0

fix(logger): use global instance of console/null logger for tests

This commit is contained in:
ssube 2020-03-30 18:23:53 -05:00
parent 852045f7b1
commit c55e154570
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
3 changed files with 32 additions and 6 deletions

View File

@ -1,12 +1,11 @@
import { ConsoleLogger, Logger, NullLogger } from 'noicejs'; import { ConsoleLogger, Logger, NullLogger } from 'noicejs';
import { isDebug } from './utils/Env';
const ENV_DEBUG = 'DEBUG';
export function getTestLogger(verbose = false): Logger { export function getTestLogger(verbose = false): Logger {
if (verbose || process.env[ENV_DEBUG] === 'TRUE') { if (verbose || isDebug()) {
return new ConsoleLogger(); return ConsoleLogger.global;
} else { } else {
return new NullLogger(); return NullLogger.global;
} }
} }

View File

@ -1,3 +1,5 @@
const ENV_DEBUG = 'DEBUG';
export function isDebug() { export function isDebug() {
return Reflect.has(process.env, 'DEBUG'); return Reflect.has(process.env, ENV_DEBUG);
} }

25
test/TestLogger.ts Normal file
View File

@ -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);
});
});
});