client/src/components/__tests__/NotesList.test.js
changeset 3 3b5d37d84cfe
child 168 ea92f4fe783d
equal deleted inserted replaced
2:b52921a63e77 3:3b5d37d84cfe
       
     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