mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-22 15:37:45 +00:00
[web] Add tests for js/components/common/Dropdown.jsx
This commit is contained in:
parent
f295bfd558
commit
ce15501c54
38
web/src/js/__tests__/components/common/DropdownSpec.js
Normal file
38
web/src/js/__tests__/components/common/DropdownSpec.js
Normal file
@ -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(<Dropdown dropup btnClass="foo">
|
||||||
|
<a href="#">1</a>
|
||||||
|
<Divider/>
|
||||||
|
<a href="#">2</a>
|
||||||
|
</Dropdown>),
|
||||||
|
dropdown = renderer.create(<Dropdown btnClass="foo">
|
||||||
|
<a href="#">1</a>
|
||||||
|
<a href="#">2</a>
|
||||||
|
</Dropdown>)
|
||||||
|
|
||||||
|
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()
|
||||||
|
})
|
||||||
|
})
|
@ -0,0 +1,162 @@
|
|||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`Dropdown Component should handle open/close action 1`] = `
|
||||||
|
<div
|
||||||
|
className="dropup"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
className="foo"
|
||||||
|
href="#"
|
||||||
|
onClick={[Function]}
|
||||||
|
/>
|
||||||
|
<ul
|
||||||
|
className="dropdown-menu"
|
||||||
|
role="menu"
|
||||||
|
>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="#"
|
||||||
|
>
|
||||||
|
1
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<hr
|
||||||
|
className="divider"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="#"
|
||||||
|
>
|
||||||
|
2
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`Dropdown Component should handle open/close action 2`] = `
|
||||||
|
<div
|
||||||
|
className="dropup"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
className="foo"
|
||||||
|
href="#"
|
||||||
|
onClick={[Function]}
|
||||||
|
/>
|
||||||
|
<ul
|
||||||
|
className="dropdown-menu"
|
||||||
|
role="menu"
|
||||||
|
>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="#"
|
||||||
|
>
|
||||||
|
1
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<hr
|
||||||
|
className="divider"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="#"
|
||||||
|
>
|
||||||
|
2
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`Dropdown Component should render correctly 1`] = `
|
||||||
|
<div
|
||||||
|
className="dropup"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
className="foo"
|
||||||
|
href="#"
|
||||||
|
onClick={[Function]}
|
||||||
|
/>
|
||||||
|
<ul
|
||||||
|
className="dropdown-menu"
|
||||||
|
role="menu"
|
||||||
|
>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="#"
|
||||||
|
>
|
||||||
|
1
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<hr
|
||||||
|
className="divider"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="#"
|
||||||
|
>
|
||||||
|
2
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`Dropdown Component should render correctly 2`] = `
|
||||||
|
<div
|
||||||
|
className="dropdown"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
className="foo"
|
||||||
|
href="#"
|
||||||
|
onClick={[Function]}
|
||||||
|
/>
|
||||||
|
<ul
|
||||||
|
className="dropdown-menu"
|
||||||
|
role="menu"
|
||||||
|
>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="#"
|
||||||
|
>
|
||||||
|
1
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="#"
|
||||||
|
>
|
||||||
|
2
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
`;
|
Loading…
Reference in New Issue
Block a user