- Fixed capability check in check_master_dashboard_auth function
- Changed from custom capabilities to role-based check: hvac_master_trainer role
- Root cause: function was checking for capabilities that hvac_master_trainer role didn't have
- This was causing HTTP 302 redirects to login page instead of loading dashboard content
- Master trainer pages now properly authenticate users with hvac_master_trainer role
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
111 lines
No EOL
4.3 KiB
JavaScript
111 lines
No EOL
4.3 KiB
JavaScript
const { chromium } = require('playwright');
|
|
|
|
(async () => {
|
|
console.log('🔍 Debug master trainer pages with proper authentication...');
|
|
|
|
const browser = await chromium.launch({
|
|
headless: false,
|
|
slowMo: 1500
|
|
});
|
|
|
|
const page = await browser.newPage();
|
|
|
|
try {
|
|
// Step 1: Login properly
|
|
console.log('📋 Step 1: Logging in as test_master...');
|
|
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(5000);
|
|
|
|
// Verify login worked
|
|
const loginSuccess = await page.evaluate(() => {
|
|
return !window.location.href.includes('/training-login/');
|
|
});
|
|
|
|
console.log('✅ Login Status:', loginSuccess ? 'SUCCESS' : 'FAILED');
|
|
console.log('📍 Current URL after login:', await page.url());
|
|
|
|
if (!loginSuccess) {
|
|
console.log('❌ Login failed, cannot proceed');
|
|
return;
|
|
}
|
|
|
|
// Step 2: Test master dashboard directly
|
|
console.log('\n📋 Step 2: Testing master dashboard...');
|
|
await page.goto('https://upskill-staging.measurequick.com/master-trainer/master-dashboard/');
|
|
await page.waitForTimeout(3000);
|
|
|
|
const dashboardTest = await page.evaluate(() => ({
|
|
title: document.title,
|
|
url: window.location.href,
|
|
hasContent: document.body.innerText.length > 200,
|
|
bodyText: document.body.innerText.substring(0, 500),
|
|
hasNavigation: !!document.querySelector('.hvac-trainer-menu'),
|
|
navItems: Array.from(document.querySelectorAll('.hvac-trainer-menu a')).length,
|
|
hasHvacWrapper: !!document.querySelector('.hvac-page-wrapper'),
|
|
isLoginPage: document.body.innerText.includes('Sign in to access')
|
|
}));
|
|
|
|
console.log('📊 Dashboard Test Results:');
|
|
console.log('- Title:', dashboardTest.title);
|
|
console.log('- URL:', dashboardTest.url);
|
|
console.log('- Has Content:', dashboardTest.hasContent);
|
|
console.log('- Is Login Page:', dashboardTest.isLoginPage);
|
|
console.log('- Has Navigation:', dashboardTest.hasNavigation);
|
|
console.log('- Nav Items:', dashboardTest.navItems);
|
|
console.log('- Has HVAC Wrapper:', dashboardTest.hasHvacWrapper);
|
|
console.log('- Body Preview:', dashboardTest.bodyText);
|
|
|
|
// Step 3: Test trainers page
|
|
console.log('\n📋 Step 3: Testing trainers page...');
|
|
await page.goto('https://upskill-staging.measurequick.com/master-trainer/trainers/');
|
|
await page.waitForTimeout(3000);
|
|
|
|
const trainersTest = await page.evaluate(() => ({
|
|
title: document.title,
|
|
url: window.location.href,
|
|
hasContent: document.body.innerText.length > 200,
|
|
isLoginPage: document.body.innerText.includes('Sign in to access'),
|
|
contentPreview: document.body.innerText.substring(0, 300)
|
|
}));
|
|
|
|
console.log('📊 Trainers Page Test:');
|
|
console.log('- Title:', trainersTest.title);
|
|
console.log('- URL:', trainersTest.url);
|
|
console.log('- Is Login Page:', trainersTest.isLoginPage);
|
|
console.log('- Content Preview:', trainersTest.contentPreview);
|
|
|
|
// Step 4: Test communication templates
|
|
console.log('\n📋 Step 4: Testing communication templates...');
|
|
await page.goto('https://upskill-staging.measurequick.com/master-trainer/communication-templates/');
|
|
await page.waitForTimeout(3000);
|
|
|
|
const templatesTest = await page.evaluate(() => ({
|
|
title: document.title,
|
|
url: window.location.href,
|
|
hasContent: document.body.innerText.length > 200,
|
|
isLoginPage: document.body.innerText.includes('Sign in to access'),
|
|
contentPreview: document.body.innerText.substring(0, 300)
|
|
}));
|
|
|
|
console.log('📊 Templates Page Test:');
|
|
console.log('- Title:', templatesTest.title);
|
|
console.log('- URL:', templatesTest.url);
|
|
console.log('- Is Login Page:', templatesTest.isLoginPage);
|
|
console.log('- Content Preview:', templatesTest.contentPreview);
|
|
|
|
// Keep browser open for inspection
|
|
console.log('\n🔍 Keeping browser open for 30 seconds for inspection...');
|
|
await page.waitForTimeout(30000);
|
|
|
|
} catch (error) {
|
|
console.error('Error during testing:', error);
|
|
} finally {
|
|
await browser.close();
|
|
console.log('✅ Debug completed');
|
|
}
|
|
})(); |