diff --git a/test/integration/advanced.js b/test/integration/advanced.js index 65e9a5b..81998c4 100644 --- a/test/integration/advanced.js +++ b/test/integration/advanced.js @@ -4,6 +4,7 @@ var assert = require('assert') var bitcoin = require('../../') var blockchain = new (require('cb-insight'))('https://test-insight.bitpay.com') var faucetWithdraw = require('./utils').faucetWithdraw +var pollUnspent = require('./utils').pollUnspent describe('bitcoinjs-lib (advanced)', function () { it('can sign a Bitcoin message', function () { @@ -33,7 +34,7 @@ describe('bitcoinjs-lib (advanced)', function () { faucetWithdraw(address, 2e4, function (err) { if (err) return done(err) - blockchain.addresses.unspents(address, function (err, unspents) { + pollUnspent(blockchain, address, function (err, unspents) { if (err) return done(err) var tx = new bitcoin.TransactionBuilder() diff --git a/test/integration/multisig.js b/test/integration/multisig.js index 414d3af..5a9d88a 100644 --- a/test/integration/multisig.js +++ b/test/integration/multisig.js @@ -4,6 +4,7 @@ var assert = require('assert') var bitcoin = require('../../') var blockchain = new (require('cb-insight'))('https://test-insight.bitpay.com') var faucetWithdraw = require('./utils').faucetWithdraw +var pollUnspent = require('./utils').pollUnspent describe('bitcoinjs-lib (multisig)', function () { it('can create a 2-of-3 multisig P2SH address', function () { @@ -42,7 +43,7 @@ describe('bitcoinjs-lib (multisig)', function () { if (err) return done(err) // get latest unspents from the address - blockchain.addresses.unspents(address, function (err, unspents) { + pollUnspent(blockchain, address, function (err, unspents) { if (err) return done(err) // filter small unspents diff --git a/test/integration/utils.js b/test/integration/utils.js index d481973..db9f68d 100644 --- a/test/integration/utils.js +++ b/test/integration/utils.js @@ -7,6 +7,22 @@ function faucetWithdraw(address, amount, done) { }).on('error', done) } +function pollUnspent(blockchain, address, done) { + blockchain.addresses.unspents(address, function (err, unspents) { + if (err) return done(err) + + if(unspents == null || unspents.length === 0) { + return setTimeout(function() { + pollUnspent(blockchain, address, done) + }, 200) + } + + done(null, unspents) + }) + +} + module.exports = { - faucetWithdraw: faucetWithdraw + faucetWithdraw: faucetWithdraw, + pollUnspent: pollUnspent }