import {render} from '@testing-library/react'; import {createMemoryRouter, Route, RouterProvider, Routes} from 'react-router-dom'; import {PreferencesProvider} from '../context/PreferencesContext.jsx'; import {CurrentUserProvider} from '../context/CurrentUserContext.jsx'; import RequireSession from '../components/RequireSession.jsx'; /** * Renders `ui` at `path` like main.jsx does: in a data router with both providers. `guarded` puts it under * RequireSession, as in App. `routes` adds other pages, e.g. `{'/login':
login
}`. The result has `router`, * so a test reads `router.state.location`. */ export function renderWithProviders(ui, {path = '*', entries = ['/'], routes = {}, guarded = false} = {}) { const page =