import { describe, expect, it } from "vitest";
import { render, screen } from "@testing-library/react";
import { NodeHealthDot } from "../NodeHealthDot";
describe("NodeHealthDot", () => {
it.each(["online", "offline", "error", "connecting"] as const)("renders status dot for %s", (status) => {
render();
expect(document.querySelector(`.status-dot--${status}`)).toBeInTheDocument();
});
it("shows label when requested", () => {
render();
expect(screen.getByText("Online")).toBeInTheDocument();
});
it("hides label by default", () => {
render();
expect(document.querySelector(".node-health-dot__label")).toBeNull();
});
it("applies compact class", () => {
render();
expect(document.querySelector(".node-health-dot--compact")).toBeInTheDocument();
});
it("sets accessible label and title", () => {
render();
const wrapper = screen.getByLabelText("Node status: Online");
expect(wrapper).toHaveAttribute("title", "Online");
});
});