Files
PromptTech/test_about_page_cms.sh

94 lines
3.2 KiB
Bash
Raw Normal View History

2026-01-27 18:07:00 -06:00
#!/bin/bash
echo "🧪 Testing About Page CMS Functionality"
echo "========================================"
echo ""
# Get admin token
cd /media/pts/Website/PromptTech_Solution_Site/backend
source venv/bin/activate
TOKEN=$(python -c "
import asyncio
from database import AsyncSessionLocal
from models import User
from sqlalchemy import select
import jwt
from datetime import datetime, timedelta
async def get_admin_token():
async with AsyncSessionLocal() as db:
result = await db.execute(select(User).where(User.role == 'admin').limit(1))
admin = result.scalar_one_or_none()
if admin:
token = jwt.encode(
{'sub': admin.email, 'exp': datetime.utcnow() + timedelta(hours=24)},
'your-secret-key-change-in-production',
algorithm='HS256'
)
print(token)
asyncio.run(get_admin_token())
" 2>/dev/null)
if [ -z "$TOKEN" ]; then
echo "❌ Failed to get admin token"
exit 1
fi
echo "✅ Got admin token"
echo ""
# Test 1: Get all content
echo "📄 Test 1: Fetching About Content..."
CONTENT=$(curl -s -H "Authorization: Bearer $TOKEN" http://localhost:8181/api/admin/about/content)
CONTENT_COUNT=$(echo "$CONTENT" | python3 -c "import sys, json; print(len(json.load(sys.stdin)))")
echo " Found $CONTENT_COUNT content sections"
echo "$CONTENT" | python3 -m json.tool | head -30
echo ""
# Test 2: Get all team members
echo "👥 Test 2: Fetching Team Members..."
TEAM=$(curl -s -H "Authorization: Bearer $TOKEN" http://localhost:8181/api/admin/about/team)
TEAM_COUNT=$(echo "$TEAM" | python3 -c "import sys, json; print(len(json.load(sys.stdin)))")
echo " Found $TEAM_COUNT team members"
echo "$TEAM" | python3 -m json.tool | head -30
echo ""
# Test 3: Get all company values
echo "💎 Test 3: Fetching Company Values..."
VALUES=$(curl -s -H "Authorization: Bearer $TOKEN" http://localhost:8181/api/admin/about/values)
VALUES_COUNT=$(echo "$VALUES" | python3 -c "import sys, json; print(len(json.load(sys.stdin)))")
echo " Found $VALUES_COUNT company values"
echo "$VALUES" | python3 -m json.tool | head -30
echo ""
# Test 4: Update a team member
echo "✏️ Test 4: Testing Update Functionality..."
FIRST_MEMBER_ID=$(echo "$TEAM" | python3 -c "import sys, json; data=json.load(sys.stdin); print(data[0]['id'] if data else '')")
if [ ! -z "$FIRST_MEMBER_ID" ]; then
echo " Updating team member: $FIRST_MEMBER_ID"
UPDATE_RESULT=$(curl -s -X PUT \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Alex Johnson","role":"Founder & CEO (Updated)","is_active":true}' \
http://localhost:8181/api/admin/about/team/$FIRST_MEMBER_ID)
echo "$UPDATE_RESULT" | python3 -m json.tool
echo ""
echo " Reverting update..."
curl -s -X PUT \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Alex Johnson","role":"Founder & CEO","is_active":true}' \
http://localhost:8181/api/admin/about/team/$FIRST_MEMBER_ID > /dev/null
echo " ✅ Update test completed"
else
echo " ⚠️ No team members found to test update"
fi
echo ""
echo "========================================"
echo "✅ All tests completed!"