import { render, screen } from "@solidjs/testing-library";
import { describe, expect, it } from "vitest";
import { Breadcrumbs } from "../../../src/components/breadcrumbs/index";
describe("Breadcrumbs", () => {
it("has role=navigation", () => {
render(() => (
Home
/
Current
));
expect(screen.getByRole("navigation")).toBeTruthy();
});
it("has aria-label", () => {
render(() => (
Home
));
expect(screen.getByRole("navigation").getAttribute("aria-label")).toBe("Breadcrumbs");
});
it("renders as ol > li", () => {
render(() => (
Home
Page
));
expect(screen.getByRole("navigation").querySelector("ol")).toBeTruthy();
expect(screen.getByRole("navigation").querySelectorAll("li")).toHaveLength(2);
});
it("link renders as anchor", () => {
render(() => (
Home
));
expect(screen.getByRole("link")).toBeTruthy();
expect(screen.getByRole("link").getAttribute("href")).toBe("/home");
});
it("current item has aria-current=page", () => {
render(() => (
Home
Current
));
const items = screen.getByRole("navigation").querySelectorAll("li");
expect(items[1].getAttribute("aria-current")).toBe("page");
});
});