From 9f58093954c5f84b9ba0de24339ca5b4fb13a117 Mon Sep 17 00:00:00 2001 From: Matthew Shao Date: Sun, 25 Jun 2017 21:13:53 +0800 Subject: [web] Add tests for js/components/EventLog.jsx --- web/src/js/__tests__/components/EventLogSpec.js | 57 +++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 web/src/js/__tests__/components/EventLogSpec.js (limited to 'web/src/js/__tests__/components/EventLogSpec.js') diff --git a/web/src/js/__tests__/components/EventLogSpec.js b/web/src/js/__tests__/components/EventLogSpec.js new file mode 100644 index 00000000..651ac83b --- /dev/null +++ b/web/src/js/__tests__/components/EventLogSpec.js @@ -0,0 +1,57 @@ +jest.mock('../../components/EventLog/EventList') + +import React from 'react' +import renderer from 'react-test-renderer' +import TestUtils from 'react-dom/test-utils' +import ConnectedComponent, { EventLog } from '../../components/EventLog' +import { Provider } from 'react-redux' +import { TStore } from '../ducks/tutils' + +window.addEventListener = jest.fn() +window.removeEventListener = jest.fn() + +describe('EventLog Component', () => { + let store = TStore(), + provider = renderer.create( + + + ), + tree = provider.toJSON() + + it('should connect to state and render correctly', () => { + expect(tree).toMatchSnapshot() + }) + + it('should handl toggleFilter', () => { + let debugToggleButton = tree.children[0].children[1].children[0] + debugToggleButton.props.onClick() + }) + + provider = TestUtils.renderIntoDocument( + ) + let eventLog = TestUtils.findRenderedComponentWithType(provider, EventLog), + mockEvent = { preventDefault: jest.fn() } + + it('should handle DragStart', () => { + eventLog.onDragStart(mockEvent) + expect(mockEvent.preventDefault).toBeCalled() + expect(window.addEventListener).toBeCalledWith('mousemove', eventLog.onDragMove) + expect(window.addEventListener).toBeCalledWith('mouseup', eventLog.onDragStop) + expect(window.addEventListener).toBeCalledWith('dragend', eventLog.onDragStop) + mockEvent.preventDefault.mockClear() + }) + + it('should handle DragMove', () => { + eventLog.onDragMove(mockEvent) + expect(mockEvent.preventDefault).toBeCalled() + mockEvent.preventDefault.mockClear() + }) + + console.error = jest.fn() // silent the error. + it('should handle DragStop', () => { + eventLog.onDragStop(mockEvent) + expect(mockEvent.preventDefault).toBeCalled() + expect(window.removeEventListener).toBeCalledWith('mousemove', eventLog.onDragMove) + }) + +}) -- cgit v1.2.3 From 9ff29cdb2b790e0b88fb8a5519dc13785f3c9819 Mon Sep 17 00:00:00 2001 From: Matthew Shao Date: Mon, 26 Jun 2017 09:46:29 +0800 Subject: [web] Minor fix and Coverage ++ --- web/src/js/__tests__/components/EventLogSpec.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'web/src/js/__tests__/components/EventLogSpec.js') diff --git a/web/src/js/__tests__/components/EventLogSpec.js b/web/src/js/__tests__/components/EventLogSpec.js index 651ac83b..8510de55 100644 --- a/web/src/js/__tests__/components/EventLogSpec.js +++ b/web/src/js/__tests__/components/EventLogSpec.js @@ -3,7 +3,7 @@ jest.mock('../../components/EventLog/EventList') import React from 'react' import renderer from 'react-test-renderer' import TestUtils from 'react-dom/test-utils' -import ConnectedComponent, { EventLog } from '../../components/EventLog' +import EventLog, { PureEventLog } from '../../components/EventLog' import { Provider } from 'react-redux' import { TStore } from '../ducks/tutils' @@ -14,7 +14,7 @@ describe('EventLog Component', () => { let store = TStore(), provider = renderer.create( - + ), tree = provider.toJSON() @@ -22,14 +22,14 @@ describe('EventLog Component', () => { expect(tree).toMatchSnapshot() }) - it('should handl toggleFilter', () => { + it('should handle toggleFilter', () => { let debugToggleButton = tree.children[0].children[1].children[0] debugToggleButton.props.onClick() }) provider = TestUtils.renderIntoDocument( - ) - let eventLog = TestUtils.findRenderedComponentWithType(provider, EventLog), + ) + let eventLog = TestUtils.findRenderedComponentWithType(provider, PureEventLog), mockEvent = { preventDefault: jest.fn() } it('should handle DragStart', () => { -- cgit v1.2.3