prefer official EKAP detail deadline
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import {test} from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import {uniqueTenders,announcementFields} from '../server/tender-quality.mjs';
|
||||
import {uniqueTenders,announcementFields,officialDateFields,mergeAnnouncementFields} from '../server/tender-quality.mjs';
|
||||
test('duplicate DT records merge without merging another institution or losing source identities',()=>{
|
||||
const t={id:'dt-1',ikn:'26DT1693370',kurum:'Hastane'};
|
||||
const out=uniqueTenders([t,{...t,id:'dt-2',aciklama:'Tam metin'},{...t,id:'dt-3',kurum:'Başka hastane'}]);
|
||||
@@ -49,3 +49,19 @@ test('announcement deadline parser accepts common label variants',()=>{
|
||||
assert.equal(d.saat,['09:30','14:15','08:05'][i]);
|
||||
}
|
||||
});
|
||||
|
||||
test('official EKAP detail date takes precedence over stale announcement date',()=>{
|
||||
const official=officialDateFields('16.09.2026 10:00');
|
||||
assert.deepEqual(official,{tarih:'16.09.2026',saat:'10:00',sourceDateTime:'16.09.2026 10:00'});
|
||||
const merged=mergeAnnouncementFields('2.1. Tarih ve Saati: 09.09.2026 - 10:00',official);
|
||||
assert.equal(merged.tarih,'16.09.2026');
|
||||
assert.equal(merged.saat,'10:00');
|
||||
assert.match(merged.sourceDateWarning,/Resmî ihale detay tarihi/);
|
||||
});
|
||||
|
||||
test('official date merge preserves announcement fields when dates agree',()=>{
|
||||
const merged=mergeAnnouncementFields('2.1. Tarih ve Saati: 10.09.2026 - 10:00',officialDateFields('2026-09-10T10:00:00'));
|
||||
assert.equal(merged.tarih,'10.09.2026');
|
||||
assert.equal(merged.saat,'10:00');
|
||||
assert.equal(merged.sourceDateWarning,undefined);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user