"""Verify POL12928/POL12929 are excluded from Locked Cash/Lost Sales/Contest Risk."""
from backend.models.database import SessionLocal
from backend.services.finance_service import (
    FinanceContext, report_locked_cash, report_lost_sales, report_contest_risk
)

db = SessionLocal()
ctx = FinanceContext(db)
print(f"new_listing_threshold = {ctx.new_listing_threshold}")
print()

lc = report_locked_cash(ctx)
ls = report_lost_sales(ctx)
cr = report_contest_risk(ctx)

print("LOCKED CASH:")
print(f"  n_skus={lc['summary']['n_skus']}  n_overstocked={lc['summary']['n_overstocked']}")
print(f"  n_new_excluded={lc['summary'].get('n_new_excluded')}  n_below_threshold={lc['summary'].get('n_below_threshold')}")
print(f"  total_excess_cost_eur={lc['summary']['total_excess_cost_eur']:,.0f}")
for sku in ("POL12928", "POL12929"):
    print(f"  {sku} in df: {(lc['df']['sku'] == sku).sum()}")

print()
print("LOST SALES:")
print(f"  n_at_risk={ls['summary']['n_at_risk']}  n_new_excluded={ls['summary'].get('n_new_excluded')}")
for sku in ("POL12928", "POL12929"):
    print(f"  {sku} in df: {(ls['df']['sku'] == sku).sum()}")

print()
print("CONTEST RISK:")
print(f"  n_skus_evaluated={cr['summary']['n_skus_evaluated']}  n_new_excluded={cr['summary'].get('n_new_excluded')}")
for sku in ("POL12928", "POL12929"):
    print(f"  {sku} in df: {(cr['df']['sku'] == sku).sum()}")

db.close()
