"""Fixtures for HTML tests.""" from pathlib import Path import pytest @pytest.fixture def sample_chart_stats(): """Sample chart statistics for template rendering.""" return { "bat": { "day": {"min": 3.5, "avg": 3.7, "max": 3.9, "current": 3.85}, "week": {"min": 3.4, "avg": 3.65, "max": 3.95, "current": 3.8}, "month": {"min": 3.3, "avg": 3.6, "max": 4.0, "current": 3.75}, "year": {"min": 3.2, "avg": 3.55, "max": 4.1, "current": 3.7}, }, "bat_pct": { "day": {"min": 50, "avg": 70, "max": 90, "current": 85}, "week": {"min": 45, "avg": 65, "max": 95, "current": 80}, }, "nb_recv": { "day": {"min": 0, "avg": 50.5, "max": 100, "current": 75}, "week": {"min": 0, "avg": 48.2, "max": 150, "current": 60}, }, } @pytest.fixture def sample_latest_metrics(): """Sample latest metrics for page rendering.""" return { "ts": 1704067200, # 2024-01-01 00:00:00 UTC "bat": 3850.0, "bat_pct": 75.0, "uptime": 86400, "last_rssi": -85, "last_snr": 7.5, "noise_floor": -115, "nb_recv": 1234, "nb_sent": 567, "tx_queue_len": 0, } @pytest.fixture def sample_companion_latest(): """Sample companion latest metrics.""" return { "ts": 1704067200, "battery_mv": 3850.0, "bat_pct": 75.0, "uptime_secs": 86400, "contacts": 5, "recv": 1234, "sent": 567, } @pytest.fixture def templates_dir(): """Path to templates directory.""" return Path(__file__).parent.parent.parent / "src" / "meshmon" / "templates" @pytest.fixture def sample_svg_content(): """Sample SVG content for testing.""" return """ """