import { fireEvent, render, screen } from "@testing-library/react";
import { useEffect, useRef, useState } from "react";
import AddonSub from "../../../../models/addons/AddonSub";
import AddonSubItem from ".";
function AddonSubItemHarness() {
const [, refresh] = useState(0);
const addonSub = useRef(new AddonSub("Reading 1", 0)).current;
useEffect(() => {
addonSub.setSelectedListener(() => refresh((value) => value + 1));
}, [addonSub]);
return ;
}
describe("AddonSubItem", () => {
it("toggles once when clicking the checkbox itself", () => {
render();
const checkbox = screen.getByRole("checkbox", { name: "Reading 1" });
fireEvent.click(checkbox);
expect((checkbox as HTMLInputElement).checked).toBe(true);
});
it("toggles when clicking the row label", () => {
render();
const checkbox = screen.getByRole("checkbox", { name: "Reading 1" });
fireEvent.click(screen.getByText("Reading 1"));
expect((checkbox as HTMLInputElement).checked).toBe(true);
});
});