|
|
|
import React from 'react'
|
|
|
|
import assert from 'assert'
|
|
|
|
import { createMockStore } from 'redux-test-utils'
|
|
|
|
import { mountWithRouter } from '../../../../../test/lib/render-helpers'
|
|
|
|
import NetworkDropdown from '../network-dropdown'
|
|
|
|
import { DropdownMenuItem } from '../components/dropdown'
|
|
|
|
import NetworkDropdownIcon from '../components/network-dropdown-icon'
|
|
|
|
|
|
|
|
describe('Network Dropdown', () => {
|
|
|
|
let wrapper
|
|
|
|
|
|
|
|
describe('NetworkDropdown in appState in false', () => {
|
|
|
|
const mockState = {
|
|
|
|
metamask: {
|
|
|
|
provider: {
|
|
|
|
type: 'test',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
appState: {
|
|
|
|
networkDropdown: false,
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
const store = createMockStore(mockState)
|
|
|
|
|
|
|
|
beforeEach(() => {
|
|
|
|
wrapper = mountWithRouter(
|
|
|
|
<NetworkDropdown store={store} />
|
|
|
|
)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('checks for network droppo class', () => {
|
|
|
|
assert.equal(wrapper.find('.network-droppo').length, 1)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('renders only one child when networkDropdown is false in state', () => {
|
|
|
|
assert.equal(wrapper.children().length, 1)
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
describe('NetworkDropdown in appState is true', () => {
|
|
|
|
const mockState = {
|
|
|
|
metamask: {
|
|
|
|
provider: {
|
|
|
|
'type': 'test',
|
|
|
|
},
|
|
|
|
frequentRpcListDetail: [
|
|
|
|
{ rpcUrl: 'http://localhost:7545' },
|
|
|
|
],
|
|
|
|
},
|
|
|
|
appState: {
|
|
|
|
'networkDropdownOpen': true,
|
|
|
|
},
|
|
|
|
}
|
|
|
|
const store = createMockStore(mockState)
|
|
|
|
|
|
|
|
beforeEach(() => {
|
|
|
|
wrapper = mountWithRouter(
|
|
|
|
<NetworkDropdown store={store}/>,
|
|
|
|
)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('renders 7 DropDownMenuItems ', () => {
|
|
|
|
assert.equal(wrapper.find(DropdownMenuItem).length, 7)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('checks background color for first NetworkDropdownIcon', () => {
|
|
|
|
assert.equal(wrapper.find(NetworkDropdownIcon).at(0).prop('backgroundColor'), '#29B6AF') // Main Ethereum Network Teal
|
|
|
|
})
|
|
|
|
|
|
|
|
it('checks background color for second NetworkDropdownIcon', () => {
|
|
|
|
assert.equal(wrapper.find(NetworkDropdownIcon).at(1).prop('backgroundColor'), '#ff4a8d') // Ropsten Red
|
|
|
|
})
|
|
|
|
|
|
|
|
it('checks background color for third NetworkDropdownIcon', () => {
|
|
|
|
assert.equal(wrapper.find(NetworkDropdownIcon).at(2).prop('backgroundColor'), '#7057ff') // Kovan Purple
|
|
|
|
})
|
|
|
|
|
|
|
|
it('checks background color for fourth NetworkDropdownIcon', () => {
|
|
|
|
assert.equal(wrapper.find(NetworkDropdownIcon).at(3).prop('backgroundColor'), '#f6c343') // Rinkeby Yellow
|
|
|
|
})
|
|
|
|
|
|
|
|
it('checks background color for fifth NetworkDropdownIcon', () => {
|
|
|
|
assert.equal(wrapper.find(NetworkDropdownIcon).at(4).prop('innerBorder'), '1px solid #9b9b9b')
|
|
|
|
})
|
|
|
|
|
|
|
|
it('checks dropdown for frequestRPCList from state ', () => {
|
|
|
|
assert.equal(wrapper.find(DropdownMenuItem).at(5).text(), '✓http://localhost:7545')
|
|
|
|
})
|
|
|
|
|
|
|
|
it('checks background color for sixth NetworkDropdownIcon', () => {
|
|
|
|
assert.equal(wrapper.find(NetworkDropdownIcon).at(5).prop('innerBorder'), '1px solid #9b9b9b')
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
})
|