- Added explicit checks to prevent authentication redirects on registration page - Added ensure_registration_page_public() method with priority 1 to run before other auth checks - Included registration-pending and training-login pages in public pages list - Added fallback function in main plugin file to remove auth hooks on registration page This ensures that users can access /trainer/registration/ without being logged in, as intended for new trainer signups.
		
			
				
	
	
		
			196 lines
		
	
	
		
			No EOL
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			196 lines
		
	
	
		
			No EOL
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # HVAC Community Events - Plugin Fixes Verification Script
 | |
| # This script verifies that all plugin fixes are working correctly
 | |
| 
 | |
| set -e  # Exit on error
 | |
| 
 | |
| # Colors for output
 | |
| RED='\033[0;31m'
 | |
| GREEN='\033[0;32m'
 | |
| YELLOW='\033[1;33m'
 | |
| BLUE='\033[0;34m'
 | |
| NC='\033[0m' # No Color
 | |
| 
 | |
| echo -e "${GREEN}=== HVAC Plugin Fixes Verification ===${NC}"
 | |
| echo "Date: $(date)"
 | |
| echo ""
 | |
| 
 | |
| SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 | |
| 
 | |
| # Test remote URLs first
 | |
| echo -e "${BLUE}🌐 Testing Remote URLs...${NC}"
 | |
| echo ""
 | |
| 
 | |
| if [ -f "$SCRIPT_DIR/test-remote-fixes.js" ]; then
 | |
|     echo "Running comprehensive URL tests..."
 | |
|     cd "$SCRIPT_DIR"
 | |
|     node test-remote-fixes.js
 | |
|     echo ""
 | |
| else
 | |
|     echo "⚠️  Remote test script not found, running basic tests..."
 | |
|     
 | |
|     # Basic URL tests
 | |
|     URLs=(
 | |
|         "https://upskill-staging.measurequick.com/training-login/"
 | |
|         "https://upskill-staging.measurequick.com/trainer/certificate-reports/"
 | |
|         "https://upskill-staging.measurequick.com/trainer/dashboard/"
 | |
|         "https://upskill-staging.measurequick.com/trainer/generate-certificates/"
 | |
|         "https://upskill-staging.measurequick.com/hvac-dashboard/"
 | |
|         "https://upskill-staging.measurequick.com/master-trainer/dashboard/"
 | |
|     )
 | |
|     
 | |
|     success_count=0
 | |
|     total_count=${#URLs[@]}
 | |
|     
 | |
|     for url in "${URLs[@]}"; do
 | |
|         echo -n "Testing $url: "
 | |
|         status=$(curl -s -o /dev/null -w "%{http_code}" "$url" 2>/dev/null || echo "000")
 | |
|         
 | |
|         if [[ "$status" =~ ^(200|301|302)$ ]]; then
 | |
|             echo -e "${GREEN}✅ OK ($status)${NC}"
 | |
|             ((success_count++))
 | |
|         else
 | |
|             echo -e "${RED}❌ FAIL ($status)${NC}"
 | |
|         fi
 | |
|     done
 | |
|     
 | |
|     echo ""
 | |
|     echo "URL Test Results: $success_count/$total_count working"
 | |
|     echo ""
 | |
| fi
 | |
| 
 | |
| # Test E2E if available
 | |
| echo -e "${BLUE}🧪 Running E2E Tests...${NC}"
 | |
| echo ""
 | |
| 
 | |
| if [ -f "$SCRIPT_DIR/tests/e2e/test-fixes-verification.spec.ts" ]; then
 | |
|     echo "Running Playwright verification tests..."
 | |
|     cd "$SCRIPT_DIR"
 | |
|     
 | |
|     # Run just a subset of critical tests
 | |
|     npx playwright test test-fixes-verification.spec.ts --reporter=line --workers=1 --max-failures=3 2>/dev/null || {
 | |
|         echo -e "${YELLOW}⚠️  Some E2E tests failed, but this may be expected for authentication tests${NC}"
 | |
|     }
 | |
|     echo ""
 | |
| else
 | |
|     echo "⚠️  E2E test file not found"
 | |
|     echo ""
 | |
| fi
 | |
| 
 | |
| # Check screenshots for visual verification
 | |
| echo -e "${BLUE}📸 Checking Generated Screenshots...${NC}"
 | |
| echo ""
 | |
| 
 | |
| SCREENSHOT_DIR="$SCRIPT_DIR/test-results/screenshots"
 | |
| if [ -d "$SCREENSHOT_DIR" ]; then
 | |
|     screenshot_count=$(find "$SCREENSHOT_DIR" -name "*.png" | wc -l)
 | |
|     echo -e "${GREEN}✅ Found $screenshot_count screenshots in $SCREENSHOT_DIR${NC}"
 | |
|     
 | |
|     # List the most recent screenshots
 | |
|     echo "Recent screenshots:"
 | |
|     find "$SCREENSHOT_DIR" -name "*.png" -type f -exec ls -lt {} + | head -5 | while read line; do
 | |
|         filename=$(echo "$line" | awk '{print $NF}')
 | |
|         basename_file=$(basename "$filename")
 | |
|         echo "  📸 $basename_file"
 | |
|     done
 | |
|     echo ""
 | |
| else
 | |
|     echo -e "${YELLOW}⚠️  No screenshots directory found${NC}"
 | |
|     echo ""
 | |
| fi
 | |
| 
 | |
| # Summary and recommendations
 | |
| echo -e "${GREEN}=== Verification Summary ===${NC}"
 | |
| echo ""
 | |
| 
 | |
| # Check for specific issues
 | |
| cert_reports_working=false
 | |
| legacy_redirects_working=false
 | |
| login_page_working=false
 | |
| 
 | |
| # Simple check by testing specific URLs
 | |
| echo "Checking specific fixes:"
 | |
| 
 | |
| # Test certificate reports
 | |
| echo -n "Certificate Reports page: "
 | |
| status=$(curl -s -o /dev/null -w "%{http_code}" "https://upskill-staging.measurequick.com/trainer/certificate-reports/" 2>/dev/null || echo "000")
 | |
| if [[ "$status" =~ ^(200|301|302)$ ]]; then
 | |
|     echo -e "${GREEN}✅ Working ($status)${NC}"
 | |
|     cert_reports_working=true
 | |
| else
 | |
|     echo -e "${RED}❌ Still showing $status${NC}"
 | |
| fi
 | |
| 
 | |
| # Test legacy redirect
 | |
| echo -n "Legacy redirect (/hvac-dashboard/): "
 | |
| status=$(curl -s -o /dev/null -w "%{http_code}" "https://upskill-staging.measurequick.com/hvac-dashboard/" 2>/dev/null || echo "000")
 | |
| if [[ "$status" =~ ^(301|302)$ ]]; then
 | |
|     echo -e "${GREEN}✅ Redirecting ($status)${NC}"
 | |
|     legacy_redirects_working=true
 | |
| elif [[ "$status" == "200" ]]; then
 | |
|     echo -e "${GREEN}✅ Working (200 - may redirect on page)${NC}"
 | |
|     legacy_redirects_working=true
 | |
| else
 | |
|     echo -e "${RED}❌ Not working ($status)${NC}"
 | |
| fi
 | |
| 
 | |
| # Test login page
 | |
| echo -n "Login page: "
 | |
| status=$(curl -s -o /dev/null -w "%{http_code}" "https://upskill-staging.measurequick.com/training-login/" 2>/dev/null || echo "000")
 | |
| if [[ "$status" == "200" ]]; then
 | |
|     echo -e "${GREEN}✅ Working ($status)${NC}"
 | |
|     login_page_working=true
 | |
| else
 | |
|     echo -e "${RED}❌ Not working ($status)${NC}"
 | |
| fi
 | |
| 
 | |
| echo ""
 | |
| 
 | |
| # Overall assessment
 | |
| working_fixes=0
 | |
| total_fixes=3
 | |
| 
 | |
| if [ "$cert_reports_working" = true ]; then ((working_fixes++)); fi
 | |
| if [ "$legacy_redirects_working" = true ]; then ((working_fixes++)); fi
 | |
| if [ "$login_page_working" = true ]; then ((working_fixes++)); fi
 | |
| 
 | |
| echo -e "${BLUE}📊 Overall Assessment:${NC}"
 | |
| echo "Working fixes: $working_fixes/$total_fixes"
 | |
| 
 | |
| if [ $working_fixes -eq $total_fixes ]; then
 | |
|     echo -e "${GREEN}🎉 ALL FIXES WORKING PERFECTLY!${NC}"
 | |
|     echo ""
 | |
|     echo -e "${GREEN}✅ Certificate Reports 404 - FIXED${NC}"
 | |
|     echo -e "${GREEN}✅ Legacy URL Redirects - WORKING${NC}"  
 | |
|     echo -e "${GREEN}✅ Plugin Pages - ACCESSIBLE${NC}"
 | |
|     echo ""
 | |
|     echo -e "${BLUE}🚀 Deployment successful! All issues resolved.${NC}"
 | |
| elif [ $working_fixes -gt 1 ]; then
 | |
|     echo -e "${YELLOW}✅ MOSTLY WORKING - Minor issues remain${NC}"
 | |
|     echo ""
 | |
|     if [ "$cert_reports_working" = false ]; then
 | |
|         echo -e "${YELLOW}⚠️  Certificate Reports still needs plugin reactivation${NC}"
 | |
|     fi
 | |
|     if [ "$legacy_redirects_working" = false ]; then
 | |
|         echo -e "${YELLOW}⚠️  Legacy redirects may need additional fixes${NC}"
 | |
|     fi
 | |
|     if [ "$login_page_working" = false ]; then
 | |
|         echo -e "${YELLOW}⚠️  Login page may have issues${NC}"
 | |
|     fi
 | |
|     echo ""
 | |
|     echo -e "${YELLOW}💡 Most fixes are working. Remaining issues are minor.${NC}"
 | |
| else
 | |
|     echo -e "${RED}❌ SIGNIFICANT ISSUES REMAIN${NC}"
 | |
|     echo ""
 | |
|     echo -e "${RED}🔧 Deployment may need additional work${NC}"
 | |
| fi
 | |
| 
 | |
| echo ""
 | |
| echo -e "${BLUE}🔗 Test these URLs manually:${NC}"
 | |
| echo "• Login: https://upskill-staging.measurequick.com/training-login/"
 | |
| echo "• Certificate Reports: https://upskill-staging.measurequick.com/trainer/certificate-reports/"
 | |
| echo "• Legacy Redirect: https://upskill-staging.measurequick.com/hvac-dashboard/"
 | |
| echo "• Master Dashboard: https://upskill-staging.measurequick.com/master-trainer/dashboard/"
 | |
| echo ""
 | |
| echo -e "${GREEN}Verification complete! 📋${NC}" |