diff --git a/src/pages/__tests__/MainPage.test.tsx b/src/pages/__tests__/MainPage.test.tsx index 522414a48..ce8e989fb 100644 --- a/src/pages/__tests__/MainPage.test.tsx +++ b/src/pages/__tests__/MainPage.test.tsx @@ -1,14 +1,101 @@ -// import React from 'react'; -// import { mount } from 'enzyme'; -// import MainPage from '../MainPage'; -// import menuData from '../../assets/sider.json'; -// import 'nino-cli/scripts/setup'; +import React from 'react'; +import { shallow, mount } from 'enzyme'; +import MainPage from '../MainPage'; +import 'nino-cli/scripts/setup'; +import { MappingProps } from '../../../server/controller/save'; +const menuData = [ + { + key: 'all', + title: 'all', + }, + { + key: '读书', + title: '读书', + children: [ + { + key: '摘抄', + value: '摘抄', + }, + { + key: '思路', + value: '思路', + }, + ], + }, +]; +const dataSource = [ + { + id: '32e89f38116080d6b7608cf2137f3c96', + title: '音程表', + url: './assets/mapping/32e89f38116080d6b7608cf2137f3c96.json', + createTime: 1559522075108, + modifyTime: 1559523700429, + type: '音乐', + subType: '乐理', + category: 'markdown', + }, + { + id: '7a73d21c13f1eb55053d4af66e0d057b', + title: 'windows 下安装 rust', + url: './assets/mapping/7a73d21c13f1eb55053d4af66e0d057b.json', + createTime: 1559617097664, + modifyTime: 1559633639037, + type: 'Rust', + subType: '安装', + category: 'markdown', + }, +]; describe('MainPage', () => { it('render correctly', () => { - // const wrapper = mount( - // , - // ); - expect(1).toBe(1); + const wrapper = shallow( + , + ); + expect(wrapper).toMatchSnapshot(); + }); + + it('onEdit of init button works correctly', () => { + const onEdit = jest.fn(); + const wrapper = mount( + , + ); + wrapper + .find('Button') + .props() + .onClick(); + expect(onEdit).toHaveBeenCalled(); + }); + + it('onEdit and onDelete in Dropdown works correctly', () => { + const onEdit = jest.fn(); + const onDelete = jest.fn(); + const wrapper = mount( + , + ); + wrapper + .find('Item') + .first() + .simulate('contextmenu'); + wrapper + .find('.ant-dropdown-menu-item') + .first() + .props() + .onClick(); + expect(onEdit).toHaveBeenCalled(); + wrapper + .find('.ant-dropdown-menu-item') + .last() + .props() + .onClick(); + expect(onDelete).toHaveBeenCalled(); }); }); diff --git a/src/pages/__tests__/__snapshots__/MainPage.test.tsx.snap b/src/pages/__tests__/__snapshots__/MainPage.test.tsx.snap new file mode 100644 index 000000000..4e1f11835 --- /dev/null +++ b/src/pages/__tests__/__snapshots__/MainPage.test.tsx.snap @@ -0,0 +1,146 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`MainPage render correctly 1`] = ` + + + + + all + + + + 摘抄 + + + 思路 + + + + + + + + + all + + + all + + + +
+ +
+
+ +
+ 你睡了一下午,醒的时候屋子里黑漆漆,一点声音都没有。抬头望了望窗外,天还没完全黑。四处摸了摸,在枕头下找到手机,打开后屏幕亮起,干净,没有一条信息 +
+
+ 打开电脑,打开 github。pull request 写得很菜,collaborators 都在喷你,但忽然就不孤独了 +
+
+
+
+`;