diff --git a/js/models/core/TxProposals.js b/js/models/core/TxProposals.js index 2481b3a72..9e33d6eab 100644 --- a/js/models/core/TxProposals.js +++ b/js/models/core/TxProposals.js @@ -45,9 +45,7 @@ TxProposals.prototype.getNtxids = function() { }; TxProposals.prototype.deleteOne = function(ntxid) { - var txp = this.txps[ntxid]; - if (!txp) - throw new Error('Unknown TXP: ' + ntxid); + preconditions.checkState(this.txps[ntxid], 'Unknown TXP: ' + ntxid); delete this.txps[ntxid]; }; diff --git a/test/test.TxProposals.js b/test/test.TxProposals.js index a7a25e727..f94435f48 100644 --- a/test/test.TxProposals.js +++ b/test/test.TxProposals.js @@ -65,6 +65,21 @@ describe('TxProposals', function() { txps.getNtxids().should.deep.equal(['a','b']); }); }); + describe.only('#deleteOne', function() { + it('should delete specified ntxid', function() { + var txps = new TxProposals(); + txps.txps = {a:1, b:2}; + txps.deleteOne('a'); + txps.getNtxids().should.deep.equal(['b']); + }); + it('should fail on non-existent ntxid', function() { + var txps = new TxProposals(); + txps.txps = {a:1, b:2}; + (function () { + txps.deleteOne('c'); + }).should.throw('Unknown TXP: c'); + }); + }); describe('#toObj', function() { it('should an object', function() { var txps = TxProposals.fromObj({