fix some more tests

This commit is contained in:
Manuel Araoz 2015-04-09 18:19:55 -03:00
parent 035bd6f351
commit db17accf98
2 changed files with 18 additions and 14 deletions

View File

@ -22,8 +22,11 @@ var BlockChain = require('./blockchain');
var genesisBlocks = require('./data/genesis');
var BitcoreNode = function(bus, networkMonitor, blockService, transactionService, addressService) {
$.checkArgument(bus);
$.checkArgument(networkMonitor);
$.checkArgument(bus, 'bus is required');
$.checkArgument(networkMonitor, 'networkMonitor is required');
$.checkArgument(blockService, 'blockService is required');
$.checkArgument(transactionService, 'transactionService is required');
$.checkArgument(addressService, 'addressService is required');
var self = this;
this.bus = bus;
this.networkMonitor = networkMonitor;
@ -97,12 +100,6 @@ var BitcoreNode = function(bus, networkMonitor, blockService, transactionService
};
util.inherits(BitcoreNode, EventEmitter);
BitcoreNode.prototype.requestFromTip = function() {
var locator = this.blockchain.getBlockLocator();
console.log('requesting blocks, locator size:', locator.length);
this.networkMonitor.requestBlocks(locator);
};
BitcoreNode.create = function(opts) {
opts = opts || {};
@ -153,6 +150,11 @@ BitcoreNode.prototype.stop = function(reason) {
this.networkMonitor.stop(reason);
};
BitcoreNode.prototype.requestFromTip = function() {
var locator = this.blockchain.getBlockLocator();
console.log('requesting blocks, locator size:', locator.length);
this.networkMonitor.requestBlocks(locator);
};
BitcoreNode.prototype.sync = function() {
var self = this;

View File

@ -13,16 +13,20 @@ Promise.longStackTraces();
describe('BitcoreNode', function() {
// mocks
var busMock, nmMock;
var node, busMock, nmMock, bsMock, tsMock, asMock;
beforeEach(function() {
busMock = new EventBus();
nmMock = new EventEmitter();
nmMock.start = function() {};
bsMock = {};
tsMock = {};
asMock = {};
node = new BitcoreNode(busMock, nmMock, bsMock, tsMock, asMock);
});
describe('instantiates', function() {
it('from constructor', function() {
var node = new BitcoreNode(busMock, nmMock);
should.exist(node);
var n = new BitcoreNode(busMock, nmMock, bsMock, tsMock, asMock);
should.exist(n);
});
it('from create', function() {
@ -32,17 +36,15 @@ describe('BitcoreNode', function() {
});
it('starts', function() {
var node = new BitcoreNode(busMock, nmMock);
node.start();
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');
});