refactor(shared): reuse node list parsers across cli and tools

This commit is contained in:
Peter Steinberger
2026-02-18 23:32:37 +00:00
parent 3b7c8fe79a
commit b366279030
4 changed files with 44 additions and 31 deletions

View File

@@ -0,0 +1,24 @@
import { describe, expect, it } from "vitest";
import { parseNodeList, parsePairingList } from "./node-list-parse.js";
describe("shared/node-list-parse", () => {
it("parses node.list payloads", () => {
expect(parseNodeList({ nodes: [{ nodeId: "node-1" }] })).toEqual([{ nodeId: "node-1" }]);
expect(parseNodeList({ nodes: "nope" })).toEqual([]);
expect(parseNodeList(null)).toEqual([]);
});
it("parses node.pair.list payloads", () => {
expect(
parsePairingList({
pending: [{ requestId: "r1", nodeId: "n1", ts: 1 }],
paired: [{ nodeId: "n1" }],
}),
).toEqual({
pending: [{ requestId: "r1", nodeId: "n1", ts: 1 }],
paired: [{ nodeId: "n1" }],
});
expect(parsePairingList({ pending: 1, paired: "x" })).toEqual({ pending: [], paired: [] });
expect(parsePairingList(undefined)).toEqual({ pending: [], paired: [] });
});
});