Document fleet evolution coverage and harden E2E login/LOTL waits.
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Sync PROBLEMS.md and tests/README.md with 734 Vitest count, fleet evolution checklist, erasure-coded propagation deferred row; retry dashboard login and wait for agents API in LOTL E2E.
This commit is contained in:
@@ -64,8 +64,16 @@ export async function waitForServerHealth(
|
||||
}
|
||||
|
||||
export async function loginToDashboard(page: Page): Promise<void> {
|
||||
await page.goto('/');
|
||||
await expect(page.getByRole('heading', { name: 'AetherForge' })).toBeVisible({ timeout: 15_000 });
|
||||
for (let attempt = 0; attempt < 2; attempt++) {
|
||||
await page.goto('/', { waitUntil: 'load', timeout: 30_000 });
|
||||
try {
|
||||
await expect(page.getByRole('heading', { name: 'AetherForge' })).toBeVisible({ timeout: 20_000 });
|
||||
break;
|
||||
} catch (err) {
|
||||
if (attempt === 1) throw err;
|
||||
await page.waitForTimeout(1_500);
|
||||
}
|
||||
}
|
||||
await page.getByLabel('Username').fill(E2E_USER);
|
||||
await page.getByLabel('Password').fill(E2E_PASS);
|
||||
await page.getByRole('button', { name: /enter command deck/i }).click();
|
||||
|
||||
@@ -159,7 +159,7 @@ test.describe('LOTL Timeline E2E', () => {
|
||||
await page.goto(`/lotl-timeline?agent=${encodeURIComponent(E2E_STUB_AGENT_ID)}`);
|
||||
await expect(
|
||||
page.locator('.lotl-fleet-chip').filter({ hasText: E2E_STUB_AGENT_HOSTNAME }),
|
||||
).toBeVisible({ timeout: 15_000 });
|
||||
).toBeVisible({ timeout: 25_000 });
|
||||
await expect(page.getByText('CLEARANCE HISTORY')).toBeVisible({ timeout: 10_000 });
|
||||
await expect(page.locator('.lotl-clearance-list').getByText(/AI: L1 → L2/i)).toBeVisible();
|
||||
await expect(page.getByText('CLEARANCE EVENTS')).toBeVisible();
|
||||
|
||||
Reference in New Issue
Block a user