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