Preserve preparation conditions and invalidate outdated source reviews
This commit is contained in:
@@ -44,3 +44,16 @@ test('review revision changes invalidate the preparation source even with identi
|
||||
const second={sourceReview:{humanReview:{documentId:'doc',revision:2,textHash:'same'}}};
|
||||
assert.notEqual(bidSourceSnapshot(tender,first),bidSourceSnapshot(tender,second));
|
||||
});
|
||||
|
||||
test('persisted preparation retains critical conditions and changed findings invalidate review', async()=>{
|
||||
const {preparationAnalysisSource,preparationConditionSections}=await import('../src/services/preparationAnalysis.js');
|
||||
const analysis={itemsAndSpecs:[],qualificationCriteria:['Servis yetkisi'],criticalRequirements:['Numune zorunlu'],risksAndPenalties:[{text:'Gecikme cezası',clause:'Madde 12'}],sourceEvidence:[{quote:'numune'}],documentVersion:'same-document'};
|
||||
const saved=JSON.parse(JSON.stringify(preparationAnalysisSource(analysis)));
|
||||
assert.deepEqual(saved.qualificationCriteria,analysis.qualificationCriteria);
|
||||
assert.deepEqual(saved.risksAndPenalties,analysis.risksAndPenalties);
|
||||
assert.deepEqual(saved.sourceEvidence,analysis.sourceEvidence);
|
||||
assert.equal(bidSourceSnapshot(tender,analysis),bidSourceSnapshot(tender,saved));
|
||||
for(const [field] of preparationConditionSections) {
|
||||
assert.notEqual(bidSourceSnapshot(tender,saved),bidSourceSnapshot(tender,{...saved,[field]:['Yeni koşul']}),field);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user