Checkpoint
This commit is contained in:
40
frontend/tests/e2e/diagnose_ws.spec.ts
Normal file
40
frontend/tests/e2e/diagnose_ws.spec.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
|
||||
test('diagnose websocket connection', async ({ page }) => {
|
||||
test.setTimeout(60000);
|
||||
// 1. Go to the platform login page
|
||||
console.log('Navigating to login page...');
|
||||
await page.goto('http://platform.lvh.me:5173/login');
|
||||
|
||||
// 2. Log in using Quick Login (Platform Superuser)
|
||||
await page.getByRole('button', { name: 'Platform Superuser SUPERUSER' }).click();
|
||||
|
||||
// 3. Wait for navigation to dashboard
|
||||
await page.waitForURL('**/dashboard');
|
||||
console.log('Logged in successfully.');
|
||||
|
||||
// 4. Navigate to support page
|
||||
console.log('Navigating to support page...');
|
||||
await page.getByRole('link', { name: 'Support' }).click();
|
||||
|
||||
// 5. Monitor WebSocket connections
|
||||
const wsPromise = page.waitForEvent('websocket', ws => ws.url().includes('/ws/tickets/'));
|
||||
|
||||
try {
|
||||
const ws = await wsPromise;
|
||||
console.log('WebSocket created:', ws.url());
|
||||
|
||||
// Wait a bit to see if it stays connected
|
||||
await page.waitForTimeout(5000);
|
||||
|
||||
if (ws.isClosed()) {
|
||||
console.error('WebSocket is CLOSED.');
|
||||
throw new Error('WebSocket connection closed unexpectedly');
|
||||
} else {
|
||||
console.log('WebSocket is OPEN.');
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('WebSocket error:', e);
|
||||
throw e;
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user