Local changes: Updated model training, removed debug instrumentation, and configuration improvements
This commit is contained in:
80
frontend/src/test/utils.tsx
Normal file
80
frontend/src/test/utils.tsx
Normal file
@@ -0,0 +1,80 @@
|
||||
import { ReactElement } from 'react'
|
||||
import { render, RenderOptions } from '@testing-library/react'
|
||||
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
|
||||
import { BrowserRouter } from 'react-router-dom'
|
||||
import { vi } from 'vitest'
|
||||
|
||||
/**
|
||||
* Creates a fresh QueryClient for testing with retry disabled
|
||||
*/
|
||||
export function createTestQueryClient() {
|
||||
return new QueryClient({
|
||||
defaultOptions: {
|
||||
queries: {
|
||||
retry: false,
|
||||
gcTime: 0,
|
||||
},
|
||||
mutations: {
|
||||
retry: false,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
interface WrapperProps {
|
||||
children: React.ReactNode
|
||||
}
|
||||
|
||||
/**
|
||||
* Custom render function that wraps components with necessary providers
|
||||
*/
|
||||
export function renderWithProviders(
|
||||
ui: ReactElement,
|
||||
options?: Omit<RenderOptions, 'wrapper'> & {
|
||||
queryClient?: QueryClient
|
||||
route?: string
|
||||
}
|
||||
) {
|
||||
const { queryClient = createTestQueryClient(), route = '/', ...renderOptions } = options || {}
|
||||
|
||||
// Set the route
|
||||
window.history.pushState({}, 'Test page', route)
|
||||
|
||||
function Wrapper({ children }: WrapperProps) {
|
||||
return (
|
||||
<QueryClientProvider client={queryClient}>
|
||||
<BrowserRouter>{children}</BrowserRouter>
|
||||
</QueryClientProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return {
|
||||
...render(ui, { wrapper: Wrapper, ...renderOptions }),
|
||||
queryClient,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Mock snackbar context for testing
|
||||
*/
|
||||
export const mockSnackbar = {
|
||||
showError: vi.fn(),
|
||||
showSuccess: vi.fn(),
|
||||
showWarning: vi.fn(),
|
||||
showInfo: vi.fn(),
|
||||
}
|
||||
|
||||
/**
|
||||
* Mock WebSocket context for testing
|
||||
*/
|
||||
export const mockWebSocketContext = {
|
||||
isConnected: true,
|
||||
lastMessage: null,
|
||||
messageHistory: [],
|
||||
sendMessage: vi.fn(),
|
||||
subscribe: vi.fn(),
|
||||
}
|
||||
|
||||
// Re-export everything from testing-library
|
||||
export * from '@testing-library/react'
|
||||
export { default as userEvent } from '@testing-library/user-event'
|
||||
Reference in New Issue
Block a user