diff --git a/lib/blockchainexplorer.js b/lib/blockchainexplorer.js index bee70b9..c11a82c 100644 --- a/lib/blockchainexplorer.js +++ b/lib/blockchainexplorer.js @@ -31,10 +31,8 @@ function BlockChainExplorer(opts) { explorer.getTransactions = _.bind(getTransactionsInsight, explorer, url); explorer.initSocket = _.bind(initSocketInsight, explorer, url); return explorer; - break; default: throw new Error('Provider ' + provider + ' not supported'); - break; }; }; diff --git a/test/blockchainexplorer.js b/test/blockchainexplorer.js new file mode 100644 index 0000000..b1fbd3d --- /dev/null +++ b/test/blockchainexplorer.js @@ -0,0 +1,35 @@ +'use strict'; + +var _ = require('lodash'); +var chai = require('chai'); +var sinon = require('sinon'); +var should = chai.should(); +var BlockchainExplorer = require('../lib/blockchainexplorer'); + +describe('Blockchain explorer', function() { + describe('#constructor', function() { + it('should return a blockchain explorer with basic methods', function() { + var exp = BlockchainExplorer({ + provider: 'insight', + network: 'testnet', + }); + should.exist(exp); + exp.should.respondTo('broadcast'); + exp.should.respondTo('getTransactions'); + exp.should.respondTo('getUnspentUtxos'); + exp.should.respondTo('initSocket'); + var exp = BlockchainExplorer({ + provider: 'insight', + network: 'livenet', + }); + should.exist(exp); + }); + it('should fail on unsupported provider', function() { + (function() { + var exp = BlockchainExplorer({ + provider: 'dummy', + }); + }).should.throw('not supported'); + }); + }); +});