From 724d7a779901a520952370bd1734d0b825982965 Mon Sep 17 00:00:00 2001 From: bruno Date: Wed, 28 Oct 2026 22:12:12 -0400 Subject: [PATCH] =?UTF-8?q?Page=20Projets=20:=20copie=20URL=20dans=20le=20?= =?UTF-8?q?menu=20=E2=8B=AF=20+=20refonte=20th=C3=A8me=20barre=20Fusion/Sp?= =?UTF-8?q?ark=20(#44,=20#45)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_dashboard_menu_copy.py | 34 +++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 tests/test_dashboard_menu_copy.py diff --git a/tests/test_dashboard_menu_copy.py b/tests/test_dashboard_menu_copy.py new file mode 100644 index 0000000..41d97a4 --- /dev/null +++ b/tests/test_dashboard_menu_copy.py @@ -0,0 +1,34 @@ +"""Menu ⋯ des tuiles projets : copie d'URL (#44) et thème +opaque barre Fusion / Spark, sombre et clair (#45). + +Le menu était transparent parce que son fond utilisait +var(--surface-1), variable jamais définie dans :root. +""" + + +def test_card_menu_offers_copy_url(client, fake_gitea): + page = client.get("/") + assert "Copier l'URL du projet" in page.text + assert 'data-copy-url="http://gitea.test/Projets/demo"' in page.text + + +def test_card_menu_theme_is_opaque_and_dual(client, fake_gitea): + css = client.get("/static/css/style.css").text + # Le menu ne repose plus sur la variable indéfinie. + menu = css.split(".card-menu {", 1)[1].split("}", 1)[0] + assert "var(--surface-1)" not in menu + assert "var(--menu-bg)" in menu + # Jetons barre Fusion / Console v7.2, clair par défaut… + assert "--menu-bg: #ffffff" in css + # …et variante sombre explicite, comme draco-barre.css. + assert '[data-theme="dark"] .card-menu' in css + assert "--menu-bg: #1a1c1a" in css + assert "prefers-color-scheme: dark" in css + + +def test_dashboard_js_copy_contract(client, fake_gitea): + js = client.get("/static/js/dashboard.js").text + assert "data-copy-url" in js + assert "navigator.clipboard" in js + assert "execCommand('copy')" in js + assert "URL du projet copiée" in js