From 415465d067f0d4ade5a4b8892ca0222ec457136e Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 27 Jan 2026 18:36:32 +0000 Subject: [PATCH] Fix LinkPreviewService test timeout and assertion failure Wraps the `respects TTL` test body in a `try...finally` block to ensure `expiredService.db` is closed even if assertions fail, preventing `fake-indexeddb` from hanging during cleanup. Adds a small delay to the same test to ensure time advances beyond the 0ms TTL (caused by negative TTL clamping), fixing a flaky assertion failure. Co-authored-by: PR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> --- tests/services/link-preview-service.test.mjs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/tests/services/link-preview-service.test.mjs b/tests/services/link-preview-service.test.mjs index d7ed42cf..5d34b8f6 100644 --- a/tests/services/link-preview-service.test.mjs +++ b/tests/services/link-preview-service.test.mjs @@ -95,16 +95,22 @@ test("LinkPreviewService", async (t) => { await t.test("respects TTL", async () => { // Set a preview that is expired const expiredService = new LinkPreviewService({ ttlMs: -1000 }); - // Initialize DB first to ensure we write to the same place - await expiredService.init(); + try { + // Initialize DB first to ensure we write to the same place + await expiredService.init(); - await expiredService.setCachedPreview("https://expired.com", { title: "Expired" }); + await expiredService.setCachedPreview("https://expired.com", { title: "Expired" }); - const cached = await expiredService.getCachedPreview("https://expired.com"); - assert.equal(cached, null); + // Ensure time advances since TTL is clamped to 0 + await new Promise((r) => setTimeout(r, 10)); - if (expiredService.db) { - expiredService.db.close(); + const cached = await expiredService.getCachedPreview("https://expired.com"); + assert.equal(cached, null); + } finally { + if (expiredService.db) { + expiredService.db.close(); + expiredService.db = null; + } } });