51 lines
1.8 KiB
TypeScript
51 lines
1.8 KiB
TypeScript
import { test } from '@playwright/test';
|
|
|
|
test('debug page content', async ({ page }) => {
|
|
// Capture console messages and network requests
|
|
const consoleLogs: string[] = [];
|
|
const failedRequests: string[] = [];
|
|
|
|
page.on('console', msg => consoleLogs.push(`${msg.type()}: ${msg.text()}`));
|
|
page.on('pageerror', err => consoleLogs.push(`PAGE_ERROR: ${err}`));
|
|
page.on('response', response => {
|
|
if (response.status() >= 400) {
|
|
failedRequests.push(`${response.status()} ${response.url()}`);
|
|
}
|
|
});
|
|
|
|
// Set up localStorage before navigation using addInitScript
|
|
// This runs in the page context BEFORE any JavaScript runs
|
|
// StoredUserData format: { types: string[], primary: string | null, userId: string | null }
|
|
await page.addInitScript(() => {
|
|
const devUserState = {
|
|
types: ['admin'],
|
|
primary: 'admin',
|
|
userId: 'e2e-admin-id',
|
|
};
|
|
localStorage.setItem('platform_admin_dev_user', JSON.stringify(devUserState));
|
|
console.log('[E2E] Set dev user state:', JSON.stringify(devUserState));
|
|
});
|
|
|
|
await page.goto('/');
|
|
|
|
// Wait for either content to render or error to appear
|
|
await page.waitForTimeout(10000);
|
|
|
|
// Log console messages
|
|
console.log('=== Console logs ===');
|
|
console.log(consoleLogs.join('\n'));
|
|
|
|
// Log failed network requests
|
|
console.log('\n=== Failed network requests ===');
|
|
console.log(failedRequests.join('\n') || 'None');
|
|
|
|
// Check localStorage
|
|
const devUser = await page.evaluate(() => localStorage.getItem('platform_admin_dev_user'));
|
|
console.log('\n=== localStorage dev user ===');
|
|
console.log(devUser);
|
|
|
|
// Check if root has children
|
|
const rootContent = await page.locator('#root').innerHTML();
|
|
console.log('\n=== Root content (first 3000 chars) ===');
|
|
console.log(rootContent.substring(0, 3000) || '[EMPTY]');
|
|
});
|