@cainiaofe/cn-ui-m
Version:
57 lines (56 loc) • 3.06 kB
JavaScript
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('万');
});
});