qt-public-ui
Version:
新设计规范下业务组件库
266 lines (261 loc) • 9.28 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _react = _interopRequireDefault(require("react"));
var _enzyme = require("enzyme");
var _reactRouterDom = require("react-router-dom");
var _ = _interopRequireDefault(require("../"));
var _utils = require("../../../../../test/utils");
var tipProps = {
config: [{
text: '指标1是balalalala'
}]
};
var data = [{
tips: tipProps,
value: 12432131,
title: '新增用户新',
ratios: [{
label: '同比',
value: 0,
hint: 'This is hint!'
}, {
label: '同比',
value: 0,
hint: 'This is hint!'
}]
}, {
tips: tipProps,
value: 1243,
title: '新增用户新增用户新增用户新增用户',
ratios: [{
label: '同比',
value: '--',
hint: 'This is hint!'
}, {
label: '同比',
value: 0,
hint: 'This is hint!'
}]
}];
var data1 = [{
tips: tipProps,
value: 12432131,
title: '新增用户新',
ratios: [{
label: '同比',
value: 12.8,
hint: 'This is hint!'
}, {
label: '占比',
render: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "\u81EA\u5B9A\u4E49\u6E32\u67D3"),
hint: 'This is hint!'
}]
}];
var data2 = [{
tips: tipProps,
value: 12432131,
title: '新增用户新',
links: [{
label: '点击跳转',
url: '/'
}],
ratios: [{
label: '同比',
value: 1322.8,
valueType: 'number'
}]
}, {
tips: tipProps,
value: 1243,
title: '新增用户新增用户新增用户新增用户',
ratios: [{
label: '同比',
value: -12.8
}, {
label: '占比',
render: function render() {
return null;
},
hint: 'This is hint!'
}]
}];
var data3 = [{
tips: tipProps,
title: '新增用户新'
}];
var data4 = [{
tips: tipProps,
value: 12432131,
title: '新增用户新',
ratios: [{
label: '同比',
value: 12.8
}, {
label: '同比',
value: 0,
hint: 'This is hint!'
}]
}, {
desc: '新增用户新增用户新增用户新增用户新增用户新增用户新增用户新增用户新增用户新增用户新增用户新增用户',
button: {
children: '点我点我点我',
type: 'primary'
}
}];
describe('DynamicList', function () {
it('Select active', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var wrapper;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_reactRouterDom.BrowserRouter, null, /*#__PURE__*/_react["default"].createElement(_["default"].Group, {
onChange: console.log
}, /*#__PURE__*/_react["default"].createElement(_["default"], {
data: data,
id: "2121",
type: "pairs"
}), /*#__PURE__*/_react["default"].createElement(_["default"], {
data: data2,
id: "2120",
type: "pairs"
}), /*#__PURE__*/_react["default"].createElement(_["default"], {
data: data4,
id: "2125",
type: "pairs"
}))));
wrapper.find('.umui-index-card').at(1).simulate('click');
_context.next = 4;
return (0, _utils.sleep)(1);
case 4:
wrapper.update();
expect(wrapper.find('.umui-index-card').at(1).hasClass('umui-active')).toBe(true);
// 切换
wrapper.find('.umui-index-card').at(0).simulate('click');
_context.next = 9;
return (0, _utils.sleep)(1);
case 9:
wrapper.update();
expect(wrapper.find('.umui-index-card').at(1).hasClass('umui-active')).toBe(false);
expect(wrapper.find('.umui-index-card').at(0).hasClass('umui-active')).toBe(true);
case 12:
case "end":
return _context.stop();
}
}, _callee);
})));
it('Multiple select active ', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
var wrapper;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_reactRouterDom.BrowserRouter, null, /*#__PURE__*/_react["default"].createElement(_["default"].Group, {
onChange: console.log,
multiSelect: true,
max: 3,
min: 1
}, /*#__PURE__*/_react["default"].createElement(_["default"], {
data: data1,
id: "2121"
}), /*#__PURE__*/_react["default"].createElement(_["default"], {
data: data1,
id: "2120"
}), /*#__PURE__*/_react["default"].createElement(_["default"], {
data: data1,
id: "2122"
}), /*#__PURE__*/_react["default"].createElement(_["default"], {
data: data1,
id: "2123"
}), /*#__PURE__*/_react["default"].createElement(_["default"], {
data: data1,
id: "2124"
}), /*#__PURE__*/_react["default"].createElement(_["default"], {
data: data1,
id: "2125"
})))); // 一开始是false
expect(wrapper.find('.umui-index-card').at(1).hasClass('umui-active')).toBe(false);
// 点击后active
wrapper.find('.umui-index-card').at(1).simulate('click');
_context2.next = 5;
return (0, _utils.sleep)(1);
case 5:
wrapper.update();
expect(wrapper.find('.umui-index-card').at(1).hasClass('umui-active')).toBe(true);
// 再次点击 测试min是否生效
wrapper.find('.umui-index-card').at(1).simulate('click');
_context2.next = 10;
return (0, _utils.sleep)(1);
case 10:
wrapper.update();
expect(wrapper.find('.umui-index-card').at(1).hasClass('umui-active')).toBe(true);
wrapper.find('.umui-index-card').at(2).simulate('click');
wrapper.find('.umui-index-card').at(3).simulate('click');
wrapper.find('.umui-index-card').at(4).simulate('click');
_context2.next = 17;
return (0, _utils.sleep)(1);
case 17:
wrapper.update();
expect(wrapper.find('.umui-index-card').at(2).hasClass('umui-active')).toBe(true);
expect(wrapper.find('.umui-index-card').at(3).hasClass('umui-active')).toBe(true);
expect(wrapper.find('.umui-index-card').at(4).hasClass('umui-active')).toBe(false); // 测试max
// 测试取消选中
wrapper.find('.umui-index-card').at(1).simulate('click');
_context2.next = 24;
return (0, _utils.sleep)(1);
case 24:
wrapper.update();
expect(wrapper.find('.umui-index-card').at(1).hasClass('umui-active')).toBe(false);
case 26:
case "end":
return _context2.stop();
}
}, _callee2);
})));
it('IndexCard.Add Icon', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
var wrapper;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
// index-add-icon
wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_["default"].Add, {
text: "\u70B9\u51FB\u6DFB\u52A0",
type: "pairs"
}));
console.log('cc', wrapper.find('.index-add-icon').find('svg').children().html());
expect(wrapper.find('.index-add-icon').find('svg').children().html()).toEqual('<use xlink:href="#umicon-plus"></use>');
wrapper.setProps({
icon: 'umicon-play'
});
expect(wrapper.find('.index-add-icon').find('svg').children().html()).toEqual('<use xlink:href="#umicon-play"></use>');
case 5:
case "end":
return _context3.stop();
}
}, _callee3);
})));
it('IndexCard.Add onClick', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
var fn, wrapper;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
// index-add-icon
fn = jest.fn();
wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_["default"].Add, {
onClick: fn,
text: "\u70B9\u51FB\u6DFB\u52A0",
type: "pairs"
}));
wrapper.find('.index-add').simulate('click');
_context4.next = 5;
return (0, _utils.sleep)(1);
case 5:
wrapper.update();
expect(fn).toHaveBeenCalled();
case 7:
case "end":
return _context4.stop();
}
}, _callee4);
})));
});