diff --git a/packages/core-trpc/src/client.test.ts b/packages/core-trpc/src/client.test.ts index e998a06..9d879d2 100644 --- a/packages/core-trpc/src/client.test.ts +++ b/packages/core-trpc/src/client.test.ts @@ -1,4 +1,15 @@ -import { describe, it, expect } from "vitest"; +import { describe, it, expect, vi } from "vitest"; + +// Stub the tRPC context factory so useTRPC() can run outside a React render: +// the real context.useTRPC() requires a mounted TRPCProvider. The stubbed +// proxy lets us exercise the router-agnostic delegation (client.ts:useTRPC). +vi.mock("@trpc/tanstack-react-query", () => ({ + createTRPCContext: () => ({ + TRPCProvider: () => null, + useTRPC: () => ({ __proxy: "trpc-options-proxy" }), + }), +})); + import { useTRPC, TRPCProvider } from "./client"; describe("core-trpc client exports", () => { @@ -9,4 +20,10 @@ describe("core-trpc client exports", () => { it("exports TRPCProvider component", () => { expect(TRPCProvider).toBeTypeOf("function"); }); + + it("useTRPC delegates to the underlying router-agnostic tRPC proxy", () => { + // The generic is a compile-time-only cast; at runtime it returns whatever + // the shared context proxy yields. + expect(useTRPC()).toEqual({ __proxy: "trpc-options-proxy" }); + }); });