3.9 KiB
Debugging Guide: Warning Billing Sign Not Updating
Langkah-Langkah Debug:
1. Buka Console Browser (F12)
- Tekan
F12→ Tab Console - Pastikan console kosong (tidak ada error merah)
2. Test Flow:
- Buka halaman Billing Pasien
- Cari pasien yang sudah punya billing history
- Buka Edit Modal (klik tombol edit)
- Ubah tindakan (tambah atau hapus)
- Klik Simpan Perubahan
- Tunggu dan lihat console logs
3. Baca Console Logs Dalam Order:
A. Pada saat klik Simpan:
Cari logs dengan pattern:
🚀 Mengirim request ke backend:
Verify:
- URL benar:
/billing/{id} - Method: PUT
total_tarif_rs_valueada dan tidak undefined- Value-nya angka (bukan 0 jika ada tindakan)
B. Setelah Simpan Berhasil:
Cari logs dengan pattern:
📢 Billing data updated event received:
Ini menandakan: Event berhasil di-dispatch dari modal
Kemudian cari:
🔄 Triggering loadBillingAktifHistory for:
Ini menandakan: Event listener di-trigger
C. API Response Check:
Cari logs dengan pattern:
📡 Full API Response:
Ini menunjukkan: Response dari GET /billing/aktif
Buka detail: Expand object dan cari:
data.billing.total_tarif_rs- harus nilai baru (bukan 0)data.billing.total_klaim- total BPJS
D. Tarif Extraction:
Cari logs dengan pattern:
🔍 Tarif Extraction Debug:
Verify:
storedTotalTarif- apakah value dari API terambil?calculatedTotalTarif- berapa nilai calculated-nya?finalTotalTarif- mana yang dipakai (stored atau calculated)?
E. State Update:
Cari logs dengan pattern:
💾 Setting TotalTarifRS:
💾 Setting BillingHistory with:
Verify:
- Value yang di-set berapa?
- Apakah nilai yang di-set berbeda dari nilai sebelumnya?
F. Live Values:
Cari logs dengan pattern:
📈 Live Values Changed:
Verify:
totalTarifRS- apakah berubah dari sebelumnya?totalKlaimBPJSLive- berapa nilainya?liveBillingSign- berapa hasilnya (Hijau/Kuning/Merah)?
4. Jika Ada Error:
Cari logs merah (error) atau orange (warning). Catat isi-nya persis.
5. Screenshot/Copy Console Output:
Setelah test selesai:
- Right-click di console → "Save as..."
- Atau screenshot dari Browser DevTools
- Share dengan informasi:
- Nama pasien yang di-test
- Tindakan apa yang di-ubah
- Console log output lengkap
Possible Issues & Solutions:
Issue 1: Event tidak ter-trigger
Log yang terlihat: Tidak ada 📢 Billing data updated event received:
Penyebab:
- Modal tidak dispatch event
- Event listener tidak register
Fix: Check di modal if
window.dispatchEventdi-execute
Issue 2: API Response tidak punya total_tarif_rs baru
Log yang terlihat: 📡 Full API Response menunjukkan total_tarif_rs = 0 atau nilai lama
Penyebab:
- Backend tidak menerima
total_tarif_rsdi request - Backend tidak update ke database
Fix: Check apakah request PUT ke backend include
total_tarif_rs
Issue 3: State tidak update walaupun API response benar
Log yang terlihat: finalTotalTarif benar tapi 💾 Setting TotalTarifRS tidak ada
Penyebab:
- Exception di loadBillingAktifHistory
- setState tidak execute Fix: Check console untuk error messages
Issue 4: State update tapi UI tidak berubah
Log yang terlihat: 📈 Live Values Changed menunjukkan nilai baru tapi card masih lama
Penyebab:
- Component tidak re-render
- UI logic salah Fix: Check React DevTools untuk component state
Copy-Paste Template untuk Report:
## Test Result:
- Pasien: [nama pasien yang di-test]
- Tindakan yang di-ubah: [apa yang di-ubah]
### Console Logs:
[Paste semua console log output di sini]
### Observations:
1. Event triggered? [Ya/Tidak]
2. API response punya total_tarif_rs baru? [Ya/Tidak, value: ...]
3. State terupdate? [Ya/Tidak, value: ...]
4. UI berubah? [Ya/Tidak]
### Error Messages (jika ada):
[Paste error message di sini]