mock /blocks call

This commit is contained in:
Manuel Araoz 2015-03-09 19:03:50 -03:00
parent a09f939b02
commit cbf4b2c03b
3 changed files with 23 additions and 4 deletions

View File

@ -53,6 +53,13 @@ Blocks.heightParam = function(req, res, next, height) {
* controllers
*/
Blocks.list = function(req, res) {
node.listBlocks()
.then(function(blocks) {
res.send(blocks);
});
};
Blocks.getLatest = function(req, res) {
node.getLatestBlock()
.then(function(block) {

View File

@ -28,7 +28,7 @@ function initRouter(node) {
router.get('/node', NodeStatus.getStatus);
// Block routes
router.get('/blocks', mockResponse);
router.get('/blocks', Blocks.list);
router.get('/blocks/latest', Blocks.getLatest);
router.get('/blocks/:blockHash([A-Fa-f0-9]{64})', Blocks.get);
router.get('/blocks/:height([0-9]+)', Blocks.get);

View File

@ -14,12 +14,23 @@ var BitcoreHTTP = require('../../lib/http');
var BitcoreNode = require('../../../');
var mockBlocks = require('../data/blocks');
Object.values = function(obj) {
var vals = [];
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
vals.push(obj[key]);
}
}
return vals;
};
describe('BitcoreHTTP v1 blocks routes', function() {
// mocks
var b1 = mockBlocks[Object.keys(mockBlocks)[0]];
var lastBlock = mockBlocks[Object.keys(mockBlocks).splice(-1)[0]];
var nodeMock, app, agent;
var blockList = Object.values(mockBlocks);
beforeEach(function() {
nodeMock = new EventEmitter();
nodeMock.getBlock = function(blockHash) {
@ -39,6 +50,9 @@ describe('BitcoreHTTP v1 blocks routes', function() {
nodeMock.getLatestBlock = function() {
return Promise.resolve(mockBlocks[Object.keys(mockBlocks).splice(-1)[0]]);
};
nodeMock.listBlocks = function() {
return Promise.resolve(blockList);
};
app = new BitcoreHTTP(nodeMock).app;
agent = request(app);
});
@ -47,9 +61,7 @@ describe('BitcoreHTTP v1 blocks routes', function() {
it('works with default parameters', function(cb) {
agent.get('/v1/blocks/')
.expect(200)
.expect({
'message': 'This is a mocked response'
}, cb);
.expect(JSON.stringify(blockList), cb);
});
});
describe('/blocks/latest', function() {