import { describe, it, expect } from 'vitest'; import { spansToEnqueue } from './secretary-enqueue.mjs'; describe('spansToEnqueue', () => { const bounds = [1, 3, 5]; // спаны: [1..2]#0, [3..4]#1, [5..last]#2 it('returns closed spans with index > cursor, as queue jobs', () => { const jobs = spansToEnqueue({ rawBounds: bounds, lastTurn: 6, cursor: 0, session: 's' }); expect(jobs.map((j) => j.span.index)).toEqual([1]); // #0 обработан, #2 ещё открыт expect(jobs[0]).toMatchObject({ session: 's', kind: 'span', span: { start: 3, end: 4, index: 1 } }); }); it('closing mode also enqueues the last (open) span', () => { const jobs = spansToEnqueue({ rawBounds: bounds, lastTurn: 6, cursor: 1, session: 's', closing: true }); expect(jobs.map((j) => j.span.index)).toEqual([2]); }); });