UNPKG

@cainiaofe/cn-ui-m

Version:
35 lines (34 loc) 2.59 kB
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(); }); }); });