add /addresses/:addr/transactions

This commit is contained in:
Manuel Araoz 2015-03-11 17:48:11 -03:00
parent 243828c83f
commit 63cb77fa2a

View File

@ -20,14 +20,18 @@ describe('BitcoreHTTP v1 addresses routes', function() {
// mocks
var transactionList = Object.values(mockTransactions);
var nodeMock, app, agent;
var nodeMock, app, agent, txs_for_addr;
beforeEach(function() {
nodeMock = new EventEmitter();
nodeMock.getAddressInfo = function(address) {
return Promise.resolve(mockAddresses[address.toString()]);
};
txs_for_addr = function(addr) {
var amount = mockAddresses[addr].transactions.length;
return transactionList.slice(0, amount);
};
nodeMock.listTransactions = function(opts) {
var addr = opts.address;
return Promise.resolve(txs_for_addr(opts.address));
};
app = new BitcoreHTTP(nodeMock).app;
agent = request(app);
@ -48,4 +52,18 @@ describe('BitcoreHTTP v1 addresses routes', function() {
});
});
});
describe('/addresses/:addresss/transactions', function() {
it('fails with invalid address', function(cb) {
agent.get('/v1/addresses/1BpbpfLdY7oBS9gK7aDXgvMgr1DpvNH3B2/transactions')
.expect(422)
.expect('/v1/addresses/ parameter must be a valid bitcoin address', cb);
});
Object.keys(mockAddresses).forEach(function(addr) {
it('works with valid address ' + addr, function(cb) {
agent.get('/v1/addresses/' + addr + '/transactions')
.expect(200)
.expect(JSON.stringify(txs_for_addr(addr)), cb);
});
});
});
});