import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { USAGE_LIMIT_MESSAGE } from "@/lib/action-errors"; import { BILLING_URL } from "@/lib/external-urls"; import { UsageLimitMessage } from "./usage-limit-message"; describe("UsageLimitMessage", () => { it("renders the shared usage-limit copy", () => { render(); expect(screen.getByText(/exceeded the usage limit/i)).toBeInTheDocument(); }); it("links to Prowler Cloud billing", () => { render(); const link = screen.getByRole("link", { name: /manage billing/i }); expect(link).toHaveAttribute("href", BILLING_URL); expect(link).toHaveAttribute("target", "_blank"); expect(link).toHaveAttribute("rel", "noopener noreferrer"); }); it("keeps the copy in sync with the 402 action-error message", () => { render(); expect(screen.getByText(USAGE_LIMIT_MESSAGE)).toBeInTheDocument(); }); it("merges a custom className with the base styles", () => { const { container } = render(); expect(container.firstChild).toHaveClass("mt-4"); expect(container.firstChild).toHaveClass("text-text-error-primary"); }); });