UNPKG

qt-public-ui

Version:

新设计规范下业务组件库

247 lines (246 loc) 7.81 kB
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator"; import _regeneratorRuntime from "@babel/runtime/regenerator"; import React from 'react'; import { mount } from 'enzyme'; import CheckboxList from '../index'; var testBasicFunction = function testBasicFunction(type) { it("basic function: " + type, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { var fn, listProps, wrapper, checkbox; return _regeneratorRuntime.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 = mount( /*#__PURE__*/React.createElement(CheckboxList, 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: " + type, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() { var fn, listProps, wrapper; return _regeneratorRuntime.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 = mount( /*#__PURE__*/React.createElement(CheckboxList, 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: " + type, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() { var fn, listProps, wrapper, rowName, serchInput; return _regeneratorRuntime.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 = mount( /*#__PURE__*/React.createElement(CheckboxList, 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 这个先注释 });