upskill-event-manager/test-profile-debug.js
bengizmo 993a820a84 feat: Add comprehensive development artifacts to repository
- 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>
2025-08-11 12:26:11 -03:00

97 lines
No EOL
4.5 KiB
JavaScript

const { chromium } = require('playwright');
async function testProfileDebug() {
console.log('🔍 TESTING PROFILE SYSTEM COMPONENTS');
console.log('================================================================================');
const browser = await chromium.launch({ headless: false });
const context = await browser.newContext();
const page = await context.newPage();
try {
// Login as admin to access WP admin
console.log('📝 Logging in as admin...');
await page.goto('https://upskill-staging.measurequick.com/wp-login.php');
await page.fill('#user_login', 'joe@measurequick.com');
await page.fill('#user_pass', 'VNL8TCd#o^L4');
await page.click('#wp-submit');
await page.waitForURL('**/wp-admin/**');
console.log('✅ Admin login successful');
// Check if trainer_profile post type exists
console.log('🔍 Checking trainer_profile post type...');
await page.goto('https://upskill-staging.measurequick.com/wp-admin/edit.php?post_type=trainer_profile');
await page.waitForLoadState('networkidle');
const postTypeTitle = await page.title();
console.log(`📄 Post type page title: ${postTypeTitle}`);
const profileCount = await page.locator('.wp-list-table tbody tr:not(.no-items)').count();
console.log(`📊 Trainer profiles found: ${profileCount}`);
if (profileCount > 0) {
const firstProfile = await page.locator('.wp-list-table tbody tr:first-child .row-title').first();
const profileTitle = await firstProfile.textContent();
console.log(`👤 First profile: ${profileTitle}`);
// Click to edit first profile
await firstProfile.click();
await page.waitForLoadState('networkidle');
const editTitle = await page.title();
console.log(`✏️ Edit profile title: ${editTitle}`);
// Check meta fields
const hasMetaFields = await page.locator('#postcustom').count() > 0;
console.log(`📝 Has meta fields: ${hasMetaFields}`);
}
await page.screenshot({ path: 'admin-profile-debug.png', fullPage: true });
// Now test as trainer
console.log('🔄 Switching to trainer login...');
await page.goto('https://upskill-staging.measurequick.com/wp-login.php?action=logout');
await page.click('a[href*="logout"]').catch(() => {}); // Confirm logout if needed
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('✅ Trainer login successful');
// Test profile page with error logging
console.log('🔍 Testing profile page with console logging...');
page.on('console', msg => console.log('🌐 Browser Console:', msg.text()));
page.on('pageerror', err => console.log('❌ Page Error:', err.message));
await page.goto('https://upskill-staging.measurequick.com/trainer/profile/');
await page.waitForLoadState('networkidle');
// Check for specific error messages or debug info
const hasErrorMessages = await page.evaluate(() => {
return {
hasError: document.body.innerText.includes('Fatal error') ||
document.body.innerText.includes('Warning:') ||
document.body.innerText.includes('Notice:'),
hasDebugInfo: document.body.innerText.includes('debug') ||
document.body.innerText.includes('Query Monitor'),
pageContent: document.body.innerText.slice(0, 500)
};
});
console.log('🔍 Error analysis:', hasErrorMessages);
await page.screenshot({ path: 'trainer-profile-error-debug.png', fullPage: true });
console.log('================================================================================');
console.log('🎯 PROFILE DEBUG COMPLETE');
} catch (error) {
console.error('❌ Error during profile debug:', error);
await page.screenshot({ path: 'profile-debug-error.png', fullPage: true });
} finally {
await browser.close();
}
}
testProfileDebug();