import { describe, expect, it } from 'vitest' import { groupAttentionByInitiative, initiativeSignalSummary, topAttentionSignals, } from './attentionSignals.js' describe('attentionSignals', () => { const sample = [ { initiative_id: 'a', kind: 'planning_debt', severity: 'warning' }, { initiative_id: 'a', kind: 'execution_waiting', severity: 'info' }, { initiative_id: 'b', kind: 'open_blocker', severity: 'critical' }, ] it('groups by initiative', () => { const grouped = groupAttentionByInitiative(sample) expect(grouped.a).toHaveLength(2) expect(grouped.b).toHaveLength(1) }) it('picks top signals by severity', () => { const top = topAttentionSignals(sample.filter((i) => i.initiative_id === 'a')) expect(top[0].kind).toBe('planning_debt') }) it('summarizes initiative signals', () => { const summary = initiativeSignalSummary(sample.filter((i) => i.initiative_id === 'b')) expect(summary?.count).toBe(1) expect(summary?.topSeverity).toBe('critical') }) })