fix: block ready bid exports once a winner is published

This commit is contained in:
2026-09-06 14:57:53 +03:00
parent 2353170c40
commit 528933aa1b
5 changed files with 28 additions and 0 deletions
+12
View File
@@ -18,3 +18,15 @@ test('unknown legacy fields do not invent a change and a new saved baseline clea
const result=applyTenderStates([current],{'2026/2':{snapshot:tenderSnapshot(current),data:{takipte:true}}});
assert.deepEqual(result[0].sourceChanges,[]);
});
test('winner publication changes the reviewed bid source without destroying saved prices',()=>{
const original={ikn:'2026/winner',tarih:'10.09.2026',saat:'10:00',durum:'Açık'};
const draft={pricesBySource:{kit:'100'},reviewedSource:bidSourceSnapshot(original)};
const awarded={...original,kazananFirma:'QA Kazanan'};
const result=applyTenderStates([awarded],{[original.ikn]:{snapshot:tenderSnapshot(original),data:{bidDraft:draft,takipte:true}}})[0];
assert.notEqual(bidSourceSnapshot(result),draft.reviewedSource);
assert.deepEqual(result.bidDraft,draft);
const restored=applyTenderStates([],{[original.ikn]:{snapshot:tenderSnapshot(awarded),data:{bidDraft:draft,takipte:true}}})[0];
assert.equal(restored.kazananFirma,'QA Kazanan');
assert.equal(bidSourceSnapshot(original),bidSourceSnapshot({...original,kazananFirma:''}));
});