fix: e2e smoke test was nuking project_root on the live server

The Playwright beforeEach hook called DELETE /api/project to get a clean
selection screen. This request hit the live server via Vite's proxy and
set project_root to None, breaking every background agent operation
(server-owned completion, auto-assign, merge pipeline).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dave
2026-02-26 17:01:30 +00:00
parent 07637da5da
commit b34335daad

View File

@@ -1,21 +1,16 @@
import { expect, test } from "@playwright/test";
test.describe("App boot smoke test", () => {
test.beforeEach(async ({ request }) => {
// Close any project the server may have auto-opened (e.g. via CLI path
// argument) so we always start from the selection screen.
await request.delete("/api/project").catch(() => {
// Ignore errors when no project is open or backend is unavailable.
});
});
test("renders the project selection screen", async ({ page }) => {
test("renders the app without errors", async ({ page }) => {
await page.goto("/");
await expect(page.getByText("Story Kit")).toBeVisible();
await expect(page.getByPlaceholder("/path/to/project")).toBeVisible();
await expect(
page.getByRole("button", { name: "Open Project" }),
).toBeVisible();
// The app should render either the project selection screen or the
// workspace chat view, depending on whether a project is already open.
// We intentionally do NOT call DELETE /api/project here because that
// would nuke the live server's project_root state and break any
// background agents that depend on it.
//
// Just verify the page loads and has a visible <main> container.
await expect(page.locator("main.container")).toBeVisible();
});
});