import test from "node:test"; import assert from "node:assert/strict"; import { findTransponderConflict } from "../src/driver_profile_logic.js"; // Regression coverage for a real scenario the user described: a driver registered with the // wrong transponder number by mistake - one that's actually assigned to a completely // different person (a driver in another class). Before this, nothing warned about it; the // only symptom was that driver's laps silently never registering during their heat. test("findTransponderConflict flags a transponder already used by a driver from a different profile", () => { const drivers = [ { id: "d1", name: "Erik Andersson", transponder: "1000001", profileId: "p1" }, { id: "d2", name: "Marcus Dahl", transponder: "1000009", profileId: "p2" }, ]; const conflict = findTransponderConflict(drivers, { transponder: "1000009", profileId: "p1" }); assert.equal(conflict?.id, "d2"); }); test("findTransponderConflict does not flag the same person's own multi-class entries (same profile)", () => { const drivers = [ { id: "d1", name: "Erik Andersson", transponder: "1000001", profileId: "p1" }, { id: "d2", name: "Erik Andersson", transponder: "1000001", profileId: "p1" }, ]; const conflict = findTransponderConflict(drivers, { transponder: "1000001", profileId: "p1" }); assert.equal(conflict, null); }); test("findTransponderConflict excludes the driver being edited from its own conflict check", () => { const drivers = [ { id: "d1", name: "Erik Andersson", transponder: "1000001", profileId: "p1" }, ]; const conflict = findTransponderConflict(drivers, { transponder: "1000001", profileId: "p1", excludeDriverId: "d1" }); assert.equal(conflict, null); }); test("findTransponderConflict is a no-op for an empty transponder", () => { const drivers = [{ id: "d1", name: "Erik Andersson", transponder: "", profileId: "p1" }]; assert.equal(findTransponderConflict(drivers, { transponder: "", profileId: "p2" }), null); });