import { test, expect } from '@playwright/test'; test.describe('Home', () => { test('charge avec carte SVG 96 départements', async ({ page }) => { await page.goto('/'); await expect(page).toHaveTitle(/Info Canicule/); const paths = page.locator('#france-map path[data-code]'); await expect(paths).toHaveCount(96); }); test('navigation principale visible', async ({ page }) => { await page.goto('/'); await expect(page.getByRole('link', { name: /Carte/i }).first()).toBeVisible(); await expect(page.getByRole('link', { name: /Conseils/i }).first()).toBeVisible(); await expect(page.getByRole('link', { name: /Soutenir/i }).first()).toBeVisible(); }); test('section "Départements en alerte" si alertes du jour', async ({ page }) => { await page.goto('/'); // Soit la section existe avec alertes, soit pas du tout (jour calme) — ne casse pas si vide const section = page.getByRole('heading', { name: /Départements en alerte/i }); if (await section.count() > 0) { await expect(section).toBeVisible(); } }); test('tooltip carte au hover', async ({ page }) => { await page.goto('/'); const tooltip = page.locator('#map-tooltip'); await expect(tooltip).toBeHidden(); await page.locator('#france-map path[data-code="75"]').hover(); await expect(tooltip).toBeVisible(); await expect(tooltip).toContainText('Paris'); }); });