session-cursor.test.ts 922 B

1234567891011121314151617181920212223242526
  1. import { describe, expect, test } from "bun:test"
  2. import { Effect, Schema } from "effect"
  3. import { SessionHistoryQuery, SessionsCursor } from "../src/groups/session"
  4. import { Session } from "@opencode-ai/schema/session"
  5. describe("SessionsCursor", () => {
  6. test("round trips without Node globals", async () => {
  7. const input = {
  8. workspace: undefined,
  9. search: "protocol",
  10. order: "desc" as const,
  11. anchor: { id: Session.ID.make("ses_test"), time: 1, direction: "next" as const },
  12. }
  13. const cursor = SessionsCursor.make(input)
  14. expect(await Effect.runPromise(SessionsCursor.parse(cursor))).toEqual(input)
  15. })
  16. })
  17. describe("SessionHistoryQuery", () => {
  18. test("decodes numeric paging inputs", async () => {
  19. const query = await Effect.runPromise(Schema.decodeUnknownEffect(SessionHistoryQuery)({ after: "3", limit: "10" }))
  20. expect(query).toEqual({ after: 3, limit: 10 })
  21. })
  22. })