import { afterEach, describe, expect, it, vi } from "vitest"; import { fireEvent, render, screen } from "@testing-library/react"; import { CopyEmail } from "@/components/copy-email"; afterEach(() => { vi.useRealTimers(); vi.restoreAllMocks(); }); describe("CopyEmail", () => { it("copies on click and shows feedback", async () => { const writeText = vi.fn(async () => {}); Object.defineProperty(navigator, "clipboard", { configurable: true, value: { writeText }, }); render(); fireEvent.click(screen.getByRole("button")); expect(await screen.findByText("Copied")).toBeDefined(); expect(writeText).toHaveBeenCalledWith("a@b.c"); }); });