Expose project revision timeline
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import assert from "node:assert/strict";
|
||||
import { describe, it } from "node:test";
|
||||
import { listProjectRevisionsQuerySchema } from "../src/shared/validation/project-history.schemas.js";
|
||||
|
||||
describe("project revision timeline query", () => {
|
||||
it("applies a bounded default page size", () => {
|
||||
assert.deepEqual(
|
||||
listProjectRevisionsQuerySchema.parse({}),
|
||||
{ limit: 25 }
|
||||
);
|
||||
assert.deepEqual(
|
||||
listProjectRevisionsQuerySchema.parse({
|
||||
limit: "100",
|
||||
beforeRevision: "42",
|
||||
}),
|
||||
{
|
||||
limit: 100,
|
||||
beforeRevision: 42,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
it("rejects invalid cursors, page sizes and unknown query fields", () => {
|
||||
for (const query of [
|
||||
{ limit: "0" },
|
||||
{ limit: "101" },
|
||||
{ limit: "1.5" },
|
||||
{ beforeRevision: "0" },
|
||||
{ beforeRevision: "not-a-number" },
|
||||
{ unexpected: "value" },
|
||||
]) {
|
||||
assert.equal(
|
||||
listProjectRevisionsQuerySchema.safeParse(query).success,
|
||||
false
|
||||
);
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user