From 61fc6280598120ccfeb8bb17248de15ebc2ecaaa Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Sun, 25 Oct 2026 07:59:28 -0500 Subject: [PATCH] fix test --- web/e2e/specs/export.spec.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/web/e2e/specs/export.spec.ts b/web/e2e/specs/export.spec.ts index 8328ab5993..73eb2118df 100644 --- a/web/e2e/specs/export.spec.ts +++ b/web/e2e/specs/export.spec.ts @@ -1015,7 +1015,7 @@ test.describe("Multi-Camera Export from History @high", () => { }) => { await frigateApp.installDefaults(); - let capturedPayload: { items: { end_time: unknown }[] } | null = null; + let capturedPayload: { items: { end_time: number }[] } | null = null; await frigateApp.page.route("**/api/exports/batch", async (route) => { capturedPayload = route.request().postDataJSON(); await route.fulfill({ @@ -1032,14 +1032,25 @@ test.describe("Multi-Camera Export from History @high", () => { await firstCamera.click(); } + // the seeded end can equal the picker's fallback, so move it off that + // value before clearing await form.getByRole("button", { name: /^end time$/i }).click(); - await frigateApp.page.locator("#endTime").fill(""); + const endInput = frigateApp.page.locator("#endTime"); + const [hour, minute, second] = (await endInput.inputValue()).split(":"); + const chosen = `${hour}:${minute}:${String((Number(second) + 30) % 60).padStart(2, "0")}`; + await endInput.fill(chosen); + await endInput.fill(""); + await expect(endInput).toHaveValue(chosen); await frigateApp.page.keyboard.press("Escape"); await form.getByRole("button", { name: /^export \d+ cameras?$/i }).click(); await expect.poll(() => capturedPayload).not.toBeNull(); - expect(typeof capturedPayload!.items[0].end_time).toBe("number"); + const submittedClock = await frigateApp.page.evaluate( + (endTime) => new Date(endTime * 1000).toTimeString().slice(0, 8), + capturedPayload!.items[0].end_time, + ); + expect(submittedClock).toBe(chosen); }); test("viewers can export without a case", async ({ frigateApp }) => {