aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/token-input/tests
diff options
context:
space:
mode:
Diffstat (limited to 'ui/app/components/token-input/tests')
-rw-r--r--ui/app/components/token-input/tests/token-input.component.test.js350
-rw-r--r--ui/app/components/token-input/tests/token-input.container.test.js255
2 files changed, 0 insertions, 605 deletions
diff --git a/ui/app/components/token-input/tests/token-input.component.test.js b/ui/app/components/token-input/tests/token-input.component.test.js
deleted file mode 100644
index 881101880..000000000
--- a/ui/app/components/token-input/tests/token-input.component.test.js
+++ /dev/null
@@ -1,350 +0,0 @@
-import React from 'react'
-import PropTypes from 'prop-types'
-import assert from 'assert'
-import { shallow, mount } from 'enzyme'
-import sinon from 'sinon'
-import { Provider } from 'react-redux'
-import configureMockStore from 'redux-mock-store'
-import TokenInput from '../token-input.component'
-import UnitInput from '../../unit-input'
-import CurrencyDisplay from '../../currency-display'
-
-describe('TokenInput Component', () => {
- const t = key => `translate ${key}`
-
- describe('rendering', () => {
- it('should render properly without a token', () => {
- const wrapper = shallow(
- <TokenInput />,
- { context: { t } }
- )
-
- assert.ok(wrapper)
- assert.equal(wrapper.find(UnitInput).length, 1)
- })
-
- it('should render properly with a token', () => {
- const mockStore = {
- metamask: {
- currentCurrency: 'usd',
- conversionRate: 231.06,
- },
- }
- const store = configureMockStore()(mockStore)
-
- const wrapper = mount(
- <Provider store={store}>
- <TokenInput
- selectedToken={{
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- }}
- suffix="ABC"
- />
- </Provider>,
- { context: { t },
- childContextTypes: {
- t: PropTypes.func,
- },
- },
- )
-
- assert.ok(wrapper)
- assert.equal(wrapper.find('.unit-input__suffix').length, 1)
- assert.equal(wrapper.find('.unit-input__suffix').text(), 'ABC')
- assert.equal(wrapper.find('.currency-input__conversion-component').length, 1)
- assert.equal(wrapper.find('.currency-input__conversion-component').text(), 'translate noConversionRateAvailable')
- })
-
- it('should render properly with a token and selectedTokenExchangeRate', () => {
- const mockStore = {
- metamask: {
- currentCurrency: 'usd',
- conversionRate: 231.06,
- },
- }
- const store = configureMockStore()(mockStore)
-
- const wrapper = mount(
- <Provider store={store}>
- <TokenInput
- selectedToken={{
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- }}
- suffix="ABC"
- selectedTokenExchangeRate={2}
- />
- </Provider>,
- { context: { t },
- childContextTypes: {
- t: PropTypes.func,
- },
- },
- )
-
- assert.ok(wrapper)
- assert.equal(wrapper.find('.unit-input__suffix').length, 1)
- assert.equal(wrapper.find('.unit-input__suffix').text(), 'ABC')
- assert.equal(wrapper.find(CurrencyDisplay).length, 1)
- })
-
- it('should render properly with a token value for ETH', () => {
- const mockStore = {
- metamask: {
- currentCurrency: 'usd',
- conversionRate: 231.06,
- },
- }
- const store = configureMockStore()(mockStore)
-
- const wrapper = mount(
- <Provider store={store}>
- <TokenInput
- value="2710"
- selectedToken={{
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- }}
- suffix="ABC"
- selectedTokenExchangeRate={2}
- />
- </Provider>
- )
-
- assert.ok(wrapper)
- const tokenInputInstance = wrapper.find(TokenInput).at(0).instance()
- assert.equal(tokenInputInstance.state.decimalValue, 1)
- assert.equal(tokenInputInstance.state.hexValue, '2710')
- assert.equal(wrapper.find('.unit-input__suffix').length, 1)
- assert.equal(wrapper.find('.unit-input__suffix').text(), 'ABC')
- assert.equal(wrapper.find('.unit-input__input').props().value, '1')
- assert.equal(wrapper.find('.currency-display-component').text(), '2ETH')
- })
-
- it('should render properly with a token value for fiat', () => {
- const mockStore = {
- metamask: {
- currentCurrency: 'usd',
- conversionRate: 231.06,
- },
- }
- const store = configureMockStore()(mockStore)
-
- const wrapper = mount(
- <Provider store={store}>
- <TokenInput
- value="2710"
- selectedToken={{
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- }}
- suffix="ABC"
- selectedTokenExchangeRate={2}
- showFiat
- />
- </Provider>
- )
-
- assert.ok(wrapper)
- const tokenInputInstance = wrapper.find(TokenInput).at(0).instance()
- assert.equal(tokenInputInstance.state.decimalValue, 1)
- assert.equal(tokenInputInstance.state.hexValue, '2710')
- assert.equal(wrapper.find('.unit-input__suffix').length, 1)
- assert.equal(wrapper.find('.unit-input__suffix').text(), 'ABC')
- assert.equal(wrapper.find('.unit-input__input').props().value, '1')
- assert.equal(wrapper.find('.currency-display-component').text(), '$462.12USD')
- })
-
- it('should render properly with a token value for fiat, but hideConversion is true', () => {
- const mockStore = {
- metamask: {
- currentCurrency: 'usd',
- conversionRate: 231.06,
- },
- }
- const store = configureMockStore()(mockStore)
-
- const wrapper = mount(
- <Provider store={store}>
- <TokenInput
- value="2710"
- selectedToken={{
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- }}
- suffix="ABC"
- selectedTokenExchangeRate={2}
- showFiat
- hideConversion
- />
- </Provider>,
- {
- context: { t },
- childContextTypes: {
- t: PropTypes.func,
- },
- },
- )
-
- assert.ok(wrapper)
- const tokenInputInstance = wrapper.find(TokenInput).at(0).instance()
- assert.equal(tokenInputInstance.state.decimalValue, 1)
- assert.equal(tokenInputInstance.state.hexValue, '2710')
- assert.equal(wrapper.find('.unit-input__suffix').length, 1)
- assert.equal(wrapper.find('.unit-input__suffix').text(), 'ABC')
- assert.equal(wrapper.find('.unit-input__input').props().value, '1')
- assert.equal(wrapper.find('.currency-input__conversion-component').text(), 'translate noConversionRateAvailable')
- })
- })
-
- describe('handling actions', () => {
- const handleChangeSpy = sinon.spy()
- const handleBlurSpy = sinon.spy()
-
- afterEach(() => {
- handleChangeSpy.resetHistory()
- handleBlurSpy.resetHistory()
- })
-
- it('should call onChange and onBlur on input changes with the hex value for ETH', () => {
- const mockStore = {
- metamask: {
- currentCurrency: 'usd',
- conversionRate: 231.06,
- },
- }
- const store = configureMockStore()(mockStore)
- const wrapper = mount(
- <Provider store={store}>
- <TokenInput
- onChange={handleChangeSpy}
- onBlur={handleBlurSpy}
- selectedToken={{
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- }}
- suffix="ABC"
- selectedTokenExchangeRate={2}
- />
- </Provider>
- )
-
- assert.ok(wrapper)
- assert.equal(handleChangeSpy.callCount, 0)
- assert.equal(handleBlurSpy.callCount, 0)
-
- const tokenInputInstance = wrapper.find(TokenInput).at(0).instance()
- assert.equal(tokenInputInstance.state.decimalValue, 0)
- assert.equal(tokenInputInstance.state.hexValue, undefined)
- assert.equal(wrapper.find('.currency-display-component').text(), '0ETH')
- const input = wrapper.find('input')
- assert.equal(input.props().value, 0)
-
- input.simulate('change', { target: { value: 1 } })
- assert.equal(handleChangeSpy.callCount, 1)
- assert.ok(handleChangeSpy.calledWith('2710'))
- assert.equal(wrapper.find('.currency-display-component').text(), '2ETH')
- assert.equal(tokenInputInstance.state.decimalValue, 1)
- assert.equal(tokenInputInstance.state.hexValue, '2710')
-
- assert.equal(handleBlurSpy.callCount, 0)
- input.simulate('blur')
- assert.equal(handleBlurSpy.callCount, 1)
- assert.ok(handleBlurSpy.calledWith('2710'))
- })
-
- it('should call onChange and onBlur on input changes with the hex value for fiat', () => {
- const mockStore = {
- metamask: {
- currentCurrency: 'usd',
- conversionRate: 231.06,
- },
- }
- const store = configureMockStore()(mockStore)
- const wrapper = mount(
- <Provider store={store}>
- <TokenInput
- onChange={handleChangeSpy}
- onBlur={handleBlurSpy}
- selectedToken={{
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- }}
- suffix="ABC"
- selectedTokenExchangeRate={2}
- showFiat
- />
- </Provider>
- )
-
- assert.ok(wrapper)
- assert.equal(handleChangeSpy.callCount, 0)
- assert.equal(handleBlurSpy.callCount, 0)
-
- const tokenInputInstance = wrapper.find(TokenInput).at(0).instance()
- assert.equal(tokenInputInstance.state.decimalValue, 0)
- assert.equal(tokenInputInstance.state.hexValue, undefined)
- assert.equal(wrapper.find('.currency-display-component').text(), '$0.00USD')
- const input = wrapper.find('input')
- assert.equal(input.props().value, 0)
-
- input.simulate('change', { target: { value: 1 } })
- assert.equal(handleChangeSpy.callCount, 1)
- assert.ok(handleChangeSpy.calledWith('2710'))
- assert.equal(wrapper.find('.currency-display-component').text(), '$462.12USD')
- assert.equal(tokenInputInstance.state.decimalValue, 1)
- assert.equal(tokenInputInstance.state.hexValue, '2710')
-
- assert.equal(handleBlurSpy.callCount, 0)
- input.simulate('blur')
- assert.equal(handleBlurSpy.callCount, 1)
- assert.ok(handleBlurSpy.calledWith('2710'))
- })
-
- it('should change the state and pass in a new decimalValue when props.value changes', () => {
- const mockStore = {
- metamask: {
- currentCurrency: 'usd',
- conversionRate: 231.06,
- },
- }
- const store = configureMockStore()(mockStore)
- const wrapper = shallow(
- <Provider store={store}>
- <TokenInput
- onChange={handleChangeSpy}
- onBlur={handleBlurSpy}
- selectedToken={{
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- }}
- suffix="ABC"
- selectedTokenExchangeRate={2}
- showFiat
- />
- </Provider>
- )
-
- assert.ok(wrapper)
- const tokenInputInstance = wrapper.find(TokenInput).dive()
- assert.equal(tokenInputInstance.state('decimalValue'), 0)
- assert.equal(tokenInputInstance.state('hexValue'), undefined)
- assert.equal(tokenInputInstance.find(UnitInput).props().value, 0)
-
- tokenInputInstance.setProps({ value: '2710' })
- tokenInputInstance.update()
- assert.equal(tokenInputInstance.state('decimalValue'), 1)
- assert.equal(tokenInputInstance.state('hexValue'), '2710')
- assert.equal(tokenInputInstance.find(UnitInput).props().value, 1)
- })
- })
-})
diff --git a/ui/app/components/token-input/tests/token-input.container.test.js b/ui/app/components/token-input/tests/token-input.container.test.js
deleted file mode 100644
index 2b1c102c8..000000000
--- a/ui/app/components/token-input/tests/token-input.container.test.js
+++ /dev/null
@@ -1,255 +0,0 @@
-import assert from 'assert'
-import proxyquire from 'proxyquire'
-
-let mapStateToProps, mergeProps
-
-proxyquire('../token-input.container.js', {
- 'react-redux': {
- connect: (ms, md, mp) => {
- mapStateToProps = ms
- mergeProps = mp
- return () => ({})
- },
- },
-})
-
-describe('TokenInput container', () => {
- describe('mapStateToProps()', () => {
- it('should return the correct props when send is empty', () => {
- const mockState = {
- metamask: {
- currentCurrency: 'usd',
- tokens: [
- {
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- },
- ],
- selectedTokenAddress: '0x1',
- contractExchangeRates: {},
- send: {},
- preferences: {
- showFiatInTestnets: false,
- },
- provider: {
- type: 'mainnet',
- },
- },
- }
-
- assert.deepEqual(mapStateToProps(mockState), {
- currentCurrency: 'usd',
- selectedToken: {
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- },
- selectedTokenExchangeRate: 0,
- hideConversion: false,
- })
- })
-
- it('should return the correct props when selectedTokenAddress is not found and send is populated', () => {
- const mockState = {
- metamask: {
- currentCurrency: 'usd',
- tokens: [
- {
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- },
- ],
- selectedTokenAddress: '0x2',
- contractExchangeRates: {},
- send: {
- token: { address: 'test' },
- },
- preferences: {
- showFiatInTestnets: false,
- },
- provider: {
- type: 'mainnet',
- },
- },
- }
-
- assert.deepEqual(mapStateToProps(mockState), {
- currentCurrency: 'usd',
- selectedToken: {
- address: 'test',
- },
- selectedTokenExchangeRate: 0,
- hideConversion: false,
- })
- })
-
- it('should return the correct props when contractExchangeRates is populated', () => {
- const mockState = {
- metamask: {
- currentCurrency: 'usd',
- tokens: [
- {
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- },
- ],
- selectedTokenAddress: '0x1',
- contractExchangeRates: {
- '0x1': 5,
- },
- send: {},
- preferences: {
- showFiatInTestnets: false,
- },
- provider: {
- type: 'mainnet',
- },
- },
- }
-
- assert.deepEqual(mapStateToProps(mockState), {
- currentCurrency: 'usd',
- selectedToken: {
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- },
- selectedTokenExchangeRate: 5,
- hideConversion: false,
- })
- })
-
- it('should return the correct props when not in mainnet and showFiatInTestnets is false', () => {
- const mockState = {
- metamask: {
- currentCurrency: 'usd',
- tokens: [
- {
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- },
- ],
- selectedTokenAddress: '0x1',
- contractExchangeRates: {},
- send: {},
- preferences: {
- showFiatInTestnets: false,
- },
- provider: {
- type: 'rinkeby',
- },
- },
- }
-
- assert.deepEqual(mapStateToProps(mockState), {
- currentCurrency: 'usd',
- selectedToken: {
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- },
- selectedTokenExchangeRate: 0,
- hideConversion: true,
- })
- })
-
- it('should return the correct props when not in mainnet and showFiatInTestnets is true', () => {
- const mockState = {
- metamask: {
- currentCurrency: 'usd',
- tokens: [
- {
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- },
- ],
- selectedTokenAddress: '0x1',
- contractExchangeRates: {},
- send: {},
- preferences: {
- showFiatInTestnets: true,
- },
- provider: {
- type: 'rinkeby',
- },
- },
- }
-
- assert.deepEqual(mapStateToProps(mockState), {
- currentCurrency: 'usd',
- selectedToken: {
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- },
- selectedTokenExchangeRate: 0,
- hideConversion: false,
- })
- })
-
- it('should return the correct props when in mainnet and showFiatInTestnets is true', () => {
- const mockState = {
- metamask: {
- currentCurrency: 'usd',
- tokens: [
- {
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- },
- ],
- selectedTokenAddress: '0x1',
- contractExchangeRates: {},
- send: {},
- preferences: {
- showFiatInTestnets: true,
- },
- provider: {
- type: 'mainnet',
- },
- },
- }
-
- assert.deepEqual(mapStateToProps(mockState), {
- currentCurrency: 'usd',
- selectedToken: {
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- },
- selectedTokenExchangeRate: 0,
- hideConversion: false,
- })
- })
- })
-
- describe('mergeProps()', () => {
- it('should return the correct props', () => {
- const mockStateProps = {
- currentCurrency: 'usd',
- selectedToken: {
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- },
- selectedTokenExchangeRate: 5,
- }
-
- assert.deepEqual(mergeProps(mockStateProps, {}, {}), {
- currentCurrency: 'usd',
- selectedToken: {
- address: '0x1',
- decimals: '4',
- symbol: 'ABC',
- },
- selectedTokenExchangeRate: 5,
- suffix: 'ABC',
- })
- })
- })
-})