import "@testing-library/jest-dom/vitest";
import userEvent from "@testing-library/user-event";
import { render, screen } from "@testing-library/react";
import { describe, it, expect } from "vitest";
import Accordion from "../../../app/components/layout/Accordion";
describe("Accordion", () => {
it("toggles panel content", async () => {
const user = userEvent.setup();
render(
Answer copy
,
);
expect(screen.queryByText("Answer copy")).not.toBeInTheDocument();
await user.click(screen.getByRole("button", { name: "Question" }));
expect(screen.getByText("Answer copy")).toBeInTheDocument();
});
it("stacks FAQ size variants at lg and xl", () => {
render(
Answer copy
,
);
const button = screen.getByRole("button", { name: "Question" });
expect(button).toHaveClass("min-h-[88px]");
expect(button).toHaveClass("lg:min-h-[104px]");
expect(button).toHaveClass("xl:min-h-[135px]");
expect(button).toHaveClass("xl:gap-[var(--spacing-scale-048)]");
const title = screen.getByText("Question");
expect(title).toHaveClass("text-[14px]");
expect(title).toHaveClass("lg:text-large-label");
expect(title).toHaveClass("xl:text-x-large-label");
expect(title).toHaveClass("xl:font-normal");
expect(title).toHaveClass("xl:leading-7");
});
});