From 84f87c63dbe623a0a73875f3bcbfd4e6febee51e Mon Sep 17 00:00:00 2001 From: joshavant <830519+joshavant@users.noreply.github.com> Date: Thu, 23 Jul 2026 01:39:51 -0500 Subject: [PATCH] test(worker): bind reconciliation mock --- .../worker-turn-launcher.test.ts | 47 ++++++++++--------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/src/gateway/worker-environments/worker-turn-launcher.test.ts b/src/gateway/worker-environments/worker-turn-launcher.test.ts index c3a47d035759..2de238ca880a 100644 --- a/src/gateway/worker-environments/worker-turn-launcher.test.ts +++ b/src/gateway/worker-environments/worker-turn-launcher.test.ts @@ -512,6 +512,28 @@ describe("worker turn launcher", () => { }); let descriptor: WorkerLaunchDescriptor | undefined; const acknowledgeCredentialDelivery = vi.fn(() => true); + const reconcileWorkspace = vi.fn( + async (request: Parameters[0]) => { + expect(request.stagedResult).toBeDefined(); + request.stagedResult!.record(request.stagedResult!.ref); + expect(placements.listPendingWorkspaceResults()).toMatchObject([ + { stagedResultRef: request.stagedResult!.ref, workspaceAcceptedAtMs: null }, + ]); + request.journal.commit(MANIFEST_REF); + return { + manifestRef: MANIFEST_REF, + changed: false, + verifyStable: async () => {}, + verifyLocalStable: async () => {}, + getAppliedWorkspaceResult: () => ({ + manifestRef: MANIFEST_REF, + manifest: { version: 1 as const, baseCommit: null, entries: [] }, + conflictPaths: ["src/local.ts"], + verifyLocalStable: async () => {}, + }), + }; + }, + ); const tunnel: WorkerTunnelHandle = { environmentId: ENVIRONMENT_ID, ownerEpoch: OWNER_EPOCH, @@ -574,26 +596,7 @@ describe("worker turn launcher", () => { syncWorkspace: vi.fn(async () => { throw new Error("unexpected workspace sync"); }), - reconcileWorkspace: vi.fn(async (request) => { - expect(request.stagedResult).toBeDefined(); - request.stagedResult!.record(request.stagedResult!.ref); - expect(placements.listPendingWorkspaceResults()).toMatchObject([ - { stagedResultRef: request.stagedResult!.ref, workspaceAcceptedAtMs: null }, - ]); - request.journal.commit(MANIFEST_REF); - return { - manifestRef: MANIFEST_REF, - changed: false, - verifyStable: async () => {}, - verifyLocalStable: async () => {}, - getAppliedWorkspaceResult: () => ({ - manifestRef: MANIFEST_REF, - manifest: { version: 1 as const, baseCommit: null, entries: [] }, - conflictPaths: ["src/local.ts"], - verifyLocalStable: async () => {}, - }), - }; - }), + reconcileWorkspace, stop: vi.fn(async () => {}), }; const environments: WorkerTurnEnvironmentService = { @@ -637,9 +640,7 @@ describe("worker turn launcher", () => { sessionKey: SESSION_KEY, agentId: "main", }); - expect(vi.mocked(tunnel.reconcileWorkspace)).toHaveBeenCalledWith( - expect.objectContaining({ localPath: root }), - ); + expect(reconcileWorkspace).toHaveBeenCalledWith(expect.objectContaining({ localPath: root })); const conflictSummary = "Cloud result applied with 1 conflict(s); kept local versions: src/local.ts. Cloud versions staged at refs/openclaw/worker-results/"; expect(result.payloads).toEqual([