1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-22 18:00:18 +01:00
metamask-extension/test/unit/actions/set_selected_account_test.js
Dan Finlay 041b5493dc Streamlined some transition logic
Fixes #122

Had used multiple actions for some transitions, which would lead to brief intermediary states.

Now making a few actions much more explicit about what they route to, so there is less intermediary logic, and we can transition confidently to the correct view.
2016-05-13 01:24:05 -07:00

50 lines
1.3 KiB
JavaScript

var jsdom = require('mocha-jsdom')
var assert = require('assert')
var freeze = require('deep-freeze-strict')
var path = require('path')
var actions = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'actions.js'))
var reducers = require(path.join(__dirname, '..', '..', '..', 'ui', 'app', 'reducers.js'))
describe('SET_SELECTED_ACCOUNT', function() {
it('sets the state.appState.activeAddress property of the state to the action.value', function() {
var initialState = {
appState: {
activeAddress: 'foo',
}
}
freeze(initialState)
const action = {
type: actions.SET_SELECTED_ACCOUNT,
value: 'bar',
}
freeze(action)
var resultingState = reducers(initialState, action)
assert.equal(resultingState.appState.activeAddress, action.value)
});
});
describe('SHOW_ACCOUNT_DETAIL', function() {
it('updates metamask state', function() {
var initialState = {
metamask: {
selectedAccount: 'foo'
}
}
freeze(initialState)
const action = {
type: actions.SHOW_ACCOUNT_DETAIL,
value: 'bar',
}
freeze(action)
var resultingState = reducers(initialState, action)
assert.equal(resultingState.metamask.selectedAccount, action.value)
assert.equal(resultingState.metamask.selectedAddress, action.value)
})
})