fix: block ready bid exports once a winner is published
This commit is contained in:
@@ -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:''}));
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user