import assert from "node:assert/strict"; import { test } from "node:test"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { createInstance } from "i18next"; import { renderToStaticMarkup } from "react-dom/server"; import { I18nextProvider } from "react-i18next"; import { accessKeys } from "./access-api"; import { AccessForm } from "./access-form"; import { AccessWorkspacePage } from "./access-workspace"; import { accessEnglish, accessSpanish } from "./i18n"; test("los catálogos presentan alta mediante acción y no un formulario junto al listado", async () => { for (const [language, label] of [ ["es", "Nuevo sistema"], ["en", "New system"], ] as const) { const i18n = createInstance(); await i18n.init({ lng: language, resources: { es: { access: accessSpanish }, en: { access: accessEnglish } }, }); const client = new QueryClient(); client.setQueryData(accessKeys.scope("global"), { items: [], reviews: [], coverage: [] }); const markup = renderToStaticMarkup( ); assert.ok(markup.includes(label)); assert.equal(markup.includes(" { const i18n = createInstance(); await i18n.init({ lng: "es", resources: { es: { access: accessSpanish } } }); const client = new QueryClient(); const markup = renderToStaticMarkup( undefined} people={[]} scope="e0420eb9-2aab-4368-96a0-2ce83dd23eb4" /> ); assert.ok(markup.includes("Fecha de caducidad")); assert.ok(markup.includes("Sistema, entorno y uso quedan fijos")); assert.equal(markup.includes('type="password"'), false); const field = markup.match(/]*name="expiresOn"[^>]*>/)?.[0]; assert.ok(field); assert.equal(field.includes("required"), false); client.clear(); });