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 {String|Number} block - A block hash or block height
|
||||||
* @param {Function} callback
|
* @param {Function} callback
|
||||||
*/
|
*/
|
||||||
Bitcoin.prototype.getBlockHeader = function(block, callback) {
|
Bitcoin.prototype.getBlockHeader = function(blockArg, callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
function queryHeader(blockhash) {
|
function queryHeader(err, blockhash) {
|
||||||
|
if (err) {
|
||||||
|
return callback(err);
|
||||||
|
}
|
||||||
self._tryAll(function(done) {
|
self._tryAll(function(done) {
|
||||||
self.client.getBlockHeader(blockhash, function(err, response) {
|
self.client.getBlockHeader(blockhash, function(err, response) {
|
||||||
if (err) {
|
if (err) {
|
||||||
@ -1711,23 +1714,7 @@ Bitcoin.prototype.getBlockHeader = function(block, callback) {
|
|||||||
}, callback);
|
}, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_.isNumber(block)) {
|
self._maybeGetBlockHash(blockArg, queryHeader);
|
||||||
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);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -3567,6 +3567,18 @@ describe('Bitcoin Service', function() {
|
|||||||
|
|
||||||
describe('#getBlockHeader', function() {
|
describe('#getBlockHeader', function() {
|
||||||
var blockhash = '00000000050a6d07f583beba2d803296eb1e9d4980c4a20f206c584e89a4f02b';
|
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() {
|
it('it will give rpc error from client getblockheader', function() {
|
||||||
var bitcoind = new BitcoinService(baseConfig);
|
var bitcoind = new BitcoinService(baseConfig);
|
||||||
var getBlockHeader = sinon.stub().callsArgWith(1, {code: -1, message: 'Test error'});
|
var getBlockHeader = sinon.stub().callsArgWith(1, {code: -1, message: 'Test error'});
|
||||||
@ -3790,6 +3802,20 @@ describe('Bitcoin Service', function() {
|
|||||||
done();
|
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) {
|
it('will give expected result', function(done) {
|
||||||
var bitcoind = new BitcoinService(baseConfig);
|
var bitcoind = new BitcoinService(baseConfig);
|
||||||
var blockResult = {
|
var blockResult = {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user