UNPKG

qt-public-ui

Version:

新设计规范下业务组件库

250 lines (248 loc) 8.19 kB
"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 _index = _interopRequireDefault(require("../index")); var testBasicFunction = function testBasicFunction(type) { it("basic function: ".concat(type), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { var fn, listProps, wrapper, checkbox; return _regenerator["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: fn = jest.fn(); listProps = { options: [{ label: 'label1', value: 'label1' }, { label: 'label2label2label2label2label2label2label2label2label2label2', value: 'label2' }, { label: 'label3', value: 'label3' }, { label: 'label4', value: 'label4' }, { label: 'label5', value: 'label5' }, { label: 'label6', value: 'label6' }, { label: 'label7', value: 'label7' }, { label: 'label8', value: 'label8' }, { label: 'label9', value: 'label9' }, { label: 'label10', value: 'label10' }, { label: 'label11', value: 'label11' }, { label: 'label12', value: 'label12' }, { label: 'label13', value: 'label13' }, { label: 'label14', value: 'label14' }], showSearch: true, onChange: fn, type: type, // defaultValue: ['label11'], max: 2 }; wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_index["default"], listProps)); checkbox = wrapper.find('.ant-checkbox-input'); expect(checkbox.length).toBe(14); checkbox.at(3).simulate('change', { target: { checked: true } }); expect(fn).toHaveBeenCalledWith(["label4"]); checkbox.at(4).simulate('change', { target: { checked: true } }); expect(fn).toHaveBeenCalledWith(["label4", "label5"]); expect(wrapper.find('.umui-checkbox-hint-num').text()).toBe('2/2'); case 10: case "end": return _context.stop(); } }, _callee); }))); }; var testMax = function testMax(type) { it("max should be ok: ".concat(type), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { var fn, listProps, wrapper; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: fn = jest.fn(); listProps = { options: [{ label: 'label1', value: 'label1' }, { label: 'label2label2label2label2label2label2label2label2label2label2', value: 'label2' }, { label: 'label3', value: 'label3' }, { label: 'label4', value: 'label4' }, { label: 'label5', value: 'label5' }, { label: 'label6', value: 'label6' }, { label: 'label7', value: 'label7' }, { label: 'label8', value: 'label8' }, { label: 'label9', value: 'label9' }, { label: 'label10', value: 'label10' }, { label: 'label11', value: 'label11' }, { label: 'label12', value: 'label12' }, { label: 'label13', value: 'label13' }, { label: 'label14', value: 'label14' }], showSearch: true, onChange: fn, type: type, defaultValue: ['label11', 'label1', 'label2'], max: 3 }; wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_index["default"], listProps)); expect(wrapper.find('.umui-checkbox-hint-num').text()).toBe('3/3'); expect(fn).toHaveBeenCalledTimes(0); case 5: case "end": return _context2.stop(); } }, _callee2); }))); }; var testSearch = function testSearch(type) { it("can search: ".concat(type), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { var fn, listProps, wrapper, rowName, serchInput; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: fn = jest.fn(); listProps = { options: [{ label: 'label1', value: 'label1' }, { label: 'label2label2label2label2label2label2label2label2label2label2', value: 'label2' }, { label: 'label3', value: 'label3' }, { label: 'label4', value: 'label4' }, { label: 'label5', value: 'label5' }, { label: 'label6', value: 'label6' }, { label: 'label7', value: 'label7' }, { label: 'label8', value: 'label8' }, { label: 'label9', value: 'label9' }, { label: 'label10', value: 'label10' }, { label: 'label11', value: 'label11' }, { label: 'label12', value: 'label12' }, { label: 'label13', value: 'label13' }, { label: 'label14', value: 'label14' }], // showSearch: true, onChange: fn, type: type, defaultValue: ['label11', 'label1', 'label2'], max: 3 }; wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_index["default"], listProps)); rowName = type === 'list' ? 'label' : '.ant-table-row .ant-table-cell-ellipsis'; expect(wrapper.find('.umui-input-search .ant-input').exists()).toBe(false); wrapper.setProps({ showSearch: true }); expect(wrapper.find('.umui-input-search .ant-input').exists()).toBe(true); serchInput = wrapper.find('.umui-input-search .ant-input'); serchInput.simulate('change', { target: { value: '12' } }); expect(wrapper.find(rowName).length).toBe(1); expect(wrapper.find(rowName).at(0).text()).toBe('label12'); // 模糊查询 serchInput.simulate('change', { target: { value: '1' } }); expect(wrapper.find(rowName).length).toBe(6); case 13: case "end": return _context3.stop(); } }, _callee3); }))); }; describe('CheckboxList', function () { testBasicFunction('list'); testBasicFunction('table'); testMax('list'); testMax('table'); testSearch('list'); // testSearch('table'); // 组件有bug 这个先注释 });