xpeditis2.0/apps/backend/test-booking-simple.sh
2025-12-05 13:55:40 +01:00

73 lines
1.9 KiB
Bash

#!/bin/bash
echo "Testing CSV Booking Creation"
echo "=============================="
API_URL="http://localhost:4000/api/v1"
# Step 1: Login
echo "Step 1: Login..."
LOGIN_RESPONSE=$(curl -s -X POST "${API_URL}/auth/login" \
-H "Content-Type: application/json" \
-d '{"email":"admin@xpeditis.com","password":"Admin123!"}')
TOKEN=$(echo "$LOGIN_RESPONSE" | grep -o '"accessToken":"[^"]*"' | cut -d'"' -f4)
if [ -z "$TOKEN" ]; then
echo "ERROR: Login failed"
echo "$LOGIN_RESPONSE"
exit 1
fi
echo "SUCCESS: Token obtained"
echo ""
# Step 2: Create test file
echo "Step 2: Creating test document..."
TEST_FILE="/tmp/test-bol.txt"
echo "Bill of Lading - Test Document" > "$TEST_FILE"
echo "Date: $(date)" >> "$TEST_FILE"
echo "Origin: NLRTM" >> "$TEST_FILE"
echo "Destination: USNYC" >> "$TEST_FILE"
echo "SUCCESS: Test file created at $TEST_FILE"
echo ""
# Step 3: Create booking
echo "Step 3: Creating CSV booking..."
RESPONSE=$(curl -s -w "\nSTATUS:%{http_code}" -X POST "${API_URL}/csv-bookings" \
-H "Authorization: Bearer ${TOKEN}" \
-F "carrierName=Test Carrier" \
-F "carrierEmail=carrier@test.com" \
-F "origin=NLRTM" \
-F "destination=USNYC" \
-F "volumeCBM=2.88" \
-F "weightKG=1500" \
-F "palletCount=3" \
-F "priceUSD=4834.44" \
-F "priceEUR=4834.44" \
-F "primaryCurrency=USD" \
-F "transitDays=22" \
-F "containerType=LCL" \
-F "notes=Test" \
-F "documents=@${TEST_FILE}")
STATUS=$(echo "$RESPONSE" | grep "STATUS" | cut -d':' -f2)
BODY=$(echo "$RESPONSE" | sed '/STATUS/d')
echo "HTTP Status: $STATUS"
echo ""
echo "Response:"
echo "$BODY"
echo ""
if [ "$STATUS" = "201" ] || [ "$STATUS" = "200" ]; then
echo "SUCCESS: Booking created!"
else
echo "FAILED: Booking creation failed with status $STATUS"
fi
echo ""
echo "Check backend logs:"
tail -50 /tmp/backend-startup.log | grep -i "csv\|booking\|error" | tail -20