littleshop/quick-test.sh
SysAdmin 553088390e Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token
- Removed all BTCPay references from services and configuration
- Implemented SilverPAY as sole payment provider (no fallback)
- Fixed JWT authentication with proper key length (256+ bits)
- Added UsersController with full CRUD operations
- Updated User model with Email and Role properties
- Configured TeleBot with real Telegram bot token
- Fixed launchSettings.json with JWT environment variable
- E2E tests passing for authentication, catalog, orders
- Payment creation pending SilverPAY server fix

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 19:22:29 +01:00

113 lines
3.1 KiB
Bash

#!/bin/bash
# Quick E2E Testing Script for LittleShop
API_URL="http://localhost:8080/api"
echo "========================================="
echo " LittleShop Quick E2E Test"
echo "========================================="
echo ""
# 1. Health Check
echo "1. Testing Health Check..."
curl -s http://localhost:8080/health > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo " ✓ Health check passed"
else
echo " ✗ Health check failed"
fi
# 2. Authentication
echo "2. Testing Authentication..."
TOKEN=$(curl -s -X POST "$API_URL/auth/login" \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin"}' | \
grep -o '"token":"[^"]*' | sed 's/"token":"//')
if [ ! -z "$TOKEN" ]; then
echo " ✓ Authentication successful"
AUTH="Authorization: Bearer $TOKEN"
else
echo " ✗ Authentication failed"
exit 1
fi
# 3. Get Users
echo "3. Testing User Management..."
USERS=$(curl -s -H "$AUTH" "$API_URL/users")
if echo "$USERS" | grep -q "Id"; then
echo " ✓ Get users successful"
else
echo " ✗ Get users failed"
fi
# 4. Get Products
echo "4. Testing Product Catalog..."
PRODUCTS=$(curl -s "$API_URL/catalog/products")
if echo "$PRODUCTS" | grep -q "items"; then
echo " ✓ Get products successful"
else
echo " ✗ Get products failed"
fi
# 5. Create Order
echo "5. Testing Order Creation..."
ORDER=$(curl -s -X POST "$API_URL/orders" \
-H "Content-Type: application/json" \
-d '{
"identityReference": "test_customer_123",
"shippingInfo": "123 Test St",
"items": []
}')
ORDER_ID=$(echo "$ORDER" | grep -o '"id":"[^"]*' | sed 's/"id":"//')
if [ ! -z "$ORDER_ID" ]; then
echo " ✓ Order created: $ORDER_ID"
else
echo " ✗ Order creation failed"
fi
# 6. Create Payment with SilverPAY
if [ ! -z "$ORDER_ID" ]; then
echo "6. Testing SilverPAY Payment..."
PAYMENT=$(curl -s -X POST "$API_URL/orders/$ORDER_ID/payments" \
-H "Content-Type: application/json" \
-d '{
"cryptocurrency": "BTC",
"amount": 10.00
}')
if echo "$PAYMENT" | grep -q "walletAddress"; then
echo " ✓ Payment created with SilverPAY"
echo "$PAYMENT" | grep -o '"walletAddress":"[^"]*' | sed 's/"walletAddress":"/ Wallet: /'
echo "$PAYMENT" | grep -o '"cryptoAmount":[^,}]*' | sed 's/"cryptoAmount":/ Amount: /'
else
echo " ✗ Payment creation failed"
echo " Response: $PAYMENT"
fi
fi
# 7. Test Categories
echo "7. Testing Categories..."
CATEGORIES=$(curl -s "$API_URL/catalog/categories")
if [ "$?" -eq 0 ]; then
echo " ✓ Categories endpoint working"
else
echo " ✗ Categories endpoint failed"
fi
# 8. Test Admin Panel
echo "8. Testing Admin Panel..."
ADMIN_PAGE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/Admin/Account/Login)
if [ "$ADMIN_PAGE" == "200" ]; then
echo " ✓ Admin panel accessible"
else
echo " ✗ Admin panel not accessible"
fi
echo ""
echo "========================================="
echo " Quick Test Complete"
echo "========================================="