import { describe, test, expect } from "vitest";
import { render, screen } from "@testing-library/react";
import { ChipGroup } from ".";
import { Chip } from "../Chip";
describe("ChipGroup", () => {
test("matches snapshot", () => {
const result = render(
Item
);
expect(result.asFragment()).toMatchSnapshot();
});
test("renders label", () => {
render(
Item
);
expect(screen.getByLabelText("My Chip Group")).not.toBeNull();
});
test("renders chips", () => {
const chips = [
{ id: "1", rendered: "Chip 1" },
{ id: "2", rendered: "Chip 2" },
{ id: "3", rendered: "Chip 3" },
];
render(
{({ rendered }) => {rendered}}
);
chips.forEach((chip) => {
expect(screen.getByText(chip.rendered)).not.toBeNull();
});
});
test("renders chips with href", () => {
const chips = [
{ key: "1", rendered: "Chip 1", href: "/chip1" },
{ key: "2", rendered: "Chip 2", href: "/chip2" },
];
render(
{({ key, rendered, href }) => (
{rendered}
)}
);
chips.forEach((chip) => {
const link = screen.getByRole("row", { name: chip.rendered });
expect(link).toHaveAttribute("href", chip.href);
});
});
});