- 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>
		
			
				
	
	
		
			87 lines
		
	
	
		
			No EOL
		
	
	
		
			4.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			No EOL
		
	
	
		
			4.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const { chromium } = require('playwright');
 | |
| 
 | |
| async function debugProfileTemplate() {
 | |
|     console.log('🔍 DEBUGGING PROFILE TEMPLATE SYSTEM');
 | |
|     console.log('================================================================================');
 | |
|     
 | |
|     const browser = await chromium.launch({ headless: false });
 | |
|     const context = await browser.newContext();
 | |
|     const page = await context.newPage();
 | |
|     
 | |
|     try {
 | |
|         // Login as test trainer
 | |
|         console.log('📝 Logging in as test trainer...');
 | |
|         await page.goto('https://upskill-staging.measurequick.com/wp-login.php');
 | |
|         await page.fill('#user_login', 'test_trainer');
 | |
|         await page.fill('#user_pass', 'TestTrainer123!');
 | |
|         await page.click('#wp-submit');
 | |
|         await page.waitForURL('**/trainer/dashboard/**');
 | |
|         console.log('✅ Login successful');
 | |
|         
 | |
|         // Go to profile page and check what's loaded
 | |
|         console.log('🔍 Checking profile page source...');
 | |
|         await page.goto('https://upskill-staging.measurequick.com/trainer/profile/');
 | |
|         await page.waitForLoadState('networkidle');
 | |
|         
 | |
|         // Check page body classes
 | |
|         const bodyClasses = await page.getAttribute('body', 'class');
 | |
|         console.log(`📋 Body classes: ${bodyClasses}`);
 | |
|         
 | |
|         // Check for template indicators
 | |
|         const templateIndicators = await page.evaluate(() => {
 | |
|             return {
 | |
|                 hasHvacWrapper: document.querySelector('.hvac-page-wrapper') !== null,
 | |
|                 hasProfileContainer: document.querySelector('.hvac-trainer-profile-view') !== null,
 | |
|                 hasContainer: document.querySelector('.container') !== null,
 | |
|                 pageContent: document.querySelector('main, .content, .entry-content') ? 
 | |
|                     document.querySelector('main, .content, .entry-content').innerText.slice(0, 200) : 'No main content found',
 | |
|                 shortcodes: document.body.innerHTML.includes('[hvac_') || document.body.innerHTML.includes('[trainer_'),
 | |
|                 templateConstant: document.body.innerHTML.includes('HVAC_IN_PAGE_TEMPLATE')
 | |
|             };
 | |
|         });
 | |
|         
 | |
|         console.log('🔍 Template analysis:', templateIndicators);
 | |
|         
 | |
|         // Check what the page is actually loading
 | |
|         const pageSource = await page.content();
 | |
|         const isUsingShortcode = pageSource.includes('Trainer profile view - Updated template will handle display');
 | |
|         console.log(`📄 Using shortcode fallback: ${isUsingShortcode}`);
 | |
|         
 | |
|         // Check for WordPress template hierarchy
 | |
|         const wpTemplateInfo = await page.evaluate(() => {
 | |
|             const bodyClasses = document.body.className;
 | |
|             return {
 | |
|                 isPageTemplate: bodyClasses.includes('page-template'),
 | |
|                 templateName: bodyClasses.match(/page-template-([^\s]+)/)?.[1] || 'none',
 | |
|                 isCustomTemplate: bodyClasses.includes('page-trainer-profile')
 | |
|             };
 | |
|         });
 | |
|         
 | |
|         console.log('🎯 WordPress template info:', wpTemplateInfo);
 | |
|         
 | |
|         // Take detailed screenshot
 | |
|         await page.screenshot({ path: 'profile-template-debug.png', fullPage: true });
 | |
|         
 | |
|         // Check edit page too
 | |
|         console.log('🔍 Checking edit page source...');
 | |
|         await page.goto('https://upskill-staging.measurequick.com/trainer/profile/edit/');
 | |
|         await page.waitForLoadState('networkidle');
 | |
|         
 | |
|         const editSource = await page.content();
 | |
|         const editUsingShortcode = editSource.includes('Trainer profile edit - Updated template will handle editing');
 | |
|         console.log(`📄 Edit using shortcode fallback: ${editUsingShortcode}`);
 | |
|         
 | |
|         await page.screenshot({ path: 'profile-edit-template-debug.png', fullPage: true });
 | |
|         
 | |
|         console.log('================================================================================');
 | |
|         console.log('🎯 TEMPLATE DEBUG COMPLETE');
 | |
|         
 | |
|     } catch (error) {
 | |
|         console.error('❌ Error during template debug:', error);
 | |
|         await page.screenshot({ path: 'template-debug-error.png', fullPage: true });
 | |
|     } finally {
 | |
|         await browser.close();
 | |
|     }
 | |
| }
 | |
| 
 | |
| debugProfileTemplate(); |