"""
Test de la fonction get_loan_amortization corrigée.
"""
import os
import sys
import asyncio
# Force UTF-8 encoding for Windows console
if sys.platform == 'win32':
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
os.environ['DB_PATH'] = r'C:\Users\miche\AppData\Roaming\com.teymz.wealthfolio\app.db'
from mcp_server import call_tool, get_real_estate_data
async def test_amortization():
# Récupérer l'ID du crédit
data = get_real_estate_data()
loan_id = data['loans'][0]['id']
print("="*80)
print("TEST: get_loan_amortization() - Avec prise en compte des mois écoulés")
print("="*80)
result = await call_tool('get_loan_amortization', {'loanId': loan_id})
print(result[0].text)
# Vérifications
text = result[0].text
assert "Mois écoulés: 4" in text, "Devrait afficher 4 mois écoulés"
assert "Capital remboursé: 9,991.72" in text or "9991.72" in text, "Capital remboursé devrait être ~9992 EUR"
assert "PAIEMENTS DÉJÀ EFFECTUÉS" in text, "Devrait afficher la section paiements passés"
assert "PROJECTION RESTANTE" in text, "Devrait afficher la projection"
print("\n✓ Test réussi!")
if __name__ == "__main__":
asyncio.run(test_amortization())