UNPKG

zarm

Version:

基于 React 的移动端UI库

103 lines (98 loc) 2.98 kB
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; import _regeneratorRuntime from "@babel/runtime/regenerator"; import React from 'react'; import { fireEvent, render, screen } from '@testing-library/react'; import CascaderView from '../index'; import { parseItems } from '../utils'; jest.useFakeTimers(); var District = [{ value: '340000', label: '安徽省', children: [{ value: '340800', label: '安庆市', children: [{ value: '340803', label: '大观区', children: [] }, { value: '340822', label: '怀宁县', children: [] }, { value: '340882', label: '其它区', children: [] }] }] }, { value: '310000', label: '上海', children: [{ value: '310100', label: '上海市', children: [{ value: '310113', label: '宝山区', children: [] }, { value: '310105', label: '长宁区', children: [] }, { value: '310230', label: '崇明县', children: [] }, { value: '310152', label: '川沙区', children: [] }] }] }]; describe('Cascader', function () { it('renders correctly', function () { var _render = render( /*#__PURE__*/React.createElement(CascaderView, { dataSource: District })), container = _render.container; expect(container).toMatchSnapshot(); }); it('basic usage', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { var onChange, _render2, container, currentValue, items; return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: onChange = jest.fn(); _render2 = render( /*#__PURE__*/React.createElement(CascaderView, { "data-testid": "root", defaultValue: [], value: [], dataSource: District, onChange: onChange })), container = _render2.container; fireEvent.click(screen.getAllByDisplayValue('340000')[0]); _context.next = 5; return screen.findByText('安庆市'); case 5: expect(container).toMatchSnapshot(); fireEvent.click(screen.getAllByDisplayValue('340800')[0]); _context.next = 9; return screen.findByText('大观区'); case 9: expect(container).toMatchSnapshot(); fireEvent.click(screen.getAllByDisplayValue('340803')[0]); expect(container).toMatchSnapshot(); expect(onChange).toBeCalledTimes(3); currentValue = ['340000', '340800', '340803']; items = parseItems(District, currentValue); expect(onChange).toHaveBeenCalledWith(currentValue, items); case 16: case "end": return _context.stop(); } } }, _callee); }))); });