_ is amazing :shipit:

This commit is contained in:
Manuel Araoz 2015-03-13 12:17:20 -03:00
parent 824e8ee662
commit 6a1162cae8
5 changed files with 19 additions and 29 deletions

View File

@ -3,17 +3,6 @@
var bitcore = require('bitcore');
var Block = bitcore.Block;
Object.values = function(obj) {
var vals = [];
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
vals.push(obj[key]);
}
}
return vals;
};
var mockBlocks = {};
var blockHexs = require('./blocks.json');
blockHexs.map(function(hex) {

View File

@ -1,10 +1,11 @@
'use strict';
var bitcore = require('bitcore');
var _ = bitcore.deps._;
var mockTransactions = {};
var blocks = require('./blocks');
Object.values(blocks).forEach(function(block) {
_.each(blocks, function(block) {
block.transactions.forEach(function(tx) {
mockTransactions[tx.id] = tx;
});

View File

@ -18,7 +18,7 @@ var mockTransactions = require('../data/transactions');
describe('BitcoreHTTP v1 addresses routes', function() {
// mocks
var transactionList = Object.values(mockTransactions);
var transactionList = _.values(mockTransactions);
var nodeMock, app, agent;
var txs_for_addr = function(addr) {
var amount = mockAddresses[addr].summary.transactions.length;
@ -74,7 +74,7 @@ describe('BitcoreHTTP v1 addresses routes', function() {
it('fails with invalid address', function(cb) {
failsWithInvalidAddress(agent, '/v1/addresses/1BpbpfLdY7oBS9gK7aDXgvMgr1DpvNH3B2', cb);
});
Object.keys(mockAddresses).forEach(function(addr) {
_.keys(mockAddresses).forEach(function(addr) {
var info = mockAddresses[addr];
it('works with valid address ' + addr, function(cb) {
agent.get('/v1/addresses/' + addr)
@ -87,7 +87,7 @@ describe('BitcoreHTTP v1 addresses routes', function() {
it('fails with invalid address', function(cb) {
failsWithInvalidAddress(agent, '/v1/addresses/1BpbpfLdY7oBS9gK7aDXgvMgr1DpvNH3B2/transactions', cb);
});
Object.keys(mockAddresses).forEach(function(addr) {
_.keys(mockAddresses).forEach(function(addr) {
it('works with valid address ' + addr, function(cb) {
agent.get('/v1/addresses/' + addr + '/transactions')
.expect(200)
@ -102,7 +102,7 @@ describe('BitcoreHTTP v1 addresses routes', function() {
.expect('/v1/addresses/ parameter must be a bitcoin address list', cb);
});
Object.keys(mockAddresses).forEach(function(addr) {
_.keys(mockAddresses).forEach(function(addr) {
it('works with valid address ' + addr, function(cb) {
agent.get('/v1/addresses/' + addr + '/utxos')
.expect(200)
@ -111,7 +111,7 @@ describe('BitcoreHTTP v1 addresses routes', function() {
});
});
describe('/addresses/:addresses/utxos', function() {
powerset(Object.keys(mockAddresses)).forEach(function(addresses) {
powerset(_.keys(mockAddresses)).forEach(function(addresses) {
if (addresses.length === 0) {
return;
}

View File

@ -17,24 +17,24 @@ var mockBlocks = require('../data/blocks');
describe('BitcoreHTTP v1 blocks routes', function() {
// mocks
var b1 = mockBlocks[Object.keys(mockBlocks)[0]];
var firstBlock = mockBlocks[Object.keys(mockBlocks).splice(0, 1)[0]];
var secondBlock = mockBlocks[Object.keys(mockBlocks).splice(1, 1)[0]];
var lastBlock = mockBlocks[Object.keys(mockBlocks).splice(-1)[0]];
var b1 = mockBlocks[_.keys(mockBlocks)[0]];
var firstBlock = mockBlocks[_.keys(mockBlocks).splice(0, 1)[0]];
var secondBlock = mockBlocks[_.keys(mockBlocks).splice(1, 1)[0]];
var lastBlock = mockBlocks[_.keys(mockBlocks).splice(-1)[0]];
var blockForHash = function(hash) {
return mockBlocks[hash];
};
var last3 = Object.keys(mockBlocks).splice(-3).map(blockForHash);
var some2 = Object.keys(mockBlocks).splice(2,2).map(blockForHash);
var last3 = _.keys(mockBlocks).splice(-3).map(blockForHash);
var some2 = _.keys(mockBlocks).splice(2,2).map(blockForHash);
var nodeMock, app, agent;
var blockList = Object.values(mockBlocks);
var blockList = _.values(mockBlocks);
beforeEach(function() {
nodeMock = new EventEmitter();
nodeMock.getBlock = function(blockHash) {
var block;
if (typeof blockHash === 'number') {
var height = blockHash;
block = mockBlocks[Object.keys(mockBlocks)[height - 100000]];
block = mockBlocks[_.keys(mockBlocks)[height - 100000]];
} else {
block = mockBlocks[blockHash];
}
@ -107,7 +107,7 @@ describe('BitcoreHTTP v1 blocks routes', function() {
.expect(404)
.expect('Block with id 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b600000000 not found', cb);
});
Object.keys(mockBlocks).forEach(function(hash) {
_.keys(mockBlocks).forEach(function(hash) {
var block = mockBlocks[hash];
it('works with valid blockHash ...' + hash.substring(hash.length - 8), function(cb) {
agent.get('/v1/blocks/' + hash)

View File

@ -19,7 +19,7 @@ describe('BitcoreHTTP v1 transactions routes', function() {
// mocks
var mockValidTx = new Transaction();
var t1 = mockTransactions[Object.keys(mockTransactions)[0]];
var t1 = mockTransactions[_.keys(mockTransactions)[0]];
var nodeMock, app, agent;
beforeEach(function() {
nodeMock = new EventEmitter();
@ -58,7 +58,7 @@ describe('BitcoreHTTP v1 transactions routes', function() {
it('returns 404 with non existent transaction', function(cb) {
reportsNotFound(agent, '/v1/transactions/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b600000000', cb);
});
Object.keys(mockTransactions).forEach(function(hash) {
_.keys(mockTransactions).forEach(function(hash) {
it('works with valid txHash ...' + hash.substring(hash.length - 8), function(cb) {
agent.get('/v1/transactions/' + hash)
.expect(200)
@ -115,7 +115,7 @@ describe('BitcoreHTTP v1 transactions routes', function() {
reportsNotFound(agent,
'/v1/transactions/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b600000000/' + name, cb);
});
Object.keys(mockTransactions).forEach(function(hash) {
_.keys(mockTransactions).forEach(function(hash) {
var tx = mockTransactions[hash];
var summary = hash.substring(hash.length - 8);
it('works with valid txHash ...' + summary + 'getting all ' + name, function(cb) {