Require real draft evidence for offer audit findings
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import {test} from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import {qualifyOfferAudit} from '../server/offer-audit.mjs';
|
||||
const requirements=['Teslim süresi 30 gün','Numune sunulacak'];
|
||||
const draft='Teslim süresi 30 gün olarak teklif edilmiştir.';
|
||||
test('invented evidence and missing rows cannot count as satisfied or receive partial credit',()=>{
|
||||
const out=qualifyOfferAudit({maddeler:[{gereklilik:requirements[0],durum:'karsilaniyor',kanit:'Ürünler 30 gün içinde teslim edilir.'}]},requirements,draft);
|
||||
assert.equal(out.uyum_yuzde,0);assert.equal(out.belirsizSayisi,2);
|
||||
assert.equal(out.maddeler[0].kanit,null);
|
||||
});
|
||||
test('reordered model rows match the actual requirement, not their array position',()=>{
|
||||
const out=qualifyOfferAudit({maddeler:[{gereklilik:requirements[1],durum:'eksik'}, {gereklilik:requirements[0],durum:'karsilaniyor',kanit:'Teslim süresi 30 gün'}]},requirements,draft);
|
||||
assert.equal(out.maddeler[0].durum,'karsilaniyor');assert.equal(out.maddeler[1].durum,'eksik');
|
||||
assert.equal(out.uyum_yuzde,50);assert.deepEqual(out.eksikler,[requirements[1]]);
|
||||
assert.match(out.kapsam,/tüm dokümanın/);
|
||||
});
|
||||
test('duplicate and mismatched requirement identities remain unresolved',()=>{
|
||||
const row={gereklilik:requirements[0],durum:'karsilaniyor',kanit:'Teslim süresi 30 gün'};
|
||||
const out=qualifyOfferAudit({maddeler:[row,row,{...row,gereklilik:'Değiştirilmiş gereklilik'}]},requirements,draft);
|
||||
assert.equal(out.uyum_yuzde,0);assert.equal(out.belirsizSayisi,2);
|
||||
});
|
||||
test('blank and malformed model payloads fail instead of claiming a completed audit',()=>{
|
||||
for(const result of [null,{}, {maddeler:[]},{maddeler:'wrong'}]) assert.throws(()=>qualifyOfferAudit(result,requirements,draft),/denetim maddelerini/);
|
||||
const out=qualifyOfferAudit({maddeler:[null]},requirements,draft);assert.equal(out.belirsizSayisi,2);
|
||||
});
|
||||
Reference in New Issue
Block a user