This commit is contained in:
Emma781227
2026-07-20 10:35:35 +02:00
parent 65d6b23233
commit b6506435d5
14 changed files with 1902 additions and 3 deletions

View File

@@ -0,0 +1,29 @@
import { render } from '@testing-library/react'
import { MemoryRouter, Routes, Route } from 'react-router-dom'
import { AuthProvider } from '../context/AuthContext'
// Rend un composant avec les mêmes providers que l'appli (AuthContext + Router).
// - `route` : URL initiale (peut être un objet { pathname, state })
// - `user` : utilisateur pré-connecté (écrit dans localStorage avant le rendu,
// comme le ferait une vraie session)
// - `routes`: routes supplémentaires pour vérifier les redirections,
// ex: { '/mes-gains': <p>Page Mes Gains</p> }
export function renderWithProviders(ui, { route = '/', user = null, routes = {} } = {}) {
if (user) {
localStorage.setItem('user', JSON.stringify(user))
localStorage.setItem('token', 'fake-token')
}
return render(
<AuthProvider>
<MemoryRouter initialEntries={[route]}>
<Routes>
<Route path={typeof route === 'string' ? route : route.pathname} element={ui} />
{Object.entries(routes).map(([path, element]) => (
<Route key={path} path={path} element={element} />
))}
</Routes>
</MemoryRouter>
</AuthProvider>
)
}