import test from 'node:test'; import assert from 'node:assert'; import { safeImport } from '../_helpers/path.js'; import { FakeLLMClient } from '../_helpers/fakeLLMClient.js'; import { AutoReporter } from '../reporters/AutoReporter.js'; function skip(msg){ console.warn('[SKIP]', msg); } // Auto-Reporter Configuration const autoReporter = new AutoReporter(); test('LLMManager: callModel happy path (mock client)', async () => { const res = await safeImport('LLMManager'); if (!res.ok) { skip(res.reason); return; } const L = res.mod; // Hooks requis pour injection if (typeof L.__setClient !== 'function' || typeof L.callModel !== 'function') { skip('LLMManager test hooks not found (__setClient) or callModel missing'); return; } const fake = new FakeLLMClient({ delayMs: 5, prefix: 'TEST' }); L.__setClient('mock', fake); const out = await L.callModel({ provider:'mock', model:'fake-1', input:'Hello' }); assert.ok(out); const text = out.completion || out.text || out.output; assert.equal(typeof text, 'string'); assert.ok(/TEST\[fake-1\]::/.test(text), 'completion should come from fake client'); });