test: tighten command session assertions

This commit is contained in:
Peter Steinberger
2026-05-09 15:03:07 +01:00
parent 24e1bbc014
commit 2f73f423c7
2 changed files with 35 additions and 32 deletions

View File

@@ -145,23 +145,30 @@ describe("runCliTurnCompactionLifecycle", () => {
});
expect(compactCalls).toHaveLength(1);
expect(compactCalls[0]).toMatchObject({
sessionId,
sessionKey,
sessionFile,
tokenBudget: 1_000,
currentTokenCount: 950,
force: true,
compactionTarget: "budget",
});
expect(maintenance).toHaveBeenCalledWith(
expect.objectContaining({
reason: "compaction",
sessionId,
sessionKey,
sessionFile,
}),
);
const compactCall = compactCalls[0];
expect(compactCall?.sessionId).toBe(sessionId);
expect(compactCall?.sessionKey).toBe(sessionKey);
expect(compactCall?.sessionFile).toBe(sessionFile);
expect(compactCall?.tokenBudget).toBe(1_000);
expect(compactCall?.currentTokenCount).toBe(950);
expect(compactCall?.force).toBe(true);
expect(compactCall?.compactionTarget).toBe("budget");
expect(maintenance).toHaveBeenCalledTimes(1);
const maintenanceCalls = maintenance.mock.calls as unknown as Array<
[
{
reason?: string;
sessionId?: string;
sessionKey?: string;
sessionFile?: string;
},
]
>;
const maintenanceCall = maintenanceCalls[0]?.[0];
expect(maintenanceCall?.reason).toBe("compaction");
expect(maintenanceCall?.sessionId).toBe(sessionId);
expect(maintenanceCall?.sessionKey).toBe(sessionKey);
expect(maintenanceCall?.sessionFile).toBe(sessionFile);
expect(updatedEntry?.compactionCount).toBe(1);
expect(updatedEntry?.cliSessionBindings?.["claude-cli"]).toBeUndefined();
expect(updatedEntry?.cliSessionIds?.["claude-cli"]).toBeUndefined();

View File

@@ -383,13 +383,11 @@ describe("updateSessionStoreAfterAgentRun", () => {
});
const persisted = loadSessionStore(storePath, { skipCache: true })[sessionKey];
expect(persisted?.acp).toMatchObject({
backend: "acpx",
agent: "codex",
runtimeSessionName: "runtime-1",
mode: "persistent",
state: "idle",
});
expect(persisted?.acp?.backend).toBe("acpx");
expect(persisted?.acp?.agent).toBe("codex");
expect(persisted?.acp?.runtimeSessionName).toBe("runtime-1");
expect(persisted?.acp?.mode).toBe("persistent");
expect(persisted?.acp?.state).toBe("idle");
expect(staleInMemory[sessionKey]?.acp).toEqual(persisted?.acp);
});
});
@@ -439,14 +437,12 @@ describe("updateSessionStoreAfterAgentRun", () => {
});
const persisted = loadSessionStore(storePath, { skipCache: true })[sessionKey];
expect(persisted).toMatchObject({
status: "done",
startedAt: 1_000,
endedAt: 1_900,
runtimeMs: 900,
modelProvider: "openai",
model: "gpt-5.4",
});
expect(persisted?.status).toBe("done");
expect(persisted?.startedAt).toBe(1_000);
expect(persisted?.endedAt).toBe(1_900);
expect(persisted?.runtimeMs).toBe(900);
expect(persisted?.modelProvider).toBe("openai");
expect(persisted?.model).toBe("gpt-5.4");
expect(staleInMemory[sessionKey]?.status).toBe("done");
});
});