83 lines
3.3 KiB
Bash
Executable File
83 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "=========================================="
|
|
echo " CART & WISHLIST DRAWER TEST SUITE"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# Test 1: Check CSS is correct
|
|
echo "TEST 1: Verifying CSS for cart drawer..."
|
|
CART_CSS=$(curl -s http://localhost:5000/assets/css/modern-theme.css | grep -A 15 "\.cart-drawer {")
|
|
if echo "$CART_CSS" | grep -q "right: -400px" && echo "$CART_CSS" | grep -q "visibility: hidden"; then
|
|
echo "✓ PASS: Cart drawer CSS is correct (right: -400px, visibility: hidden)"
|
|
else
|
|
echo "✗ FAIL: Cart drawer CSS is incorrect"
|
|
echo "$CART_CSS"
|
|
fi
|
|
|
|
echo ""
|
|
echo "TEST 2: Verifying CSS for wishlist drawer..."
|
|
WISHLIST_CSS=$(curl -s http://localhost:5000/assets/css/modern-theme.css | grep -A 15 "\.wishlist-drawer {")
|
|
if echo "$WISHLIST_CSS" | grep -q "right: -400px" && echo "$WISHLIST_CSS" | grep -q "visibility: hidden"; then
|
|
echo "✓ PASS: Wishlist drawer CSS is correct (right: -400px, visibility: hidden)"
|
|
else
|
|
echo "✗ FAIL: Wishlist drawer CSS is incorrect"
|
|
echo "$WISHLIST_CSS"
|
|
fi
|
|
|
|
echo ""
|
|
echo "TEST 3: Checking HTML on all pages..."
|
|
for page in "" "shop" "portfolio" "about" "blog" "contact" "product"; do
|
|
CART_CLASS=$(curl -s "http://localhost:5000/${page}" 2>/dev/null | grep -o 'class="cart-drawer[^"]*"' | head -1)
|
|
WISHLIST_CLASS=$(curl -s "http://localhost:5000/${page}" 2>/dev/null | grep -o 'class="wishlist-drawer[^"]*"' | head -1)
|
|
|
|
if [[ "$CART_CLASS" == 'class="cart-drawer"' ]] && [[ "$WISHLIST_CLASS" == 'class="wishlist-drawer"' ]]; then
|
|
echo "✓ PASS: /${page} - No .open class on drawers"
|
|
else
|
|
echo "✗ FAIL: /${page} - Unexpected classes: $CART_CLASS $WISHLIST_CLASS"
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "TEST 4: Verifying JavaScript files are loading..."
|
|
JS_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:5000/assets/js/modern-theme.js)
|
|
if [ "$JS_STATUS" == "200" ]; then
|
|
echo "✓ PASS: JavaScript file loads successfully (HTTP $JS_STATUS)"
|
|
else
|
|
echo "✗ FAIL: JavaScript file failed to load (HTTP $JS_STATUS)"
|
|
fi
|
|
|
|
echo ""
|
|
echo "TEST 5: Checking mobile responsive styles..."
|
|
MOBILE_CSS=$(curl -s http://localhost:5000/assets/css/modern-theme.css | grep -A 10 "@media (max-width: 480px)")
|
|
if echo "$MOBILE_CSS" | grep -q "width: 100%" && echo "$MOBILE_CSS" | grep -q "right: -100%"; then
|
|
echo "✓ PASS: Mobile styles correctly set (100% width, right: -100%)"
|
|
else
|
|
echo "✗ FAIL: Mobile styles are incorrect"
|
|
fi
|
|
|
|
echo ""
|
|
echo "TEST 6: Verifying PM2 process status..."
|
|
PM2_STATUS=$(pm2 jlist | jq -r '.[0].pm2_env.status')
|
|
if [ "$PM2_STATUS" == "online" ]; then
|
|
echo "✓ PASS: Server is running (status: $PM2_STATUS)"
|
|
else
|
|
echo "✗ FAIL: Server status is $PM2_STATUS"
|
|
fi
|
|
|
|
echo ""
|
|
echo "=========================================="
|
|
echo " TEST SUMMARY"
|
|
echo "=========================================="
|
|
echo "All tests completed. Review results above."
|
|
echo ""
|
|
echo "MANUAL TEST INSTRUCTIONS:"
|
|
echo "1. Open http://localhost:5000 in your browser"
|
|
echo "2. Hard refresh (Ctrl+F5 or Cmd+Shift+R)"
|
|
echo "3. Verify NO cart or wishlist visible on page load"
|
|
echo "4. Click cart icon - drawer should slide in from right"
|
|
echo "5. Click outside or close button - drawer should slide out"
|
|
echo "6. Repeat for wishlist icon"
|
|
echo "7. Test on mobile view (resize browser < 480px)"
|
|
echo "=========================================="
|