summaryrefslogtreecommitdiffhomepage
path: root/packages/app/e2e
diff options
context:
space:
mode:
authoradamelmore <[email protected]>2026-02-26 08:53:36 -0600
committeradamelmore <[email protected]>2026-02-26 08:53:40 -0600
commitb4d0090e005e7355b3e8f2594c0ad8538fffe75b (patch)
tree56fb22785afde2bc0d18a0ef391e93649b90da19 /packages/app/e2e
parent05ac0a73e15d7a6d230e0a76230104bbe3f5df22 (diff)
downloadopencode-b4d0090e005e7355b3e8f2594c0ad8538fffe75b.tar.gz
opencode-b4d0090e005e7355b3e8f2594c0ad8538fffe75b.zip
chore: fix flaky test
Diffstat (limited to 'packages/app/e2e')
-rw-r--r--packages/app/e2e/projects/projects-switch.spec.ts22
1 files changed, 11 insertions, 11 deletions
diff --git a/packages/app/e2e/projects/projects-switch.spec.ts b/packages/app/e2e/projects/projects-switch.spec.ts
index f17557a80..74b389088 100644
--- a/packages/app/e2e/projects/projects-switch.spec.ts
+++ b/packages/app/e2e/projects/projects-switch.spec.ts
@@ -9,7 +9,7 @@ import {
sessionIDFromUrl,
} from "../actions"
import { projectSwitchSelector, promptSelector, workspaceItemSelector, workspaceNewSessionSelector } from "../selectors"
-import { createSdk, dirSlug } from "../utils"
+import { createSdk, dirSlug, sessionPath } from "../utils"
function slugFromUrl(url: string) {
return /\/([^/]+)\/session(?:\/|$)/.exec(url)?.[1] ?? ""
@@ -51,7 +51,6 @@ test("switching back to a project opens the latest workspace session", async ({
const other = await createTestProject()
const otherSlug = dirSlug(other)
- const stamp = Date.now()
let rootDir: string | undefined
let workspaceDir: string | undefined
let sessionID: string | undefined
@@ -80,6 +79,7 @@ test("switching back to a project opens the latest workspace session", async ({
const workspaceSlug = slugFromUrl(page.url())
workspaceDir = base64Decode(workspaceSlug)
+ if (!workspaceDir) throw new Error(`Failed to decode workspace slug: ${workspaceSlug}`)
await openSidebar(page)
const workspace = page.locator(workspaceItemSelector(workspaceSlug)).first()
@@ -92,15 +92,14 @@ test("switching back to a project opens the latest workspace session", async ({
await expect(page).toHaveURL(new RegExp(`/${workspaceSlug}/session(?:[/?#]|$)`))
- const prompt = page.locator(promptSelector)
- await expect(prompt).toBeVisible()
- await prompt.fill(`project switch remembers workspace ${stamp}`)
- await prompt.press("Enter")
-
- await expect.poll(() => sessionIDFromUrl(page.url()) ?? "", { timeout: 30_000 }).not.toBe("")
- const created = sessionIDFromUrl(page.url())
- if (!created) throw new Error(`Failed to parse session id from URL: ${page.url()}`)
+ const created = await createSdk(workspaceDir)
+ .session.create()
+ .then((x) => x.data?.id)
+ if (!created) throw new Error(`Failed to create session for workspace: ${workspaceDir}`)
sessionID = created
+
+ await page.goto(sessionPath(workspaceDir, created))
+ await expect(page.locator(promptSelector)).toBeVisible()
await expect(page).toHaveURL(new RegExp(`/${workspaceSlug}/session/${created}(?:[/?#]|$)`))
await openSidebar(page)
@@ -114,7 +113,8 @@ test("switching back to a project opens the latest workspace session", async ({
await expect(rootButton).toBeVisible()
await rootButton.click()
- await expect(page).toHaveURL(new RegExp(`/${workspaceSlug}/session/${created}(?:[/?#]|$)`))
+ await expect.poll(() => sessionIDFromUrl(page.url()) ?? "").toBe(created)
+ await expect(page).toHaveURL(new RegExp(`/session/${created}(?:[/?#]|$)`))
},
{ extra: [other] },
)