From 0ff630c2970b3417ae507c0000c3f0f7d729938e Mon Sep 17 00:00:00 2001 From: Bohdan Triapitsyn Date: Fri, 7 Aug 2026 08:41:30 +0300 Subject: [PATCH] fix(ui): repair sync test contracts --- .../sync/__tests__/session-switch-resync.test.ts | 15 ++++++++------- packages/ui/src/sync/input-store.test.ts | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/ui/src/sync/__tests__/session-switch-resync.test.ts b/packages/ui/src/sync/__tests__/session-switch-resync.test.ts index cd7ecd27..5c860956 100644 --- a/packages/ui/src/sync/__tests__/session-switch-resync.test.ts +++ b/packages/ui/src/sync/__tests__/session-switch-resync.test.ts @@ -4,7 +4,7 @@ import type { Event, PermissionRequest, QuestionRequest } from "@opencode-ai/sdk const listPendingQuestionsCalls: Array<{ directories?: Array }> = [] const listPendingPermissionsCalls: Array<{ directories?: Array }> = [] -const todoPersistWrites: Array<{ sessionID: string; todos: unknown }> = [] +const todoPersistWrites: Array<{ directory: string; sessionID: string; todos: unknown }> = [] let pendingQuestionsResponse: QuestionRequest[] = [] let pendingPermissionsResponse: PermissionRequest[] = [] let pendingQuestionsShouldThrow = false @@ -44,8 +44,8 @@ mock.module("@/stores/useConfigStore", () => ({ mock.module("@/stores/useTodosPersistStore", () => ({ useTodosPersistStore: { getState: () => ({ - setSessionTodos: (sessionID: string, todos: unknown) => { - todoPersistWrites.push({ sessionID, todos }) + setSessionTodos: (directory: string, sessionID: string, todos: unknown) => { + todoPersistWrites.push({ directory, sessionID, todos }) }, }), }, @@ -66,6 +66,7 @@ mock.module("@/components/ui", () => ({ import { INITIAL_STATE, type State } from "../types" import { ChildStoreManager, type DirectoryStore } from "../child-store" +import { getRuntimeKey } from "@/lib/runtime-switch" const { createEventRoutingIndex, handleEvent, @@ -257,10 +258,10 @@ describe("resyncBlockingRequestsForDirectory", () => { storeWrites += 1 }) setActiveSession("/target", "ses_a") - handleEvent("global", event, childStores, routingIndex) + handleEvent("global", event, childStores, routingIndex, getRuntimeKey()) expect(store.getState().todo.ses_a).toEqual(todos) - expect(todoPersistWrites).toEqual([{ sessionID: "ses_a", todos }]) + expect(todoPersistWrites).toEqual([{ directory: "/target", sessionID: "ses_a", todos }]) expect(storeWrites).toBe(1) const stateAfterFirstSnapshot = store.getState() @@ -272,10 +273,10 @@ describe("resyncBlockingRequestsForDirectory", () => { expect(duplicateTodos).not.toBe(todos) expect(duplicateTodos).toEqual(todos) - handleEvent("global", duplicateEvent, childStores, routingIndex) + handleEvent("global", duplicateEvent, childStores, routingIndex, getRuntimeKey()) expect(store.getState()).toBe(stateAfterFirstSnapshot) - expect(todoPersistWrites).toEqual([{ sessionID: "ses_a", todos }]) + expect(todoPersistWrites).toEqual([{ directory: "/target", sessionID: "ses_a", todos }]) expect(storeWrites).toBe(1) unsubscribe() childStores.disposeAll() diff --git a/packages/ui/src/sync/input-store.test.ts b/packages/ui/src/sync/input-store.test.ts index 33880228..5303c2d5 100644 --- a/packages/ui/src/sync/input-store.test.ts +++ b/packages/ui/src/sync/input-store.test.ts @@ -339,7 +339,7 @@ describe("input-store attachments", () => { expect(await addPromise).toBe(true) const files = useInputStore.getState().attachedFiles expect(files).toHaveLength(1) - expect(files[0].sourceDocumentId).toBeUndefined() + expect(files[0].sourceDocumentId).toBe(undefined) useInputStore.getState().removeAttachedFile(files[0].id) expect(useInputStore.getState().attachedFiles).toEqual([])