upskill-event-manager/test-master-trainer-debug.js
Ben 8724853fdb fix: resolve master trainer authentication issue preventing page access
- 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>
2025-08-22 12:50:39 -03:00

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');
}
})();