"""Référence locale sur données fictives. Aucun appel à Strategy ou Power BI."""
import csv
from decimal import Decimal
from pathlib import Path

rows = list(csv.DictReader(Path(__file__).with_name("ventes-fictives.csv").open(encoding="utf-8")))
assert len(rows) == 6 and len({r["ecriture_id"] for r in rows}) == 6
expected = {"IDF": ("1400", "510", 2), "ARA": ("1600", "730", 3), "France": ("3000", "1240", 4)}
for scope, (ca_ref, margin_ref, clients_ref) in expected.items():
    subset = rows if scope == "France" else [r for r in rows if r["region"] == scope]
    ca = sum((Decimal(r["ca_net_ht"]) for r in subset), Decimal(0))
    margin = sum((Decimal(r["ca_net_ht"]) - Decimal(r["cout_ht"]) for r in subset), Decimal(0))
    clients = len({r["client_id"] for r in subset})
    assert (ca, margin, clients) == (Decimal(ca_ref), Decimal(margin_ref), clients_ref), scope
    print(f"{scope}: CA={ca} EUR; marge={margin} EUR; clients={clients}; taux={100 * margin / ca:.4f}%")
print("Référence vérifiée. Connexion, permissions et performance produit : non testées.")
