From 8b5160ce5815954ab7188f1743fbe515a6284d59 Mon Sep 17 00:00:00 2001 From: Matthew Shao Date: Mon, 22 May 2017 21:32:08 +0800 Subject: [web] Add tests for js/components/FlowTable/FlowTableHead.js --- .../components/FlowTable/FlowTableHeadSpec.js | 32 ++++++++ .../__snapshots__/FlowTableHeadSpec.js.snap | 95 ++++++++++++++++++++++ web/src/js/components/FlowTable/FlowTableHead.jsx | 2 +- 3 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 web/src/js/__tests__/components/FlowTable/FlowTableHeadSpec.js create mode 100644 web/src/js/__tests__/components/FlowTable/__snapshots__/FlowTableHeadSpec.js.snap (limited to 'web') diff --git a/web/src/js/__tests__/components/FlowTable/FlowTableHeadSpec.js b/web/src/js/__tests__/components/FlowTable/FlowTableHeadSpec.js new file mode 100644 index 00000000..51ff4ceb --- /dev/null +++ b/web/src/js/__tests__/components/FlowTable/FlowTableHeadSpec.js @@ -0,0 +1,32 @@ +import React from 'react' +import renderer from 'react-test-renderer' +import ConnectedHead, { FlowTableHead } from '../../../components/FlowTable/FlowTableHead' +import { Provider } from 'react-redux' +import configureStore from 'redux-mock-store' + +const mockStore = configureStore() + +describe('FlowTableHead Component', () => { + let sortFn = jest.fn(), + flowTableHead = renderer.create(), + tree =flowTableHead.toJSON() + + it('should render correctly', () => { + expect(tree).toMatchSnapshot() + }) + + it('should handle click', () => { + tree.children[0].props.onClick() + expect(sortFn).toBeCalledWith('TLSColumn', false) + }) + + it('should connect to state', () => { + let store = mockStore({ flows: {sort: {desc: true, column: 'PathColumn'}} }), + provider = renderer.create( + + + ), + tree = provider.toJSON() + expect(tree).toMatchSnapshot() + }) +}) diff --git a/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowTableHeadSpec.js.snap b/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowTableHeadSpec.js.snap new file mode 100644 index 00000000..3f066c6e --- /dev/null +++ b/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowTableHeadSpec.js.snap @@ -0,0 +1,95 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`FlowTableHead Component should connect to state 1`] = ` + + + + + + + + + Path + + + Method + + + Status + + + Size + + + Time + + +`; + +exports[`FlowTableHead Component should render correctly 1`] = ` + + + + + + + + + Path + + + Method + + + Status + + + Size + + + Time + + +`; diff --git a/web/src/js/components/FlowTable/FlowTableHead.jsx b/web/src/js/components/FlowTable/FlowTableHead.jsx index 59ad73e2..bbd8c916 100644 --- a/web/src/js/components/FlowTable/FlowTableHead.jsx +++ b/web/src/js/components/FlowTable/FlowTableHead.jsx @@ -12,7 +12,7 @@ FlowTableHead.propTypes = { sortColumn: PropTypes.string, } -function FlowTableHead({ sortColumn, sortDesc, setSort }) { +export function FlowTableHead({ sortColumn, sortDesc, setSort }) { const sortType = sortDesc ? 'sort-desc' : 'sort-asc' return ( -- cgit v1.2.3