import assert from "node:assert/strict";
import { test } from "node:test";
import { Maybe } from "@repo/rdx-utils";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { createInstance } from "i18next";
import type { ReactNode } from "react";
import { renderToStaticMarkup } from "react-dom/server";
import { I18nextProvider } from "react-i18next";
import { buildCatalogResponse } from "../api/application/resource-catalog-response.builder";
import { ResourceCatalog } from "../api/domain/resource-catalog.aggregate";
import { seedResourceCatalog } from "../api/domain/resource-catalog-seed";
import { catalogKeys } from "./catalog-api";
import { CatalogFieldForm } from "./catalog-form";
import { ResourceCatalogPage } from "./catalog-page";
import { CatalogTemplateForm } from "./catalog-template-form";
import { resourcesEnglish, resourcesSpanish } from "./i18n";
async function render(language: string, children: ReactNode) {
const i18n = createInstance();
await i18n.init({
lng: language,
resources: { es: { resources: resourcesSpanish }, en: { resources: resourcesEnglish } },
});
const client = new QueryClient();
client.setQueryData(
catalogKeys.scope("global"),
buildCatalogResponse(seedResourceCatalog(ResourceCatalog.create()), Maybe.none())
);
try {
return renderToStaticMarkup(