import { describe, it, expect } from "vitest";
import { formatDateTimeShort } from "./format_datetime_short";

// Nota: la funcion usa hora local del entorno (getHours/getMinutes).
// Los tests usan fechas con offset conocido o verifican el patron de formato.

describe("formatDateTimeShort", () => {
  it("string vacio retorna vacio", () => {
    expect(formatDateTimeShort("")).toBe("");
  });

  it("ISO invalido retorna vacio", () => {
    expect(formatDateTimeShort("not-a-date")).toBe("");
    expect(formatDateTimeShort("2026-13-01")).toBe("");
  });

  it("ISO valido retorna dd/mm/yy hh:mm", () => {
    // Verificamos el patron sin asumir timezone: resultado debe tener forma xx/xx/xx xx:xx
    const result = formatDateTimeShort("2026-05-09T14:30:00");
    expect(result).toMatch(/^\d{2}\/\d{2}\/\d{2} \d{2}:\d{2}$/);
  });

  it("padding de dia y mes con cero", () => {
    // Dia 1, mes enero: debe ser "01/01/..."
    const result = formatDateTimeShort("2026-01-01T00:00:00");
    expect(result).toMatch(/^01\/01\//);
  });
});
