50 lines
1.2 KiB
JavaScript
50 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
var chai = require('chai');
|
|
var should = chai.should();
|
|
var sinon = require('sinon');
|
|
|
|
var Promise = require('bluebird');
|
|
var EventEmitter = require('eventemitter2').EventEmitter2;
|
|
var BitcoreNode = require('../lib/node');
|
|
var EventBus = require('../lib/eventbus');
|
|
Promise.longStackTraces();
|
|
|
|
describe('BitcoreNode', function() {
|
|
|
|
// mocks
|
|
var busMock, nmMock;
|
|
beforeEach(function() {
|
|
busMock = new EventBus();
|
|
nmMock = new EventEmitter();
|
|
nmMock.start = function() {};
|
|
});
|
|
describe('instantiates', function() {
|
|
it('from constructor', function() {
|
|
var node = new BitcoreNode(busMock, nmMock);
|
|
should.exist(node);
|
|
});
|
|
|
|
it('from create', function() {
|
|
var node = BitcoreNode.create();
|
|
should.exist(node);
|
|
});
|
|
});
|
|
|
|
it('starts', function() {
|
|
var node = new BitcoreNode(busMock, nmMock);
|
|
node.start.bind(node).should.not.throw();
|
|
});
|
|
|
|
it('broadcasts errors from network monitor', function(cb) {
|
|
var node = new BitcoreNode(busMock, nmMock);
|
|
node.on('error', cb);
|
|
nmMock.emit('error');
|
|
});
|
|
it('exposes all events from the event bus', function(cb) {
|
|
var node = new BitcoreNode(busMock, nmMock);
|
|
node.on('foo', cb);
|
|
busMock.emit('foo');
|
|
});
|
|
});
|