test
This commit is contained in:
39
frontend/src/test/fonctionnel/CookieBanner.test.jsx
Normal file
39
frontend/src/test/fonctionnel/CookieBanner.test.jsx
Normal file
@@ -0,0 +1,39 @@
|
||||
import { describe, it, expect } from 'vitest'
|
||||
import { screen } from '@testing-library/react'
|
||||
import userEvent from '@testing-library/user-event'
|
||||
import CookieBanner from '../../components/CookieBanner'
|
||||
import { renderWithProviders } from '../renderWithProviders'
|
||||
|
||||
describe('CookieBanner', () => {
|
||||
it("s'affiche quand aucun choix n'a été fait", () => {
|
||||
renderWithProviders(<CookieBanner />)
|
||||
|
||||
expect(screen.getByText(/ce site utilise des cookies/i)).toBeInTheDocument()
|
||||
})
|
||||
|
||||
it('enregistre le consentement et disparaît quand on accepte', async () => {
|
||||
renderWithProviders(<CookieBanner />)
|
||||
|
||||
await userEvent.click(screen.getByRole('button', { name: /accepter/i }))
|
||||
|
||||
expect(screen.queryByText(/ce site utilise des cookies/i)).not.toBeInTheDocument()
|
||||
expect(localStorage.getItem('cookieConsent')).toBe('accepted')
|
||||
})
|
||||
|
||||
it('enregistre le refus et disparaît quand on refuse', async () => {
|
||||
renderWithProviders(<CookieBanner />)
|
||||
|
||||
await userEvent.click(screen.getByRole('button', { name: /refuser/i }))
|
||||
|
||||
expect(screen.queryByText(/ce site utilise des cookies/i)).not.toBeInTheDocument()
|
||||
expect(localStorage.getItem('cookieConsent')).toBe('refused')
|
||||
})
|
||||
|
||||
it("ne s'affiche pas si un choix a déjà été fait", () => {
|
||||
localStorage.setItem('cookieConsent', 'accepted')
|
||||
|
||||
renderWithProviders(<CookieBanner />)
|
||||
|
||||
expect(screen.queryByText(/ce site utilise des cookies/i)).not.toBeInTheDocument()
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user