import { describe, it, expect } from 'vitest'; import { diffTrunk } from './secretary-trunkdiff.mjs'; describe('diffTrunk', () => { it('пусто, когда ствол не двигался', () => { const p = { decisions: [{ text: 'A', struck: false }] }; expect(diffTrunk(p, p)).toBe('(ствол не двигался этот ход)'); }); it('ловит добавленное решение и зачёркнутый открытый', () => { const oldP = { open: [{ text: 'Q', struck: false }] }; const newP = { decisions: [{ text: 'A', why: 'почему', struck: false }], open: [{ text: 'Q', struck: true }] }; const d = diffTrunk(oldP, newP); expect(d).toContain('РЕШЕНИЕ добавлен: «A — почему»'); expect(d).toContain('ОТКРЫТЫЙ зачёркнут (закрыт ствол): «Q»'); }); }); describe('diffTrunk — база знаний', () => { it('показывает добавленное и уточнённое знание', () => { const oldP = { knowledge: [{ ref: 'a.mjs:1', text: 'старое' }] }; const newP = { knowledge: [{ ref: 'a.mjs:1', text: 'уточнённое' }, { ref: 'b.mjs:2', text: 'новое' }] }; const d = diffTrunk(oldP, newP); expect(d).toContain('ЗНАНИЕ уточнено'); expect(d).toContain('a.mjs:1'); expect(d).toContain('ЗНАНИЕ добавлено'); expect(d).toContain('b.mjs:2'); }); });