refactor(shared): reuse node list parsers across cli and tools
This commit is contained in:
24
src/shared/node-list-parse.test.ts
Normal file
24
src/shared/node-list-parse.test.ts
Normal 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: [] });
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user