From 8bd942d40629d8d68dd98b0bb8d10bf60d3e92c7 Mon Sep 17 00:00:00 2001 From: frankiebee Date: Wed, 27 Dec 2017 17:45:03 -0800 Subject: add tests for #_checkIfNonceIsTaken --- test/unit/pending-tx-test.js | 63 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/unit/pending-tx-test.js b/test/unit/pending-tx-test.js index 393601a57..0b557f055 100644 --- a/test/unit/pending-tx-test.js +++ b/test/unit/pending-tx-test.js @@ -328,7 +328,7 @@ describe('PendingTransactionTracker', function () { it('should publish the transaction if the number of blocks since last retry exceeds the last set limit', function (done) { const enoughBalance = '0x100000' const mockLatestBlockNumber = '0x11' - + pendingTxTracker._resubmitTx(txMetaToTestExponentialBackoff, mockLatestBlockNumber) .then(() => done()) .catch((err) => { @@ -338,5 +338,64 @@ describe('PendingTransactionTracker', function () { assert.equal(pendingTxTracker.publishTransaction.callCount, 1, 'Should call publish transaction') }) - }) + }) + + describe('#_checkIfNonceIsTaken', function () { + beforeEach ( function () { + let confirmedTxList = [{ + id: 1, + hash: '0x0593ee121b92e10d63150ad08b4b8f9c7857d1bd160195ee648fb9a0f8d00eeb', + status: 'confirmed', + txParams: { + from: '0x1678a085c290ebd122dc42cba69373b5953b831d', + nonce: '0x1', + value: '0xfffff', + }, + rawTx: '0xf86c808504a817c800827b0d940c62bb85faa3311a998d3aba8098c1235c564966880de0b6b3a7640000802aa08ff665feb887a25d4099e40e11f0fef93ee9608f404bd3f853dd9e84ed3317a6a02ec9d3d1d6e176d4d2593dd760e74ccac753e6a0ea0d00cc9789d0d7ff1f471d', + }, { + id: 2, + hash: '0x0593ee121b92e10d63150ad08b4b8f9c7857d1bd160195ee648fb9a0f8d00eeb', + status: 'confirmed', + txParams: { + from: '0x1678a085c290ebd122dc42cba69373b5953b831d', + nonce: '0x2', + value: '0xfffff', + }, + rawTx: '0xf86c808504a817c800827b0d940c62bb85faa3311a998d3aba8098c1235c564966880de0b6b3a7640000802aa08ff665feb887a25d4099e40e11f0fef93ee9608f404bd3f853dd9e84ed3317a6a02ec9d3d1d6e176d4d2593dd760e74ccac753e6a0ea0d00cc9789d0d7ff1f471d', + }] + pendingTxTracker.getCompletedTransactions = (address) => { + if (!address) throw new Error('unless behavior has changed #_checkIfNonceIsTaken needs a filtered list of transactions to see if the nonce is taken') + return confirmedTxList + } + }) + + it('should return false', function (done) { + pendingTxTracker._checkIfNonceIsTaken({ + txParams: { + from: '0x1678a085c290ebd122dc42cba69373b5953b831d', + nonce: '0x3', + value: '0xfffff', + }, + }) + .then((taken) => { + assert.ok(!taken) + done() + }) + .catch(done) + }) + + it('should return true', function (done) { + pendingTxTracker._checkIfNonceIsTaken({ + txParams: { + from: '0x1678a085c290ebd122dc42cba69373b5953b831d', + nonce: '0x2', + value: '0xfffff', + }, + }).then((taken) => { + assert.ok(taken) + done() + }) + .catch(done) + }) + }) }) -- cgit From 0c54efdfc74079ff539606cbd0fc0a08fa922a0e Mon Sep 17 00:00:00 2001 From: frankiebee Date: Thu, 28 Dec 2017 15:48:22 -0800 Subject: tests - be more verbose in test messages --- test/unit/pending-tx-test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/unit/pending-tx-test.js b/test/unit/pending-tx-test.js index 0b557f055..bd47299cf 100644 --- a/test/unit/pending-tx-test.js +++ b/test/unit/pending-tx-test.js @@ -369,7 +369,7 @@ describe('PendingTransactionTracker', function () { } }) - it('should return false', function (done) { + it('should return false if nonce has not been taken', function (done) { pendingTxTracker._checkIfNonceIsTaken({ txParams: { from: '0x1678a085c290ebd122dc42cba69373b5953b831d', @@ -384,7 +384,7 @@ describe('PendingTransactionTracker', function () { .catch(done) }) - it('should return true', function (done) { + it('should return true if nonce has been taken', function (done) { pendingTxTracker._checkIfNonceIsTaken({ txParams: { from: '0x1678a085c290ebd122dc42cba69373b5953b831d', -- cgit