/* eslint-disable formatjs/no-literal-string-in-jsx */ import { describe, expect, it, afterEach } from "vitest" import { render, screen, cleanup } from "@testing-library/react" import { ChipStatic } from "./ChipStatic" afterEach(() => { cleanup() }) describe("ChipStatic", () => { describe("rendering", () => { it("renders as a span element", () => { render(Static Chip) const chip = screen.getByText("Static Chip") expect(chip).toBeTruthy() expect(chip.tagName).toBe("SPAN") }) it("renders children content", () => { render(Chip Content) expect(screen.getByText("Chip Content")).toBeTruthy() }) it("renders with multiple children", () => { render( Icon Label ) expect(screen.getByText("Icon")).toBeTruthy() expect(screen.getByText("Label")).toBeTruthy() }) }) describe("color variants", () => { it("renders Neutral color (default)", () => { render(Neutral) expect(screen.getByText("Neutral")).toBeTruthy() }) it("renders Subtle color", () => { render(Subtle) expect(screen.getByText("Subtle")).toBeTruthy() }) it("renders Disabled color", () => { render(Disabled) expect(screen.getByText("Disabled")).toBeTruthy() }) }) describe("sizes", () => { it("renders xs size", () => { render(Extra Small) expect(screen.getByText("Extra Small")).toBeTruthy() }) it("renders sm size (default)", () => { render(Small) expect(screen.getByText("Small")).toBeTruthy() }) it("renders lg size", () => { render(Large) expect(screen.getByText("Large")).toBeTruthy() }) }) describe("typography", () => { it("uses uppercase typography by default", () => { render(Default Case) expect(screen.getByText("Default Case")).toBeTruthy() }) it("uses lowercase typography when lowerCase is true", () => { render(Lower Case) expect(screen.getByText("Lower Case")).toBeTruthy() }) }) describe("props", () => { it("applies custom className", () => { render(Styled) const chip = screen.getByText("Styled") expect(chip.className).toContain("custom-class") }) }) describe("edge cases", () => { it("handles empty string children", () => { const emptyString = "" const { container } = render({emptyString}) const span = container.querySelector("span") expect(span).toBeTruthy() }) it("handles numeric children", () => { render({42}) expect(screen.getByText("42")).toBeTruthy() }) }) })