18 lines
1.1 KiB
JavaScript
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,[]);
|
|
});
|