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");
});