import { fireEvent, render, screen } from "@solidjs/testing-library"; import { describe, expect, it } from "vitest"; import { Toggle } from "../../../src/components/toggle/index"; describe("Toggle", () => { it("is off by default", () => { render(() => Bold); expect(screen.getByRole("button").getAttribute("aria-pressed")).toBe("false"); }); it("toggles on click", () => { render(() => Bold); fireEvent.click(screen.getByRole("button")); expect(screen.getByRole("button").getAttribute("aria-pressed")).toBe("true"); }); it("respects defaultPressed=true", () => { render(() => Bold); expect(screen.getByRole("button").getAttribute("aria-pressed")).toBe("true"); }); it("controlled: stays at given value", () => { render(() => {}}>Bold); fireEvent.click(screen.getByRole("button")); expect(screen.getByRole("button").getAttribute("aria-pressed")).toBe("false"); }); it("data-state reflects pressed state", () => { render(() => Bold); expect(screen.getByRole("button").getAttribute("data-state")).toBe("off"); fireEvent.click(screen.getByRole("button")); expect(screen.getByRole("button").getAttribute("data-state")).toBe("on"); }); it("does not toggle when disabled", () => { render(() => Bold); fireEvent.click(screen.getByRole("button")); expect(screen.getByRole("button").getAttribute("aria-pressed")).toBe("false"); }); });