summaryrefslogtreecommitdiffhomepage
path: root/packages/app/e2e/fixtures.ts
diff options
context:
space:
mode:
authorFilip <[email protected]>2026-01-30 21:59:37 +0100
committeropencode <[email protected]>2026-01-30 21:06:48 +0000
commit77fa8ddc8828b5ebcc306621e6669c192d1492fe (patch)
tree000f7d4194a86e0198d0047e24c527fffda55ecb /packages/app/e2e/fixtures.ts
parent4a56491e42c07e30b95238a06c9b9175e4763444 (diff)
downloadopencode-77fa8ddc8828b5ebcc306621e6669c192d1492fe.tar.gz
opencode-77fa8ddc8828b5ebcc306621e6669c192d1492fe.zip
refactor(app): refactored tests + added project tests (#11349)
Diffstat (limited to 'packages/app/e2e/fixtures.ts')
-rw-r--r--packages/app/e2e/fixtures.ts63
1 files changed, 14 insertions, 49 deletions
diff --git a/packages/app/e2e/fixtures.ts b/packages/app/e2e/fixtures.ts
index c5315ff19..0c3150609 100644
--- a/packages/app/e2e/fixtures.ts
+++ b/packages/app/e2e/fixtures.ts
@@ -1,5 +1,7 @@
import { test as base, expect } from "@playwright/test"
-import { createSdk, dirSlug, getWorktree, promptSelector, serverUrl, sessionPath } from "./utils"
+import { seedProjects } from "./actions"
+import { promptSelector } from "./selectors"
+import { createSdk, dirSlug, getWorktree, sessionPath } from "./utils"
type TestFixtures = {
sdk: ReturnType<typeof createSdk>
@@ -29,54 +31,17 @@ export const test = base.extend<TestFixtures, WorkerFixtures>({
await use(createSdk(directory))
},
gotoSession: async ({ page, directory }, use) => {
- await page.addInitScript(
- (input: { directory: string; serverUrl: string }) => {
- const key = "opencode.global.dat:server"
- const raw = localStorage.getItem(key)
- const parsed = (() => {
- if (!raw) return undefined
- try {
- return JSON.parse(raw) as unknown
- } catch {
- return undefined
- }
- })()
-
- const store = parsed && typeof parsed === "object" ? (parsed as Record<string, unknown>) : {}
- const list = Array.isArray(store.list) ? store.list : []
- const lastProject = store.lastProject && typeof store.lastProject === "object" ? store.lastProject : {}
- const projects = store.projects && typeof store.projects === "object" ? store.projects : {}
- const nextProjects = { ...(projects as Record<string, unknown>) }
-
- const add = (origin: string) => {
- const current = nextProjects[origin]
- const items = Array.isArray(current) ? current : []
- const existing = items.filter(
- (p): p is { worktree: string; expanded?: boolean } =>
- !!p &&
- typeof p === "object" &&
- "worktree" in p &&
- typeof (p as { worktree?: unknown }).worktree === "string",
- )
-
- if (existing.some((p) => p.worktree === input.directory)) return
- nextProjects[origin] = [{ worktree: input.directory, expanded: true }, ...existing]
- }
-
- add("local")
- add(input.serverUrl)
-
- localStorage.setItem(
- key,
- JSON.stringify({
- list,
- projects: nextProjects,
- lastProject,
- }),
- )
- },
- { directory, serverUrl },
- )
+ await seedProjects(page, { directory })
+ await page.addInitScript(() => {
+ localStorage.setItem(
+ "opencode.global.dat:model",
+ JSON.stringify({
+ recent: [{ providerID: "opencode", modelID: "big-pickle" }],
+ user: [],
+ variant: {},
+ }),
+ )
+ })
const gotoSession = async (sessionID?: string) => {
await page.goto(sessionPath(directory, sessionID))