#!/usr/bin/env bash
set -e

# Connect directly to production database for E2E tests
# No setup needed - production DB already has complete schema and data
export TIDB_HOST="gateway01.us-east-1.prod.aws.tidbcloud.com"
export TIDB_PORT="4000"
export TIDB_USER="oq9yv7zBFHM7TES.root"
export TIDB_PASSWORD="KmYm3wyVaacYS2t5"
export TIDB_DATABASE="nexuscrm"

# Build backend
cd backend
PATH=/tmp/go/bin:$PATH go build -o /tmp/nexuscrm-server ./cmd/server/

# Start backend (skip bootstrap verification since production DB already has data)
export PORT=43001
export SKIP_BOOTSTRAP=true
nohup /tmp/nexuscrm-server > /tmp/nexuscrm.log 2>&1 &
echo "Backend PID: $!"

# Wait for backend to be ready
for i in $(seq 1 30); do
    if curl -s http://127.0.0.1:${PORT}/health > /dev/null 2>&1; then
        echo "✅ Backend started"
        break
    fi
    if [ $i -eq 30 ]; then
        echo "❌ Backend failed to start"
        cat /tmp/nexuscrm.log
        exit 1
    fi
    sleep 2
done

# Run E2E tests
cd ../tests/e2e-api
export NEXUSCRM_URL="http://127.0.0.1:${PORT}"
export NEXUSCRM_USERNAME="admin@test.com"
export NEXUSCRM_PASSWORD="Admin123!"
/home/openclaw/miniconda3/bin/python runner.py
/home/openclaw/miniconda3/bin/python generate_report.py
