1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
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 ('config view actions', function() {
var initialState = {
metamask: {
rpcTarget: 'foo',
frequentRpcList: []
},
appState: {
currentView: {
name: 'accounts',
}
}
}
freeze(initialState)
describe('SHOW_CONFIG_PAGE', function() {
it('should set appState.currentView.name to config', function() {
var result = reducers(initialState, actions.showConfigPage())
assert.equal(result.appState.currentView.name, 'config')
})
})
describe('SET_RPC_TARGET', function() {
it('sets the state.metamask.rpcTarget property of the state to the action.value', function() {
const action = {
type: actions.SET_RPC_TARGET,
value: 'foo',
}
const secondAction = {
type: actions.SET_RPC_LIST,
value: ['foo'],
}
var result = reducers(initialState, action)
result = reducers(result, secondAction)
assert.equal(result.metamask.provider.type, 'rpc')
assert.equal(result.metamask.provider.rpcTarget, 'foo')
assert.equal(result.metamask.frequentRpcList[0], 'foo')
})
it('should handle multiple requests to change the rpc gracefully', function() {
const action = {
type: actions.SET_RPC_TARGET,
value: 'foo',
}
const secondAction = {
type: actions.SET_RPC_LIST,
value: ['foo'],
}
var result = reducers(initialState, action)
var secondResult = reducers(result, secondAction)
var thirdResult = reducers(secondResult, action)
var fourthResult = reducers(thirdResult, secondAction)
assert.equal(fourthResult.metamask.frequentRpcList.length, 1)
})
})
})
|