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}` ]]) + }) + }) + + }) + +})