Files
NetMesh/application/state/scriptRunsStore.test.ts

36 lines
888 B
TypeScript
Raw Permalink Normal View History

import assert from 'node:assert/strict';
import test from 'node:test';
import { setScriptRuns, getScriptRuns } from './scriptAutomationCoordinator.ts';
import {
getScriptRunsSnapshot,
subscribeScriptRuns,
} from './scriptRunsStore.ts';
test('setScriptRuns publishes to scriptRunsStore for Scripts panel subscribers', () => {
const events: number[] = [];
const unsubscribe = subscribeScriptRuns(() => {
events.push(getScriptRunsSnapshot().length);
});
setScriptRuns([
{
runId: 'r1',
sessionId: 's1',
status: 'running',
startedAt: 1,
logs: [],
},
]);
assert.equal(getScriptRuns().length, 1);
assert.equal(getScriptRunsSnapshot().length, 1);
assert.equal(getScriptRunsSnapshot()[0]?.runId, 'r1');
assert.ok(events.includes(1));
setScriptRuns([]);
assert.equal(getScriptRunsSnapshot().length, 0);
unsubscribe();
});