From 59b072750a98032d88a76314de9078d508cefccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Fri, 9 Oct 2026 13:29:29 +0200 Subject: [PATCH] test(timeline): load the page once before rendering every zoom --- .../timeline/__tests__/timeline-view-keys.test.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/timeline/__tests__/timeline-view-keys.test.tsx b/src/components/timeline/__tests__/timeline-view-keys.test.tsx index e5e372a19..464d108d3 100644 --- a/src/components/timeline/__tests__/timeline-view-keys.test.tsx +++ b/src/components/timeline/__tests__/timeline-view-keys.test.tsx @@ -6,7 +6,7 @@ * one render, so a key that only one zoom or one bucket reaches is reached * here too. */ -import { beforeEach, describe, expect, it, vi } from "vitest"; +import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { renderToStaticMarkup } from "react-dom/server"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; @@ -90,7 +90,6 @@ async function renderView( search.set("to", "2026-01-31"); } timeline = { ...fullTimeline(), zoom, bucket }; - const { TimelineView } = await import("../timeline-view"); return textOf( renderToStaticMarkup( @@ -102,6 +101,14 @@ async function renderView( ); } +let TimelineView: typeof import("../timeline-view").TimelineView; + +// The page's module graph is large; load it once, outside the per-test +// timeout, so a busy machine does not time out the first render. +beforeAll(async () => { + ({ TimelineView } = await import("../timeline-view")); +}, 60_000); + beforeEach(() => { search = new URLSearchParams(); });