import React from "react";
import { render, screen } from "@testing-library/react";
import { describe, it, expect } from "vitest";
import { ShipmentStatusBadge } from "./ShipmentStatusBadge";

describe("ShipmentStatusBadge", () => {
  it("renders the 'delivered' status correctly", () => {
    render(<ShipmentStatusBadge status="delivered" />);
    expect(screen.getByText("Zugestellt")).toBeDefined();
  });

  it("renders the 'shipped' status correctly", () => {
    render(<ShipmentStatusBadge status="shipped" />);
    expect(screen.getByText("Versendet")).toBeDefined();
  });

  it("renders the 'pending' status correctly", () => {
    render(<ShipmentStatusBadge status="pending" />);
    expect(screen.getByText("Ausstehend")).toBeDefined();
  });

  it("renders the 'canceled' status correctly", () => {
    render(<ShipmentStatusBadge status="canceled" />);
    expect(screen.getByText("Storniert")).toBeDefined();
  });

  it("renders unknown status as the status itself", () => {
    render(<ShipmentStatusBadge status="custom-status" />);
    expect(screen.getByText("custom-status")).toBeDefined();
  });

  it("handles empty status", () => {
    render(<ShipmentStatusBadge status="" />);
    expect(screen.getByText("Unbekannt")).toBeDefined();
  });
});
