upskill-event-manager/test-master-page-exists.js
Ben bc2a7191e7 fix: master dashboard layout and breadcrumb issues
- Fixed breadcrumb method name (render() -> render_breadcrumbs())
- Resolved two-column layout by moving navigation inside content wrapper
- Added dedicated CSS to force single-column layout
- Updated hierarchical URL detection for master dashboard pages
- Updated TROUBLESHOOTING.md with complete master dashboard fixes
- Removed redundant authentication blocking content display
2025-08-22 15:16:45 -03:00

98 lines
No EOL
3.7 KiB
JavaScript

const { chromium } = require('playwright');
(async () => {
console.log('🔍 Testing master dashboard page existence and template...');
const browser = await chromium.launch({
headless: false,
slowMo: 500
});
const page = await browser.newPage();
try {
// Login first
console.log('📋 Logging in as master trainer...');
await page.goto('https://upskill-staging.measurequick.com/training-login/');
await page.waitForTimeout(2000);
await page.fill('#user_login', 'test_master');
await page.fill('#user_pass', 'TestMaster123!');
await page.click('#wp-submit');
await page.waitForTimeout(3000);
// Go directly to master dashboard
console.log('📋 Navigating to master dashboard...');
await page.goto('https://upskill-staging.measurequick.com/master-trainer/master-dashboard/');
await page.waitForTimeout(3000);
// Check for debug comments in source
const htmlSource = await page.content();
console.log('\n📊 Debug Comments Check:');
console.log('- Contains "DEBUG: template-hvac-master-dashboard.php loaded":', htmlSource.includes('DEBUG: template-hvac-master-dashboard.php loaded'));
console.log('- Contains "Master Dashboard" heading:', htmlSource.includes('<h1 class="entry-title">Master Dashboard</h1>') || htmlSource.includes('<h1>Master Dashboard</h1>'));
console.log('- Contains "System Overview":', htmlSource.includes('System Overview'));
// Check if we're getting the right template
const bodyClasses = await page.evaluate(() => document.body.className);
console.log('\n📊 Body Classes:', bodyClasses);
// Check for hvac-page-wrapper
const hasWrapper = await page.evaluate(() => {
return document.querySelector('.hvac-page-wrapper') !== null;
});
console.log('- Has .hvac-page-wrapper:', hasWrapper);
// Check for main content
const hasMain = await page.evaluate(() => {
return document.querySelector('#main') !== null;
});
console.log('- Has #main:', hasMain);
// Check what's actually in the main area
const mainContent = await page.evaluate(() => {
const main = document.querySelector('#main, .site-main, .content-area');
if (main) {
return {
tagName: main.tagName,
id: main.id,
className: main.className,
innerHTMLLength: main.innerHTML.length,
firstChars: main.innerHTML.substring(0, 200)
};
}
return null;
});
console.log('\n📊 Main Content Area:', mainContent);
// Check if WordPress thinks this is a page
const isPage = await page.evaluate(() => {
const bodyClasses = document.body.className;
return {
hasPageClass: bodyClasses.includes('page'),
hasPageId: /page-id-\d+/.test(bodyClasses),
pageId: bodyClasses.match(/page-id-(\d+)/)?.[1] || null,
hasTemplateClass: bodyClasses.includes('page-template'),
templateClass: bodyClasses.match(/page-template-[\w-]+/)?.[0] || null
};
});
console.log('\n📊 WordPress Page Detection:', isPage);
// Take a screenshot for visual reference
await page.screenshot({
path: '/tmp/playwright-mcp-output/master-dashboard-debug.png',
fullPage: false
});
console.log('\n📸 Screenshot saved to /tmp/playwright-mcp-output/master-dashboard-debug.png');
// Keep browser open for manual inspection
console.log('\n🔍 Keeping browser open for 15 seconds...');
await page.waitForTimeout(15000);
} catch (error) {
console.error('Error during testing:', error);
} finally {
await browser.close();
console.log('✅ Test completed');
}
})();