diff --git a/docs/quality/uygulama-durumu.md b/docs/quality/uygulama-durumu.md index 6a3b967..01b2e70 100644 --- a/docs/quality/uygulama-durumu.md +++ b/docs/quality/uygulama-durumu.md @@ -2040,3 +2040,9 @@ Doğrulama: 288 test geçti, üretim derlemesi başarılı. ### 2026-09-06 · Yayın ve geri dönüş runbook’u D11 için zorunlu üretim değişkenlerini, staging kontrollerini, kademeli trafik açılışını, yedek doğrulamasını ve migration verisini silmeden geri dönüş prosedürünü belgeleyen [`deployment-runbook.md`](deployment-runbook.md) eklendi. Bu belge gerçek staging/production kanıtının yerine geçmez. + +### 2026-09-06 · D10 beşli kabul fixture’ı + +Giresun, Kayseri, Akdeniz, Aksaray ve Tepecik senaryolarının sentetik kabul kayıtları için benzersiz İKN, şehir, tarih ve saat biçimlerini koruyan regresyon fixture testi eklendi. Bu test resmi doküman doğrulamasının yerine geçmez; resmi kabul için planlanan beş doküman hâlâ gereklidir. + +Doğrulama: 289 test geçti, üretim derlemesi başarılı. diff --git a/tests/health-acceptance-fixture.test.mjs b/tests/health-acceptance-fixture.test.mjs new file mode 100644 index 0000000..62b5917 --- /dev/null +++ b/tests/health-acceptance-fixture.test.mjs @@ -0,0 +1,21 @@ +import { test } from 'node:test'; +import assert from 'node:assert/strict'; + +// D10 smoke fixture: synthetic records only; official documents are still required for release acceptance. +const cases = [ + ['1582991', 'Giresun', '10.09.2026', '10:00'], + ['1534665', 'Kayseri', '22.09.2026', '11:00'], + ['1499061', 'Akdeniz', '22.09.2026', '10:30'], + ['1573235', 'Aksaray', '09.09.2026', '10:00'], + ['1523851', 'Tepecik', '11.09.2026', '10:00'], +]; + +test('D10 five-tender acceptance fixture stays complete and unique', () => { + assert.equal(new Set(cases.map(([ikn]) => ikn)).size, 5); + for (const [ikn, city, date, time] of cases) { + assert.match(ikn, /^\d{7}$/); + assert.match(city, /^[A-Za-zÇĞİÖŞÜçğıöşü]+$/); + assert.match(date, /^\d{2}\.\d{2}\.\d{4}$/); + assert.match(time, /^\d{2}:\d{2}$/); + } +});