aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/scripts/lib/pending-balance-calculator.js18
-rw-r--r--test/unit/pending-balance-test.js15
2 files changed, 26 insertions, 7 deletions
diff --git a/app/scripts/lib/pending-balance-calculator.js b/app/scripts/lib/pending-balance-calculator.js
new file mode 100644
index 000000000..5b30354a2
--- /dev/null
+++ b/app/scripts/lib/pending-balance-calculator.js
@@ -0,0 +1,18 @@
+const BN = require('ethereumjs-util').BN
+const EthQuery = require('ethjs-query')
+
+class PendingBalanceCalculator {
+
+ constructor ({ getBalance, getPendingTransactions }) {
+ this.getPendingTransactions = getPendingTransactions
+ this.getBalance = getBalance
+ }
+
+ async getBalance() {
+ const balance = await this.getBalance
+ return balance
+ }
+
+}
+
+module.exports = PendingBalanceCalculator
diff --git a/test/unit/pending-balance-test.js b/test/unit/pending-balance-test.js
index 845d6d552..dcf1926f0 100644
--- a/test/unit/pending-balance-test.js
+++ b/test/unit/pending-balance-test.js
@@ -8,21 +8,22 @@ describe('PendingBalanceCalculator', function () {
let nonceTracker
describe('if you have no pending txs and one ether', function () {
- const ether = '0x' + (new BN(1e18)).toString(16)
+ const ether = '0x' + (new BN(String(1e18))).toString(16)
beforeEach(function () {
- nonceTracker = generateNonceTrackerWith([], ether)
+ nonceTracker = generateBalaneCalcWith([], ether)
})
- it('returns the network balance', function () {
- const result = nonceTracker.getBalance()
- assert.equal(result, ether, 'returns one ether')
+ it('returns the network balance', async function () {
+ const result = await nonceTracker.getBalance()
+ assert.equal(result, ether, `gave ${result} needed ${ether}`)
})
})
})
function generateBalaneCalcWith (transactions, providerStub = '0x0') {
- const getPendingTransactions = () => transactions
+ const getPendingTransactions = () => Promise.resolve(transactions)
+ const getBalance = () => Promise.resolve(providerStub)
providerResultStub.result = providerStub
const provider = {
sendAsync: (_, cb) => { cb(undefined, providerResultStub) },
@@ -31,7 +32,7 @@ function generateBalaneCalcWith (transactions, providerStub = '0x0') {
},
}
return new PendingBalanceCalculator({
- provider,
+ getBalance,
getPendingTransactions,
})
}