test: coverage for getBlockHeader
This commit is contained in:
parent
1d9b89f187
commit
f76b206178
@ -1681,10 +1681,13 @@ Bitcoin.prototype.getBlockHashesByTimestamp = function(high, low, callback) {
|
||||
* @param {String|Number} block - A block hash or block height
|
||||
* @param {Function} callback
|
||||
*/
|
||||
Bitcoin.prototype.getBlockHeader = function(block, callback) {
|
||||
Bitcoin.prototype.getBlockHeader = function(blockArg, callback) {
|
||||
var self = this;
|
||||
|
||||
function queryHeader(blockhash) {
|
||||
function queryHeader(err, blockhash) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
self._tryAll(function(done) {
|
||||
self.client.getBlockHeader(blockhash, function(err, response) {
|
||||
if (err) {
|
||||
@ -1711,23 +1714,7 @@ Bitcoin.prototype.getBlockHeader = function(block, callback) {
|
||||
}, callback);
|
||||
}
|
||||
|
||||
if (_.isNumber(block)) {
|
||||
self._tryAll(function(done) {
|
||||
self.client.getBlockHash(block, function(err, response) {
|
||||
if (err) {
|
||||
return callback(self._wrapRPCError(err));
|
||||
}
|
||||
done(null, response.result);
|
||||
});
|
||||
}, function(err, blockhash) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
queryHeader(blockhash);
|
||||
});
|
||||
} else {
|
||||
queryHeader(block);
|
||||
}
|
||||
self._maybeGetBlockHash(blockArg, queryHeader);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@ -3567,6 +3567,18 @@ describe('Bitcoin Service', function() {
|
||||
|
||||
describe('#getBlockHeader', function() {
|
||||
var blockhash = '00000000050a6d07f583beba2d803296eb1e9d4980c4a20f206c584e89a4f02b';
|
||||
it('will give error from getBlockHash', function() {
|
||||
var bitcoind = new BitcoinService(baseConfig);
|
||||
var getBlockHash = sinon.stub().callsArgWith(1, {code: -1, message: 'Test error'});
|
||||
bitcoind.nodes.push({
|
||||
client: {
|
||||
getBlockHash: getBlockHash
|
||||
}
|
||||
});
|
||||
bitcoind.getBlockHeader(10, function(err) {
|
||||
err.should.be.instanceof(Error);
|
||||
});
|
||||
});
|
||||
it('it will give rpc error from client getblockheader', function() {
|
||||
var bitcoind = new BitcoinService(baseConfig);
|
||||
var getBlockHeader = sinon.stub().callsArgWith(1, {code: -1, message: 'Test error'});
|
||||
@ -3790,6 +3802,20 @@ describe('Bitcoin Service', function() {
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('will give error from client.getBlock', function(done) {
|
||||
var bitcoind = new BitcoinService(baseConfig);
|
||||
var getBlock = sinon.stub().callsArgWith(2, {code: -1, message: 'test'});
|
||||
bitcoind.nodes.push({
|
||||
client: {
|
||||
getBlock: getBlock
|
||||
}
|
||||
});
|
||||
bitcoind.getBlockOverview(blockhash, function(err) {
|
||||
err.should.be.instanceOf(Error);
|
||||
err.message.should.equal('test');
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('will give expected result', function(done) {
|
||||
var bitcoind = new BitcoinService(baseConfig);
|
||||
var blockResult = {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user