From 60305814292a83194c80e69ebc922c72d1614050 Mon Sep 17 00:00:00 2001 From: William Valentin Date: Tue, 3 Feb 2026 00:27:06 -0800 Subject: [PATCH] test: cover invalid override payloads --- .../asset-overrides-admin-auth.test.ts | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/apps/web/src/__tests__/asset-overrides-admin-auth.test.ts b/apps/web/src/__tests__/asset-overrides-admin-auth.test.ts index 9fe0fb4..c8ea43b 100644 --- a/apps/web/src/__tests__/asset-overrides-admin-auth.test.ts +++ b/apps/web/src/__tests__/asset-overrides-admin-auth.test.ts @@ -86,6 +86,37 @@ test("asset overrides POST rejects invalid body", async () => { expect(Array.isArray((res.body as { issues?: unknown }).issues)).toBe(true); }); +test("asset overrides POST rejects unknown fields", async () => { + const { handleSetCaptureOverride } = await import( + "../../app/api/assets/[id]/override-capture-ts/handlers" + ); + const res = await handleSetCaptureOverride({ + adminOk: true, + params: { id: "00000000-0000-4000-8000-000000000000" }, + body: { + captureTsUtcOverride: "2026-02-01T00:00:00.000Z", + extra: "nope", + }, + }); + expect(res.status).toBe(400); + expect(res.body).toMatchObject({ error: "invalid_body" }); +}); + +test("asset overrides POST rejects string offset", async () => { + const { handleSetCaptureOverride } = await import( + "../../app/api/assets/[id]/override-capture-ts/handlers" + ); + const res = await handleSetCaptureOverride({ + adminOk: true, + params: { id: "00000000-0000-4000-8000-000000000000" }, + body: { + captureOffsetMinutesOverride: "15", + }, + }); + expect(res.status).toBe(400); + expect(res.body).toMatchObject({ error: "invalid_body" }); +}); + test("asset overrides POST rejects empty body", async () => { const { handleSetCaptureOverride } = await import( "../../app/api/assets/[id]/override-capture-ts/handlers"