UNPKG

cd-messenger

Version:

console log logger gulp notification browser node message

90 lines (69 loc) 2.07 kB
let chai = require('chai'); let sinon = require('sinon'); let _ = require('lodash'); let messenger = require('../src/messenger-node'); let assert = chai.assert; let expect = chai.expect; require('mocha-sinon'); function once(fn) { let returnValue; let called = false; return function () { if (!called) { called = true; returnValue = fn.apply(this, arguments); } return returnValue; }; } describe('==> Messenger Node (Console)', () => { let msg; let methods = ['version','info','note','log','error','success','warning','table','dir']; let proxy; beforeEach(() => { }); afterEach(() => { }); it('should be instance of messenger-node', () => { assert(_.isObject(messenger)); }); it('should contain log method', () => { assert(messenger.hasOwnProperty('log')); }); it('should contain all methods', () => { methods.forEach((item) => { assert(messenger.hasOwnProperty(item)); }); }); it('should return supplied message', () => { let log = sinon.spy(); let logFn = once(log); let result = logFn(); assert(log.calledOnce); // var result = messenger.log('test message'); // expect(result).to.be.array; // expect(result.length).to.equal(1); // expect(result[0]).to.equal('test message'); }); it('should return stub value', () => { var callback = sinon.stub().returns('Hello World'); proxy = once(callback); assert(proxy() === 'Hello World'); }); it('should stub log method', () => { var msg = messenger; var spy = sinon.spy(messenger, 'log'); spy.withArgs('test call 1'); spy.withArgs('test call 2'); msg.log('test call 1'); msg.log('test call 2'); assert(spy.withArgs('test call 1').calledOnce); assert(spy.withArgs('test call 2').calledOnce); }); it('should be a spy', () => { let msgStub = sinon.stub(messenger, 'info'); msgStub.withArgs('test message').returns('test message'); let ret = msgStub('test message'); assert(ret === 'test message'); }); });