import { registerSectionsSync } from "@decocms/blocks/cms"; import { renderToString } from "react-dom/server"; import { describe, expect, it } from "vitest"; import { DeferredSectionBoundary } from "./DeferredSection"; function Hero({ label }: { label?: string }) { return

{`hero-${label ?? "none"}`}

; } describe("DeferredSectionBoundary (next)", () => { it("renders the fallback while the promise is pending, per Suspense semantics", () => { const KEY = "site/sections/NextDeferredA.tsx"; registerSectionsSync({ [KEY]: { default: Hero } }); const neverResolves = new Promise(() => {}); const html = renderToString( loading} />, ); expect(html).toContain("loading"); expect(html).not.toContain("hero-"); }); });