import React from 'react'; import { render } from '@testing-library/react'; import userEvents from '@testing-library/user-event'; import { BrowserRouter } from 'react-router'; import { createTheme, ThemeProvider } from '@nebula.js/ui/theme'; import { RootContext } from '../contexts/RootContext'; const theme = createTheme('light'); export function TestRenderer(component, contextValuesOverride) { const contextValue = { // context values storage: () => {}, // useInfo result info: {}, setInfo: () => {}, // useConnection result glob: {}, setGlobal: () => {}, treatAsDesktop: false, setTreatAsDesktop: () => {}, error: {}, setError: () => {}, activeStep: 0, setActiveStep: () => {}, // useCachedConnections result cachedConnectionsData: { cachedConnections: [], addCachedConnections: () => {}, removeCachedConnection: () => {}, }, // override what ever you want in render level ...contextValuesOverride, }; const Wrapper = ({ children }) => ( {children} ); return { ...render(component, { wrapper: Wrapper }), userEvents: userEvents.setup() }; } export const RouterWrapper = ({ children }) => {children};