@@ -10,6 +10,8 @@ import { MockIdeMessenger } from "../../context/MockIdeMessenger";
1010import { setupStore } from "../../redux/store" ;
1111import { SetupListeners } from "../../App" ;
1212import { act } from "@testing-library/react" ;
13+ import { LumpProvider } from "../../components/mainInput/Lump/LumpContext" ;
14+ import { MainEditorProvider } from "../../components/mainInput/TipTapEditor" ;
1315// As a basic setup, import your same slice reducers
1416
1517// This type interface extends the default options for render from RTL, as well
@@ -19,10 +21,19 @@ type ExtendedRenderOptions = Omit<RenderOptions, "queries"> & {
1921 routerProps ?: RouterProps ;
2022} ;
2123
22- export function renderWithProviders (
24+ function setupMocks ( ) {
25+ global . ResizeObserver = vi . fn ( ) . mockImplementation ( ( ) => ( {
26+ observe : vi . fn ( ) ,
27+ unobserve : vi . fn ( ) ,
28+ disconnect : vi . fn ( ) ,
29+ } ) ) ;
30+ }
31+
32+ export async function renderWithProviders (
2333 ui : React . ReactElement ,
2434 extendedRenderOptions : ExtendedRenderOptions = { } ,
2535) {
36+ setupMocks ( ) ;
2637 const ideMessenger = new MockIdeMessenger ( ) ;
2738
2839 const {
@@ -41,16 +52,20 @@ export function renderWithProviders(
4152 < IdeMessengerProvider messenger = { ideMessenger } >
4253 < Provider store = { store } >
4354 < AuthProvider >
44- { children }
45- < SetupListeners />
55+ < MainEditorProvider >
56+ < LumpProvider >
57+ { children }
58+ < SetupListeners />
59+ </ LumpProvider >
60+ </ MainEditorProvider >
4661 </ AuthProvider >
4762 </ Provider >
4863 </ IdeMessengerProvider >
4964 </ MemoryRouter >
5065 ) ;
5166
5267 let rendered : RenderResult ;
53- act ( ( ) => {
68+ await act ( async ( ) => {
5469 rendered = render ( ui , { wrapper : Wrapper , ...renderOptions } ) ;
5570 } ) ;
5671
0 commit comments