diff options
Diffstat (limited to 'test/unit/actions/tx_test.js')
-rw-r--r-- | test/unit/actions/tx_test.js | 142 |
1 files changed, 26 insertions, 116 deletions
diff --git a/test/unit/actions/tx_test.js b/test/unit/actions/tx_test.js index bd72a666e..b6a691860 100644 --- a/test/unit/actions/tx_test.js +++ b/test/unit/actions/tx_test.js @@ -1,29 +1,27 @@ -var jsdom = require('mocha-jsdom') +// var jsdom = require('mocha-jsdom') var assert = require('assert') var freeze = require('deep-freeze-strict') var path = require('path') var sinon = require('sinon') var actions = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'actions.js')) -var reducers = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'reducers.js')) +var reducers = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'reducers.js')) -describe('tx confirmation screen', function() { - - beforeEach(function() { - this.sinon = sinon.sandbox.create(); - }); +describe('tx confirmation screen', function () { + beforeEach(function () { + this.sinon = sinon.sandbox.create() + }) - afterEach(function(){ - this.sinon.restore(); - }); + afterEach(function () { + this.sinon.restore() + }) var initialState, result - describe('when there is only one tx', function() { + describe('when there is only one tx', function () { var firstTxId = 1457634084250832 - beforeEach(function() { - + beforeEach(function () { initialState = { appState: { currentView: { @@ -34,130 +32,42 @@ describe('tx confirmation screen', function() { unapprovedTxs: { '1457634084250832': { id: 1457634084250832, - status: "unconfirmed", + status: 'unconfirmed', time: 1457634084250, - } + }, }, - } + }, } freeze(initialState) }) - describe('cancelTx', function() { - - before(function(done) { + describe('cancelTx', function () { + before(function (done) { actions._setBackgroundConnection({ - approveTransaction(txId, cb) { cb('An error!') }, - cancelTransaction(txId) { /* noop */ }, - clearSeedWordCache(cb) { cb() }, + approveTransaction (txId, cb) { cb('An error!') }, + cancelTransaction (txId, cb) { cb() }, + clearSeedWordCache (cb) { cb() }, }) - let action = actions.cancelTx({value: firstTxId}) - result = reducers(initialState, action) + actions.cancelTx({value: firstTxId})((action) => { + result = reducers(initialState, action) + }) done() }) - it('should transition to the account detail view', function() { + it('should transition to the account detail view', function () { assert.equal(result.appState.currentView.name, 'accountDetail') }) - it('should have no unconfirmed txs remaining', function() { + it('should have no unconfirmed txs remaining', function () { var count = getUnconfirmedTxCount(result) assert.equal(count, 0) }) }) - - describe('sendTx', function() { - var result - - describe('when there is an error', function() { - - before(function(done) { - alert = () => {/* noop */} - - actions._setBackgroundConnection({ - approveTransaction(txId, cb) { cb({message: 'An error!'}) }, - }) - - actions.sendTx({id: firstTxId})(function(action) { - result = reducers(initialState, action) - done() - }) - }) - - it('should stay on the page', function() { - assert.equal(result.appState.currentView.name, 'confTx') - }) - - it('should set errorMessage on the currentView', function() { - assert(result.appState.currentView.errorMessage) - }) - }) - - describe('when there is success', function() { - it('should complete tx and go home', function() { - actions._setBackgroundConnection({ - approveTransaction(txId, cb) { cb() }, - }) - - var dispatchExpect = sinon.mock() - dispatchExpect.twice() - - actions.sendTx({id: firstTxId})(dispatchExpect) - }) - }) - }) - - describe('when there are two pending txs', function() { - var firstTxId = 1457634084250832 - var result, initialState - before(function(done) { - initialState = { - appState: { - currentView: { - name: 'confTx', - }, - }, - metamask: { - unapprovedTxs: { - '1457634084250832': { - id: firstTxId, - status: "unconfirmed", - time: 1457634084250, - }, - '1457634084250833': { - id: 1457634084250833, - status: "unconfirmed", - time: 1457634084255, - }, - }, - } - } - freeze(initialState) - - // Mocking a background connection: - actions._setBackgroundConnection({ - approveTransaction(firstTxId, cb) { cb() }, - }) - - let action = actions.sendTx({id: firstTxId})(function(action) { - result = reducers(initialState, action) - }) - done() - }) - - it('should stay on the confTx view', function() { - assert.equal(result.appState.currentView.name, 'confTx') - }) - - it('should transition to the first tx', function() { - assert.equal(result.appState.currentView.context, 0) - }) - }) }) -}); +}) -function getUnconfirmedTxCount(state) { +function getUnconfirmedTxCount (state) { var txs = state.metamask.unapprovedTxs var count = Object.keys(txs).length return count |