generated from coulomb/repo-seed
48 lines
2.2 KiB
Python
48 lines
2.2 KiB
Python
from __future__ import annotations
|
|
|
|
import json
|
|
from decimal import Decimal
|
|
from pathlib import Path
|
|
|
|
from observatory.api import build_dashboard_payload, payload_json
|
|
|
|
DATA_DIR = Path(__file__).resolve().parent.parent / "data"
|
|
|
|
|
|
def test_dashboard_payload_contains_live_ledger_totals() -> None:
|
|
payload = build_dashboard_payload(DATA_DIR, "2026-06")
|
|
|
|
assert payload["period"] == "2026-06"
|
|
assert payload["liquidity"]["remaining_budget"] == "659.12"
|
|
assert payload["liquidity"]["cumulative_infrastructure_cost"] == "409.28"
|
|
assert payload["snapshot"]["monthly_infrastructure_cost"] == "29.73"
|
|
assert len(payload["history"]) == 18
|
|
assert payload["expense_record_count"] == 58
|
|
assert payload["cost_floor"]["active_price"] == "8.99"
|
|
assert len(payload["value_range"]["segments"]) == 2
|
|
assert payload["market_price"]["alternative_count"] == 4
|
|
assert payload["membership_analytics"]["active_members"] == 1
|
|
assert payload["usage"]["record_count"] == 1
|
|
assert len(payload["pricing_simulations"]["scenarios"]) == 3
|
|
assert len(payload["pricing_simulations"]["profile_comparisons"]) == 2
|
|
assert payload["pricing_simulations"]["primary_profile_id"] == "solo-builder"
|
|
assert payload["pricing_simulations"]["required_improvement_factor"] == "1.05"
|
|
assert payload["pricing_simulations"]["reference_model_id"] is not None
|
|
assert payload["customer_tuning"]["request_count"] == 2
|
|
assert payload["customer_tuning"]["accepted_request_ids"] == ["small-team-lower-usage-price"]
|
|
assert payload["provider_publication"]["provider"] == "stripe"
|
|
assert payload["provider_publication"]["model_id"] == "flat-899-eur-monthly"
|
|
assert payload["provider_publication"]["plan"]["summary"].startswith("stripe:")
|
|
assert len(payload["boundary_validation"]["model_results"]) == 3
|
|
assert payload["boundary_validation"]["policy"]["target_margin_pct"] == "15"
|
|
assert any(
|
|
result["decision"] == "rejected"
|
|
for result in payload["boundary_validation"]["model_results"]
|
|
)
|
|
assert payload["recommendations"]
|
|
|
|
|
|
def test_payload_json_is_valid() -> None:
|
|
parsed = json.loads(payload_json(DATA_DIR, "2026-06"))
|
|
assert Decimal(parsed["payments"][0]["fees_amount"]) == Decimal("0.44")
|