1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-25 21:00:23 +02:00
metamask-extension/ui/app/pages/send/send-content/send-row-wrapper/tests/send-row-wrapper-component.test.js
Chi Kei Chan 931aaeb700 Add token selection to the send screen (#6445)
* Move send to pages/

* Fix unit tests

* Finish UI

* Integrate asset dropdown to send actions

* Remove console.log

* Hide asset change during edit

* Enable switch from send token to seand eth

* Enable switching from token to eth when editing

* Fix linter

* Fixing test

* Fix unit tests

* Fix linter

* Fix react warning; remove console.log

* fix flat test

* Add metrics

* Address code review comments

* Consistent spacing between send screen form rows.

* Reduce height of gas buttons on send screen.

* Make send screen gas button height dependent on size of contents.
2019-04-17 16:45:13 -02:30

80 lines
2.9 KiB
JavaScript

import React from 'react'
import assert from 'assert'
import { shallow } from 'enzyme'
import SendRowWrapper from '../send-row-wrapper.component.js'
import SendRowErrorMessage from '../send-row-error-message/send-row-error-message.container'
describe('SendContent Component', function () {
let wrapper
beforeEach(() => {
wrapper = shallow(<SendRowWrapper
errorType={'mockErrorType'}
label={'mockLabel'}
showError={false}
>
<span>Mock Form Field</span>
</SendRowWrapper>)
})
describe('render', () => {
it('should render a div with a send-v2__form-row class', () => {
assert.equal(wrapper.find('div.send-v2__form-row').length, 1)
})
it('should render two children of the root div, with send-v2_form label and field classes', () => {
assert.equal(wrapper.find('.send-v2__form-row > .send-v2__form-label').length, 1)
assert.equal(wrapper.find('.send-v2__form-row > .send-v2__form-field').length, 1)
})
it('should render the label as a child of the send-v2__form-label', () => {
assert.equal(wrapper.find('.send-v2__form-row > .send-v2__form-label').childAt(0).text(), 'mockLabel')
})
it('should render its first child as a child of the send-v2__form-field', () => {
assert.equal(wrapper.find('.send-v2__form-row > .send-v2__form-field').childAt(0).text(), 'Mock Form Field')
})
it('should not render a SendRowErrorMessage if showError is false', () => {
assert.equal(wrapper.find(SendRowErrorMessage).length, 0)
})
it('should render a SendRowErrorMessage with and errorType props if showError is true', () => {
wrapper.setProps({showError: true})
assert.equal(wrapper.find(SendRowErrorMessage).length, 1)
const expectedSendRowErrorMessage = wrapper.find('.send-v2__form-row > .send-v2__form-label').childAt(1)
assert(expectedSendRowErrorMessage.is(SendRowErrorMessage))
assert.deepEqual(
expectedSendRowErrorMessage.props(),
{ errorType: 'mockErrorType' }
)
})
it('should render its second child as a child of the send-v2__form-field, if it has two children', () => {
wrapper = shallow(<SendRowWrapper
errorType={'mockErrorType'}
label={'mockLabel'}
showError={false}
>
<span>Mock Custom Label Content</span>
<span>Mock Form Field</span>
</SendRowWrapper>)
assert.equal(wrapper.find('.send-v2__form-row > .send-v2__form-field').childAt(0).text(), 'Mock Form Field')
})
it('should render its first child as the last child of the send-v2__form-label, if it has two children', () => {
wrapper = shallow(<SendRowWrapper
errorType={'mockErrorType'}
label={'mockLabel'}
showError={false}
>
<span>Mock Custom Label Content</span>
<span>Mock Form Field</span>
</SendRowWrapper>)
assert.equal(wrapper.find('.send-v2__form-row > .send-v2__form-label').childAt(1).text(), 'Mock Custom Label Content')
})
})
})