import { describe, expect, it } from "vitest";import { scopeThreadRef } from "@t3tools/client-runtime";import { ThreadId } from "@t3tools/contracts";import { DraftId } from "./composerDraftStore"; import { buildDraftThreadRouteParams, buildThreadRouteParams, resolveThreadRouteRef, resolveThreadRouteTarget,} from "./threadRoutes"; describe("threadRoutes", () => { it("builds canonical thread route params from a scoped ref", () => { const ref = scopeThreadRef("env-1" as never, ThreadId.make("thread-1")); expect(buildThreadRouteParams(ref)).toEqual({ environmentId: "env-1", threadId: "thread-1", }); }); it("resolves a scoped ref only when both params are present", () => { expect( resolveThreadRouteRef({ environmentId: "env-1", threadId: "thread-1", }), ).toEqual({ environmentId: "env-1", threadId: "thread-1", }); expect(resolveThreadRouteRef({ environmentId: "env-1" })).toBeNull(); expect(resolveThreadRouteRef({ threadId: "thread-1" })).toBeNull(); }); it("builds canonical draft route params from a draft id", () => { expect(buildDraftThreadRouteParams(DraftId.make("draft-1"))).toEqual({ draftId: "draft-1", }); }); it("resolves draft and server route targets", () => { expect( resolveThreadRouteTarget({ environmentId: "env-1", threadId: "thread-1", }), ).toEqual({ kind: "server", threadRef: { environmentId: "env-1", threadId: "thread-1", }, }); expect( resolveThreadRouteTarget({ draftId: "draft-1", }), ).toEqual({ kind: "draft", draftId: "draft-1", }); });});
import { describe, expect, it } from "vitest";
import { scopeThreadRef } from "@t3tools/client-runtime";
import { ThreadId } from "@t3tools/contracts";
import { DraftId } from "./composerDraftStore";
import {
buildDraftThreadRouteParams,
buildThreadRouteParams,
resolveThreadRouteRef,
resolveThreadRouteTarget,
} from "./threadRoutes";
describe("threadRoutes", () => {
it("builds canonical thread route params from a scoped ref", () => {
const ref = scopeThreadRef("env-1" as never, ThreadId.make("thread-1"));
expect(buildThreadRouteParams(ref)).toEqual({
environmentId: "env-1",
threadId: "thread-1",
});
});
it("resolves a scoped ref only when both params are present", () => {
expect(
resolveThreadRouteRef({
environmentId: "env-1",
threadId: "thread-1",
}),
).toEqual({
environmentId: "env-1",
threadId: "thread-1",
});
expect(resolveThreadRouteRef({ environmentId: "env-1" })).toBeNull();
expect(resolveThreadRouteRef({ threadId: "thread-1" })).toBeNull();
});
it("builds canonical draft route params from a draft id", () => {
expect(buildDraftThreadRouteParams(DraftId.make("draft-1"))).toEqual({
draftId: "draft-1",
});
});
it("resolves draft and server route targets", () => {
expect(
resolveThreadRouteTarget({
environmentId: "env-1",
threadId: "thread-1",
}),
).toEqual({
kind: "server",
threadRef: {
environmentId: "env-1",
threadId: "thread-1",
},
});
expect(
resolveThreadRouteTarget({
draftId: "draft-1",
}),
).toEqual({
kind: "draft",
draftId: "draft-1",
});
});
});