35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
"""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
|