2 integration tests working
This commit is contained in:
parent
739e306c50
commit
30dcb132df
@ -3,13 +3,18 @@
|
|||||||
var BitcoreHTTP = require('../lib/http');
|
var BitcoreHTTP = require('../lib/http');
|
||||||
var bitcore = require('bitcore');
|
var bitcore = require('bitcore');
|
||||||
|
|
||||||
|
var _app = null;
|
||||||
module.exports = function(nodeMock) {
|
module.exports = function(nodeMock) {
|
||||||
if (process.env.INTEGRATION === 'true') {
|
if (process.env.INTEGRATION === 'true') {
|
||||||
|
if (_app) {
|
||||||
|
return _app;
|
||||||
|
}
|
||||||
var config = require('config');
|
var config = require('config');
|
||||||
var network = config.get('BitcoreHTTP.BitcoreNode').network;
|
var network = config.get('BitcoreHTTP.BitcoreNode').network;
|
||||||
console.log('Starting test suite', network, 'network');
|
console.log('Starting test suite', network, 'network');
|
||||||
bitcore.Networks.defaultNetwork = bitcore.Networks.get(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;
|
return new BitcoreHTTP(nodeMock).app;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -75,15 +75,17 @@ describe('BitcoreHTTP v1 blocks routes', function() {
|
|||||||
.expect(422)
|
.expect(422)
|
||||||
.expect('/v1/blocks/ "to" must be >= "from"', cb);
|
.expect('/v1/blocks/ "to" must be >= "from"', cb);
|
||||||
});
|
});
|
||||||
it.only('works with to/from parameters', function(cb) {
|
describe.only('go', function() {
|
||||||
agent.get('/v1/blocks/?from=100000&to=100001')
|
it('works with to/from parameters', function(cb) {
|
||||||
.expect(200)
|
agent.get('/v1/blocks/?from=100000&to=100001')
|
||||||
.expect([firstBlock.toObject()], cb);
|
.expect(200)
|
||||||
});
|
.expect([firstBlock.toObject()], cb);
|
||||||
it('works with limit/offset parameters', function(cb) {
|
});
|
||||||
agent.get('/v1/blocks/?limit=1&offset=1')
|
it('works with limit/offset parameters', function(cb) {
|
||||||
.expect(200)
|
agent.get('/v1/blocks/?from=100000&limit=1&offset=1')
|
||||||
.expect([secondBlock.toObject()], cb);
|
.expect(200)
|
||||||
|
.expect([secondBlock.toObject()], cb);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
it('works with all parameters', function(cb) {
|
it('works with all parameters', function(cb) {
|
||||||
agent.get('/v1/blocks/?from=100005&to=100020&limit=3&offset=2')
|
agent.get('/v1/blocks/?from=100005&to=100020&limit=3&offset=2')
|
||||||
|
|||||||
@ -204,12 +204,14 @@ BlockService.prototype.listBlocks = function(from, to, offset, limit) {
|
|||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
var start = from + offset;
|
var start = from + offset;
|
||||||
var end = Math.min(to, start + limit - 1);
|
var end = Math.min(to, start + limit);
|
||||||
var blocks = [];
|
var blocks = [];
|
||||||
|
//console.log(from, to, offset, limit);
|
||||||
|
//console.log(start, end);
|
||||||
// TODO: optimize: precompute heights and fetch all blocks in parallel?
|
// TODO: optimize: precompute heights and fetch all blocks in parallel?
|
||||||
var fetchBlock = function(height) {
|
var fetchBlock = function(height) {
|
||||||
if (height >= end) {
|
if (height >= end) {
|
||||||
return;
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
return self.getBlockByHeight(height)
|
return self.getBlockByHeight(height)
|
||||||
.then(function(block) {
|
.then(function(block) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user