diff --git a/lib/addresses.js b/lib/addresses.js index 765faab84..b65921ec1 100644 --- a/lib/addresses.js +++ b/lib/addresses.js @@ -85,15 +85,14 @@ AddressController.prototype.checkAddr = function(req, res, next) { AddressController.prototype.checkAddrs = function(req, res, next) { if(req.body.addrs) { req.addrs = req.body.addrs.split(','); - } else { + } else if (req.params.addrs) { req.addrs = req.params.addrs.split(','); } - this.check(req, res, next, req.addrs); -} +}; AddressController.prototype.check = function(req, res, next, addresses) { - if(!addresses.length || !addresses[0]) { + if(!addresses || !addresses.length || !addresses[0]) { return common.handleErrors({ message: 'Must include address', code: 1 @@ -101,8 +100,9 @@ AddressController.prototype.check = function(req, res, next, addresses) { } for(var i = 0; i < addresses.length; i++) { + var address; try { - var a = new bitcore.Address(addresses[i]); + address = new bitcore.Address(addresses[i], this.node.network); } catch(e) { return common.handleErrors({ message: 'Invalid address: ' + e.message, diff --git a/test/addresses.js b/test/addresses.js index 03e6c5953..593a8be28 100644 --- a/test/addresses.js +++ b/test/addresses.js @@ -170,6 +170,28 @@ var utxos = [ } ]; +describe('Addresses Methods', function() { + it('#checkAddrs', function(done) { + var addresses = new AddressController({}); + var req = { + body: {}, + params: {} + }; + var status = sinon.stub().returns({ + send: function(data) { + status.args[0][0].should.equal(400); + data.should.match(/^Must include address/); + done(); + } + }) + var res = { + send: sinon.stub(), + status: status + }; + addresses.checkAddr(req, res, function() {}); + }); +}); + describe('Addresses', function() { var summary = { balance: 0,