import { describe, it, expect } from "vitest";
import { formatCep } from "./format-cep";

describe("formatCep Utility", () => {
  it("formats standard 8-digit CEP strings with hyphen", () => {
    expect(formatCep("03029090")).toBe("03029-090");
    expect(formatCep("03029-090")).toBe("03029-090");
  });

  it("handles partial CEP input", () => {
    expect(formatCep("0302")).toBe("0302");
    expect(formatCep("03029")).toBe("03029");
    expect(formatCep("030290")).toBe("03029-0");
  });

  it("handles null, undefined, or empty values", () => {
    expect(formatCep(null)).toBe("");
    expect(formatCep(undefined)).toBe("");
    expect(formatCep("")).toBe("");
  });

  it("strips non-numeric characters", () => {
    expect(formatCep("03.029-090")).toBe("03029-090");
  });
});
