import os
import django
import json
import datetime
from decimal import Decimal

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "facturation.settings")
django.setup()

from dgi.edef_client import EdefClient

def test_payload():
    client = EdefClient()
    
    # Payload minimal qui devrait passer
    payload = {
        "reference": "TEST-MANUAL-" + datetime.datetime.now().strftime("%H%M%S"),
        "date": datetime.datetime.now().isoformat(), # Essai ISO Format
        "client": {
            "name": "CLIENT TEST",
            "contact": "000000000",
            "nif": "A2560363Q", # Enlevé
            "address": "Kinshasa"
        },
        # "currency": "USD", # Enlevé
        "items": [
            {
                "code": "REF001",
                "name": "TEST ARTICLE",
                "quantity": 1.0,
                "unitPrice": 100.0,
                "taxCode": "A", # 16%
                "type": "SER"
            }
        ],
        "paymentType": "ESPECES"
    }

    print("--- Envoi Payload ---")
    print(json.dumps(payload, indent=2))
    
    try:
        resp = client.create_invoice(payload)
        print("\nSUCCES:")
        print(resp)
    except Exception as e:
        print("\nECHEC:")
        print(str(e))

if __name__ == "__main__":
    test_payload()
