From 4009b9c7d7b272301778955cc7bdd5a27ba4fcd3 Mon Sep 17 00:00:00 2001 From: Jerko Steiner Date: Sat, 17 Jun 2017 10:56:05 -0400 Subject: [PATCH] Add Input-test.js --- src/client/components/Input.js | 2 +- src/client/components/__tests__/Input-test.js | 61 +++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 src/client/components/__tests__/Input-test.js diff --git a/src/client/components/Input.js b/src/client/components/Input.js index 57318ac..7abe9f1 100644 --- a/src/client/components/Input.js +++ b/src/client/components/Input.js @@ -38,7 +38,7 @@ export default class Input extends React.Component {
{ + + let component, node, notify + function render () { + notify = jest.fn() + component = TestUtils.renderIntoDocument( + + ) + node = ReactDOM.findDOMNode(component) + } + let message = 'test message' + + beforeEach(() => render()) + + describe('send message', () => { + + let input + beforeEach(() => { + peers.message.mockClear() + input = node.querySelector('input') + TestUtils.Simulate.change(input, { + target: { value: message } + }) + expect(input.value).toBe(message) + }) + + describe('handleSubmit', () => { + it('sends a message', () => { + TestUtils.Simulate.submit(node) + expect(input.value).toBe('') + expect(peers.message.mock.calls).toEqual([[ message ]]) + expect(notify.mock.calls).toEqual([[ `You: ${message}` ]]) + }) + }) + + describe('handleKeyPress', () => { + it('sends a message', () => { + TestUtils.Simulate.keyPress(input, { + key: 'Enter' + }) + expect(input.value).toBe('') + expect(peers.message.mock.calls).toEqual([[ message ]]) + expect(notify.mock.calls).toEqual([[ `You: ${message}` ]]) + }) + }) + + }) + +})