101c08d447
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
21 lines
920 B
JavaScript
21 lines
920 B
JavaScript
import { describe, it, expect } from 'vitest';
|
|
import { buildRawRecord } from './secretary-layer1.mjs';
|
|
|
|
describe('buildRawRecord', () => {
|
|
it('содержит заголовок с turn, реплики и действие', () => {
|
|
const rec = buildRawRecord({
|
|
turn: 7, time: '2026-06-22T10:00:00Z', session: 'abc',
|
|
user: 'привет', assistant: 'ответ',
|
|
actions: [{ tool: 'Read', input: '{"f":"x"}', result: 'текст' }],
|
|
});
|
|
expect(rec).toContain('turn=7');
|
|
expect(rec).toContain('[ЮЗЕР]');
|
|
expect(rec).toContain('[ДЕЙСТВИЕ] Read');
|
|
expect(rec.trim().endsWith('=== КОНЕЦ ХОДА ===')).toBe(true);
|
|
});
|
|
it('без действий — блок без [ДЕЙСТВИЕ]', () => {
|
|
const rec = buildRawRecord({ turn: 1, time: 't', session: 's', user: 'u', assistant: 'a' });
|
|
expect(rec).not.toContain('[ДЕЙСТВИЕ]');
|
|
});
|
|
});
|