#!/bin/bash
# Phase 1 Bulk Email System - Simple Testing Script (no jq dependency)

TOKEN="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2Rldi5nbG9iYWxnYWxhc2hvdy5jb20vYXBpL2FkbWluL2xvZ2luIiwiaWF0IjoxNzYxMjM0OTAwLCJleHAiOjE3NjE0MDc3MDAsIm5iZiI6MTc2MTIzNDkwMCwianRpIjoiWUtZb1A0a3V5UnRWaThtNCIsInN1YiI6IjEiLCJwcnYiOiI0NmNkMzE5MjJhOWMyM2U5NTZhM2VmM2EwYjdkZTgwNjZhNjU2NWIyIiwidHlwZSI6ImFkbWluIiwicm9sZSI6InN1cGVyX2FkbWluIiwicGVybWlzc2lvbnMiOlsiZXZlbnRzLnZpZXciLCJldmVudHMuY3JlYXRlIiwiZXZlbnRzLmVkaXQiLCJldmVudHMuZGVsZXRlIiwiZXZlbnRzLm1hbmFnZV92ZW51ZXMiLCJvcmRlcnMudmlldyIsIm9yZGVycy5lZGl0Iiwib3JkZXJzLnJlZnVuZCIsIm9yZGVycy5leHBvcnQiLCJvcmRlcnMuc3RhdGlzdGljcyIsInNlYXRzLnZpZXdfYXZhaWxhYmlsaXR5Iiwic2VhdHMuc2hhZG93X3NvbGQiLCJzZWF0cy5ibG9jayIsInNlYXRzLnJlbGVhc2UiLCJzZWF0cy5idWxrX29wZXJhdGlvbnMiLCJhZG1pbnMudmlldyIsImFkbWlucy5jcmVhdGUiLCJhZG1pbnMuZWRpdCIsImFkbWlucy5kZWxldGUiLCJhZG1pbnMubWFuYWdlX3JvbGVzIiwic2V0dGluZ3MuYmFubmVycyIsInNldHRpbmdzLmNvbnRlbnQiLCJzZXR0aW5ncy5lbWFpbF90ZW1wbGF0ZXMiLCJzZXR0aW5ncy5zeXN0ZW1fY29uZmlnIiwiZmluYW5jZS52aWV3X3JldmVudWUiLCJmaW5hbmNlLnZpZXdfZGV0YWlsZWRfcmVwb3J0cyIsImZpbmFuY2UuZXhwb3J0X3JlcG9ydHMiLCJjdXN0b21lcnMudmlldyIsImN1c3RvbWVycy5lZGl0IiwiY3VzdG9tZXJzLmV4cG9ydCIsInN5c3RlbS52aWV3X2xvZ3MiLCJzeXN0ZW0udmlld19tZXRyaWNzIiwic3lzdGVtLmVtZXJnZW5jeV9jb250cm9scyJdfQ.B0nXG925Hwz2nhPJ3YrdNXS4rtkwTkrAepGkJOOo0gc"
API_URL="https://dev.globalgalashow.com/api/account-setup"

echo "═══════════════════════════════════════════════════════════════════"
echo "  Phase 1 Bulk Email System - Live Testing"
echo "═══════════════════════════════════════════════════════════════════"
echo ""

# Test 1: Single Invitation
echo "🧪 Test 1: Single Invitation"
echo "────────────────────────────────────────────────────────────────────"
cat > /tmp/test1.csv << 'EOF'
email,first_name,last_name
test1@example.com,Test,User
EOF

echo "Request:"
echo "  POST $API_URL/import"
echo "  File: test1.csv (1 row)"
echo ""

curl -X POST "$API_URL/import" \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@/tmp/test1.csv" \
  -F "campaign_name=Test Campaign 1" \
  -F "send_emails=1"

echo ""
echo ""
sleep 3
./scripts/queue-monitor.sh once
echo ""
echo "Press Enter to continue..."
read

# Test 2: Multiple Invitations
echo ""
echo "🧪 Test 2: Multiple Invitations (5 emails)"
echo "────────────────────────────────────────────────────────────────────"
cat > /tmp/test2.csv << 'EOF'
email,first_name,last_name
bulk1@example.com,Bulk,User1
bulk2@example.com,Bulk,User2
bulk3@example.com,Bulk,User3
bulk4@example.com,Bulk,User4
bulk5@example.com,Bulk,User5
EOF

echo "Request:"
echo "  POST $API_URL/import"
echo "  File: test2.csv (5 rows)"
echo ""

curl -X POST "$API_URL/import" \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@/tmp/test2.csv" \
  -F "campaign_name=Test Campaign 2" \
  -F "send_emails=1"

echo ""
echo ""
sleep 5
./scripts/queue-monitor.sh once
echo ""
echo "Press Enter to continue..."
read

# Test 3: Duplicate Detection
echo ""
echo "🧪 Test 3: Duplicate Detection"
echo "────────────────────────────────────────────────────────────────────"
cat > /tmp/test3.csv << 'EOF'
email,first_name,last_name
duplicate@example.com,Duplicate,User
duplicate@example.com,Duplicate,Again
EOF

echo "Request:"
echo "  POST $API_URL/import"
echo "  File: test3.csv (2 rows, same email)"
echo "  Expected: Only 1 invitation created"
echo ""

curl -X POST "$API_URL/import" \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@/tmp/test3.csv" \
  -F "campaign_name=Duplicate Test"

echo ""
echo ""
echo "Press Enter to continue..."
read

# Test 4: Invalid Email Detection
echo ""
echo "🧪 Test 4: Invalid Email Detection"
echo "────────────────────────────────────────────────────────────────────"
cat > /tmp/test4.csv << 'EOF'
email,first_name,last_name
valid@example.com,Valid,User
invalid-email,Invalid,User
another-invalid,Another,Invalid
EOF

echo "Request:"
echo "  POST $API_URL/import"
echo "  File: test4.csv (3 rows, 2 invalid emails)"
echo "  Expected: Only 1 invitation created"
echo ""

curl -X POST "$API_URL/import" \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@/tmp/test4.csv" \
  -F "campaign_name=Invalid Email Test"

echo ""
echo ""
echo "Press Enter to continue..."
read

# Test 5: Get All Campaigns
echo ""
echo "🧪 Test 5: Campaign Retrieval"
echo "────────────────────────────────────────────────────────────────────"
echo "Request:"
echo "  GET $API_URL/campaigns"
echo ""

curl -X GET "$API_URL/campaigns" \
  -H "Authorization: Bearer $TOKEN"

echo ""
echo ""
echo "Press Enter to continue..."
read

# Test 6: Large Campaign
echo ""
echo "🧪 Test 6: Large Campaign (50 emails)"
echo "────────────────────────────────────────────────────────────────────"
cat > /tmp/test-large.csv << 'EOF'
email,first_name,last_name
EOF

for i in {1..50}; do
    echo "bulktest${i}@example.com,Bulk,Test${i}" >> /tmp/test-large.csv
done

echo "Request:"
echo "  POST $API_URL/import"
echo "  File: test-large.csv (50 rows)"
echo ""

curl -X POST "$API_URL/import" \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@/tmp/test-large.csv" \
  -F "campaign_name=Large Campaign Test" \
  -F "send_emails=1"

echo ""
echo ""
echo "Waiting 10 seconds for queue..."
sleep 10
./scripts/queue-monitor.sh once
echo ""

echo ""
echo "═══════════════════════════════════════════════════════════════════"
echo "  Tests Complete!"
echo "═══════════════════════════════════════════════════════════════════"
echo ""
echo "Get final campaign stats:"
curl -X GET "$API_URL/campaigns" -H "Authorization: Bearer $TOKEN"
echo ""
