# Kaporta Özelliği — Test Rehberi

Bu rehber, kaporta görselleri ve parça seçimlerinin ekspertiz numarasına göre kaydedilmesi ile raporda görünmesini test etmek içindir.

---

## 1. Ön koşullar

- **Migration'lar:** `033_ekspertiz_kaporta.sql` ve `034_ekspertiz_kaporta_gorsel_yollari.sql` çalıştırılmış olmalı.
- **Kasa türü:** Kaporta ekranı sadece **Sedan** araçlar için açılır.
- **Görsel klasörü:** `app/kaporta/assets/images/sedan/` içinde `right.png`, `left.png`, `top.png`, `front.png`, `rear.png` dosyaları olmalı (yoksa canvas silüet çizer).

Migration kontrolü (MySQL):

```sql
SHOW COLUMNS FROM ekspertiz_kaporta LIKE 'gorsel_yollari';
-- Bir satır dönmeli.
```

---

## 2. Kaporta verisi kaydetme (form)

1. **Giriş yap** ve **Kasa Raporu** sayfasına git:  
   `{APP_URL}/raporlar/kasa-raporu`

2. Listeden **Sedan** kasa türlü bir ekspertiz seçip **detay** sayfasına gir:  
   `{APP_URL}/raporlar/kasa-raporu-detay?id={ekspertiz_id}`

3. **"Rapora Git"** butonuna tıkla veya doğrudan kaporta rapor sayfasına git:  
   `{APP_URL}/ekspertizler/rapor?id={ekspertiz_id}&gorev=kaporta`

4. **Kaporta ekranında:**
   - **Sağ / Sol / Üst / Ön / Arka** sekmelerinden birini seç.
   - Canvas üzerinde parçalara tıklayıp durum seç (Orijinal, Boyalı, Değişen, Lokal Boyalı, Plastik; isteğe Göçük İşlemi).
   - Parça listesinden da birkaç parça için durum seç.
   - İsteğe **Yapılanlar** alanına not yaz.
   - **Kaydet** butonuna bas.

5. Sayfa yenilendikten sonra:
   - Aynı sekmeye tekrar girip **parça seçimlerinin ve yapılanlar metninin** aynı kaldığını kontrol et.
   - Farklı sekmelerde de birkaç parça işaretleyip tekrar kaydedip tekrar açarak **tüm seçimlerin** kaldığını doğrula.

---

## 3. Rapor detay sayfasında kaporta bölümü

1. **Kasa Raporu** → listeden ilgili ekspertizi seç → **Detay**:  
   `{APP_URL}/raporlar/kasa-raporu-detay?id={ekspertiz_id}`

2. Sayfada **"Kaporta — Ekspertiz No: ..."** başlıklı bölümü bul.

3. Kontrol et:
   - **Yapılanlar** notu varsa görünüyor mu?
   - Her yön (Sağ, Sol, Üst, Ön, Arka) için:
     - Kaydettiğin **araç görseli** (canvas’tan kaydedilen) görünüyor mu?
     - **Parça listesi** tablosu ve **durumlar** (Orijinal yeşil, Değişen kırmızı, Plastik siyah vb.) doğru mu?

4. Henüz kaporta kaydı yoksa bu blok **gösterilmez**; en az bir görsel veya parça verisi kaydedilmiş olmalı.

---

## 4. PDF/HTML raporunda kaporta

1. Ekspertizi **tamamlandı** durumuna getirip rapor oluşturma akışını tetikleyin (sisteminizde rapor PDF’i ne zaman üretiliyorsa: bitir butonu, otomatik oluşturma vb.).

2. Oluşan rapor dosyasını aç (storage’da veya “Raporu İndir” ile):
   - **HTML:** Tarayıcıda aç; Kaporta bölümü ve görseller görünmeli.
   - **PDF:** Kaporta başlığı altında her yön için görsel + parça tablosu olmalı.

3. Sadece **Sedan** ve kaporta verisi olan ekspertizlerde Kaporta bölümü eklenir.

---

## 5. Hızlı kontrol listesi

| Adım | Ne yapılır | Beklenen |
|------|------------|----------|
| 1 | Sedan bir ekspertizde Kaporta sayfasına gir | Sağ/Sol/Üst/Ön/Arka sekmeleri ve canvas görünür |
| 2 | Birkaç parça seçip Kaydet | Sayfa yenilenir, hata olmaz |
| 3 | Aynı sayfaya tekrar gir | Seçimler ve yapılanlar aynı |
| 4 | Kasa raporu detay sayfasını aç | "Kaporta" bölümü, görseller ve parça tabloları görünür |
| 5 | Rapor PDF/HTML oluştur | Raporda Kaporta bölümü ve görseller yer alır |

---

## 6. Sorun giderme

- **Parça seçimleri kayboluyor:** Tarayıcıda F12 → Network; "kaporta-kaydet" isteğinde `part_states` gönderimini ve cevaptaki `part_states_count` değerini kontrol et. Console’daki "Parça durumu: X parça, Y işaretli" metni ile karşılaştır.
- **Görseller raporda yok:** `uploads/kaporta/` içinde `E{id}_right.png` vb. dosyalar oluşuyor mu kontrol et. Detay sayfasında görsel URL’si `{APP_URL}/uploads/kaporta/...` şeklinde erişilebilir olmalı.
- **PDF’de görsel çıkmıyor:** Dompdf’in sunucudaki dosyayı okuyabilmesi için görsel yolunun `file://` ile doğru absolute path olarak verildiğini kontrol et; `public/uploads/kaporta/` (veya kullanılan dizin) sunucuda mevcut olmalı.
