From 6691f0b4b5b6ba2c8dcf917e865df1c2eaef95f8 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Mon, 13 Apr 2015 17:31:00 -0300 Subject: [PATCH] more tests working --- api/controllers/blocks.js | 2 +- api/test/http.js | 5 ++++- api/test/v1/blocks.js | 22 ++++++++++++---------- lib/node.js | 2 +- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/api/controllers/blocks.js b/api/controllers/blocks.js index f8dd5661..01aab381 100644 --- a/api/controllers/blocks.js +++ b/api/controllers/blocks.js @@ -23,7 +23,7 @@ Blocks.setNode = function(aNode) { * Finds a block by its hash */ Blocks.blockHashParam = function(req, res, next, blockHash) { - node.getBlock(blockHash) + node.blockService.getBlock(blockHash) .then(function(block) { req.block = block; }) diff --git a/api/test/http.js b/api/test/http.js index e4d2951d..1ecb38b2 100644 --- a/api/test/http.js +++ b/api/test/http.js @@ -11,6 +11,9 @@ describe('BitcoreHTTP', function() { // mocks var opts = { + BitcoreNode: { + LevelUp: './test-db' + }, port: 1234 }; var nodeMock; @@ -23,7 +26,7 @@ describe('BitcoreHTTP', function() { should.exist(http); }); it('from create', function() { - var http = new BitcoreHTTP.create(); + var http = new BitcoreHTTP.create(opts); should.exist(http); }); }); diff --git a/api/test/v1/blocks.js b/api/test/v1/blocks.js index b25acfa7..5cf29082 100644 --- a/api/test/v1/blocks.js +++ b/api/test/v1/blocks.js @@ -25,26 +25,28 @@ describe('BitcoreHTTP v1 blocks routes', function() { return mockBlocks[hash]; }; var last3 = _.keys(mockBlocks).splice(-3).map(blockForHash); - var some2 = _.keys(mockBlocks).splice(2,2).map(blockForHash); + var some2 = _.keys(mockBlocks).splice(2, 2).map(blockForHash); var nodeMock, app, agent; var blockList = _.values(mockBlocks); beforeEach(function() { nodeMock = new EventEmitter(); - nodeMock.getBlock = function(blockHash) { - var block; - if (typeof blockHash === 'number') { - var height = blockHash; - block = mockBlocks[_.keys(mockBlocks)[height - 100000]]; - } else { - block = mockBlocks[blockHash]; - } + nodeMock.blockService = {}; + nodeMock.blockService.resolveBlock = function(block, blockHash) { if (_.isUndefined(block)) { return Promise.reject(new BitcoreNode.errors.Blocks.NotFound(blockHash)); } return Promise.resolve(block); + }; + nodeMock.blockService.getBlockByHeight = function(height) { + var block = mockBlocks[_.keys(mockBlocks)[height - 100000]]; + return this.resolveBlock(block, height); + }; + nodeMock.blockService.getBlock = function(blockHash) { + var block = mockBlocks[blockHash]; + return this.resolveBlock(block, blockHash); }; - nodeMock.getLatestBlock = function() { + nodeMock.blockService.getLatest = function() { return Promise.resolve(lastBlock); }; nodeMock.listBlocks = function(from, to, offset, limit) { diff --git a/lib/node.js b/lib/node.js index ab855519..125cce59 100644 --- a/lib/node.js +++ b/lib/node.js @@ -117,7 +117,7 @@ BitcoreNode.create = function(opts) { var networkMonitor = NetworkMonitor.create(bus, opts.NetworkMonitor); var database = Promise.promisifyAll( - new LevelUp(opts.LevelUp) + new LevelUp(opts.LevelUp || './db') ); var rpc = Promise.promisifyAll(new RPC(opts.RPC));