From 5a3b04636bbd0ea667b609e0bc604aa95d455631 Mon Sep 17 00:00:00 2001 From: zy410419243 Date: Mon, 10 Jun 2019 08:47:01 +0800 Subject: [PATCH 1/2] test(MainPage): update cases --- src/pages/__tests__/MainPage.test.tsx | 64 ++++++-- .../__snapshots__/MainPage.test.tsx.snap | 146 ++++++++++++++++++ 2 files changed, 201 insertions(+), 9 deletions(-) create mode 100644 src/pages/__tests__/__snapshots__/MainPage.test.tsx.snap diff --git a/src/pages/__tests__/MainPage.test.tsx b/src/pages/__tests__/MainPage.test.tsx index 522414a48..0a69c7f05 100644 --- a/src/pages/__tests__/MainPage.test.tsx +++ b/src/pages/__tests__/MainPage.test.tsx @@ -1,14 +1,60 @@ -// 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 } 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(); }); }); 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 都在喷你,但忽然就不孤独了 +
+
+
+
+`; From d0c24e1627dc7c95f98443bf57a220a14f1ba8f6 Mon Sep 17 00:00:00 2001 From: zy410419243 Date: Mon, 10 Jun 2019 09:09:17 +0800 Subject: [PATCH 2/2] test(MainPage): update cases --- src/pages/__tests__/MainPage.test.tsx | 43 ++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/src/pages/__tests__/MainPage.test.tsx b/src/pages/__tests__/MainPage.test.tsx index 0a69c7f05..ce8e989fb 100644 --- a/src/pages/__tests__/MainPage.test.tsx +++ b/src/pages/__tests__/MainPage.test.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { shallow } from 'enzyme'; +import { shallow, mount } from 'enzyme'; import MainPage from '../MainPage'; import 'nino-cli/scripts/setup'; import { MappingProps } from '../../../server/controller/save'; @@ -57,4 +57,45 @@ describe('MainPage', () => { ); 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(); + }); });