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();
});
});