25 lines
891 B
Python
25 lines
891 B
Python
import sys
|
|
from pathlib import Path
|
|
import yaml
|
|
sys.path.insert(0, str(Path(__file__).parent.parent))
|
|
|
|
|
|
def test_banner_config_is_complete():
|
|
"""All banner keys are strings and all have link destinations."""
|
|
from app.Home import _SETUP_BANNERS
|
|
for b in _SETUP_BANNERS:
|
|
assert "key" in b
|
|
assert "text" in b
|
|
assert "link_label" in b
|
|
|
|
|
|
def test_banner_dismissed_persists(tmp_path):
|
|
"""Dismissing a banner writes to dismissed_banners in user.yaml."""
|
|
p = tmp_path / "user.yaml"
|
|
p.write_text("name: T\nemail: t@t.com\ncareer_summary: x\nwizard_complete: true\n")
|
|
data = yaml.safe_load(p.read_text()) or {}
|
|
data.setdefault("dismissed_banners", [])
|
|
data["dismissed_banners"].append("connect_cloud")
|
|
p.write_text(yaml.dump(data))
|
|
reloaded = yaml.safe_load(p.read_text())
|
|
assert "connect_cloud" in reloaded["dismissed_banners"]
|