Files
ihaleist/tests/extraction-review.test.mjs

18 lines
1.1 KiB
JavaScript

import {test} from 'node:test';
import assert from 'node:assert/strict';
import {qualifyAnalysis} from '../server/analysis-quality.mjs';
import {extractionReview} from '../src/services/extractionReview.js';
test('OCR and omitted pages remain partial even when the model claims completion',()=>{
const result=qualifyAnalysis({sourceReview:{status:'complete'}},{text:'Source clause',extraction:{fileName:'Scan.pdf',ocr:true,pageCount:45,usedPages:40,verified:true}});
assert.equal(result.sourceReview.status,'partial');
assert.equal(result.sourceReview.issues.length,2);
assert.equal(result.sourceReview.extraction[0].verified,undefined);
assert.match(result.sourceReview.issues.join(' '),/OCR/);
});
test('combined-source analysis retains a skipped document warning',()=>{
const result=qualifyAnalysis({}, {text:'Available announcement',extraction:[{fileName:'Announcement',complete:true},{fileName:'Missing specification',complete:false}]});
assert.equal(result.sourceReview.status,'partial');
assert.match(result.sourceReview.issues[0],/Missing specification/);
assert.deepEqual(extractionReview({ocr:false,pageCount:45,usedPages:45,complete:true}).issues,[]);
});