// __tests__/utils/test-utils.tsx import { render, type RenderOptions } from '@testing-library/react'; import { type ReactElement, type ReactNode } from 'react'; import { ReactFlowProvider } from '@xyflow/react'; import useFlowStore from '../../src/pages/VisProgPage/visualProgrammingUI/VisProgStores'; /** * Custom render function that wraps components with necessary providers * This ensures all components have access to ReactFlow context */ export function renderWithProviders( ui: ReactElement, options?: Omit ) { function Wrapper({ children }: { children: ReactNode }) { return {children}; } return render(ui, { wrapper: Wrapper, ...options }); } /** * Helper to reset the Zustand store between tests * This ensures test isolation */ export function resetFlowStore() { useFlowStore.setState({ nodes: [], edges: [], edgeReconnectSuccessful: true, }); } // Re-export everything from testing library export * from '@testing-library/react';