"""Palier 22 (0.33.0): barre de filtres de la page Mes issues — facettes serveur, lignes annotées, moteur client chargé.""" def test_my_page_has_filter_bar_and_facets(client): r = client.get("/my") assert r.status_code == 200 # La barre et ses contrôles. assert 'id="my-filters"' in r.text assert 'id="my-search"' in r.text assert 'id="my-repo"' in r.text assert 'id="my-label"' in r.text assert 'id="my-sort"' in r.text assert 'id="my-col-chips"' in r.text assert 'id="my-count"' in r.text assert 'id="my-reset"' in r.text # Facettes avec compteurs (démo : 1 issue assignée, # étiquette « bug »). assert "Projets/demo (1)" in r.text assert "bug (1)" in r.text # Le moteur de filtrage est chargé, versionné. assert "/static/js/my.js?v=" in r.text def test_my_rows_carry_filter_attributes(client): r = client.get("/my") # Attributs data-* consommés par le moteur client. assert 'data-column="backlog"' in r.text assert 'data-search="#1 Tâche un Projets/demo bug"' in r.text assert 'data-updated="2026-09-02T09:00:00Z"' in r.text assert 'data-repo="Projets/demo"' in r.text # Chips de colonnes présentes, avec compteurs. assert 'data-col="backlog"' in r.text assert 'data-col=""' in r.text # « Toutes les colonnes » def test_my_empty_state_present_but_hidden(client): r = client.get("/my") assert 'id="my-empty" hidden' in r.text