import React from "react"; import { fireEvent, render, screen } from "@testing-library/react"; import Checkbox from "./Checkbox"; describe("Checkbox - component", () => { it("renders", () => { expect(render().container).not.toBeNull(); }); it('calls the "onChange" handler when changed', async () => { const onCheckedComponentChangeSpy = jest.fn(); const onUncheckedComponentChangeSpy = jest.fn(); const { rerender } = render( ); fireEvent.click(screen.getByRole("checkbox")); expect(onCheckedComponentChangeSpy).toHaveBeenCalledWith(false); rerender( ); fireEvent.click(screen.getByRole("checkbox")); expect(onUncheckedComponentChangeSpy).toHaveBeenCalledWith(true); }); it("renders as disabled when disabled prop is true", () => { render( Test checkbox ); expect(screen.getByLabelText("Test checkbox")).toBeDisabled(); }); });