@cainiaofe/cn-ui-m
Version:
35 lines (34 loc) • 2.59 kB
JavaScript
import React from 'react';
import { render, fireEvent, screen, waitFor } from '@testing-library/react';
import { CnMessage } from '../index';
describe('CnMessage', function () {
// Positive test case
test('renders CnMessage component', function () {
var container = render(React.createElement(CnMessage, { type: "warning" }, "\u4FDD\u969C\u7528\u6237\u6743\u76CA")).container;
expect(container.querySelector('.cn-ui-m-message')).toBeInTheDocument();
});
// Negative test case
test('does not render CnMessage component when visible is false', function () {
var container = render(React.createElement(CnMessage, { visible: false }, "22222")).container;
expect(container.querySelector('.cn-ui-m-message')).not.toBeInTheDocument();
});
it('calls onClick function when message is clicked', function () {
var onClickMock = jest.fn();
var getByTestId = render(React.createElement(CnMessage, { title: "Test Title", onClick: onClickMock })).getByTestId;
var btn = getByTestId('CnMessage-click-btn');
fireEvent.click(btn);
waitFor(function () {
expect(onClickMock).toHaveBeenCalledTimes(1);
});
});
it('calls ellipseDialog function when message is overflow', function () {
var onClickMock = jest.fn();
var getByTestId = render(React.createElement(CnMessage, { type: "warning", showType: "multiple" }, "\u4EB2,\u4E3A\u4E86\u4FDD\u969C\u7528\u6237\u6743\u76CA\uFF0C\u4E3A\u4E86\u4FDD\u969C\u7528\u6237\u6743\u76CA\uFF0C\u4E3A\u4E86\u4FDD\u969C\u7528\u6237\u6743\u76CA\uFF0C\u4E0E\u83DC\u9E1F\u9A7F\u7AD9\u5408\u4F5C\u7684\u7AD9\u70B9\u9700\u51BB\u7ED3 3000.00\u5143\u4FDD\u8BC1\u91D1\uFF0C\u4EB2\uFF0C\u4E3A\u4E86\u4FDD\u969C\u7528\u6237\u6743\u76CA\uFF0C\u4E3A\u4E86\u4FDD\u969C\u7528\u6237\u6743\u76CA\uFF0C\u4E3A\u4E86\u4FDD\u969C\u7528\u6237\u6743\u76CA\uFF0C\u4E0E\u83DC\u9E1F\u9A7F\u7AD9\u5408\u4F5C\u7684\u7AD9\u70B9\u9700\u51BB\u7ED3 3000.00\u5143\u4FDD\u8BC1\u91D1\uFF0C\u4EB2\uFF0C\u4E3A\u4E86\u4FDD\u969C\u7528\u6237\u6743\u76CA\uFF0C\u4E3A\u4E86\u4FDD\u969C\u7528\u6237\u6743\u76CA\uFF0C\u4E3A\u4E86\u4FDD\u969C\u7528\u6237\u6743\u76CA\uFF0C\u4E0E\u83DC\u9E1F\u9A7F\u7AD9\u5408\u4F5C\u7684\u7AD9\u70B9\u9700\u51BB\u7ED3 3000.00\u5143\u4FDD\u8BC1\u91D1\u3002")).getByTestId;
var btn = getByTestId('CnMessage-overflow-click-btn');
fireEvent.click(btn);
waitFor(function () {
expect(onClickMock).toHaveBeenCalledTimes(1);
expect(screen.getByText('提示')).toBeInTheDocument();
});
});
});