import { describe, it, expect } from "vitest"; import { parsePositiveIntId } from "./parseId"; describe("parsePositiveIntId", () => { it("accepts a positive integer", () => { expect(parsePositiveIntId("1")).toBe(1); expect(parsePositiveIntId("42")).toBe(42); }); it("rejects empty / nullish", () => { expect(parsePositiveIntId("")).toBeNull(); expect(parsePositiveIntId(null)).toBeNull(); expect(parsePositiveIntId(undefined)).toBeNull(); }); it("rejects zero, negative, fractional, and non-numeric", () => { expect(parsePositiveIntId("0")).toBeNull(); expect(parsePositiveIntId("-1")).toBeNull(); expect(parsePositiveIntId("1.5")).toBeNull(); expect(parsePositiveIntId("abc")).toBeNull(); expect(parsePositiveIntId(" ")).toBeNull(); // Number(" ")===0 }); });