From 30dcb132dfaf7d7b784d164b86859cda32da8474 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Wed, 29 Apr 2015 20:22:25 -0300 Subject: [PATCH] 2 integration tests working --- api/test/app.js | 7 ++++++- api/test/v1/blocks.js | 20 +++++++++++--------- lib/services/block.js | 6 ++++-- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/api/test/app.js b/api/test/app.js index 96449c15..2551e032 100644 --- a/api/test/app.js +++ b/api/test/app.js @@ -3,13 +3,18 @@ var BitcoreHTTP = require('../lib/http'); var bitcore = require('bitcore'); +var _app = null; module.exports = function(nodeMock) { if (process.env.INTEGRATION === 'true') { + if (_app) { + return _app; + } var config = require('config'); var network = config.get('BitcoreHTTP.BitcoreNode').network; console.log('Starting test suite', network, 'network'); bitcore.Networks.defaultNetwork = bitcore.Networks.get(network); - return BitcoreHTTP.create(config.get('BitcoreHTTP')).app; + _app = BitcoreHTTP.create(config.get('BitcoreHTTP')).app; + return _app; } return new BitcoreHTTP(nodeMock).app; }; diff --git a/api/test/v1/blocks.js b/api/test/v1/blocks.js index 0502a64d..9578b56f 100644 --- a/api/test/v1/blocks.js +++ b/api/test/v1/blocks.js @@ -75,15 +75,17 @@ describe('BitcoreHTTP v1 blocks routes', function() { .expect(422) .expect('/v1/blocks/ "to" must be >= "from"', cb); }); - it.only('works with to/from parameters', function(cb) { - agent.get('/v1/blocks/?from=100000&to=100001') - .expect(200) - .expect([firstBlock.toObject()], cb); - }); - it('works with limit/offset parameters', function(cb) { - agent.get('/v1/blocks/?limit=1&offset=1') - .expect(200) - .expect([secondBlock.toObject()], cb); + describe.only('go', function() { + it('works with to/from parameters', function(cb) { + agent.get('/v1/blocks/?from=100000&to=100001') + .expect(200) + .expect([firstBlock.toObject()], cb); + }); + it('works with limit/offset parameters', function(cb) { + agent.get('/v1/blocks/?from=100000&limit=1&offset=1') + .expect(200) + .expect([secondBlock.toObject()], cb); + }); }); it('works with all parameters', function(cb) { agent.get('/v1/blocks/?from=100005&to=100020&limit=3&offset=2') diff --git a/lib/services/block.js b/lib/services/block.js index 523c22ba..ae230e25 100644 --- a/lib/services/block.js +++ b/lib/services/block.js @@ -204,12 +204,14 @@ BlockService.prototype.listBlocks = function(from, to, offset, limit) { var self = this; var start = from + offset; - var end = Math.min(to, start + limit - 1); + var end = Math.min(to, start + limit); var blocks = []; + //console.log(from, to, offset, limit); + //console.log(start, end); // TODO: optimize: precompute heights and fetch all blocks in parallel? var fetchBlock = function(height) { if (height >= end) { - return; + return Promise.resolve(); } return self.getBlockByHeight(height) .then(function(block) {