import type { ReactNode } from 'react' import { QueryClient } from '@tanstack/react-query' import { render } from '@testing-library/react' let queryClient: QueryClient type ConfigState = { cookieYesSiteKey: string isProd: boolean webPrefix: string | undefined } const { configState, getSystemFeatures, mockHeadersGet, systemFeaturesQueryKey } = vi.hoisted( () => ({ configState: { cookieYesSiteKey: 'site-key', isProd: true, webPrefix: 'https://cloud.dify.ai', } as ConfigState, getSystemFeatures: vi.fn(), mockHeadersGet: vi.fn(), systemFeaturesQueryKey: ['console', 'system-features'] as const, }), ) vi.mock('@/context/query-client-server', () => ({ getQueryClientServer: () => queryClient, })) vi.mock('@/service/server', () => ({ serverConsoleQuery: { systemFeatures: { get: { queryOptions: () => ({ queryFn: getSystemFeatures, queryKey: systemFeaturesQueryKey, }), }, }, }, })) vi.mock('@/config', () => ({ get COOKIEYES_SITE_KEY() { return configState.cookieYesSiteKey }, get IS_PROD() { return configState.isProd }, get WEB_PREFIX() { return configState.webPrefix }, })) vi.mock('@/next/script', () => ({ default: ({ id, strategy, src, nonce, children, }: { id?: string strategy?: string src?: string nonce?: string children?: ReactNode }) => (