client/src/components/__tests__/NoteInput.test.js
changeset 3 3b5d37d84cfe
child 8 6f572b6b6be3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/src/components/__tests__/NoteInput.test.js	Tue May 23 13:15:34 2017 +0200
@@ -0,0 +1,40 @@
+import React from 'react';
+import { shallow, mount } from 'enzyme';
+import NoteInput from '../NoteInput';
+
+const setup = (propOverrides, doMount=false) => {
+  const props = Object.assign({
+      addNote: jest.fn()
+  }, propOverrides);
+
+  const renderFn = doMount?mount:shallow; 
+  const wrapper = renderFn(<NoteInput {...props} />);
+
+  return {
+    props,
+    wrapper,
+  }
+};
+
+describe('Notes container Component', () => {
+  test('render', () => {
+    const { wrapper } = setup();
+    expect(wrapper.exists()).toBe(true)
+  });
+
+  test('click button', () => {
+      const { props, wrapper } = setup({}, true);
+      wrapper.find('button').simulate('click');
+      expect(props.addNote.mock.calls.length).toBe(1);
+  });
+
+  test('note value on clickbutton', () => {
+      const { props, wrapper } = setup({}, true);
+      wrapper.find('textarea').simulate('change', {target: {value: 'note text'}});
+      wrapper.find('button').simulate('click');
+      expect(props.addNote.mock.calls.length).toBe(1);
+      expect(props.addNote.mock.calls[0]).toEqual(['note text']);
+  });
+
+});
+