From cd3f2a90b4183cee4bcb0afdf8504c86a2aa819b Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 18 Mar 2026 22:19:22 +0000 Subject: [PATCH] fix: seed lapi-status in renderWithSeed to prevent loading gaps --- .../src/pages/__tests__/CrowdSecConfig.crowdsec.test.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/frontend/src/pages/__tests__/CrowdSecConfig.crowdsec.test.tsx b/frontend/src/pages/__tests__/CrowdSecConfig.crowdsec.test.tsx index 052a9ae9..141db3eb 100644 --- a/frontend/src/pages/__tests__/CrowdSecConfig.crowdsec.test.tsx +++ b/frontend/src/pages/__tests__/CrowdSecConfig.crowdsec.test.tsx @@ -4,6 +4,7 @@ import { MemoryRouter } from 'react-router-dom' import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest' import * as crowdsecApi from '../../api/crowdsec' +import type { CrowdSecStatus } from '../../api/crowdsec' import * as featureFlagsApi from '../../api/featureFlags' import * as presetsApi from '../../api/presets' import * as securityApi from '../../api/security' @@ -74,11 +75,16 @@ function renderWithSeed( crowdsecStartingData: { isStarting: boolean; startedAt?: number }, lapiStatus: { running: boolean; pid?: number; lapi_ready: boolean } ) { + const fullStatus: CrowdSecStatus = { pid: 0, ...lapiStatus } const queryClient = makeQueryClient() queryClient.setQueryData(['crowdsec-starting'], crowdsecStartingData) - queryClient.setQueryData(['crowdsec-lapi-status'], lapiStatus) queryClient.setQueryData(['feature-flags'], { 'feature.crowdsec.console_enrollment': true }) queryClient.setQueryData(['security-status'], baseStatus) + // Seed lapi-status so the component has data immediately (no loading gap). + // Also override the mock so any refetch after initialCheckComplete returns the + // same value, preventing the beforeEach default from overwriting the seed. + queryClient.setQueryData(['crowdsec-lapi-status'], fullStatus) + vi.mocked(crowdsecApi.statusCrowdsec).mockResolvedValue(fullStatus) return { queryClient,