UNPKG

@cainiaofe/cn-ui-m

Version:
30 lines (29 loc) 1.53 kB
import React from 'react'; import { render, fireEvent } from '@testing-library/react'; import { CnModal } from '../index'; describe('CnModal', function () { it('renders the children correctly', function () { var getByText = render(React.createElement(CnModal, { visible: true }, React.createElement("div", null, "Modal Content"))).getByText; expect(getByText('Modal Content')).toBeInTheDocument(); }); it('calls onClose when mask is clicked and maskClosable is true', function () { var onCloseMock = jest.fn(); var getByTestId = render(React.createElement(CnModal, { visible: true, maskClosable: true, onClose: onCloseMock })).getByTestId; var mask = getByTestId('mask'); fireEvent.click(mask); expect(onCloseMock).toHaveBeenCalled(); }); it('does not call onClose when mask is clicked and maskClosable is false', function () { var onCloseMock = jest.fn(); var getByTestId = render(React.createElement(CnModal, { visible: true, maskClosable: false, onClose: onCloseMock })).getByTestId; var mask = getByTestId('mask'); fireEvent.click(mask); expect(onCloseMock).not.toHaveBeenCalled(); }); it('hides the modal when visible prop is false', function () { var queryByText = render(React.createElement(CnModal, { visible: false }, React.createElement("div", null, "Modal Content"))).queryByText; expect(queryByText('Modal Content')).not.toBeInTheDocument(); }); });