Files
brain/tools/negotiation-section.test.mjs
T

34 lines
1.2 KiB
JavaScript

import { describe, it, expect } from 'vitest';
import { parseNegotiationSection } from './negotiation-section.mjs';
const PLAN = `# План
## Цель
Сделать X.
## Переговоры
### Круг 1
Не согласен с замечанием про шаг 2: он атомарен.
### Круг 2
Принял про шаг 4, переписал.
## Шаги
- [ ] ...`;
describe('parseNegotiationSection', () => {
it('достаёт круги с дословным текстом позиции', () => {
const r = parseNegotiationSection(PLAN);
expect(r).toEqual([
{ round: 1, position: 'Не согласен с замечанием про шаг 2: он атомарен.' },
{ round: 2, position: 'Принял про шаг 4, переписал.' },
]);
});
it('нет раздела → пустой массив', () => {
expect(parseNegotiationSection('# План\n## Цель\nY')).toEqual([]);
});
it('последний круг (для арбитража) = max по round', () => {
const r = parseNegotiationSection(PLAN);
expect(r[r.length - 1].round).toBe(2);
});
it('не падает на мусоре', () => {
expect(parseNegotiationSection(null)).toEqual([]);
});
});