fix: preserve bid drafts and align tender source data

This commit is contained in:
2026-09-06 08:40:10 +03:00
parent c91631d99f
commit 456728b4bd
26 changed files with 510 additions and 81 deletions
+16 -3
View File
@@ -9,14 +9,27 @@ Planın tamamı henüz bitmedi. Canlı yayın yapılmadı.
- Eski belgeler tablosunda ikn indeksi kolon migration'ından önce oluşuyordu. Transaction içinde kolonlar önce ekleniyor; eski belgeyi koruyan, tekrarlanabilir migration testi geçti.
- Veri deposu hataları artık boş hesap veya başarılı yazma gibi yutulmuyor.
- İhale başına kullanıcıya ait hazırlık durumu, snapshot ve sürüm saklanıyor. Yeni API sürüm çakışmasında 409 döndürüyor. İki kullanıcı ve beş kayıt testi geçti.
- Arayüz görev/takip/atama/not işlemlerini sunucu onayıyla güncelliyor. Tarayıcıyla uçtan uca doğrulama bekliyor.
- Arayüz görev/takip/atama/not işlemlerini sunucu onayıyla güncelliyor. İzole tarayıcı testinde beş sentetik ihale görevi yenilemeden sonra Kanban’da korundu; atama/not ve yeniden giriş kabulü ayrıca bekliyor.
- ICS sabit tarih kullanmıyor. Beş tarih, yıl geçişi, artık gün, geçersiz tarih ve UTF-8 katlama testleri geçti.
- Uydurma 150 TL fiyat/sürüklenen kaşe simülatörü gerçek hazırlık formuyla değiştirildi. Boş kalem, fiyat, süre ve firma kontrolleri eklendi. Bu alanlarda görsel/işlevsel test bekliyor.
- Şehir filtresi mevcut 81 il tablosundan besleniyor.
## İkinci değişiklik paketi
- Tam ilan metnindeki 4.000 karakter sınırı kaldırıldı; saat/teslimat gibi alanlar kaynak metinden çıkarılıyor. Sentetik uzun metin testi geçti; beş resmi metinle kabul bekliyor.
- DT kayıtları kurum ve kimlik ile tekilleştiriliyor, kaynak kimlikleri korunuyor. Farklı sözleşme kısımları birleştirilmiyor. Mevcut kullanıcı referanslarının toplu dönüşümü hâlâ açık.
- Cetvel miktar/birim ayrıştırması ve para yuvarlaması ortak yardımcıya taşındı. Eksik fiyat engeli, Türkçe sayı ve 100 satırlık yazdırılabilir HTML testi geçti. Gerçek PDF sayfalama testi yerine geçmez.
- Firma, fiyatlar, süre ve teklif türü hazırlık taslağı olarak sunucuya kaydedilebiliyor. HTTP testinde kimlik doğrulama, hesap ayrımı, kalıcılık ve eski sürüme 409 yanıtı doğrulandı. Formun tarayıcıda yeniden yüklenmesi ayrıca test edilmeli.
- Sabit kurlar kaldırıldı; TCMB döviz satış kuru bülten tarihi ve kaynakla gösteriliyor. Kaynak hatasında uydurma değer üretilmiyor. Kategori tutarından birim fiyat önerisi ve kesin eşleşme garantisi kaldırıldı.
- Belge okuyucularının `metin`/`text` uyumsuzluğu giderildi. Bu, AI kaynak çelişkilerinin tamamının çözüldüğü anlamına gelmiyor; sürümlü ortak model açık.
- Ürün arama sonuçları son çalıştırılan sorguya bağlı. Sonraki/önceki sayfa aynı sorguyu kullanıyor; düzenlenmiş alanlar için önceki sonuç uyarısı gösteriliyor. Kapanan aramanın geç yanıtı yok sayılıyor ve yüklenme durumu sıfırlanıyor. Etkileşimli regresyon testi bekliyor.
- `tests/browser-qa.mjs` localhost üzerinde geçici hesap/veritabanı ve açıkça sentetik beş ilanla test ortamı sağlar. Üretim giriş mekanizmasına eklenmez.
Tarayıcı kanıtı: [Yenileme sonrası beş kart](evidence/qa-kanban-after-reload.png), [ekran metni](evidence/qa-kanban-after-reload.txt). Bu kanıt gerçek beş ihale dokümanıyla başvuru kabulü değildir.
## Doğrulama
`node --test tests/*.test.mjs`: 9/9 geçti.
`npm test`: 19/19 geçti (son yeniden çalıştırma: 6 Eylül 2026).
`npm run build`: geçti; mevcut büyük paket/dinamik import uyarıları sürüyor.
`node --check server/index.js`, `node --check server/user-store.mjs`, `git diff --check`: geçti.
@@ -34,4 +47,4 @@ Planın tamamı henüz bitmedi. Canlı yayın yapılmadı.
- D10: beş resmi doküman ve uygun test firma verisiyle gerçek hazırlık kabulü; tarihleri geçmişse güncel beş adayla ayrıca kabul.
- D11: küçük sürümlerle yayın, yedek/geri dönüş ve canlı ölçümler.
Kod testleri bütün planın tamamlandığını kanıtlamaz. Uçtan uca tarayıcı ve canlı kabul henüz yoktur.
Kod testleri bütün planın tamamlandığını kanıtlamaz. Tarayıcı kanıtı şu an yalnız sentetik görev kalıcılığı senaryosunu kapsar; kapsamlı uçtan uca ve canlı kabul henüz yoktur.