mirror of
https://github.com/status-im/MyCrypto.git
synced 2025-02-11 18:47:03 +00:00
* Initial work on refactoring node definitions to reduce number of places theyre defined, amount of copy pasting. * Use makeAutoNodeNAme instead of manually appending _auto * Add getNetVersion to list of unsupported methods * PR feedback * Rework web template node selector to be a network selector. Refactor some types to help with that. Better handle removing custom nodes. * Remove color dropdown. * Fix selecting custom networks. Show notification if change network intent fails. * Use selectors for current node / network instead of intuiting from nodeSelection * Add id key to all networks, simplify add and remove custom node and network functions. * Fix a lot of uses of network.name to use network.id instead. * Dont allow network chainid conflicts * Fix web3 network by chainid * Add testnet badge to network selector * Change nomenclature from change(Node|Network)(Intent)? to change(Node|Network)(Requested|Succeeded) * tscheck * Better code for chainid collision * Remove console logs * Fix tests * Network selector becomes self contained component used both by web header and electron nav. * Dont select node again * Additional title text * tscheck * Custom node behavior in Electron * Close panel too * Convert node label data into selector function * tscheck * Parens & space
27 lines
1.1 KiB
TypeScript
27 lines
1.1 KiB
TypeScript
import { changeNodeRequested, changeNodeSucceeded } from 'actions/config';
|
|
import { selectedNode } from 'reducers/config/nodes/selectedNode';
|
|
import { SelectedNodeState } from 'reducers/config/nodes/types';
|
|
|
|
export const expectedState = {
|
|
initialState: { nodeId: 'eth_mycrypto', prevNode: 'eth_mycrypto', pending: false },
|
|
nodeChange: { nodeId: 'nodeToChangeTo', prevNode: 'eth_auto', pending: false },
|
|
nodeChangeIntent: { nodeId: 'eth_mycrypto', prevNode: 'eth_mycrypto', pending: true }
|
|
};
|
|
|
|
export const actions = {
|
|
changeNode: changeNodeSucceeded({ nodeId: 'nodeToChangeTo', networkId: 'networkToChangeTo' }),
|
|
changeNodeRequested: changeNodeRequested('eth_mycrypto')
|
|
};
|
|
|
|
describe('selected node reducer', () => {
|
|
it('should handle a node change', () =>
|
|
expect(selectedNode(undefined, actions.changeNode)).toEqual(expectedState.nodeChange));
|
|
|
|
it('should handle the intent to change a node', () =>
|
|
expect(
|
|
selectedNode(expectedState.initialState as SelectedNodeState, actions.changeNodeRequested)
|
|
).toEqual(expectedState.nodeChangeIntent));
|
|
});
|
|
|
|
export { actions as selectedNodeActions, expectedState as selectedNodeExpectedState };
|