feat: preserve search text in saved tender filters
This commit is contained in:
@@ -10,10 +10,17 @@ test('province-based regions cover all 81 cities exactly once and normalize Turk
|
||||
assert.equal(matchesRegion({sehir:''},'KARADENİZ BÖLGESİ'),false);
|
||||
});
|
||||
test('saved criteria preserves all five fields and rejects unrecognized regions',()=>{
|
||||
assert.deepEqual(savedFilterCriteria({sehir:' Giresun ',bolge:'karadeniz bölgesi',sektor:'Laboratuvar',kurumTipi:'Hastaneler',usul:'Açık İhale'}),{city:'Giresun',region:'KARADENİZ BÖLGESİ',sector:'Laboratuvar',institution:'Hastaneler',procedure:'Açık İhale'});
|
||||
assert.deepEqual(savedFilterCriteria({sehir:' Giresun ',bolge:'karadeniz bölgesi',sektor:'Laboratuvar',kurumTipi:'Hastaneler',usul:'Açık İhale'}),{city:'Giresun',region:'KARADENİZ BÖLGESİ',sector:'Laboratuvar',institution:'Hastaneler',procedure:'Açık İhale',keyword:'',institutionName:'',registration:''});
|
||||
assert.throws(()=>savedFilterCriteria({bolge:'Bilinmeyen'}),/tanınmadı/);
|
||||
assert.throws(()=>savedFilterCriteria({sehir:[]}),/geçersiz/);
|
||||
});
|
||||
test('saved search text survives serialization independently and malformed values are rejected',()=>{
|
||||
const criteria=savedFilterCriteria(JSON.parse(JSON.stringify({anahtarKelime:' test ürünü ',kurumAdi:' Kayseri ',ikn:' 2026/1534665 '})));
|
||||
assert.equal(criteria.keyword,'test ürünü');
|
||||
assert.equal(criteria.institutionName,'Kayseri');
|
||||
assert.equal(criteria.registration,'2026/1534665');
|
||||
for(const key of ['anahtarKelime','kurumAdi','ikn'])assert.throws(()=>savedFilterCriteria({[key]:['invalid']}),/geçersiz/);
|
||||
});
|
||||
test('procedure filter uses explicit source procedure, not inferred purchase category',()=>{
|
||||
assert.equal(matchesProcurement({alimTuru:'Mal Alımı',ihaleUsulu:'Açık İhale'},'Açık İhale'),true);
|
||||
assert.equal(matchesProcurement({alimTuru:'Mal Alımı'},'Açık İhale'),false);
|
||||
|
||||
Reference in New Issue
Block a user