From 1a68ca4fae32b6255cd8af6fa9d2cdcff9e4c9bf Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Wed, 10 Feb 2016 15:38:02 -0500 Subject: [PATCH] add tests to _updateAddressIndex --- lib/services/address/index.js | 6 ++-- test/services/address/index.unit.js | 50 +++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/lib/services/address/index.js b/lib/services/address/index.js index 35829758..bdbfe342 100644 --- a/lib/services/address/index.js +++ b/lib/services/address/index.js @@ -276,14 +276,14 @@ AddressService.prototype.transactionHandler = function(txInfo, callback) { }; AddressService.prototype._updateAddressIndex = function(key, add) { - var currentValue = this.mempoolAddressIndex[key] || 0; if(add) { - if (currentValue > 0) + if (currentValue > 0) { this.mempoolAddressIndex[key] = currentValue + 1; - else + } else { this.mempoolAddressIndex[key] = 1; + } } else { if (currentValue < 1) { delete this.mempoolAddressIndex[key]; diff --git a/test/services/address/index.unit.js b/test/services/address/index.unit.js index d5632c8f..3c2b250b 100644 --- a/test/services/address/index.unit.js +++ b/test/services/address/index.unit.js @@ -2433,6 +2433,56 @@ describe('Address Service', function() { }); }); + + describe.only('#_updateAddressIndex', function() { + var as; + beforeEach(function(){ + var testnode = { + services: { + bitcoind: { + on: sinon.stub() + } + }, + datadir: 'testdir' + }; + as = new AddressService({ + mempoolMemoryIndex: true, + node: testnode + }); + }); + it('should add using 2 keys', function() { + _.values(as.mempoolAddressIndex).should.deep.equal([]); + as._updateAddressIndex('index1', true); + as._updateAddressIndex('index1', true); + as._updateAddressIndex('index1', true); + as._updateAddressIndex('index1', true); + as._updateAddressIndex('index2', true); + as._updateAddressIndex('index2', true); + as.mempoolAddressIndex.should.deep.equal({ + "index1": 4, + "index2": 2 + }); + }); + it('should add/remove using 2 keys', function() { + _.values(as.mempoolAddressIndex).should.deep.equal([]); + as._updateAddressIndex('index1', true); + as._updateAddressIndex('index1', true); + as._updateAddressIndex('index1', true); + as._updateAddressIndex('index1', true); + as._updateAddressIndex('index1', false); + + as._updateAddressIndex('index2', true); + as._updateAddressIndex('index2', true); + as._updateAddressIndex('index2', false); + as._updateAddressIndex('index2', false); + as._updateAddressIndex('index2', false); + as.mempoolAddressIndex.should.deep.equal({ + "index1": 3 + }); + }); + }); + + describe('#_getAddressMempoolSummary', function() { it('skip if options not enabled', function(done) { var testnode = {