import React from "react"; import { createSerializer } from "@emotion/jest"; import { fireEvent, render } from "@testing-library/react"; import { ToggleContent } from ".."; expect.addSnapshotSerializer(createSerializer()); const primary = () =>
primary
; const secondary = () =>
secondary
; describe("ToggleContent", () => { beforeEach(() => { const mock = jest.fn(); mock.mockReturnValue({ toString: jest.fn() }); window.getSelection = mock; }); it("renders a div wrapping the content passed as props", () => { const { asFragment } = render( ); expect(asFragment()).toMatchSnapshot(); }); it("string content", () => { const { getByTestId } = render( ); const toggleElement = getByTestId("toggleContent"); expect(toggleElement).toHaveTextContent("Hello"); fireEvent.click(toggleElement); expect(toggleElement).toHaveTextContent("Bye"); }); it("component content", () => { const { getByTestId } = render( ); const toggleElement = getByTestId("toggleContent"); expect(toggleElement).toHaveTextContent("primary"); fireEvent.click(toggleElement); expect(toggleElement).toHaveTextContent("secondary"); }); });