Files
explore/vitest/lib.tsx
T
zeekayandHanzo Dev 4b9926b607 fix(explore/test): green vitest unit suite — drop removed GrowthBook dep refs, scope out live-E2E (v1.1.13)
Two root causes broke the vitest unit suite (6 suites failing → 29/29 green):

1. @growthbook/growthbook-react was intentionally removed from package.json in
   the registry-cleanup commit (888ef29) and is unused anywhere in the app, but
   the shared test render helpers (vitest/lib.tsx, playwright/TestApp.tsx) still
   wrapped children in a dead <GrowthBookProvider>. Vite failed to resolve the
   missing module, killing 5 suites that use the helper. Fix: remove the dead
   import + wrapper (the provider held no growthbook instance and no feature
   flags are consumed — it was a no-op). Do not re-add a deleted dependency.

2. tests/e2e/live-explorers.spec.ts is a Playwright live-infra E2E spec (imports
   @playwright/test, hits live explorer URLs). It matched the vitest include glob
   **/*.spec.ts and crashed the run. Fix: exclude **/tests/e2e/** from vitest —
   those run under the Playwright runner (pnpm test:pw*), not the unit suite.

Also normalized pre-existing over-indentation in TestApp.tsx return block.

Before: 6 failed / 24 passed suites. After: 29/29 suites, 267/267 tests green.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-19 19:52:14 -07:00

49 lines
1.2 KiB
TypeScript

import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import type { RenderOptions } from '@testing-library/react';
import { render } from '@testing-library/react';
import React from 'react';
import { AppContextProvider } from 'lib/contexts/app';
import { SocketProvider } from 'lib/socket/context';
import 'lib/setLocale';
const PAGE_PROPS = {
cookies: '',
referrer: '',
query: {},
adBannerProvider: null,
apiData: null,
uuid: '123',
};
const TestApp = ({ children }: { children: React.ReactNode }) => {
const [ queryClient ] = React.useState(() => new QueryClient({
defaultOptions: {
queries: {
refetchOnWindowFocus: false,
retry: 0,
},
},
}));
return (
<QueryClientProvider client={ queryClient }>
<AppContextProvider pageProps={ PAGE_PROPS }>
<SocketProvider>
{ children }
</SocketProvider>
</AppContextProvider>
</QueryClientProvider>
);
};
const customRender = (
ui: React.ReactElement,
options?: Omit<RenderOptions, 'wrapper'>,
) => render(ui, { wrapper: TestApp, ...options });
export * from '@testing-library/react';
export { customRender as render };
export { TestApp as wrapper };