20 lines
860 B
JavaScript
20 lines
860 B
JavaScript
import assert from "node:assert/strict";
|
|
import test from "node:test";
|
|
import { publishNoctaliaState } from "../src/client/noctalia-ipc.js";
|
|
|
|
test("publishes aggregate presentation state through Noctalia's documented IPC command", async () => {
|
|
const calls = [];
|
|
await publishNoctaliaState(
|
|
{
|
|
state: "streaming", projectLabel: "3 sessions", attentionCount: 2,
|
|
detail: "3 open · 1 working · 2 attention · 0 recovering · 1 errors",
|
|
openCount: 3, workingCount: 1, recoveringCount: 0, errorCount: 1,
|
|
},
|
|
{ execute: async (command, args) => calls.push({ command, args }) },
|
|
);
|
|
assert.deepEqual(calls, [{
|
|
command: "qs",
|
|
args: ["-c", "noctalia-shell", "ipc", "call", "plugin:pi-status-bridge", "setBridgeState", "streaming", "3 sessions", "2", "3 open · 1 working · 2 attention · 0 recovering · 1 errors", "3", "1", "0", "1"],
|
|
}]);
|
|
});
|