import { fireEvent, render, screen, waitFor } from "@testing-library/react" import { Tooltip } from "@/components/Tooltip/Tooltip" describe("Tooltip", () => { it("should render tooltip content when open is true", () => { render(
Hover me
) expect(screen.getByText("Hover me")).toBeInTheDocument() const tooltipContent = document.querySelector('[data-radix-popper-content-wrapper]') expect(tooltipContent).toBeInTheDocument() expect(tooltipContent).toHaveTextContent("Click me") }) it("should not render tooltip content when open is false or undefined", () => { render(
Hover me
) expect(screen.getByText("Hover me")).toBeInTheDocument() const tooltipContent = document.querySelector('[data-radix-popper-content-wrapper]') expect(tooltipContent).not.toBeInTheDocument() }) it("calls onOpenChange when tooltip open state changes", async () => { const handleOpenChange = jest.fn() render( ) expect(screen.queryByText("Controlled")).not.toBeInTheDocument() fireEvent.mouseOver(screen.getByText("Hover me")) expect(screen.queryByText("Controlled")).not.toBeInTheDocument() handleOpenChange(true) expect(handleOpenChange).toHaveBeenCalledWith(true) }) it("renders arrow when withArrow is true", () => { const { container } = render( ) console.log(container.innerHTML) const arrow = document.querySelector('svg') expect(arrow).toBeInTheDocument() }) })