test: ≥95% coverage — daemon 96.9% (go), web 95.5-99% (vitest 142 tests); store.ts hooks-order crash fix

This commit is contained in:
Raphael Westphal
2026-08-18 14:56:08 +02:00
parent ecb91e941c
commit 0ecef2a9bd
30 changed files with 6305 additions and 54 deletions
+41
View File
@@ -0,0 +1,41 @@
import { describe, expect, it } from "vitest";
import { EventType, Route } from "./protocol";
describe("protocol", () => {
it("PROTOCOL_VERSION is 1", async () => {
const mod = await import("./protocol");
expect(mod.PROTOCOL_VERSION).toBe(1);
});
it("EventType mirrors PROTOCOL.md", () => {
expect(EventType.Hello).toBe("hello");
expect(EventType.MessageStart).toBe("message_start");
expect(EventType.MessageUpdate).toBe("message_update");
expect(EventType.MessageEnd).toBe("message_end");
expect(EventType.ToolExecutionStart).toBe("tool_execution_start");
expect(EventType.ToolExecutionUpdate).toBe("tool_execution_update");
expect(EventType.ToolExecutionEnd).toBe("tool_execution_end");
expect(EventType.AgentStart).toBe("agent_start");
expect(EventType.AgentEnd).toBe("agent_end");
expect(EventType.AgentSettled).toBe("agent_settled");
expect(EventType.SessionInfo).toBe("session_info");
expect(EventType.Bye).toBe("bye");
});
it("Route constants", () => {
expect(Route.Sessions).toBe("/api/sessions");
expect(Route.Spawn).toBe("/api/spawn");
expect(Route.SpawnStatus).toBe("/api/spawn/status");
expect(Route.GitlabStatus).toBe("/api/gitlab/status");
expect(Route.GitlabConnect).toBe("/api/gitlab/connect");
expect(Route.GitlabRepos).toBe("/api/gitlab/repos");
});
it("session routes interpolate and encode ids", () => {
expect(Route.SessionEvents("abc")).toBe("/api/sessions/abc/events");
expect(Route.SessionPrompt("abc")).toBe("/api/sessions/abc/prompt");
expect(Route.SessionAbort("abc")).toBe("/api/sessions/abc/abort");
expect(Route.SessionContainer("abc")).toBe("/api/sessions/abc/container");
expect(Route.SessionEvents("a/b c")).toBe("/api/sessions/a%2Fb%20c/events");
});
});