From ce15501c54a30122d2ec0877e214c6a264ba6cd3 Mon Sep 17 00:00:00 2001 From: Matthew Shao Date: Thu, 11 May 2017 08:43:50 +0800 Subject: [web] Add tests for js/components/common/Dropdown.jsx --- .../js/__tests__/components/common/DropdownSpec.js | 38 +++++ .../common/__snapshots__/DropdownSpec.js.snap | 162 +++++++++++++++++++++ 2 files changed, 200 insertions(+) create mode 100644 web/src/js/__tests__/components/common/DropdownSpec.js create mode 100644 web/src/js/__tests__/components/common/__snapshots__/DropdownSpec.js.snap (limited to 'web') diff --git a/web/src/js/__tests__/components/common/DropdownSpec.js b/web/src/js/__tests__/components/common/DropdownSpec.js new file mode 100644 index 00000000..c8c57ea6 --- /dev/null +++ b/web/src/js/__tests__/components/common/DropdownSpec.js @@ -0,0 +1,38 @@ +import React from 'react' +import renderer from 'react-test-renderer' +import Dropdown, { Divider } from '../../../components/common/Dropdown' + +describe('Dropdown Component', () => { + let dropup = renderer.create( + 1 + + 2 + ), + dropdown = renderer.create( + 1 + 2 + ) + + it('should render correctly', () => { + let tree = dropup.toJSON() + expect(tree).toMatchSnapshot() + + tree = dropdown.toJSON() + expect(tree).toMatchSnapshot() + }) + + it('should handle open/close action', () => { + document.body.addEventListener('click', ()=>{}) + let tree = dropup.toJSON(), + e = { preventDefault: jest.fn() } + tree.children[0].props.onClick(e) + expect(tree).toMatchSnapshot() + + // click action when the state is open + tree.children[0].props.onClick(e) + + // close + document.body.click() + expect(tree).toMatchSnapshot() + }) +}) diff --git a/web/src/js/__tests__/components/common/__snapshots__/DropdownSpec.js.snap b/web/src/js/__tests__/components/common/__snapshots__/DropdownSpec.js.snap new file mode 100644 index 00000000..57d4968d --- /dev/null +++ b/web/src/js/__tests__/components/common/__snapshots__/DropdownSpec.js.snap @@ -0,0 +1,162 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Dropdown Component should handle open/close action 1`] = ` +
+ + +
+`; + +exports[`Dropdown Component should handle open/close action 2`] = ` +
+ + +
+`; + +exports[`Dropdown Component should render correctly 1`] = ` +
+ + +
+`; + +exports[`Dropdown Component should render correctly 2`] = ` +
+ + +
+`; -- cgit v1.2.3