chore: create new tests for the UI, namely normnode, and one for all nodes
This commit is contained in:
35
test/test-utils/test-utils.tsx
Normal file
35
test/test-utils/test-utils.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
// __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<RenderOptions, 'wrapper'>
|
||||
) {
|
||||
function Wrapper({ children }: { children: ReactNode }) {
|
||||
return <ReactFlowProvider>{children}</ReactFlowProvider>;
|
||||
}
|
||||
|
||||
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';
|
||||
Reference in New Issue
Block a user