aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkumavis <aaron@kumavis.me>2017-08-15 10:15:09 +0800
committerkumavis <aaron@kumavis.me>2017-08-15 10:15:09 +0800
commitfec0f2ca5e4c2aabe657dfe0317365b06e7f665f (patch)
tree7cac85fe4644fc7c94f74e90d3b22eeb29cf7201
parentaccd057b1abf519551dab253845085c40eb1415c (diff)
downloadtangerine-wallet-browser-fec0f2ca5e4c2aabe657dfe0317365b06e7f665f.tar
tangerine-wallet-browser-fec0f2ca5e4c2aabe657dfe0317365b06e7f665f.tar.gz
tangerine-wallet-browser-fec0f2ca5e4c2aabe657dfe0317365b06e7f665f.tar.bz2
tangerine-wallet-browser-fec0f2ca5e4c2aabe657dfe0317365b06e7f665f.tar.lz
tangerine-wallet-browser-fec0f2ca5e4c2aabe657dfe0317365b06e7f665f.tar.xz
tangerine-wallet-browser-fec0f2ca5e4c2aabe657dfe0317365b06e7f665f.tar.zst
tangerine-wallet-browser-fec0f2ca5e4c2aabe657dfe0317365b06e7f665f.zip
tx controller - test - test tx state history in updateTx
-rw-r--r--test/unit/tx-controller-test.js24
1 files changed, 18 insertions, 6 deletions
diff --git a/test/unit/tx-controller-test.js b/test/unit/tx-controller-test.js
index c84a374ae..38305f658 100644
--- a/test/unit/tx-controller-test.js
+++ b/test/unit/tx-controller-test.js
@@ -6,12 +6,15 @@ const clone = require('clone')
const sinon = require('sinon')
const TransactionController = require('../../app/scripts/controllers/transactions')
const TxProvideUtils = require('../../app/scripts/lib/tx-utils')
+const txStateHistoryHelper = require('../../app/scripts/lib/tx-state-history-helper')
+
const noop = () => true
const currentNetworkId = 42
const otherNetworkId = 36
const privKey = new Buffer('8718b9618a37d1fc78c436511fc6df3c8258d3250635bba617f33003270ec03e', 'hex')
const { createStubedProvider } = require('../stub/provider')
+
describe('Transaction Controller', function () {
let txController, engine, provider, providerResultStub
@@ -287,7 +290,7 @@ describe('Transaction Controller', function () {
assert.equal(savedResult.hash, 'foo')
})
- it('updates gas price', function () {
+ it('updates gas price and adds history items', function () {
const originalGasPrice = '0x01'
const desiredGasPrice = '0x02'
@@ -300,13 +303,22 @@ describe('Transaction Controller', function () {
},
}
-
txController.addTx(txMeta)
- const updatedMeta = txController.getTx('1')
- updatedMeta.txParams.gasPrice = desiredGasPrice
- txController.updateTx(updatedMeta)
- var result = txController.getTx('1')
+ const updatedTx = txController.getTx('1')
+ // verify tx was initialized correctly
+ assert.equal(result.history.length, 1, 'one history item (initial)')
+ assert.equal(Array.isArray(result.history[0]), false, 'first history item is initial state')
+ assert.deepEqual(result.history[0], txStateHistoryHelper.snapshotFromTxMeta(updatedTx), 'first history item is initial state')
+ // modify value and updateTx
+ updatedTx.txParams.gasPrice = desiredGasPrice
+ txController.updateTx(updatedTx)
+ // check updated value
+ const result = txController.getTx('1')
assert.equal(result.txParams.gasPrice, desiredGasPrice, 'gas price updated')
+ // validate history was updated
+ assert.equal(result.history.length, 2, 'two history items (initial + diff)')
+ const expectedEntry = { op: 'replace', path: '/txParams/gasPrice', value: desiredGasPrice }
+ assert.deepEqual(result.history[1], [expectedEntry], 'two history items (initial + diff)')
})
})