mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-29 23:58:06 +01:00
041b5493dc
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.
50 lines
1.3 KiB
JavaScript
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)
|
|
})
|
|
})
|