mirror of
https://github.com/anomalyco/opencode.git
synced 2026-07-17 12:56:41 +02:00
2725eed992
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import { expect, test } from "@playwright/test"
|
|
import { fixture, pageMessages } from "../smoke/session-timeline.fixture"
|
|
import { mockOpenCodeServer } from "../utils/mock-server"
|
|
|
|
test("shows loaded sessions before the directory path request resolves", async ({ page }) => {
|
|
await mockOpenCodeServer(page, {
|
|
sessions: fixture.sessions,
|
|
provider: fixture.provider,
|
|
directory: fixture.directory,
|
|
project: fixture.project,
|
|
pageMessages,
|
|
})
|
|
|
|
let releasePath!: () => void
|
|
const pathBlocked = new Promise<void>((resolve) => {
|
|
releasePath = resolve
|
|
})
|
|
await page.route("**/path?*", async (route) => {
|
|
if (!new URL(route.request().url()).searchParams.has("directory")) return route.fallback()
|
|
await pathBlocked
|
|
return route.fallback()
|
|
})
|
|
|
|
await page.addInitScript((directory) => {
|
|
localStorage.setItem(
|
|
"opencode.global.dat:server",
|
|
JSON.stringify({
|
|
projects: { local: [{ worktree: directory, expanded: true }] },
|
|
lastProject: { local: directory },
|
|
}),
|
|
)
|
|
}, fixture.directory)
|
|
|
|
await page.goto("/")
|
|
try {
|
|
await expect(page.getByText(fixture.expected.sourceTitle).first()).toBeVisible({ timeout: 5_000 })
|
|
} finally {
|
|
releasePath()
|
|
}
|
|
})
|