Files
mnote/wolai-frontend/src/lib/tree-projection-contract.test.ts
T

40 lines
1.0 KiB
TypeScript
Raw Normal View History

import { describe, expect, it } from "vitest";
import { buildPageTreeProjectionItems } from "@/lib/tree-projection";
describe("tree-projection contract", () => {
it("page_tree projection item 持续输出共享 contract 字段", () => {
const items = buildPageTreeProjectionItems([
{
access_scope: "private",
id: "root",
workspace_id: "ws_1",
title: "Root",
parent_id: null,
sort_order: 0,
is_starred: false,
is_template: false,
created_at: "2026-04-18T00:00:00Z",
updated_at: null,
children: [],
},
]);
expect(items).toHaveLength(1);
expect(items[0]).toMatchObject({
rowId: "page:root",
nodeId: "root",
parentNodeId: null,
projectionKind: "page_tree",
expandable: false,
expandedByDefault: true,
iconHint: "page",
resourceMeta: {
resourceKind: "document",
documentId: "root",
iconHint: "page",
},
});
expect(items[0]?.capabilities).toContain("open");
});
});