test: check that caching is working

This commit is contained in:
Braydon Fuller 2016-05-23 16:47:57 -04:00
parent 2a53aad34a
commit ea3c813d51
1 changed files with 36 additions and 12 deletions

View File

@ -1775,14 +1775,15 @@ describe('Bitcoin Service', function() {
}); });
it('will give balance', function(done) { it('will give balance', function(done) {
var bitcoind = new BitcoinService(baseConfig); var bitcoind = new BitcoinService(baseConfig);
var getAddressBalance = sinon.stub().callsArgWith(1, null, {
result: {
received: 100000,
balance: 10000
}
});
bitcoind.nodes.push({ bitcoind.nodes.push({
client: { client: {
getAddressBalance: sinon.stub().callsArgWith(1, null, { getAddressBalance: getAddressBalance
result: {
received: 100000,
balance: 10000
}
})
} }
}); });
var address = '1Cj4UZWnGWAJH1CweTMgPLQMn26WRMfXmo'; var address = '1Cj4UZWnGWAJH1CweTMgPLQMn26WRMfXmo';
@ -1793,7 +1794,15 @@ describe('Bitcoin Service', function() {
} }
data.balance.should.equal(10000); data.balance.should.equal(10000);
data.received.should.equal(100000); data.received.should.equal(100000);
done(); bitcoind.getAddressBalance(address, options, function(err, data2) {
if (err) {
return done(err);
}
data2.balance.should.equal(10000);
data2.received.should.equal(100000);
getAddressBalance.callCount.should.equal(1);
done();
});
}); });
}); });
}); });
@ -3538,15 +3547,17 @@ describe('Bitcoin Service', function() {
}); });
it('should give a transaction with all properties', function(done) { it('should give a transaction with all properties', function(done) {
var bitcoind = new BitcoinService(baseConfig); var bitcoind = new BitcoinService(baseConfig);
var getRawTransaction = sinon.stub().callsArgWith(2, null, {
result: rpcRawTransaction
});
bitcoind.nodes.push({ bitcoind.nodes.push({
client: { client: {
getRawTransaction: sinon.stub().callsArgWith(2, null, { getRawTransaction: getRawTransaction
result: rpcRawTransaction
})
} }
}); });
var txid = '2d950d00494caf6bfc5fff2a3f839f0eb50f663ae85ce092bc5f9d45296ae91f'; var txid = '2d950d00494caf6bfc5fff2a3f839f0eb50f663ae85ce092bc5f9d45296ae91f';
bitcoind.getDetailedTransaction(txid, function(err, tx) { function checkTx(tx) {
/* jshint maxstatements: 30 */
should.exist(tx); should.exist(tx);
should.not.exist(tx.coinbase); should.not.exist(tx.coinbase);
should.equal(tx.hex, txBuffer.toString('hex')); should.equal(tx.hex, txBuffer.toString('hex'));
@ -3575,7 +3586,20 @@ describe('Bitcoin Service', function() {
should.equal(output.spentTxId, '4316b98e7504073acd19308b4b8c9f4eeb5e811455c54c0ebfe276c0b1eb6315'); should.equal(output.spentTxId, '4316b98e7504073acd19308b4b8c9f4eeb5e811455c54c0ebfe276c0b1eb6315');
should.equal(output.spentIndex, 2); should.equal(output.spentIndex, 2);
should.equal(output.spentHeight, 100); should.equal(output.spentHeight, 100);
done(); }
bitcoind.getDetailedTransaction(txid, function(err, tx) {
if (err) {
return done(err);
}
checkTx(tx);
bitcoind.getDetailedTransaction(txid, function(err, tx) {
if (err) {
return done(err);
}
checkTx(tx);
getRawTransaction.callCount.should.equal(1);
done();
});
}); });
}); });
it('should set coinbase to true', function(done) { it('should set coinbase to true', function(done) {