import { describe, expect, test } from "bun:test";
import { buildDisavowFile, monthBounds } from "./planning-logic";

describe("monthBounds", () => {
  test("current and previous month bounds (UTC), year rollover", () => {
    const b = monthBounds(new Date("2026-01-15T10:00:00Z"));
    expect(b.thisMonthStart).toBe("2026-01-01");
    expect(b.lastMonthStart).toBe("2025-12-01");
    expect(b.nextMonthStart).toBe("2026-02-01");
  });
});

describe("buildDisavowFile", () => {
  test("domain: lines, deduped, sorted; empty input → empty string", () => {
    expect(buildDisavowFile(["b.com", "a.com", "b.com"])).toBe(
      "domain:a.com\ndomain:b.com",
    );
    expect(buildDisavowFile([])).toBe("");
  });
});
