diff --git a/packages/react-query-devtools/src/__tests__/ReactQueryDevtools.test.tsx b/packages/react-query-devtools/src/__tests__/ReactQueryDevtools.test.tsx index a869ef1fd04..922ba82377a 100644 --- a/packages/react-query-devtools/src/__tests__/ReactQueryDevtools.test.tsx +++ b/packages/react-query-devtools/src/__tests__/ReactQueryDevtools.test.tsx @@ -182,6 +182,83 @@ describe('ReactQueryDevtools', () => { ) }) + it('should forward a "buttonPosition" change to the devtools instance after mount', async () => { + const { ReactQueryDevtools } = await import('../ReactQueryDevtools') + const queryClient = new QueryClient() + + const { rerender } = render( + , + ) + setButtonPositionMock.mockClear() + + rerender( + , + ) + + expect(setButtonPositionMock).toHaveBeenCalledWith('top-left') + }) + + it('should forward a "position" change to the devtools instance after mount', async () => { + const { ReactQueryDevtools } = await import('../ReactQueryDevtools') + const queryClient = new QueryClient() + + const { rerender } = render( + , + ) + setPositionMock.mockClear() + + rerender() + + expect(setPositionMock).toHaveBeenCalledWith('top') + }) + + it('should forward an "initialIsOpen" change to the devtools instance after mount', async () => { + const { ReactQueryDevtools } = await import('../ReactQueryDevtools') + const queryClient = new QueryClient() + + const { rerender } = render( + , + ) + setInitialIsOpenMock.mockClear() + + rerender() + + expect(setInitialIsOpenMock).toHaveBeenCalledWith(true) + }) + + it('should forward an "errorTypes" change to the devtools instance after mount', async () => { + const { ReactQueryDevtools } = await import('../ReactQueryDevtools') + const queryClient = new QueryClient() + + const { rerender } = render( + , + ) + setErrorTypesMock.mockClear() + + const errorTypes = [ + { name: 'Network', initializer: () => new Error('Network') }, + ] + rerender( + , + ) + + expect(setErrorTypesMock).toHaveBeenCalledWith(errorTypes) + }) + + it('should forward a "theme" change to the devtools instance after mount', async () => { + const { ReactQueryDevtools } = await import('../ReactQueryDevtools') + const queryClient = new QueryClient() + + const { rerender } = render( + , + ) + setThemeMock.mockClear() + + rerender() + + expect(setThemeMock).toHaveBeenCalledWith('dark') + }) + it('should call "unmount" on the devtools instance when the component unmounts', async () => { const { ReactQueryDevtools } = await import('../ReactQueryDevtools') const queryClient = new QueryClient()