diff options
author | Maximilian Hils <git@maximilianhils.com> | 2017-06-26 12:32:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-26 12:32:11 +0200 |
commit | 35430bf99f36177978b0156b47e010198f679e27 (patch) | |
tree | 1692f7231ca93e2e494b29b397119f7054f410d5 /web/src/js/__tests__/components/EventLogSpec.js | |
parent | 646f26b0e288109f0c975d616a242d17442792eb (diff) | |
parent | 9ff29cdb2b790e0b88fb8a5519dc13785f3c9819 (diff) | |
download | mitmproxy-35430bf99f36177978b0156b47e010198f679e27.tar.gz mitmproxy-35430bf99f36177978b0156b47e010198f679e27.tar.bz2 mitmproxy-35430bf99f36177978b0156b47e010198f679e27.zip |
Merge pull request #2413 from MatthewShao/jest-dev
[web] Add tests for js/components/*
Diffstat (limited to 'web/src/js/__tests__/components/EventLogSpec.js')
-rw-r--r-- | web/src/js/__tests__/components/EventLogSpec.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/web/src/js/__tests__/components/EventLogSpec.js b/web/src/js/__tests__/components/EventLogSpec.js new file mode 100644 index 00000000..8510de55 --- /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 EventLog, { PureEventLog } 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( + <Provider store={store}> + <EventLog/> + </Provider>), + tree = provider.toJSON() + + it('should connect to state and render correctly', () => { + expect(tree).toMatchSnapshot() + }) + + it('should handle toggleFilter', () => { + let debugToggleButton = tree.children[0].children[1].children[0] + debugToggleButton.props.onClick() + }) + + provider = TestUtils.renderIntoDocument( + <Provider store={store}><EventLog/></Provider>) + let eventLog = TestUtils.findRenderedComponentWithType(provider, PureEventLog), + 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) + }) + +}) |