parent
0d8c02db35
commit
fa8c74fe9b
@ -0,0 +1,46 @@ |
||||
const assert = require('assert') |
||||
const NonceTracker = require('../../app/scripts/lib/nonce-tracker') |
||||
|
||||
describe('Nonce Tracker', function () { |
||||
let nonceTracker, provider, getPendingTransactions, pendingTxs |
||||
const noop = () => {} |
||||
|
||||
|
||||
beforeEach(function () { |
||||
pendingTxs =[{ |
||||
'status': 'submitted', |
||||
'txParams': { |
||||
'from': '0x7d3517b0d011698406d6e0aed8453f0be2697926', |
||||
'gas': '0x30d40', |
||||
'value': '0x0', |
||||
'nonce': '0x1', |
||||
}, |
||||
}] |
||||
|
||||
|
||||
getPendingTransactions = () => pendingTxs |
||||
provider = { sendAsync: (_, cb) => { cb(undefined , {result: '0x0'}) }, } |
||||
nonceTracker = new NonceTracker({ |
||||
blockTracker: { |
||||
getCurrentBlock: () => '0x11b568', |
||||
once: (...args) => { |
||||
setTimeout(() => { |
||||
args.pop()() |
||||
}, 5000) |
||||
} |
||||
}, |
||||
provider, |
||||
getPendingTransactions, |
||||
}) |
||||
}) |
||||
|
||||
describe('#getNonceLock', function () { |
||||
it('should work', async function (done) { |
||||
this.timeout(15000) |
||||
const nonceLock = await nonceTracker.getNonceLock('0x7d3517b0d011698406d6e0aed8453f0be2697926') |
||||
assert.equal(nonceLock.nextNonce, '2', 'nonce should be 2') |
||||
nonceLock.releaseLock() |
||||
done() |
||||
}) |
||||
}) |
||||
}) |
Loading…
Reference in new issue