bitcore-node-zcash/test/logger.unit.js

84 lines
2.3 KiB
JavaScript

'use strict';
var sinon = require('sinon');
var chai = require('chai');
var should = chai.should();
var Logger = require('../lib/logger');
describe('Logger', function() {
var sandbox = sinon.sandbox.create();
afterEach(function() {
sandbox.restore();
});
it('will instatiate without options', function() {
var logger = new Logger();
should.exist(logger);
logger.formatting.should.equal(true);
});
it('will instatiate with formatting option', function() {
var logger = new Logger({
formatting: false
});
logger.formatting.should.equal(false);
var logger2 = new Logger({
formatting: true
});
logger2.formatting.should.equal(true);
});
it('will log with formatting', function() {
var logger = new Logger({formatting: true});
sandbox.stub(console, 'info');
logger.info('Test info log');
console.info.callCount.should.equal(1);
console.info.restore();
sandbox.stub(console, 'error');
logger.error(new Error('Test error log'));
console.error.callCount.should.equal(1);
console.error.restore();
sandbox.stub(console, 'log');
logger.debug('Test debug log');
console.log.callCount.should.equal(1);
console.log.restore();
sandbox.stub(console, 'warn');
logger.warn('Test warn log');
console.warn.callCount.should.equal(1);
console.warn.restore();
});
it('will log without formatting', function() {
var logger = new Logger({formatting: false});
sandbox.stub(console, 'info');
logger.info('Test info log');
console.info.callCount.should.equal(1);
should.not.exist(console.info.args[0][0].match(/^\[/));
console.info.restore();
sandbox.stub(console, 'error');
logger.error(new Error('Test error log'));
console.error.callCount.should.equal(1);
console.error.args[0][0].should.be.instanceof(Error);
console.error.restore();
sandbox.stub(console, 'log');
logger.debug('Test debug log');
console.log.callCount.should.equal(1);
should.equal(console.log.args[0][0].match(/^\[/), null);
console.log.restore();
sandbox.stub(console, 'warn');
logger.warn('Test warn log');
console.warn.callCount.should.equal(1);
should.equal(console.warn.args[0][0].match(/^\[/), null);
console.warn.restore();
});
});