aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/send_/send-content/send-row-wrapper/tests/send-row-wrapper-component.test.js
blob: 30280e1d007f9e1ddc9f78c8dd9ad55a098d65ab (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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')
    })
  })
})