Files
brain/tools/secretary-trunkdiff.test.mjs
T

29 lines
1.4 KiB
JavaScript

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');
});
});