38 lines
1013 B
TypeScript
38 lines
1013 B
TypeScript
import { describe, expect, it } from "bun:test";
|
|
import { parseId } from "../../src/server/lib/params";
|
|
|
|
describe("parseId", () => {
|
|
it("returns number for valid positive integers", () => {
|
|
expect(parseId("1")).toBe(1);
|
|
expect(parseId("42")).toBe(42);
|
|
expect(parseId("999")).toBe(999);
|
|
});
|
|
|
|
it("returns null for zero", () => {
|
|
expect(parseId("0")).toBeNull();
|
|
});
|
|
|
|
it("returns null for negative numbers", () => {
|
|
expect(parseId("-1")).toBeNull();
|
|
expect(parseId("-100")).toBeNull();
|
|
});
|
|
|
|
it("returns null for decimals", () => {
|
|
expect(parseId("1.5")).toBeNull();
|
|
expect(parseId("3.14")).toBeNull();
|
|
});
|
|
|
|
it("returns null for non-numeric strings", () => {
|
|
expect(parseId("abc")).toBeNull();
|
|
expect(parseId("")).toBeNull();
|
|
expect(parseId("hello")).toBeNull();
|
|
expect(parseId("12abc")).toBeNull();
|
|
});
|
|
|
|
it("returns null for special values", () => {
|
|
expect(parseId("NaN")).toBeNull();
|
|
expect(parseId("Infinity")).toBeNull();
|
|
expect(parseId("-Infinity")).toBeNull();
|
|
});
|
|
});
|