Compare commits

1 Commits

View File

@@ -42,17 +42,16 @@ test.describe('live backlog', () => {
win.getByText(/cold-start priors · \d+\/20 closed issues estimated|calibrated on \d+ closed/), win.getByText(/cold-start priors · \d+\/20 closed issues estimated|calibrated on \d+ closed/),
).toBeVisible() ).toBeVisible()
// Real per-milestone forecasts — these milestone names come from gitea, not the // Real per-milestone forecasts — these milestone names come from gitea, not the
// fixture (which lists Beta / Pilot-ready / v1.0). Only milestones with open // fixture (which lists Beta / Pilot-ready / v1.0).
// scope appear (P2 dropped off once all its work shipped — correct). await expect(win.getByText(/P2 — Scheduler/)).toBeVisible()
await expect(win.getByText(/P5 — Dogfood/)).toBeVisible()
// Real capacity config from pm-state (christian/stephen), not the fixture (Stephen/Ana K.) // Real capacity config from pm-state (christian/stephen), not the fixture (Stephen/Ana K.)
await expect(win.getByText('christian', { exact: true })).toBeVisible() await expect(win.getByText('christian', { exact: true })).toBeVisible()
await expect(win.getByText(/pd\/day/).first()).toBeVisible() await expect(win.getByText(/pd\/day/).first()).toBeVisible()
await win.screenshot({ path: join(here, '.artifacts', 'screens', 'live-runway.png'), fullPage: true, animations: 'disabled' }) await win.screenshot({ path: join(here, '.artifacts', 'screens', 'live-runway.png'), fullPage: true, animations: 'disabled' })
// Milestone drill-in — clicking a real milestone opens its real detail // Milestone drill-in — clicking a real milestone opens its real detail
await win.getByText(/P5Dogfood/).click() await win.getByText(/P2Scheduler/).click()
await expect(win.getByRole('heading', { name: 'P5Dogfood + polish' })).toBeVisible() await expect(win.getByRole('heading', { name: 'P2Scheduler + Monte Carlo' })).toBeVisible()
await expect(win.getByText(/\d+ issues · est \d+d/)).toBeVisible() await expect(win.getByText(/\d+ issues · est \d+d/)).toBeVisible()
await win.screenshot({ path: join(here, '.artifacts', 'screens', 'live-milestone.png'), fullPage: true, animations: 'disabled' }) await win.screenshot({ path: join(here, '.artifacts', 'screens', 'live-milestone.png'), fullPage: true, animations: 'disabled' })
await rail.getByRole('button', { name: 'Runway' }).click() await rail.getByRole('button', { name: 'Runway' }).click()