fix: order new tenders by validated publication time

This commit is contained in:
2026-09-06 09:20:45 +03:00
parent f593d5e372
commit efec6e434d
4 changed files with 54 additions and 17 deletions
+11 -1
View File
@@ -1,6 +1,16 @@
import test from 'node:test';
import assert from 'node:assert/strict';
import { acikIhale, compareTenderDeadlines, ihaleGunu } from '../src/services/ihaleTarih.js';
import { acikIhale, compareTenderDeadlines, ihaleGunu, compareTenderPublications, publicationInfo, bugunEklendi } from '../src/services/ihaleTarih.js';
test('publication sorting ignores arbitrary ids and handles Istanbul day boundaries',()=>{
const rows=[{id:'zzz',ilanTarihi:'05.09.2026'}, {id:1,yayinZamani:'2026-09-05T22:00:00Z'},
{id:'aaa',yayinZamani:'2026-09-06T09:00:00'}, {id:'unknown'}];
assert.deepEqual([...rows].sort(compareTenderPublications).map(t=>t.id),['aaa',1,'zzz','unknown']);
assert.deepEqual(publicationInfo(rows[1]),{dateKey:'2026-09-06',timestamp:Date.parse('2026-09-05T22:00:00Z')});
assert.equal(publicationInfo(rows[2]).timestamp,Date.parse('2026-09-06T06:00:00Z'));
assert.equal(publicationInfo({ilanTarihi:'2026-02-31'}).dateKey,null);
assert.equal(publicationInfo({yayinZamani:'2026-09-06T25:00:00',ilanTarihi:'05.09.2026'}).dateKey,'2026-09-05');
assert.equal(bugunEklendi({ilanTarihi:'05.09.2026',isYeni:true},new Date('2026-09-06T09:00:00Z')),false);
});
test('list date sorting crosses month/year boundaries and leaves unknown dates last',()=>{
const rows=[
{id:'oct',tarih:'01.10.2026',saat:'09:00'},