import { describe, it, expect } from "vitest"; import { ENTITY_FIELDS, ENTITY_KINDS } from "./schema.js"; describe("schema ENTITY_FIELDS", () => { it("covers every entity kind from PLAN.md ยง3.3", () => { for (const kind of ["character", "location", "faction", "item", "glossary", "system", "note"]) { expect(ENTITY_FIELDS[kind]).toBeDefined(); expect(ENTITY_FIELDS[kind]!.fields.length).toBeGreaterThan(0); } }); it("includes a list field and a select field", () => { const character = ENTITY_FIELDS.character; expect(character).toBeDefined(); expect(character!.fields.some((f) => f.type === "list")).toBe(true); expect(character!.fields.some((f) => f.type === "select")).toBe(true); }); it("exposes a stable, ordered kind list", () => { expect(ENTITY_KINDS).toContain("character"); expect(ENTITY_KINDS.length).toBeGreaterThanOrEqual(7); }); });