event-manifest.test.ts 1.3 KB

123456789101112131415161718192021222324
  1. import { describe, expect, test } from "bun:test"
  2. import { SessionEvent } from "@kirincode-ai/core/session/event"
  3. import { EventManifest as SchemaEventManifest } from "@kirincode-ai/schema/event-manifest"
  4. import { Todo } from "@/session/todo"
  5. import { EventManifest } from "@/event-manifest"
  6. describe("public event manifest", () => {
  7. test("contains every latest public wire type once", () => {
  8. expect(EventManifest.Definitions).toBe(SchemaEventManifest.Definitions)
  9. expect(EventManifest.Latest).toBe(SchemaEventManifest.Latest)
  10. expect(EventManifest.Durable).toBe(SchemaEventManifest.Durable)
  11. expect(EventManifest.Latest.size).toBe(88)
  12. expect(EventManifest.Latest.get("session.next.step.ended")).toBe(SessionEvent.Step.Ended)
  13. expect(EventManifest.Latest.get("todo.updated")).toBe(Todo.Event.Updated)
  14. expect(EventManifest.Latest.has("ide.installed")).toBe(false)
  15. expect(EventManifest.Latest.has("server.connected")).toBe(true)
  16. expect(EventManifest.Latest.has("global.disposed")).toBe(true)
  17. })
  18. test("contains only the current step settlement versions", () => {
  19. expect(EventManifest.Durable.has("session.next.step.ended.1")).toBe(false)
  20. expect(EventManifest.Durable.get("session.next.step.ended.2")).toBe(SessionEvent.Step.Ended)
  21. })
  22. })