- Add 26 documentation files including test reports, deployment guides, and troubleshooting documentation - Include 3 CSV data files for trainer imports and user registration tracking - Add 43 JavaScript test files covering mobile optimization, Safari compatibility, and E2E testing - Include 18 PHP utility files for debugging, geocoding, and data analysis - Add 12 shell scripts for deployment verification, user management, and database operations - Update .gitignore with whitelist patterns for development files, documentation, and CSV data 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			73 lines
		
	
	
		
			No EOL
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			No EOL
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const { chromium } = require('playwright');
 | |
| 
 | |
| async function testJoeAccounts() {
 | |
|   console.log('🔐 Testing Joe account access to master trainer functionality...');
 | |
|   
 | |
|   const browser = await chromium.launch();
 | |
|   
 | |
|   const joeAccounts = [
 | |
|     {
 | |
|       username: 'joe@measurequick.com',
 | |
|       password: 'JoeTrainer2025@',
 | |
|       name: 'Joe MeasureQuick'
 | |
|     },
 | |
|     {
 | |
|       username: 'joe@upskillhvac.com', 
 | |
|       password: 'JoeTrainer2025@',
 | |
|       name: 'Joe UpskillHVAC'
 | |
|     }
 | |
|   ];
 | |
|   
 | |
|   for (const account of joeAccounts) {
 | |
|     console.log(`\n🧪 Testing ${account.name} (${account.username})...`);
 | |
|     
 | |
|     const page = await browser.newPage();
 | |
|     
 | |
|     try {
 | |
|       // Test login
 | |
|       await page.goto('https://upskill-staging.measurequick.com/training-login/');
 | |
|       await page.waitForLoadState('networkidle');
 | |
|       
 | |
|       await page.fill('#user_login', account.username);
 | |
|       await page.fill('#user_pass', account.password);
 | |
|       await page.click('#wp-submit');
 | |
|       
 | |
|       await page.waitForURL('**/trainer/dashboard/**', { timeout: 10000 });
 | |
|       console.log('✅ Login successful');
 | |
|       
 | |
|       // Test regular trainer dashboard access
 | |
|       const trainerDashboard = page.url().includes('/trainer/dashboard/');
 | |
|       console.log(`📊 Trainer dashboard access: ${trainerDashboard}`);
 | |
|       
 | |
|       // Test master trainer dashboard access
 | |
|       await page.goto('https://upskill-staging.measurequick.com/master-trainer/dashboard/');
 | |
|       await page.waitForLoadState('networkidle');
 | |
|       
 | |
|       // Check if we're still on the master dashboard (not redirected due to permissions)
 | |
|       const masterDashboard = page.url().includes('/master-trainer/dashboard/');
 | |
|       console.log(`🎯 Master trainer dashboard access: ${masterDashboard}`);
 | |
|       
 | |
|       // Take screenshot for verification
 | |
|       await page.screenshot({ 
 | |
|         path: `test-results/joe-${account.username.replace('@', '-at-')}-master-dashboard.png`, 
 | |
|         fullPage: true 
 | |
|       });
 | |
|       
 | |
|       if (masterDashboard) {
 | |
|         console.log(`✅ ${account.name} has master trainer access!`);
 | |
|       } else {
 | |
|         console.log(`❌ ${account.name} lacks master trainer access`);
 | |
|       }
 | |
|       
 | |
|     } catch (error) {
 | |
|       console.error(`❌ Test failed for ${account.name}:`, error.message);
 | |
|     } finally {
 | |
|       await page.close();
 | |
|     }
 | |
|   }
 | |
|   
 | |
|   await browser.close();
 | |
|   console.log('\n✅ Joe account testing completed!');
 | |
| }
 | |
| 
 | |
| testJoeAccounts(); |