Fix flaky stats-batch tests and extend Crucible E2E LOTL coverage.
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled

Stop the stats batch timer in unit tests before reading pending coalesced state, teach the Playwright stub agent to emit lotl_tier stats, and prefer server/webroot so phase-8 E2E serves the current frontend build.
This commit is contained in:
AetherForge
2026-06-07 00:52:55 -07:00
parent fd5cc1dd61
commit e37eb24369
8 changed files with 85 additions and 17 deletions

View File

@@ -109,14 +109,21 @@ test.describe('Remote actions UI', () => {
});
test('mining ops disabled when only offline agent selected', async ({ page }) => {
await page.getByText('Offline Node').click();
const pauseBtn = page.getByRole('button', { name: 'Pause', exact: true });
await expect(pauseBtn).toBeDisabled();
await expect(page.getByRole('button', { name: 'Resume', exact: true })).toBeDisabled();
const card = page.locator('.crucible-node-card').filter({ hasText: 'Offline Node' });
await card.click();
await expect(card).toHaveClass(/selected/);
const miningPause = page.locator('.cop-mining').getByRole('button', { name: 'Pause', exact: true });
const miningResume = page.locator('.cop-mining').getByRole('button', { name: 'Resume', exact: true });
await expect(miningPause).toBeDisabled();
await expect(miningResume).toBeDisabled();
});
test('bulk pause disabled when offline agent selected via toolbar', async ({ page }) => {
await page.getByText('Offline Node').click();
await expect(page.getByRole('button', { name: 'Pause' }).first()).toBeDisabled();
const card = page.locator('.crucible-node-card').filter({ hasText: 'Offline Node' });
await card.click();
await expect(card).toHaveClass(/selected/);
await expect(page.locator('.fleet-bulk-bar')).toContainText('1 selected');
const bulkPause = page.locator('.fleet-bulk-bar').getByRole('button', { name: 'Pause', exact: true });
await expect(bulkPause).toBeDisabled();
});
});