summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/testing
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2026-04-14 23:10:07 -0400
committerDax Raad <[email protected]>2026-04-14 23:10:25 -0400
commit627159acac04409d7697a6739e2c572c2a010943 (patch)
tree5f87465ea69f41aff0cd96ae5411fe438da480b3 /packages/app/src/testing
parentf44aa02e2677b2b89a1a9f517c0ff8990383deaa (diff)
downloadopencode-627159acac04409d7697a6739e2c572c2a010943.tar.gz
opencode-627159acac04409d7697a6739e2c572c2a010943.zip
delete all e2e tests (#22501)
Cherry-picked from ea463e604cdd2a3e83e1c286e39b789455f0d413
Diffstat (limited to 'packages/app/src/testing')
-rw-r--r--packages/app/src/testing/model-selection.ts109
-rw-r--r--packages/app/src/testing/prompt.ts83
-rw-r--r--packages/app/src/testing/session-composer.ts84
-rw-r--r--packages/app/src/testing/terminal.ts119
4 files changed, 0 insertions, 395 deletions
diff --git a/packages/app/src/testing/model-selection.ts b/packages/app/src/testing/model-selection.ts
deleted file mode 100644
index d2770fe28..000000000
--- a/packages/app/src/testing/model-selection.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-type ModelKey = {
- providerID: string
- modelID: string
-}
-
-type ModelItem = ModelKey & {
- name: string
-}
-
-type AgentItem = {
- name: string
-}
-
-type State = {
- agent?: string
- model?: ModelKey | null
- variant?: string | null
-}
-
-export type ModelProbeState = {
- dir?: string
- sessionID?: string
- last?: {
- type: "agent" | "model" | "variant"
- agent?: string
- model?: ModelKey | null
- variant?: string | null
- }
- agent?: string
- model?: (ModelKey & { name?: string }) | undefined
- variant?: string | null
- selected?: string | null
- configured?: string
- pick?: State
- base?: State
- current?: string
- variants?: string[]
- models?: ModelItem[]
- agents?: AgentItem[]
-}
-
-export type ModelWindow = Window & {
- __opencode_e2e?: {
- model?: {
- enabled?: boolean
- current?: ModelProbeState
- controls?: {
- setAgent?: (name: string | undefined) => void
- setModel?: (value: ModelKey | undefined) => void
- setVariant?: (value: string | undefined) => void
- }
- }
- }
-}
-
-const clone = (state?: State) => {
- if (!state) return undefined
- return {
- ...state,
- model: state.model ? { ...state.model } : state.model,
- }
-}
-
-let active: symbol | undefined
-
-export const modelEnabled = () => {
- if (typeof window === "undefined") return false
- return (window as ModelWindow).__opencode_e2e?.model?.enabled === true
-}
-
-const root = () => {
- if (!modelEnabled()) return
- return (window as ModelWindow).__opencode_e2e?.model
-}
-
-export const modelProbe = {
- bind(id: symbol, input: NonNullable<NonNullable<ModelWindow["__opencode_e2e"]>["model"]>["controls"]) {
- const state = root()
- if (!state) return
- active = id
- state.controls = input
- },
- set(id: symbol, input: ModelProbeState) {
- const state = root()
- if (!state || active !== id) return
- state.current = {
- ...input,
- model: input.model ? { ...input.model } : undefined,
- last: input.last
- ? {
- ...input.last,
- model: input.last.model ? { ...input.last.model } : input.last.model,
- }
- : undefined,
- pick: clone(input.pick),
- base: clone(input.base),
- variants: input.variants?.slice(),
- models: input.models?.map((item) => ({ ...item })),
- agents: input.agents?.map((item) => ({ ...item })),
- }
- },
- clear(id: symbol) {
- const state = root()
- if (!state || active !== id) return
- active = undefined
- state.current = undefined
- state.controls = undefined
- },
-}
diff --git a/packages/app/src/testing/prompt.ts b/packages/app/src/testing/prompt.ts
deleted file mode 100644
index 5102ed825..000000000
--- a/packages/app/src/testing/prompt.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-import type { E2EWindow } from "./terminal"
-
-export type PromptProbeState = {
- popover: "at" | "slash" | null
- slash: {
- active: string | null
- ids: string[]
- }
- selected: string | null
- selects: number
-}
-
-export type PromptSendState = {
- started: number
- count: number
- sessionID?: string
- directory?: string
-}
-
-export const promptEnabled = () => {
- if (typeof window === "undefined") return false
- return (window as E2EWindow).__opencode_e2e?.prompt?.enabled === true
-}
-
-const root = () => {
- if (!promptEnabled()) return
- return (window as E2EWindow).__opencode_e2e?.prompt
-}
-
-export const promptProbe = {
- set(input: Omit<PromptProbeState, "selected" | "selects">) {
- const state = root()
- if (!state) return
- state.current = {
- popover: input.popover,
- slash: {
- active: input.slash.active,
- ids: [...input.slash.ids],
- },
- selected: state.current?.selected ?? null,
- selects: state.current?.selects ?? 0,
- }
- },
- select(id: string) {
- const state = root()
- if (!state) return
- const prev = state.current
- state.current = {
- popover: prev?.popover ?? null,
- slash: {
- active: prev?.slash.active ?? null,
- ids: [...(prev?.slash.ids ?? [])],
- },
- selected: id,
- selects: (prev?.selects ?? 0) + 1,
- }
- },
- clear() {
- const state = root()
- if (!state) return
- state.current = undefined
- },
- start() {
- const state = root()
- if (!state) return
- state.sent = {
- started: (state.sent?.started ?? 0) + 1,
- count: state.sent?.count ?? 0,
- sessionID: state.sent?.sessionID,
- directory: state.sent?.directory,
- }
- },
- submit(input: { sessionID: string; directory: string }) {
- const state = root()
- if (!state) return
- state.sent = {
- started: state.sent?.started ?? 0,
- count: (state.sent?.count ?? 0) + 1,
- sessionID: input.sessionID,
- directory: input.directory,
- }
- },
-}
diff --git a/packages/app/src/testing/session-composer.ts b/packages/app/src/testing/session-composer.ts
deleted file mode 100644
index 01c809e4c..000000000
--- a/packages/app/src/testing/session-composer.ts
+++ /dev/null
@@ -1,84 +0,0 @@
-import type { Todo } from "@opencode-ai/sdk/v2"
-
-export const composerEvent = "opencode:e2e:composer"
-
-export type ComposerDriverState = {
- live?: boolean
- todos?: Array<Pick<Todo, "content" | "status" | "priority">>
-}
-
-export type ComposerProbeState = {
- mounted: boolean
- collapsed: boolean
- hidden: boolean
- count: number
- states: Todo["status"][]
-}
-
-type ComposerState = {
- driver?: ComposerDriverState
- probe?: ComposerProbeState
-}
-
-export type ComposerWindow = Window & {
- __opencode_e2e?: {
- composer?: {
- enabled?: boolean
- sessions?: Record<string, ComposerState>
- }
- }
-}
-
-const clone = (driver: ComposerDriverState) => ({
- live: driver.live,
- todos: driver.todos?.map((todo) => ({ ...todo })),
-})
-
-export const composerEnabled = () => {
- if (typeof window === "undefined") return false
- return (window as ComposerWindow).__opencode_e2e?.composer?.enabled === true
-}
-
-const root = () => {
- if (!composerEnabled()) return
- const state = (window as ComposerWindow).__opencode_e2e?.composer
- if (!state) return
- state.sessions ??= {}
- return state.sessions
-}
-
-export const composerDriver = (sessionID?: string) => {
- if (!sessionID) return
- const state = root()?.[sessionID]?.driver
- if (!state) return
- return clone(state)
-}
-
-export const composerProbe = (sessionID?: string) => {
- const set = (next: ComposerProbeState) => {
- if (!sessionID) return
- const sessions = root()
- if (!sessions) return
- const prev = sessions[sessionID] ?? {}
- sessions[sessionID] = {
- ...prev,
- probe: {
- ...next,
- states: [...next.states],
- },
- }
- }
-
- return {
- set,
- drop() {
- set({
- mounted: false,
- collapsed: false,
- hidden: true,
- count: 0,
- states: [],
- })
- },
- }
-}
diff --git a/packages/app/src/testing/terminal.ts b/packages/app/src/testing/terminal.ts
deleted file mode 100644
index db8001ddf..000000000
--- a/packages/app/src/testing/terminal.ts
+++ /dev/null
@@ -1,119 +0,0 @@
-import type { ModelProbeState } from "./model-selection"
-
-export const terminalAttr = "data-pty-id"
-
-export type TerminalProbeState = {
- connected: boolean
- connects: number
- rendered: string
- settled: number
- focusing: number
-}
-
-type TerminalProbeControl = {
- disconnect?: VoidFunction
-}
-
-export type E2EWindow = Window & {
- __opencode_e2e?: {
- model?: {
- enabled?: boolean
- current?: ModelProbeState
- }
- prompt?: {
- enabled?: boolean
- current?: import("./prompt").PromptProbeState
- sent?: import("./prompt").PromptSendState
- }
- terminal?: {
- enabled?: boolean
- terminals?: Record<string, TerminalProbeState>
- controls?: Record<string, TerminalProbeControl>
- }
- }
-}
-
-const seed = (): TerminalProbeState => ({
- connected: false,
- connects: 0,
- rendered: "",
- settled: 0,
- focusing: 0,
-})
-
-const root = () => {
- if (typeof window === "undefined") return
- const state = (window as E2EWindow).__opencode_e2e?.terminal
- if (!state?.enabled) return
- return state
-}
-
-const terms = () => {
- const state = root()
- if (!state) return
- state.terminals ??= {}
- return state.terminals
-}
-
-const controls = () => {
- const state = root()
- if (!state) return
- state.controls ??= {}
- return state.controls
-}
-
-export const terminalProbe = (id: string) => {
- const set = (next: Partial<TerminalProbeState>) => {
- const state = terms()
- if (!state) return
- state[id] = { ...(state[id] ?? seed()), ...next }
- }
-
- return {
- init() {
- set(seed())
- },
- connect() {
- const state = terms()
- if (!state) return
- const prev = state[id] ?? seed()
- state[id] = {
- ...prev,
- connected: true,
- connects: prev.connects + 1,
- }
- },
- render(data: string) {
- const state = terms()
- if (!state) return
- const prev = state[id] ?? seed()
- state[id] = { ...prev, rendered: prev.rendered + data }
- },
- settle() {
- const state = terms()
- if (!state) return
- const prev = state[id] ?? seed()
- state[id] = { ...prev, settled: prev.settled + 1 }
- },
- focus(count: number) {
- set({ focusing: Math.max(0, count) })
- },
- step() {
- const state = terms()
- if (!state) return
- const prev = state[id] ?? seed()
- state[id] = { ...prev, focusing: Math.max(0, prev.focusing - 1) }
- },
- control(next: Partial<TerminalProbeControl>) {
- const state = controls()
- if (!state) return
- state[id] = { ...(state[id] ?? {}), ...next }
- },
- drop() {
- const state = terms()
- if (state) delete state[id]
- const control = controls()
- if (control) delete control[id]
- },
- }
-}