diff --git a/frontend/src/hooks/useMapData.ts b/frontend/src/hooks/useMapData.ts index cae4c59..d4537e6 100644 --- a/frontend/src/hooks/useMapData.ts +++ b/frontend/src/hooks/useMapData.ts @@ -97,3 +97,21 @@ export function useMapData( refresh: load, }; } + +/** + * Test helper: returns arguments most recently used to call `useMapData`. + * + * This helper is only intended for test use with a mock implementation. + */ +export function getLastArgs(): { range: string; origin: string } { + throw new Error("getLastArgs is only available in tests with a mocked useMapData"); +} + +/** + * Test helper: mutates mocked map data state. + * + * This helper is only intended for test use with a mock implementation. + */ +export function setMapData(_: Partial): void { + throw new Error("setMapData is only available in tests with a mocked useMapData"); +} diff --git a/frontend/src/pages/__tests__/MapPage.test.tsx b/frontend/src/pages/__tests__/MapPage.test.tsx index 7fff589..81a806f 100644 --- a/frontend/src/pages/__tests__/MapPage.test.tsx +++ b/frontend/src/pages/__tests__/MapPage.test.tsx @@ -64,7 +64,7 @@ describe("MapPage", () => { it("supports pagination with 100 items per page and reset on filter changes", async () => { const user = userEvent.setup(); - const bans = Array.from({ length: 120 }, (_, index) => ({ + const bans: import("../../types/map").MapBanItem[] = Array.from({ length: 120 }, (_, index) => ({ ip: `192.0.2.${index}`, jail: "ssh", banned_at: new Date(Date.now() - index * 1000).toISOString(),