fix(nodes): allow removing stale paired nodes

This commit is contained in:
Peter Steinberger
2026-04-27 13:20:52 +01:00
parent 400be3b63f
commit 7fb2a356e8
18 changed files with 156 additions and 5 deletions

View File

@@ -424,6 +424,35 @@ describe("cli program (nodes basics)", () => {
);
});
it("runs nodes remove and calls node.pair.remove", async () => {
callGateway.mockImplementation(async (...args: unknown[]) => {
const opts = (args[0] ?? {}) as { method?: string };
if (opts.method === "node.list") {
return {
nodes: [{ nodeId: "ios-node", displayName: "iOS Node", paired: true }],
};
}
if (opts.method === "node.pair.list") {
return {
pending: [],
paired: [{ nodeId: "ios-node", displayName: "iOS Node" }],
};
}
if (opts.method === "node.pair.remove") {
return { nodeId: "ios-node" };
}
return { ok: true };
});
await runProgram(["nodes", "remove", "--node", "iOS Node"]);
expect(callGateway).toHaveBeenCalledWith(
expect.objectContaining({
method: "node.pair.remove",
params: { nodeId: "ios-node" },
}),
);
});
it("runs nodes invoke and calls node.invoke", async () => {
mockGatewayWithIosNodeListAnd("node.invoke", {
ok: true,