'use strict'; const test = require('ava'); const logger = require('./logger'); test('should expose a setLoggerProvider function', t => { t.true(logger.setLoggerProvider instanceof Function); }); test('should require custom logger to implement info', t => { const loggerImpl = { debug: () => {}, warn: () => {}, error: () => {}, }; const provider = () => loggerImpl; const error = t.throws( () => { logger.setLoggerProvider(provider)(); }, { instanceOf: TypeError } ); t.is(error.message, 'Logger must implement info'); }); test('should require custom logger to implement error', t => { const loggerImpl = { debug: () => {}, warn: () => {}, info: () => {}, }; const provider = () => loggerImpl; const error = t.throws( () => { logger.setLoggerProvider(provider)(); }, { instanceOf: TypeError } ); t.is(error.message, 'Logger must implement error'); });