UNPKG

qt-public-ui

Version:

新设计规范下业务组件库

127 lines 4.69 kB
import React, { useState } from 'react'; import { mount } from 'enzyme'; import PageCard from '../'; import { Skeleton } from 'antd'; describe('PageCard', function () { it('can be expandable', function () { var wrapper = mount( /*#__PURE__*/React.createElement(PageCard, { title: "\u5168\u90E8\u63A8\u5E7F\u6E20\u9053", subTitle: "\u5168\u90E8\u63A8\u5E7F\u6E20\u9053", expandable: true }, /*#__PURE__*/React.createElement(Skeleton, { avatar: true, paragraph: { rows: 4 } }))); expect(wrapper.find('Icon').hasClass('umui-expand-icon')).toBeTruthy(); expect(wrapper.find('Icon').prop('type')).toBe('umicon-circle-down'); var expandBtn = wrapper.find('.umui-expand-controller'); expandBtn.simulate('click'); expect(wrapper.find('Icon').prop('type')).toBe('umicon-circle-up'); }); it('can be controllable component', function () { var MockPageCard = function MockPageCard() { var _useState = useState(false), visibleState = _useState[0], setVisibleState = _useState[1]; return /*#__PURE__*/React.createElement(PageCard, { expandable: true, onVisibleChange: function onVisibleChange() { return setVisibleState(!visibleState); }, visible: visibleState }, /*#__PURE__*/React.createElement(Skeleton, { avatar: true, paragraph: { rows: 4 } })); }; var wrapper = mount( /*#__PURE__*/React.createElement(MockPageCard, null)); expect(wrapper.find('Icon').prop('type')).toBe('umicon-circle-down'); wrapper.find('.umui-expand-controller').simulate('click'); expect(wrapper.find('Icon').prop('type')).toBe('umicon-circle-up'); }); it('on visible change', function () { var mockOnChange = jest.fn(); var wrapper = mount( /*#__PURE__*/React.createElement(PageCard, { title: "\u5168\u90E8\u63A8\u5E7F\u6E20\u9053", subTitle: "\u5168\u90E8\u63A8\u5E7F\u6E20\u9053", expandable: true, onVisibleChange: mockOnChange }, /*#__PURE__*/React.createElement(Skeleton, { avatar: true, paragraph: { rows: 4 } }))); var expandBtn = wrapper.find('.umui-expand-controller'); expandBtn.simulate('click'); expect(mockOnChange).toHaveBeenCalled(); }); it('can set default visibility', function () { var wrapper = mount( /*#__PURE__*/React.createElement(PageCard, { title: "\u5168\u90E8\u63A8\u5E7F\u6E20\u9053", subTitle: "\u5168\u90E8\u63A8\u5E7F\u6E20\u9053", expandable: true, defaultVisible: true }, /*#__PURE__*/React.createElement(Skeleton, { avatar: true, paragraph: { rows: 4 } }))); expect(wrapper.find('Icon').prop('type')).toBe('umicon-circle-up'); }); }); describe('PageCard.Expand', function () { it('can be expandable', function () { var wrapper = mount( /*#__PURE__*/React.createElement(PageCard.Expand, { title: "\u5168\u90E8\u63A8\u5E7F\u6E20\u9053" }, /*#__PURE__*/React.createElement(Skeleton, { avatar: true, paragraph: { rows: 4 } }))); expect(wrapper.find('Icon').hasClass('umui-expand-icon')).toBeTruthy(); expect(wrapper.find('Icon').prop('type')).toBe('umicon-circle-down'); var expandBtn = wrapper.find('.umui-expand-controller'); expandBtn.simulate('click'); expect(wrapper.find('Icon').prop('type')).toBe('umicon-circle-up'); }); it('can be controllable component', function () { var MockPageCard = function MockPageCard() { var _useState2 = useState(true), visibleState = _useState2[0], setVisibleState = _useState2[1]; return /*#__PURE__*/React.createElement(PageCard.Expand, { onVisibleChange: function onVisibleChange() { return setVisibleState(!visibleState); }, visible: visibleState }, /*#__PURE__*/React.createElement(Skeleton, { avatar: true, paragraph: { rows: 4 } })); }; var wrapper = mount( /*#__PURE__*/React.createElement(MockPageCard, null)); expect(wrapper.find('Icon').prop('type')).toBe('umicon-circle-up'); wrapper.find('.umui-expand-controller').simulate('click'); expect(wrapper.find('Icon').prop('type')).toBe('umicon-circle-down'); }); it('can set default visibility', function () { var wrapper = mount( /*#__PURE__*/React.createElement(PageCard.Expand, { defaultVisible: true }, /*#__PURE__*/React.createElement(Skeleton, { avatar: true, paragraph: { rows: 4 } }))); expect(wrapper.find('Icon').prop('type')).toBe('umicon-circle-up'); }); });