import { describe, it, expect } from 'vitest' import { useState } from 'react' import { screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { useHandleAuthError } from '../../hooks/useHandleAuthError' import { renderWithProviders } from '../renderWithProviders' // Composant de test : déclenche le hook avec l'erreur passée en prop. function TestComponent({ error }) { const handleAuthError = useHandleAuthError() const [handled, setHandled] = useState(null) return (
géré : {String(handled)}
}Page Connexion
}, }) await userEvent.click(screen.getByRole('button', { name: 'déclencher' })) expect(screen.getByText('Page Connexion')).toBeInTheDocument() expect(localStorage.getItem('token')).toBeNull() expect(localStorage.getItem('user')).toBeNull() }) it('ne fait rien et renvoie false pour une autre erreur', async () => { const error = Object.assign(new Error('Erreur serveur'), { status: 500 }) renderWithProviders(Page Connexion
}, }) await userEvent.click(screen.getByRole('button', { name: 'déclencher' })) expect(screen.getByText('géré : false')).toBeInTheDocument() expect(localStorage.getItem('token')).toBe('fake-token') }) })