#!/usr/bin/env bash

echo "🧪 Testing UPI XML Parser & API"
echo "==============================="

# Test 1: Start server in background
echo "📡 Starting Phoenix server..."
cd /home/prem/mercurypay/mercury_upi_psp
mix phx.server &
SERVER_PID=$!

# Wait for server to start
sleep 5

# Test 2: Test the XML parsing directly
echo "🔍 Testing XML parser with valid ReqValQr..."
TEST_XML='<?xml version="1.0" encoding="UTF-8"?><ReqValQr><Head msgId="MSG123" ts="2025-08-11T10:30:00Z" orgId="NPCIORG"/><Qr addr="merchant@axis" mid="MERCHANT001"/></ReqValQr>'

# Test 3: Test API endpoint
echo "📮 Testing QR Validation API endpoint..."
curl -X POST http://localhost:4040/api/v1/qr-validation \
  -H "Content-Type: application/json" \
  -d "{\"xml\": \"$TEST_XML\"}" \
  -w "\nHTTP Status: %{http_code}\n" | jq . || echo "Response received"

echo ""
echo "🧪 Testing with transaction creation..."
curl -X POST http://localhost:4040/api/v1/transactions \
  -H "Content-Type: application/json" \
  -d '{
    "payer_addr": "user@paytm",
    "payee_addr": "merchant@axis",
    "payee_mid": "MERCHANT001",
    "foreign_amount": "100.00",
    "foreign_currency": "USD",
    "fx_rate": "83.25",
    "markup_pct": "2.5"
  }' \
  -w "\nHTTP Status: %{http_code}\n" | jq . || echo "Response received"

# Cleanup
echo ""
echo "🧹 Stopping server..."
kill $SERVER_PID 2>/dev/null || true

echo "✅ Testing completed!"
