UNPKG

zarm-web

Version:
165 lines (146 loc) 5.39 kB
import React from 'react'; import { render, shallow } from 'enzyme'; import toJson from 'enzyme-to-json'; import Menu from '../index'; import { SubMenu } from '../SubMenu'; describe('Menu', () => { it('renders horizontal Menu correctly', () => { const wrapper = render( <Menu mode="horizontal" defaultSelectedKeys={['a']}> <Menu.Item key="a">意健险</Menu.Item> <Menu.Item key="b">健康险个险</Menu.Item> <Menu.Item key="c">雇主责任险</Menu.Item> <Menu.Item key="d">运营后台管理</Menu.Item> <Menu.Item key="e">公共功能</Menu.Item> <Menu.Item key="f">询报价</Menu.Item> </Menu> ); expect(toJson(wrapper)).toMatchSnapshot(); }); it('renders inline Menu with SubMenu correctly', () => { const wrapper = render( <Menu> <Menu.SubMenu title="新契约"> <Menu.Item>投保单复核</Menu.Item> <Menu.Item>在线投保单管理</Menu.Item> <Menu.Item>投保单录入</Menu.Item> <Menu.Item>新增计划</Menu.Item> </Menu.SubMenu> <Menu.SubMenu title="核保"> <Menu.Item>核保权限定义</Menu.Item> <Menu.Item>核保权限分配</Menu.Item> <Menu.Item>规则配置</Menu.Item> <Menu.Item>人工核保</Menu.Item> </Menu.SubMenu> <Menu.SubMenu title="批改"> <Menu.Item>批改新增</Menu.Item> <Menu.Item>批改复核</Menu.Item> <Menu.Item>批改回退</Menu.Item> <Menu.Item>批改共享池</Menu.Item> </Menu.SubMenu> </Menu> ); expect(toJson(wrapper)).toMatchSnapshot(); }); it('renders nested SubMenus correctly', () => { const wrapper = render( <Menu> <Menu.SubMenu title="理赔"> <Menu.Item>报案</Menu.Item> <Menu.Item>任务分配</Menu.Item> <Menu.SubMenu title="理赔工作流"> <Menu.Item>休假维护</Menu.Item> <Menu.Item>时效维护</Menu.Item> </Menu.SubMenu> </Menu.SubMenu> <Menu.SubMenu title="新契约"> <Menu.Item>投保单复核</Menu.Item> <Menu.Item>在线投保单管理</Menu.Item> <Menu.Item>投保单录入</Menu.Item> <Menu.Item>新增计划</Menu.Item> </Menu.SubMenu> <Menu.SubMenu title="核保"> <Menu.Item>核保权限定义</Menu.Item> <Menu.Item>核保权限分配</Menu.Item> <Menu.Item>规则配置</Menu.Item> <Menu.Item>人工核保</Menu.Item> </Menu.SubMenu> </Menu> ); expect(toJson(wrapper)).toMatchSnapshot(); }); it('renders dark Menu correctly', () => { const wrapper = render( <Menu theme="dark"> <Menu.SubMenu title="新契约"> <Menu.Item>投保单复核</Menu.Item> <Menu.Item>在线投保单管理</Menu.Item> <Menu.Item>投保单录入</Menu.Item> <Menu.Item>新增计划</Menu.Item> </Menu.SubMenu> <Menu.SubMenu title="核保"> <Menu.Item>核保权限定义</Menu.Item> <Menu.Item>核保权限分配</Menu.Item> <Menu.Item>规则配置</Menu.Item> <Menu.Item>人工核保</Menu.Item> </Menu.SubMenu> <Menu.SubMenu title="批改"> <Menu.Item>批改新增</Menu.Item> <Menu.Item>批改复核</Menu.Item> <Menu.Item>批改回退</Menu.Item> <Menu.Item>批改共享池</Menu.Item> </Menu.SubMenu> </Menu> ); expect(toJson(wrapper)).toMatchSnapshot(); }); it('renders Menu with Divider correctly', () => { const wrapper = render( <Menu theme="dark"> <Menu.Item>投保单复核</Menu.Item> <Menu.Item>在线投保单管理</Menu.Item> <Menu.Divider /> <Menu.Item>投保单录入</Menu.Item> <Menu.Item>新增计划</Menu.Item> </Menu> ); expect(toJson(wrapper)).toMatchSnapshot(); }); it('renders collpased Menu correctly', () => { const wrapper = render( <Menu inlineCollapsed> <Menu.Item>投保单复核</Menu.Item> <Menu.Item>在线投保单管理</Menu.Item> <Menu.Divider /> <Menu.Item>投保单录入</Menu.Item> <Menu.Item>新增计划</Menu.Item> </Menu> ); expect(toJson(wrapper)).toMatchSnapshot(); }); it('behaves correctly when toggling collapsed status', () => { const wrapper = shallow( <Menu> <Menu.Item>投保单复核</Menu.Item> <Menu.Item>在线投保单管理</Menu.Item> <Menu.Item>投保单录入</Menu.Item> <Menu.Item>新增计划</Menu.Item> </Menu> ); wrapper.setProps({ inlineCollapsed: true }); expect(wrapper.find('.za-menu').hasClass('za-menu-collapsed')).toBeTruthy(); }); it('behaves correctly when toggling subMenu', () => { const subMenuKey = 'key'; const wrapper = shallow( <SubMenu openKeys={[]} subMenuKey={subMenuKey}> <Menu.Item>投保单复核</Menu.Item> <Menu.Item>在线投保单管理</Menu.Item> <Menu.Item>投保单录入</Menu.Item> <Menu.Item>新增计划</Menu.Item> </SubMenu> ); wrapper.setProps({ openKeys: [subMenuKey] }); expect(wrapper.find('li').hasClass('open')).toBeTruthy(); }); });