0.3.4 小图标功能增加

This commit is contained in:
liaibo
2026-01-22 18:53:20 +08:00
parent 71de56850b
commit 25923f308c
25 changed files with 2781 additions and 141 deletions
@@ -0,0 +1,34 @@
import { describe, expect, it } from "vitest";
import { collectSubtree } from "../../convex/_utils/documentTree";
describe("collectSubtree", () => {
it("会收集根节点及其所有后代", () => {
const rows = [
{ id: "A", parent_id: null },
{ id: "B", parent_id: "A" },
{ id: "C", parent_id: "B" },
{ id: "D", parent_id: "A" },
{ id: "E", parent_id: null },
] as const;
const subtree = collectSubtree(rows, "A");
expect(new Set(subtree.map((r) => r.id))).toEqual(new Set(["A", "B", "C", "D"]));
});
it("根节点不存在时返回空数组", () => {
const rows = [{ id: "A", parent_id: null }] as const;
expect(collectSubtree(rows, "missing")).toEqual([]);
});
it("存在环时不会死循环", () => {
const rows = [
{ id: "A", parent_id: "B" },
{ id: "B", parent_id: "A" },
{ id: "C", parent_id: null },
] as const;
const subtree = collectSubtree(rows, "A");
expect(new Set(subtree.map((r) => r.id))).toEqual(new Set(["A", "B"]));
});
});