|
1 import React from 'react'; |
|
2 import { shallow } from 'enzyme'; |
|
3 import NotesList from '../NotesList'; |
|
4 import Immutable from 'immutable'; |
|
5 |
|
6 const setup = propOverrides => { |
|
7 const props = Object.assign({ |
|
8 notes: Immutable.List([{ |
|
9 id: 'note1', |
|
10 text: 'test text 1' |
|
11 }, |
|
12 { |
|
13 id: 'note2', |
|
14 text: 'test text 2' |
|
15 }, |
|
16 { |
|
17 id: 'note3', |
|
18 text: 'test text 3' |
|
19 }]) |
|
20 }, propOverrides); |
|
21 |
|
22 const wrapper = shallow(<NotesList {...props} />); |
|
23 |
|
24 return { |
|
25 props, |
|
26 wrapper, |
|
27 } |
|
28 }; |
|
29 |
|
30 describe('Notes container Component', () => { |
|
31 test('render', () => { |
|
32 const { wrapper } = setup(); |
|
33 expect(wrapper.exists()).toBe(true) |
|
34 }); |
|
35 |
|
36 test('test note nb', () => { |
|
37 const { wrapper } = setup(); |
|
38 expect(wrapper.find('Note').getNodes()).toHaveLength(3); |
|
39 }); |
|
40 |
|
41 test('test node key', () => { |
|
42 const { wrapper } = setup(); |
|
43 wrapper.find('li').forEach((node, i) => { |
|
44 expect(node.key()).toBe('note'+(i+1)); |
|
45 }); |
|
46 }); |
|
47 |
|
48 test('test node note', () => { |
|
49 const { wrapper } = setup(); |
|
50 wrapper.find('Note').forEach((node, i) => { |
|
51 const {note} = node.props(); |
|
52 expect(note.id).toBe('note'+(i+1)); |
|
53 expect(note.text).toBe('test text '+(i+1)); |
|
54 }); |
|
55 }); |
|
56 |
|
57 }); |
|
58 |