import test from 'node:test'; import assert from 'node:assert/strict'; import {qualifyAnalysis} from '../server/analysis-quality.mjs'; test('truncated input and repaired output are partial, never complete analysis',()=>{ const r=qualifyAnalysis({itemsAndSpecs:[{name:'Kit'}]},{text:'a'.repeat(100),limit:50,expectedItems:100,repaired:true}); assert.equal(r.sourceReview.status,'partial');assert.equal(r.sourceReview.issues.length,3); assert.equal(r.sourceReview.analyzedCharacters,50); assert.equal(r.sourceReview.sections.documentChecklist,'not_extracted'); }); test('source versions change with content and empty sections do not claim absence',()=>{ const a=qualifyAnalysis({documentChecklist:[]},{text:'kaynak A'}); const b=qualifyAnalysis({documentChecklist:[]},{text:'kaynak B'}); assert.notEqual(a.documentVersion,b.documentVersion); assert.equal(a.sourceReview.status,'review_required'); assert.equal(a.sourceReview.sections.documentChecklist,'not_extracted'); assert.throws(()=>qualifyAnalysis({itemsAndSpecs:'kalem yok'})); });