mirror of https://github.com/BTCPrivate/copay.git
handle empty Insight responsed
This commit is contained in:
parent
7e6827351f
commit
d192cc5270
|
@ -2,6 +2,7 @@
|
|||
|
||||
var imports = require('soop').imports();
|
||||
var bitcore = require('bitcore');
|
||||
var preconditions = require('preconditions').singleton();
|
||||
|
||||
var http;
|
||||
if (process.version) {
|
||||
|
@ -78,8 +79,10 @@ Insight.prototype._getOptions = function(method, path, data) {
|
|||
};
|
||||
|
||||
Insight.prototype.getTransactions = function(addresses, cb) {
|
||||
var self = this;
|
||||
preconditions.shouldBeArray(addresses);
|
||||
preconditions.shouldBeFunction(cb);
|
||||
|
||||
var self = this;
|
||||
if (!addresses || !addresses.length) return cb([]);
|
||||
|
||||
var txids = [];
|
||||
|
@ -88,9 +91,11 @@ Insight.prototype.getTransactions = function(addresses, cb) {
|
|||
_asyncForEach(addresses, function(addr, callback) {
|
||||
var options = self._getOptions('GET', '/api/addr/' + addr);
|
||||
self._request(options, function(err, res) {
|
||||
var txids_tmp = res.transactions;
|
||||
for (var i = 0; i < txids_tmp.length; i++) {
|
||||
txids.push(txids_tmp[i]);
|
||||
if (res.transactions) {
|
||||
var txids_tmp = res.transactions;
|
||||
for (var i = 0; i < txids_tmp.length; i++) {
|
||||
txids.push(txids_tmp[i]);
|
||||
}
|
||||
}
|
||||
callback();
|
||||
});
|
||||
|
|
|
@ -126,6 +126,8 @@ describe('Insight model', function() {
|
|||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
it('#checkActivity for innactive addreses', function(done) {
|
||||
var w = new Insight();
|
||||
w.getTransactions = function(addresses, cb) {
|
||||
|
@ -176,4 +178,36 @@ describe('Insight model', function() {
|
|||
done();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
it('should handle getTransaction errors', function(done) {
|
||||
|
||||
var http = require('http');
|
||||
var request = {
|
||||
statusCode: 200
|
||||
};
|
||||
|
||||
request.on = function(event, cb) {
|
||||
if (event === 'error') return;
|
||||
if (event === 'data') return cb('{ "txid": "1234" }');
|
||||
return cb();
|
||||
};
|
||||
|
||||
var req = {};
|
||||
req.write = function() {};
|
||||
req.end = function() {};
|
||||
|
||||
sinon
|
||||
.stub(http, 'request')
|
||||
.returns(req)
|
||||
.yields(request);
|
||||
|
||||
var w = new Insight();
|
||||
w.getTransactions(['asdasd'], function(ret) {
|
||||
ret.length.should.equal(0);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue