UNPKG

@cainiaofe/cn-ui-m

Version:
57 lines (56 loc) 3.06 kB
import { __awaiter, __generator } from "tslib"; import React from 'react'; import { render, fireEvent } from '@testing-library/react'; import { CnNumberPicker } from '../index'; describe('CnNumberPicker', function () { test('renders without errors', function () { var container = render(React.createElement(CnNumberPicker, null)).container; expect(container.querySelector('.cn-ui-m-numberpicker')).toBeInTheDocument(); }); test('renders with initial value', function () { var getByDisplayValue = render(React.createElement(CnNumberPicker, { defaultValue: 10, hideButton: false })).getByDisplayValue; expect(getByDisplayValue('10')).toBeInTheDocument(); }); test('increments value on increase button click', function () { return __awaiter(void 0, void 0, void 0, function () { var getByTestId, increaseButton, inputElement; return __generator(this, function (_a) { switch (_a.label) { case 0: getByTestId = render(React.createElement(CnNumberPicker, { defaultValue: 10, hideButton: false })).getByTestId; increaseButton = getByTestId('cn-number-picker-increase-button'); inputElement = getByTestId('cn-number-picker-input'); return [4 /*yield*/, fireEvent.click(increaseButton)]; case 1: _a.sent(); expect(inputElement.value).toBe('11'); return [2 /*return*/]; } }); }); }); test('decrements value on decrease button click', function () { return __awaiter(void 0, void 0, void 0, function () { var getByTestId, decreaseButton, inputElement; return __generator(this, function (_a) { switch (_a.label) { case 0: getByTestId = render(React.createElement(CnNumberPicker, { defaultValue: 10, hideButton: false })).getByTestId; decreaseButton = getByTestId('cn-number-picker-decrease-button'); inputElement = getByTestId('cn-number-picker-input'); return [4 /*yield*/, fireEvent.click(decreaseButton)]; case 1: _a.sent(); expect(inputElement.value).toBe('9'); return [2 /*return*/]; } }); }); }); test('disables buttons when disabled prop is true', function () { var getByTestId = render(React.createElement(CnNumberPicker, { name: "money", disabled: true, defaultValue: 10 })).getByTestId; expect(getByTestId('cn-number-picker-input')).toBeDisabled(); }); // 测试value为undefined时的情况, 且innerAfter为万 test('value is undefined and innerAfter is 万', function () { var getByTestId = render(React.createElement(CnNumberPicker, { value: undefined, innerAfter: "\u4E07" })).getByTestId; var inputElement = getByTestId('cn-number-picker-input'); expect(inputElement.value).toBe('万'); }); });