Some checks are pending
		
		
	
	HVAC Plugin CI/CD Pipeline / Security Analysis (push) Waiting to run
				
			HVAC Plugin CI/CD Pipeline / Code Quality & Standards (push) Waiting to run
				
			HVAC Plugin CI/CD Pipeline / Unit Tests (push) Waiting to run
				
			HVAC Plugin CI/CD Pipeline / Integration Tests (push) Waiting to run
				
			HVAC Plugin CI/CD Pipeline / Deploy to Staging (push) Blocked by required conditions
				
			HVAC Plugin CI/CD Pipeline / Deploy to Production (push) Blocked by required conditions
				
			HVAC Plugin CI/CD Pipeline / Notification (push) Blocked by required conditions
				
			Security Monitoring & Compliance / Dependency Vulnerability Scan (push) Waiting to run
				
			Security Monitoring & Compliance / Secrets & Credential Scan (push) Waiting to run
				
			Security Monitoring & Compliance / WordPress Security Analysis (push) Waiting to run
				
			Security Monitoring & Compliance / Static Code Security Analysis (push) Waiting to run
				
			Security Monitoring & Compliance / Security Compliance Validation (push) Waiting to run
				
			Security Monitoring & Compliance / Security Summary Report (push) Blocked by required conditions
				
			Security Monitoring & Compliance / Security Team Notification (push) Blocked by required conditions
				
			- Add 90+ test files including E2E, unit, and integration tests - Implement Page Object Model (POM) architecture - Add Docker testing environment with comprehensive services - Include modernized test framework with error recovery - Add specialized test suites for master trainer and trainer workflows - Update .gitignore to properly track test infrastructure 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			483 lines
		
	
	
		
			No EOL
		
	
	
		
			13 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			483 lines
		
	
	
		
			No EOL
		
	
	
		
			13 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Master Trainer Comprehensive E2E Test Suite
 | |
| 
 | |
| **Agent C Implementation - Complete Coverage of 12 Master Trainer Administrative Pages**
 | |
| 
 | |
| This comprehensive test suite provides thorough end-to-end testing of all Master Trainer functionality using the HVAC Testing Framework 2.0 with MCP Playwright integration.
 | |
| 
 | |
| ## Overview
 | |
| 
 | |
| ### 📊 Test Coverage
 | |
| 
 | |
| **12 Master Trainer Administrative Pages:**
 | |
| 1. ✅ `master-trainer/master-dashboard/` - Analytics & overview
 | |
| 2. ✅ `master-trainer/events/` - System-wide event management
 | |
| 3. ✅ `master-trainer/trainers/` - Trainer oversight & management
 | |
| 4. ✅ `master-trainer/announcements/` - System announcements
 | |
| 5. ✅ `master-trainer/pending-approvals/` - Approval workflow management
 | |
| 6. ✅ `master-trainer/communication-templates/` - Template management
 | |
| 7. ✅ `master-trainer/google-sheets/` - Spreadsheet integration
 | |
| 8. ✅ `master-trainer/import-export/` - Data import/export workflows
 | |
| 9. ✅ Layout consistency validation across all pages
 | |
| 
 | |
| ### 🎯 Key Test Scenarios
 | |
| 
 | |
| #### **Master Dashboard Analytics Validation**
 | |
| - Revenue calculations and reporting accuracy
 | |
| - Trainer performance metrics aggregation
 | |
| - Event statistics and trend analysis
 | |
| - Real-time data updates and caching
 | |
| - Navigation menu functionality
 | |
| 
 | |
| #### **Trainer Management Operations**
 | |
| - Trainer approval and status management
 | |
| - Performance monitoring and reporting
 | |
| - Trainer communication and feedback systems
 | |
| - Bulk trainer operations and updates
 | |
| - Trainer profile management
 | |
| 
 | |
| #### **System Administration Features**
 | |
| - Announcement creation and distribution
 | |
| - Communication template management
 | |
| - Data import/export functionality
 | |
| - System configuration and settings
 | |
| - Google Sheets integration
 | |
| 
 | |
| #### **Layout Standardization**
 | |
| - Single-column design consistency
 | |
| - Navigation and breadcrumb validation
 | |
| - Master trainer-specific styling and branding
 | |
| - Mobile responsiveness for administrative functions
 | |
| - Cross-browser compatibility
 | |
| 
 | |
| #### **Security & Error Validation**
 | |
| - WordPress error detection on all pages
 | |
| - Authentication and authorization verification
 | |
| - Role-based access control testing
 | |
| - Security header and nonce validation
 | |
| 
 | |
| ## 🚀 Quick Start
 | |
| 
 | |
| ### Prerequisites
 | |
| 
 | |
| - Node.js 16+
 | |
| - WordPress with HVAC plugin installed
 | |
| - Access to staging environment: `https://upskill-staging.measurequick.com`
 | |
| - Master trainer test accounts configured
 | |
| 
 | |
| ### Test Accounts
 | |
| 
 | |
| ```javascript
 | |
| // Primary account
 | |
| Username: test_master
 | |
| Password: TestMaster123!
 | |
| Role: hvac_master_trainer
 | |
| 
 | |
| // Alternative account
 | |
| Username: JoeMedosch@gmail.com
 | |
| Password: JoeTrainer2025@
 | |
| Role: hvac_master_trainer
 | |
| ```
 | |
| 
 | |
| ### Installation & Setup
 | |
| 
 | |
| ```bash
 | |
| # Navigate to tests directory
 | |
| cd tests/
 | |
| 
 | |
| # Install dependencies
 | |
| npm install
 | |
| 
 | |
| # Initialize framework (if needed)
 | |
| npm run framework:init
 | |
| ```
 | |
| 
 | |
| ## 📋 Execution Commands
 | |
| 
 | |
| ### **Recommended: Comprehensive Test Runner**
 | |
| ```bash
 | |
| # Full comprehensive test suite with reporting
 | |
| npm run test:master-trainer-comprehensive
 | |
| 
 | |
| # With GNOME session support (headed testing)
 | |
| DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.U8VEB3 npm run test:master-trainer-comprehensive
 | |
| 
 | |
| # Headless execution
 | |
| HEADLESS=true npm run test:master-trainer-comprehensive
 | |
| ```
 | |
| 
 | |
| ### **Direct Playwright Execution**
 | |
| ```bash
 | |
| # Standard execution
 | |
| npm run test:master-trainer
 | |
| 
 | |
| # Headed execution with GNOME support
 | |
| npm run test:master-trainer-headed
 | |
| 
 | |
| # Debug mode with pause points
 | |
| npm run test:master-trainer-debug
 | |
| 
 | |
| # Custom configuration
 | |
| BASE_URL=https://upskill-staging.measurequick.com npm run test:master-trainer
 | |
| ```
 | |
| 
 | |
| ### **Manual Playwright Command**
 | |
| ```bash
 | |
| # Full control
 | |
| npx playwright test e2e/master-trainer-comprehensive.test.js \
 | |
|   --config=playwright-master-trainer.config.js \
 | |
|   --headed \
 | |
|   --project=chromium-headed \
 | |
|   --timeout=300000
 | |
| ```
 | |
| 
 | |
| ## 🎨 GNOME Session Support
 | |
| 
 | |
| The test suite includes comprehensive support for headed testing in GNOME desktop environments:
 | |
| 
 | |
| ### **Environment Detection**
 | |
| ```bash
 | |
| # Desktop environment check
 | |
| XDG_CURRENT_DESKTOP=GNOME    # Detected automatically
 | |
| DISPLAY=:0                   # X11 display
 | |
| WAYLAND_DISPLAY=wayland-0    # Wayland display
 | |
| ```
 | |
| 
 | |
| ### **Headed Testing Features**
 | |
| - Visual debugging with slow motion
 | |
| - Real-time test execution observation
 | |
| - Interactive debugging with pause points
 | |
| - Full HD viewport (1920x1080)
 | |
| - Screenshot capture at each major step
 | |
| - Video recording of full test execution
 | |
| 
 | |
| ### **Xwayland Integration**
 | |
| ```bash
 | |
| # Set Xwayland authority for GNOME
 | |
| export XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.U8VEB3
 | |
| 
 | |
| # Enable headed testing
 | |
| export PLAYWRIGHT_HEADED=true
 | |
| export HEADLESS=false
 | |
| ```
 | |
| 
 | |
| ## 📁 File Structure
 | |
| 
 | |
| ```
 | |
| tests/
 | |
| ├── e2e/
 | |
| │   └── master-trainer-comprehensive.test.js    # Main test suite
 | |
| ├── page-objects/
 | |
| │   └── master-trainer/
 | |
| │       ├── MasterTrainerDashboard.js           # Dashboard interactions
 | |
| │       ├── MasterTrainerEvents.js              # Events management
 | |
| │       └── MasterTrainerTrainers.js            # Trainers management
 | |
| ├── scripts/
 | |
| │   └── run-master-trainer-comprehensive.js     # Test runner
 | |
| ├── playwright-master-trainer.config.js         # Playwright config
 | |
| ├── test-results/
 | |
| │   ├── master-trainer-comprehensive/           # Test artifacts
 | |
| │   ├── screenshots/master-trainer/             # Screenshots
 | |
| │   └── videos/master-trainer/                  # Video recordings
 | |
| └── README-MASTER-TRAINER-COMPREHENSIVE.md      # This documentation
 | |
| ```
 | |
| 
 | |
| ## 🧪 Test Categories
 | |
| 
 | |
| ### **1. Analytics Validation Tests**
 | |
| ```javascript
 | |
| 'should validate master dashboard analytics and metrics'
 | |
| ```
 | |
| - Dashboard statistics verification
 | |
| - Performance metrics validation
 | |
| - Navigation menu functionality
 | |
| - Section visibility testing
 | |
| 
 | |
| ### **2. Events Management Tests**
 | |
| ```javascript
 | |
| 'should test comprehensive events management functionality'
 | |
| ```
 | |
| - Events list and table interaction
 | |
| - Search and filtering capabilities
 | |
| - Bulk operations testing
 | |
| - System-wide event oversight
 | |
| 
 | |
| ### **3. Trainer Management Tests**
 | |
| ```javascript
 | |
| 'should test comprehensive trainer management functionality'
 | |
| ```
 | |
| - Trainer approval workflow
 | |
| - Status management operations
 | |
| - Performance monitoring
 | |
| - Bulk trainer actions
 | |
| 
 | |
| ### **4. System Administration Tests**
 | |
| ```javascript
 | |
| 'should test comprehensive announcements system functionality'
 | |
| 'should test communication templates management functionality'
 | |
| 'should test Google Sheets integration functionality'
 | |
| ```
 | |
| - Announcement creation and distribution
 | |
| - Template management workflows
 | |
| - Data import/export operations
 | |
| - Google Sheets integration
 | |
| 
 | |
| ### **5. Layout Consistency Tests**
 | |
| ```javascript
 | |
| 'should validate layout consistency across all master trainer pages'
 | |
| 'should test mobile responsiveness across master trainer pages'
 | |
| ```
 | |
| - Cross-page layout validation
 | |
| - Responsive design testing
 | |
| - Navigation consistency
 | |
| - Visual element verification
 | |
| 
 | |
| ### **6. Security & Error Detection Tests**
 | |
| ```javascript
 | |
| 'should validate WordPress security and error handling'
 | |
| ```
 | |
| - WordPress error detection
 | |
| - Authentication state verification
 | |
| - Security header validation
 | |
| - Role-based access control
 | |
| 
 | |
| ## 📊 Test Reporting
 | |
| 
 | |
| ### **Comprehensive Report Generation**
 | |
| 
 | |
| The test runner automatically generates detailed reports:
 | |
| 
 | |
| ```json
 | |
| {
 | |
|   "testSuite": "Master Trainer Comprehensive E2E Tests",
 | |
|   "timestamp": "2025-08-27T10:00:00.000Z",
 | |
|   "duration": 300000,
 | |
|   "environment": {
 | |
|     "baseUrl": "https://upskill-staging.measurequick.com",
 | |
|     "headless": false,
 | |
|     "desktop": "GNOME"
 | |
|   },
 | |
|   "coverage": {
 | |
|     "totalPages": 12,
 | |
|     "testedPages": [...],
 | |
|     "testCategories": [...]
 | |
|   },
 | |
|   "results": {...},
 | |
|   "screenshots": [...]
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### **Report Locations**
 | |
| ```bash
 | |
| ./test-results/master-trainer-comprehensive/
 | |
| ├── comprehensive-report.json           # Detailed JSON report
 | |
| ├── html-report/                       # Interactive HTML report
 | |
| ├── master-trainer-results.json       # Playwright results
 | |
| ├── junit-results.xml                  # JUnit XML report
 | |
| └── videos/                           # Test execution videos
 | |
| ```
 | |
| 
 | |
| ### **Screenshot Documentation**
 | |
| All major test steps capture screenshots with descriptive names:
 | |
| ```
 | |
| master-dashboard-initial.png
 | |
| events-management-comprehensive.png
 | |
| trainer-management-comprehensive.png
 | |
| layout-dashboard.png
 | |
| security-validation-complete.png
 | |
| ```
 | |
| 
 | |
| ## 🔧 Configuration
 | |
| 
 | |
| ### **Environment Variables**
 | |
| ```bash
 | |
| # Base configuration
 | |
| BASE_URL=https://upskill-staging.measurequick.com
 | |
| HEADLESS=false
 | |
| PLAYWRIGHT_HEADED=true
 | |
| 
 | |
| # GNOME session
 | |
| DISPLAY=:0
 | |
| WAYLAND_DISPLAY=wayland-0
 | |
| XDG_CURRENT_DESKTOP=GNOME
 | |
| XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.U8VEB3
 | |
| 
 | |
| # Test framework
 | |
| HVAC_TEST_ENV=staging
 | |
| TEST_RESULTS_DIR=./test-results/master-trainer-comprehensive
 | |
| ```
 | |
| 
 | |
| ### **Playwright Configuration**
 | |
| - **Timeout**: 5 minutes per test
 | |
| - **Retries**: 2 (1 in non-CI environments)
 | |
| - **Workers**: 1 (sequential execution)
 | |
| - **Screenshots**: On failure + comprehensive capture
 | |
| - **Videos**: On failure (always in headed mode)
 | |
| - **Trace**: On failure with full context
 | |
| 
 | |
| ## 📈 Performance Metrics
 | |
| 
 | |
| ### **Expected Execution Times**
 | |
| - **Full comprehensive suite**: ~15-20 minutes
 | |
| - **Individual test**: 2-5 minutes
 | |
| - **Page navigation**: 5-10 seconds
 | |
| - **Screenshot capture**: 1-2 seconds
 | |
| 
 | |
| ### **Resource Requirements**
 | |
| - **Memory**: 2-4 GB during execution
 | |
| - **Disk**: 500 MB for screenshots/videos
 | |
| - **Network**: Stable connection to staging environment
 | |
| 
 | |
| ## 🐛 Troubleshooting
 | |
| 
 | |
| ### **Common Issues & Solutions**
 | |
| 
 | |
| #### **GNOME Session Issues**
 | |
| ```bash
 | |
| # Check desktop environment
 | |
| echo $XDG_CURRENT_DESKTOP
 | |
| echo $DISPLAY
 | |
| echo $WAYLAND_DISPLAY
 | |
| 
 | |
| # Verify X11 access
 | |
| xset q
 | |
| 
 | |
| # Set proper authority
 | |
| export XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.U8VEB3
 | |
| ```
 | |
| 
 | |
| #### **Authentication Failures**
 | |
| ```bash
 | |
| # Verify test accounts
 | |
| curl -u test_master:TestMaster123! https://upskill-staging.measurequick.com/wp-json/wp/v2/users/me
 | |
| 
 | |
| # Clear storage states
 | |
| npm run clean:auth-states
 | |
| 
 | |
| # Force fresh login
 | |
| FORCE_FRESH_LOGIN=true npm run test:master-trainer
 | |
| ```
 | |
| 
 | |
| #### **Page Load Timeouts**
 | |
| ```bash
 | |
| # Increase timeout
 | |
| PLAYWRIGHT_TIMEOUT=60000 npm run test:master-trainer
 | |
| 
 | |
| # Check staging availability
 | |
| curl -I https://upskill-staging.measurequick.com
 | |
| ```
 | |
| 
 | |
| #### **Screenshot/Video Issues**
 | |
| ```bash
 | |
| # Verify output directories
 | |
| ls -la test-results/
 | |
| 
 | |
| # Clear previous results
 | |
| rm -rf test-results/master-trainer-comprehensive/
 | |
| 
 | |
| # Check disk space
 | |
| df -h
 | |
| ```
 | |
| 
 | |
| ### **Debug Mode**
 | |
| ```bash
 | |
| # Enable debug logging
 | |
| DEBUG=hvac:* npm run test:master-trainer-comprehensive
 | |
| 
 | |
| # Run with Playwright inspector
 | |
| npm run test:master-trainer-debug
 | |
| 
 | |
| # Pause on first line
 | |
| PWDEBUG=1 npm run test:master-trainer
 | |
| ```
 | |
| 
 | |
| ## ✅ Success Criteria
 | |
| 
 | |
| ### **Test Completion Requirements**
 | |
| - [ ] All 12 master trainer pages load without WordPress errors
 | |
| - [ ] Authentication works with both test accounts
 | |
| - [ ] Dashboard analytics display correctly
 | |
| - [ ] Events management functionality accessible
 | |
| - [ ] Trainer management operations available
 | |
| - [ ] Announcements system functional
 | |
| - [ ] Layout consistency across all pages
 | |
| - [ ] Security validation passes
 | |
| - [ ] Mobile responsiveness verified
 | |
| - [ ] Comprehensive screenshots captured
 | |
| 
 | |
| ### **Performance Benchmarks**
 | |
| - [ ] Page load times < 10 seconds
 | |
| - [ ] Test execution time < 25 minutes
 | |
| - [ ] No JavaScript console errors
 | |
| - [ ] All assertions pass successfully
 | |
| - [ ] Video recordings complete without corruption
 | |
| 
 | |
| ## 🚀 Integration with CI/CD
 | |
| 
 | |
| ### **Forgejo Actions Integration**
 | |
| ```yaml
 | |
| # .forgejo/workflows/master-trainer-e2e.yml
 | |
| name: Master Trainer E2E Tests
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|     branches: [ main, develop ]
 | |
|   pull_request:
 | |
|     branches: [ main ]
 | |
| 
 | |
| jobs:
 | |
|   master-trainer-e2e:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - uses: actions/checkout@v3
 | |
|       
 | |
|       - name: Setup Node.js
 | |
|         uses: actions/setup-node@v3
 | |
|         with:
 | |
|           node-version: '18'
 | |
|           
 | |
|       - name: Install dependencies
 | |
|         run: |
 | |
|           cd tests
 | |
|           npm install
 | |
|                     
 | |
|       - name: Run Master Trainer E2E Tests
 | |
|         run: |
 | |
|           cd tests
 | |
|           HEADLESS=true npm run test:master-trainer-comprehensive
 | |
|                     
 | |
|       - name: Upload test results
 | |
|         uses: actions/upload-artifact@v3
 | |
|         if: always()
 | |
|         with:
 | |
|           name: master-trainer-test-results
 | |
|           path: tests/test-results/
 | |
| ```
 | |
| 
 | |
| ## 📚 Additional Resources
 | |
| 
 | |
| - **[HVAC Testing Framework 2.0 Guide](./README-FRAMEWORK-2.0.md)**
 | |
| - **[WordPress Testing Best Practices](../docs/WORDPRESS-BEST-PRACTICES.md)**
 | |
| - **[Playwright Documentation](https://playwright.dev/docs/intro)**
 | |
| - **[MCP Playwright Tools](https://github.com/anthropics/claude-mcp-server)**
 | |
| 
 | |
| ## 🤝 Contributing
 | |
| 
 | |
| ### **Adding New Tests**
 | |
| 1. Follow the BaseTest.create() pattern
 | |
| 2. Use descriptive test names and categories
 | |
| 3. Include comprehensive screenshot capture
 | |
| 4. Add proper WordPress error detection
 | |
| 5. Update documentation accordingly
 | |
| 
 | |
| ### **Extending Page Objects**
 | |
| 1. Inherit from BasePage
 | |
| 2. Define comprehensive selectors
 | |
| 3. Implement WordPress-aware waiting
 | |
| 4. Add error handling for missing elements
 | |
| 5. Include JSDoc documentation
 | |
| 
 | |
| ---
 | |
| 
 | |
| **📋 Test Suite Status: READY FOR EXECUTION**
 | |
| 
 | |
| This comprehensive test suite provides complete coverage of all Master Trainer administrative functionality with professional-grade testing patterns, comprehensive reporting, and full GNOME session support for visual debugging. |