platform-codebase/features/platform-admin/frontend-admin/e2e/debug.e2e.ts

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