"""Debug: verify period matching in kpis endpoint"""
import datetime
print(f"Current date: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
print(f"period_str for month query: {datetime.datetime.now().strftime('%Y-%m')}")

# Run the failing tests with extra debugging
import os, sys
sys.path.insert(0, '/root/cma-management/backend')

# Patch summary to debug
from app.api import dashboard as dashboard_mod
original_summary = dashboard_mod.get_dashboard_summary

def debug_summary(role="ceo", period="month", db=None):
    from app.models import KPIDefinition
    from sqlalchemy import func
    if db:
        cnt = db.query(func.count(KPIDefinition.id)).filter(KPIDefinition.status == "active").scalar()
        print(f"[INTERNAL DEBUG] kpi_total query returns: {cnt}")
        all_k = db.query(KPIDefinition).all()
        print(f"[INTERNAL DEBUG] All KPIs: {[(k.id, k.kpi_code, k.status) for k in all_k]}")
    return original_summary(role=role, period=period, db=db)

dashboard_mod.get_dashboard_summary = debug_summary

# Now run the test sequence
import pytest
exit_code = pytest.main(["-v", "--tb=short", 
    "tests/test_dashboard.py::TestDashboard::test_summary_empty",
    "tests/test_dashboard.py::TestDashboard::test_summary_with_data"])

dashboard_mod.get_dashboard_summary = original_summary
sys.exit(exit_code)
