import { render, screen } from "@testing-library/react"; import { register, resolve } from "./registry"; import type { WidgetProps } from "./types"; test("resolve returns the registered renderer", () => { const Dummy = (_: WidgetProps) =>
dummy
; register("dummy", Dummy); expect(resolve("dummy")).toBe(Dummy); }); test("resolve falls back for unknown kind and shows the JSON", () => { const Comp = resolve("totally-unknown"); render( {}} />); expect(screen.getByText(/Unsupported widget/i)).toBeInTheDocument(); }); test("index registers the schema-linking widget", async () => { await import("./index"); const Comp = resolve("schema-linking"); expect(Comp.name).toBe("SchemaLinkingGateWidget"); }); test("index registers the read-only join review widget", async () => { await import("./index"); const Comp = resolve("join-review"); expect(Comp.name).toBe("JoinReviewWidget"); });