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:
@@ -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");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user