-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathNoteFilter.test.js
56 lines (44 loc) · 1.22 KB
/
NoteFilter.test.js
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
/* eslint-env jest */
import React from 'react'
import renderer from 'react-test-renderer'
import { shallow } from 'enzyme'
import NoteFilter from './NoteFilter'
import style from './NoteFilter.css'
describe('NoteFilter', () => {
test('renders correctly', () => {
expect(renderer.create(
<NoteFilter value='test'
onChange={() => {}}
onReset={() => {}} />
)).toMatchSnapshot()
expect(renderer.create(
<NoteFilter value=''
onChange={() => {}}
onReset={() => {}} />
)).toMatchSnapshot()
})
test('reset button interaction', () => {
const onResetMock = jest.fn()
const wrapper = shallow(
<NoteFilter value='test'
onChange={() => {}}
onReset={onResetMock} />
)
wrapper.find('button').first().simulate('click')
expect(onResetMock).toHaveBeenCalled()
})
test('input field interaction', () => {
const onChangeMock = jest.fn()
const wrapper = shallow(
<NoteFilter value='test'
onChange={onChangeMock}
onReset={() => {}} />
)
wrapper.find(`input.${style.input}`).simulate('change', {
target: {
value: 'foo'
}
})
expect(onChangeMock).toHaveBeenCalledWith('foo')
})
})