1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-27 12:56:01 +01:00
metamask-extension/ui/app/store/actionConstants.test.js
2021-03-16 16:00:08 -05:00

83 lines
2.1 KiB
JavaScript

import assert from 'assert';
import freeze from 'deep-freeze-strict';
import reducers from '../ducks';
import { NETWORK_TYPE_RPC } from '../../../shared/constants/network';
import * as actionConstants from './actionConstants';
describe('Redux actionConstants', function () {
describe('SET_RPC_TARGET', function () {
const initialState = {
metamask: {
rpcUrl: 'foo',
frequentRpcList: [],
},
appState: {
currentView: {
name: 'accounts',
},
},
};
freeze(initialState);
it('sets the state.metamask.rpcUrl property of the state to the action.value', function () {
const action = {
type: actionConstants.SET_RPC_TARGET,
value: 'foo',
};
const result = reducers(initialState, action);
assert.equal(result.metamask.provider.type, NETWORK_TYPE_RPC);
assert.equal(result.metamask.provider.rpcUrl, 'foo');
});
});
describe('SET_ACCOUNT_LABEL', function () {
it('updates the state.metamask.identities[:i].name property of the state to the action.value.label', function () {
const initialState = {
metamask: {
identities: {
foo: {
name: 'bar',
},
},
},
};
freeze(initialState);
const action = {
type: actionConstants.SET_ACCOUNT_LABEL,
value: {
account: 'foo',
label: 'baz',
},
};
freeze(action);
const resultingState = reducers(initialState, action);
assert.equal(
resultingState.metamask.identities.foo.name,
action.value.label,
);
});
});
describe('SHOW_ACCOUNT_DETAIL', function () {
it('updates metamask state', function () {
const initialState = {
metamask: {
selectedAddress: 'foo',
},
};
freeze(initialState);
const action = {
type: actionConstants.SHOW_ACCOUNT_DETAIL,
value: 'bar',
};
freeze(action);
const resultingState = reducers(initialState, action);
assert.equal(resultingState.metamask.selectedAddress, action.value);
});
});
});