From a88f613da7e5567dbfdebd7df94f94507c47c6b5 Mon Sep 17 00:00:00 2001 From: Michael Hunteman Date: Fri, 27 Sep 2024 08:43:02 -0700 Subject: Add vitests --- client/src/renderWithProviders.tsx | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 client/src/renderWithProviders.tsx (limited to 'client/src/renderWithProviders.tsx') diff --git a/client/src/renderWithProviders.tsx b/client/src/renderWithProviders.tsx new file mode 100644 index 0000000..476fdb1 --- /dev/null +++ b/client/src/renderWithProviders.tsx @@ -0,0 +1,28 @@ +import React, { PropsWithChildren, ReactElement } from 'react'; +import { render } from '@testing-library/react'; +import { Provider } from 'react-redux'; +import setupStore from './store'; +import type { AppStore, RootState } from './store'; +import type { RenderOptions } from '@testing-library/react'; + +interface ExtendedRenderOptions extends Omit { + preloadedState?: Partial; + store?: AppStore; +} + +export function renderWithProviders( + ui: ReactElement, + extendedRenderOptions: ExtendedRenderOptions = {} +) { + const { + preloadedState = {}, + store = setupStore(preloadedState), + ...renderOptions + } = extendedRenderOptions; + + const Wrapper = ({ children }: PropsWithChildren) => ( + {children} + ); + + return { store, ...render(ui, { wrapper: Wrapper, ...renderOptions }) }; +} -- cgit v1.2.3