import { describe, it, expect } from "vitest"; import { extractTournamentIdentity } from "../match-tournament"; describe("extractTournamentIdentity", () => { it("uses eventDate year when the name has no trailing year", () => { const identity = extractTournamentIdentity({ name: "Masters Tournament", eventDate: "2026-04-09", eventType: "tournament", }); expect(identity).toEqual({ name: "Masters Tournament", year: 2026 }); }); it("derives the year from eventDate for a simple tournament name", () => { const identity = extractTournamentIdentity({ name: "Wimbledon", eventDate: "2026-07-01", eventType: "tournament", }); expect(identity).toEqual({ name: "Wimbledon", year: 2026 }); }); it("strips a trailing year from the name and uses it as the canonical year", () => { const identity = extractTournamentIdentity({ name: "Wimbledon 2026", eventDate: "2026-07-01", eventType: "tournament", }); expect(identity).toEqual({ name: "Wimbledon", year: 2026 }); }); it("throws when neither the name nor eventDate supply a year", () => { expect(() => extractTournamentIdentity({ name: "Wimbledon", eventDate: null, eventType: "tournament", }), ).toThrow(/cannot determine year/); }); });