CONTENT-WP-0002-T03 renders manifest columns through a pure row mapper and replaceable cell renderers. Assistant: grok Assistant-Session: 01a1346c-fdff-7741-b1af-b7283661554b
28 lines
1.2 KiB
TypeScript
28 lines
1.2 KiB
TypeScript
import { renderToStaticMarkup } from "react-dom/server";
|
|
import { describe, expect, it } from "vitest";
|
|
import { findEntity, findKind } from "@/lib/catalog";
|
|
import { EntityDetail } from "./EntityDetail";
|
|
import { KindIndex } from "./KindIndex";
|
|
|
|
describe("kind and detail views", () => {
|
|
it("renders the registry plural and a linked record", () => {
|
|
const kind = findKind("software-architecture", "concept");
|
|
expect(kind).not.toBeNull();
|
|
const html = renderToStaticMarkup(<KindIndex kind={kind!} />);
|
|
expect(html).toContain(">Concepts<");
|
|
expect(html).toContain("Coupling");
|
|
expect(html).toContain('href="/software-architecture/concept/coupling/"');
|
|
expect(html).toContain("dependency");
|
|
expect(html).toContain(">Tags<");
|
|
});
|
|
|
|
it("renders the entity title, an unknown claim, and a neighbour", () => {
|
|
const entity = findEntity("systems-thinking", "concept", "system-boundary");
|
|
expect(entity).not.toBeNull();
|
|
const html = renderToStaticMarkup(<EntityDetail entity={entity!} />);
|
|
expect(html).toContain(">System boundary<");
|
|
expect(html).toContain("formal-measure");
|
|
expect(html).toContain("unknown");
|
|
expect(html).toContain("Stock and flow model");
|
|
});
|
|
});
|