client/src/components/__tests__/NotesList.test.js
changeset 3 3b5d37d84cfe
child 168 ea92f4fe783d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/src/components/__tests__/NotesList.test.js	Tue May 23 13:15:34 2017 +0200
@@ -0,0 +1,58 @@
+import React from 'react';
+import { shallow } from 'enzyme';
+import NotesList from '../NotesList';
+import Immutable from 'immutable';
+
+const setup = propOverrides => {
+  const props = Object.assign({
+      notes: Immutable.List([{
+          id: 'note1',
+          text: 'test text 1'
+        },
+        {
+          id: 'note2',
+          text: 'test text 2'
+        },
+        {
+          id: 'note3',
+          text: 'test text 3'
+        }])
+  }, propOverrides);
+
+  const wrapper = shallow(<NotesList {...props} />);
+
+  return {
+    props,
+    wrapper,
+  }
+};
+
+describe('Notes container Component', () => {
+  test('render', () => {
+    const { wrapper } = setup();
+    expect(wrapper.exists()).toBe(true)
+  });
+
+  test('test note nb', () => {
+    const { wrapper } = setup();
+    expect(wrapper.find('Note').getNodes()).toHaveLength(3);
+  });
+
+  test('test node key', () => {
+    const { wrapper } = setup();
+    wrapper.find('li').forEach((node, i) => {
+      expect(node.key()).toBe('note'+(i+1));
+    });
+  });
+
+  test('test node note', () => {
+    const { wrapper } = setup();
+    wrapper.find('Note').forEach((node, i) => {
+      const {note} = node.props();
+      expect(note.id).toBe('note'+(i+1));
+      expect(note.text).toBe('test text '+(i+1));
+    });
+  });
+
+});
+