From 042ae023bede99a903c9ffd2b1581a4ac2fc0290 Mon Sep 17 00:00:00 2001 From: sanex3339 Date: Tue, 20 Feb 2018 01:00:56 +0300 Subject: [PATCH] Added few tests to Logger --- test/unit-tests/logger/Logger.spec.ts | 142 ++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/test/unit-tests/logger/Logger.spec.ts b/test/unit-tests/logger/Logger.spec.ts index 14bf6098..b36e57cc 100644 --- a/test/unit-tests/logger/Logger.spec.ts +++ b/test/unit-tests/logger/Logger.spec.ts @@ -82,4 +82,146 @@ describe('Logger', () => { }); }); }); + + describe('success (loggingMessage: LoggingMessage, value?: string | number): void', () => { + describe('`log` option is enabled', () => { + const loggingMessage: string = '[javascript-obfuscator] Obfuscation started...'; + const expectedConsoleLogCallResult: boolean = true; + + let consoleLogSpy: sinon.SinonSpy, + consoleLogCallResult: boolean, + inversifyContainerFacade: IInversifyContainerFacade, + loggingMessageResult: string; + + before(() => { + inversifyContainerFacade = new InversifyContainerFacade(); + inversifyContainerFacade.load('', { + log: true + }); + + const logger: ILogger = inversifyContainerFacade.get(ServiceIdentifiers.ILogger); + + consoleLogSpy = sinon.spy(console, 'log'); + logger.success(LoggingMessage.ObfuscationStarted); + + consoleLogCallResult = consoleLogSpy.called; + loggingMessageResult = consoleLogSpy.getCall(0).args[0]; + }); + + it('should call `console.log`', () => { + assert.equal(consoleLogCallResult, expectedConsoleLogCallResult); + }); + + it('should log `success` message to the console', () => { + assert.include(loggingMessageResult, loggingMessage); + }); + + after(() => { + consoleLogSpy.restore(); + inversifyContainerFacade.unload(); + }); + }); + + describe('`log` option is disabled', () => { + const expectedConsoleLogCallResult: boolean = false; + + let consoleLogSpy: sinon.SinonSpy, + consoleLogCallResult: boolean, + inversifyContainerFacade: IInversifyContainerFacade; + + before(() => { + inversifyContainerFacade = new InversifyContainerFacade(); + inversifyContainerFacade.load('', { + log: false + }); + + const logger: ILogger = inversifyContainerFacade.get(ServiceIdentifiers.ILogger); + + consoleLogSpy = sinon.spy(console, 'log'); + logger.success(LoggingMessage.ObfuscationStarted); + + consoleLogCallResult = consoleLogSpy.called; + }); + + it('shouldn\'t call `console.log`', () => { + assert.equal(consoleLogCallResult, expectedConsoleLogCallResult); + }); + + after(() => { + consoleLogSpy.restore(); + inversifyContainerFacade.unload(); + }); + }); + }); + + describe('warn (loggingMessage: LoggingMessage, value?: string | number): void', () => { + describe('`log` option is enabled', () => { + const loggingMessage: string = '[javascript-obfuscator] Obfuscation started...'; + const expectedConsoleLogCallResult: boolean = true; + + let consoleLogSpy: sinon.SinonSpy, + consoleLogCallResult: boolean, + inversifyContainerFacade: IInversifyContainerFacade, + loggingMessageResult: string; + + before(() => { + inversifyContainerFacade = new InversifyContainerFacade(); + inversifyContainerFacade.load('', { + log: true + }); + + const logger: ILogger = inversifyContainerFacade.get(ServiceIdentifiers.ILogger); + + consoleLogSpy = sinon.spy(console, 'log'); + logger.warn(LoggingMessage.ObfuscationStarted); + + consoleLogCallResult = consoleLogSpy.called; + loggingMessageResult = consoleLogSpy.getCall(0).args[0]; + }); + + it('should call `console.log`', () => { + assert.equal(consoleLogCallResult, expectedConsoleLogCallResult); + }); + + it('should log `warn` message to the console', () => { + assert.include(loggingMessageResult, loggingMessage); + }); + + after(() => { + consoleLogSpy.restore(); + inversifyContainerFacade.unload(); + }); + }); + + describe('`log` option is disabled', () => { + const expectedConsoleLogCallResult: boolean = false; + + let consoleLogSpy: sinon.SinonSpy, + consoleLogCallResult: boolean, + inversifyContainerFacade: IInversifyContainerFacade; + + before(() => { + inversifyContainerFacade = new InversifyContainerFacade(); + inversifyContainerFacade.load('', { + log: false + }); + + const logger: ILogger = inversifyContainerFacade.get(ServiceIdentifiers.ILogger); + + consoleLogSpy = sinon.spy(console, 'log'); + logger.warn(LoggingMessage.ObfuscationStarted); + + consoleLogCallResult = consoleLogSpy.called; + }); + + it('shouldn\'t call `console.log`', () => { + assert.equal(consoleLogCallResult, expectedConsoleLogCallResult); + }); + + after(() => { + consoleLogSpy.restore(); + inversifyContainerFacade.unload(); + }); + }); + }); });