#!/usr/bin/env python3
"""
Test script for external loans API
Run with: python3 test_external_loans.py
"""
import os
import django

# Setup Django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'questbanker_api.settings')
django.setup()

from loans.models import LoanApplication
from external_loans.serializers import ExternalLoanApplicationSerializer

print("=" * 60)
print("EXTERNAL LOANS TEST")
print("=" * 60)

# Query external loans
external_loans = LoanApplication.objects.filter(is_external_loan=True)
print(f"\n1. Total external loans in database: {external_loans.count()}")

if external_loans.exists():
    print("\n2. External loans found:")
    for loan in external_loans:
        print(f"   - ID: {loan.id}")
        print(f"     Customer: {loan.customer.name if loan.customer else 'N/A'}")
        print(f"     Amount: {loan.loan_amount}")
        print(f"     Branch ID: {loan.organisation_branch_id}")
        print(f"     Status: {loan.status}")
        print(f"     Is External: {loan.is_external_loan}")
        print()

    print("\n3. Testing serializer:")
    try:
        serializer = ExternalLoanApplicationSerializer(external_loans.first())
        print("   ✅ Serializer works!")
        print(f"   Data: {serializer.data}")
    except Exception as e:
        print(f"   ❌ Serializer error: {str(e)}")
        import traceback
        traceback.print_exc()
else:
    print("\n⚠️  No external loans found in database!")
    print("   Reason: No loans with is_external_loan=True")

print("\n" + "=" * 60)
