From 3fb99ad896eccb183e94dcbbadb5f3060648cc74 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 10 Mar 2020 10:50:09 +0100 Subject: [PATCH] test: add test for log level exclusiveness --- test/logger.spec.ts | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/test/logger.spec.ts b/test/logger.spec.ts index 2f6b41e3..54b8f83c 100644 --- a/test/logger.spec.ts +++ b/test/logger.spec.ts @@ -311,6 +311,38 @@ export class LoggerSpec { expect(spy).not.to.have.been.called(); } + @test + 'log level exclusiveness'() { + const warnSpy = LoggerSpec.sandbox.on(console, 'warn', () => { + // noop WARN + }); + const infoSpy = LoggerSpec.sandbox.on(console, 'info', () => { + // noop INFO + }); + const okSpy = LoggerSpec.sandbox.on(console, 'log', () => { + // noop OK + }); + + // only warn and info = warn + info = 4 + 1 = 5 + process.env.STAPPS_LOG_LEVEL = '5'; + + Logger.warn('Foo'); + Logger.info('Bar'); + Logger.ok('Baz'); + + expect(warnSpy).to.have.been.called(); + expect(warnSpy.__spy.calls[0][0]).to.contain('[WARN]'); + expect(warnSpy.__spy.calls[0][0]).to.contain('Foo'); + + expect(infoSpy).to.have.been.called(); + expect(infoSpy.__spy.calls[0][0]).to.contain('[INFO]'); + expect(infoSpy.__spy.calls[0][0]).to.contain('Bar'); + + expect(okSpy).to.not.have.been.called(); + + delete process.env.STAPPS_LOG_LEVEL; + } + @test getLogLevel() { const savedProcess = process;