aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/__tests__/components/EventLogSpec.js
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2017-06-26 12:32:11 +0200
committerGitHub <noreply@github.com>2017-06-26 12:32:11 +0200
commit35430bf99f36177978b0156b47e010198f679e27 (patch)
tree1692f7231ca93e2e494b29b397119f7054f410d5 /web/src/js/__tests__/components/EventLogSpec.js
parent646f26b0e288109f0c975d616a242d17442792eb (diff)
parent9ff29cdb2b790e0b88fb8a5519dc13785f3c9819 (diff)
downloadmitmproxy-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.js57
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)
+ })
+
+})