/**
 * Tests fuer Badge — KAR-521 Stage 6
 * Pure-Logic: resolveBadgeClasses() per Variant.
 */

import { describe, it, expect } from "vitest"
import { badgeVariants } from "../badge"

describe("Badge — variants", () => {
  it("default = primary-tint + primary text", () => {
    const cls = badgeVariants({})
    expect(cls).toContain("bg-primary-tint")
    expect(cls).toContain("text-primary-dark")
  })

  it("variant=primary fuelt mit Petrol", () => {
    expect(badgeVariants({ variant: "primary" })).toContain("bg-primary")
  })

  it("status-red Variants nutzen DCT-Status-Tokens", () => {
    expect(badgeVariants({ variant: "status-red" })).toContain("bg-status-red-strong")
  })

  it("status-yellow / -grey / -green analog", () => {
    expect(badgeVariants({ variant: "status-yellow" })).toContain("bg-status-yellow")
    expect(badgeVariants({ variant: "status-grey" })).toContain("bg-status-grey")
    expect(badgeVariants({ variant: "status-green" })).toContain("bg-status-green")
  })

  it("destructive nutzt destructive-Token", () => {
    expect(badgeVariants({ variant: "destructive" })).toContain("bg-destructive")
  })

  it("size sm vs md vs lg", () => {
    expect(badgeVariants({ size: "sm" })).toContain("text-[10px]")
    expect(badgeVariants({ size: "md" })).toContain("text-[11px]")
    expect(badgeVariants({ size: "lg" })).toContain("text-xs")
  })
})
