summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/testing
diff options
context:
space:
mode:
authorKit Langton <[email protected]>2026-04-02 14:17:28 -0400
committerGitHub <[email protected]>2026-04-02 18:17:28 +0000
commitc3ef69c8664ab84464d720f75eb9bf35289c1847 (patch)
treed7b1aa78355c39472804bdfbbd9db87722d0587b /packages/app/src/testing
parent363891126c9b2a909db0e724eb6377bd3d12b38b (diff)
downloadopencode-c3ef69c8664ab84464d720f75eb9bf35289c1847.tar.gz
opencode-c3ef69c8664ab84464d720f75eb9bf35289c1847.zip
test(app): add a golden path for mocked e2e prompts (#20593)
Diffstat (limited to 'packages/app/src/testing')
-rw-r--r--packages/app/src/testing/prompt.ts27
-rw-r--r--packages/app/src/testing/terminal.ts1
2 files changed, 28 insertions, 0 deletions
diff --git a/packages/app/src/testing/prompt.ts b/packages/app/src/testing/prompt.ts
index e11462f30..5102ed825 100644
--- a/packages/app/src/testing/prompt.ts
+++ b/packages/app/src/testing/prompt.ts
@@ -10,6 +10,13 @@ export type PromptProbeState = {
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
@@ -53,4 +60,24 @@ export const promptProbe = {
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/terminal.ts b/packages/app/src/testing/terminal.ts
index 2bca39b31..db8001ddf 100644
--- a/packages/app/src/testing/terminal.ts
+++ b/packages/app/src/testing/terminal.ts
@@ -23,6 +23,7 @@ export type E2EWindow = Window & {
prompt?: {
enabled?: boolean
current?: import("./prompt").PromptProbeState
+ sent?: import("./prompt").PromptSendState
}
terminal?: {
enabled?: boolean