// The components' markup, rendered on the server the way a page renders it: what a screen reader // and a keyboard user get is in the HTML — a name for every control, a status that says what a // colour would, and the AI disclosure where AI output appears. import { buildRegistry } from "@conusai-kit/core" import { builtInCatalogues, createI18n, uiLabels } from "@conusai-kit/i18n" import { createDataClient, DataProvider } from "@conusai-kit/ui/data" import { UiLabelsProvider } from "@conusai-kit/ui/primitives" import { renderToStaticMarkup } from "react-dom/server" import { describe, expect, it, vi } from "vitest" import { appModules } from "../../index.js" import { searchFormLabels } from "../ui/labels.js" import { SearchForm } from "../ui/search-form.js" import { SettingsSection } from "../ui/settings-section.js" const catalogues = buildRegistry([...appModules]).catalogues const i18n = createI18n("en", { en: { knowledge: catalogues.en?.knowledge ?? {} } }) const t = (key: string, values?: Record) => i18n.message(`knowledge.${key}`, values) const failed = "That did not work: {detail}" const slugs = { org: "acme", workspace: "ws", project: "p" } const kitStrings = uiLabels(createI18n("en", builtInCatalogues)) const inProvider = (node: React.ReactNode) => renderToStaticMarkup( new Response(null, { status: 501 }) })}> {node} , ) describe("the search form", () => { const html = inProvider( , ) it("names its controls and carries the AI disclosure", () => { expect(html).toMatch(/]*for=/) expect(html).toContain('type="search"') expect(html).toContain("kit-ai-disclosure") expect(html).toContain(t("search.disclosure")) }) }) describe("the settings section", () => { const labels = { heading: t("settings.heading"), state: t("settings.state"), stateOn: t("settings.stateOn"), stateOff: t("settings.stateOff"), backend: t("settings.backend"), backendPlatform: t("settings.backendPlatform"), enable: t("settings.enable"), enabling: t("settings.enabling"), disable: t("settings.disable"), disabling: t("settings.disabling"), enabledDone: t("settings.enabledDone"), disabledDone: t("settings.disabledDone"), planRequired: t("settings.planRequired"), featureDisabled: t("settings.featureDisabled"), quotaExhausted: t("settings.quotaExhausted"), upgrade: t("settings.upgrade"), hint: t("settings.hint"), failed, } it("renders the state and the enable action when disabled", () => { const html = inProvider() expect(html).toContain(t("settings.stateOff")) expect(html).toContain(`>${t("settings.enable")}<`) }) it("says the platform serves the organization, with the disable action, when enabled", () => { const html = inProvider( , ) expect(html).toContain(t("settings.backendPlatform").replaceAll("'", "'")) expect(html).toContain(`>${t("settings.disable")}<`) }) }) // Explicit synthetic admission: module-local fixtures exercise the selected module. vi.mock("../../inclusion.json", () => ({ default: { schemaVersion: 1, selected: ["knowledge"], everAdopted: ["knowledge"] }, }))