import { test } from 'node:test'; import assert from 'node:assert/strict'; import fs from 'node:fs'; const evidence = JSON.parse(fs.readFileSync(new URL('../docs/quality/evidence/qa-official-five-tenders.json', import.meta.url), 'utf8')); test('official five-tender evidence is complete and records the Aksaray date discrepancy', () => { assert.equal(evidence.scope, 'Salt okunur EKAP API sorgusu; teklif, ödeme veya başvuru gönderilmedi.'); assert.equal(evidence.cases.length, 5); assert.equal(new Set(evidence.cases.map((item) => item.ikn)).size, 5); for (const item of evidence.cases) { assert.equal(item.status, 'İhale İlanı Yayımlanmış, Katılıma Açık'); assert.equal(item.announcementPresent, true); assert.match(item.tenderDateTime, /^\d{2}\.\d{2}\.2026 \d{2}:\d{2}$/); assert.ok(item.textChars > 100); assert.ok(item.textSha256); } const aksaray = evidence.cases.find((item) => item.ikn === '2026/1573235'); assert.equal(aksaray.tenderDateTime, '16.09.2026 10:00'); assert.equal(aksaray.parsedAnnouncement.tarih, '16.09.2026'); assert.equal(aksaray.dateConsistency.announcementHtml, '09.09.2026 10:00'); assert.match(aksaray.parsedAnnouncement.sourceDateWarning, /güncel detay tarihi esas alındı/); });