UNPKG

@cainiaofe/cn-ui-m

Version:
27 lines (26 loc) 1.51 kB
import React from 'react'; import { render, fireEvent } from '@testing-library/react'; import { CnPopover } from '../index'; describe('CnPopover', function () { test('renders CnPopover component', function () { var getByText = render(React.createElement(CnPopover, { content: "Hello World", placement: "bottom-start", mode: "dark", trigger: "click", visible: true }, React.createElement("div", null, "\u5E38\u9A7B"))).getByText; expect(getByText('Hello World')).toBeInTheDocument(); }); test('shows popover on click', function () { var getByText = render(React.createElement(CnPopover, { content: "Hello World", trigger: "click", placement: "right" }, React.createElement("div", null, "Click me"))).getByText; var targetElement = getByText('Click me'); fireEvent.click(targetElement); expect(getByText('Hello World')).toBeInTheDocument(); }); test('calls onVisibleChange prop on visibility change', function () { var onVisibleChange = jest.fn(); var getByText = render(React.createElement(CnPopover, { content: "Hello World", trigger: "click", placement: "right", visible: false, onVisibleChange: onVisibleChange }, React.createElement("div", null, "Click me"))).getByText; var targetElement = getByText('Click me'); fireEvent.click(targetElement); // Add assertions to check if onVisibleChange is called expect(onVisibleChange).toHaveBeenCalled(); }); });