src/modules/logger.test.js
/* eslint-disable no-console */
import Logger from './logger.js';
const consoleLogFunction = console.log;
let sut;
describe('Logger', () => {
beforeEach(() => {
sut = new Logger('prefix', true);
console.log = function() {};
});
afterEach(() => {
console.log = consoleLogFunction;
});
it('constructor must set prefix and enabled flag', () => {
expect(sut.prefix).toBe('prefix');
expect(sut.enabled).toBeTruthy();
});
it('log must prefix line with set prefix', () => {
console.log = jest.fn();
sut.log('test');
expect(console.log.mock.calls[0][0]).toBe(sut.prefix);
expect(console.log.mock.calls[0][1]).toBe('test');
});
it('log must not log output if logger is disabled', () => {
console.log = jest.fn();
sut.enabled = false;
sut.log('test');
expect(console.log.mock.calls.length).toBe(0);
});
});