"""Palier 16 (0.20.0) — refonte professionnelle de l'entête Projets. Fini le « Bonjour 👋 » et les rangées éparses : titre sobre, bande KPI unifiée, et une seule barre d'outils (onglets segmentés, filtre, tri, regroupement, vue). Les crochets fonctionnels (ids, liaisons Alpine) sont inchangés. """ def test_dashboard_professional_header(client): r = client.get("/") assert r.status_code == 200 # Titre sobre + sous-titre, plus de formule familière. assert "

Projets

" in r.text assert "Bonjour" not in r.text # Bande KPI unifiée : valeurs + libellés. assert "kpi-strip" in r.text assert "Projets actifs" in r.text assert "Issues fermées · 30 j" in r.text assert "Temps de cycle moyen" in r.text # Les KPI journal mènent à l'activité. assert 'href="/activity"' in r.text def test_dashboard_single_toolbar_keeps_its_hooks(client): r = client.get("/") assert "dash-toolbar" in r.text # Onglets segmentés avec compteurs, mêmes liaisons Alpine. assert "seg-tabs" in r.text assert "seg-count" in r.text assert "tab = 'inactive'" in r.text # Filtre, tri, regroupement et vue : ids préservés pour # dashboard.js et l'état Alpine. for hook in ('id="project-search"', 'id="dash-sort"', 'id="dash-group"', "setView('list')"): assert hook in r.text, hook