import React from "react"; import { createSerializer } from "@emotion/jest"; import { render, fireEvent } from "@testing-library/react"; import { ClickToCopyButton } from "../"; expect.addSnapshotSerializer(createSerializer()); const textToCopy = "text to copy"; jest.mock("copy-to-clipboard", () => jest.fn()); describe("ClickToCopyButton", () => { it("renders default", () => { const { asFragment } = render( ); expect(asFragment()).toMatchSnapshot(); }); it("renders with custom children", () => { const { asFragment } = render( custom children ); expect(asFragment()).toMatchSnapshot(); }); it("calls onCopy when clicked ", () => { const onCopyFn = jest.fn(); const { getByRole } = render( ); expect(onCopyFn).not.toHaveBeenCalled(); fireEvent.click(getByRole("button")); expect(onCopyFn).toHaveBeenCalled(); }); });