================================================================================
PANDUAN TESTING GENERATE VOUCHER AGENT
================================================================================

PERSIAPAN SEBELUM TESTING:
==========================

1. ✓ ADMIN HARUS LOGIN DULU
   ------------------------
   - Buka MikhMon admin: http://localhost/mikhmon/admin.php
   - Login dengan username/password admin
   - Pastikan koneksi MikroTik berhasil
   - Jangan logout dari admin!
   
   PENTING: Session MikroTik dari admin akan digunakan oleh agent

2. ✓ CEK DATABASE AGENT
   --------------------
   - Pastikan tabel agent_system sudah ada
   - Pastikan tabel agent_vouchers sudah ada
   - Pastikan tabel agent_transactions sudah ada
   - Pastikan tabel agent_prices sudah ada

3. ✓ CEK AGENT SUDAH ADA
   ---------------------
   - Login ke admin panel
   - Buka menu "Agent Management"
   - Pastikan ada agent yang aktif
   - Catat username dan password agent

4. ✓ CEK SALDO AGENT
   -----------------
   - Buka "Agent List"
   - Pastikan agent punya saldo cukup
   - Jika belum, lakukan topup dulu

5. ✓ CEK HARGA PROFILE
   -------------------
   - Buka "Kelola Harga Agent"
   - Pastikan harga untuk profile sudah diset
   - Contoh: Profile "1Jam" → Harga Beli: 2000, Harga Jual: 3000

LANGKAH TESTING:
===============

STEP 1: LOGIN SEBAGAI AGENT
---------------------------
1. Buka: http://localhost/mikhmon/agent/
2. Login dengan username/password agent
3. Pastikan masuk ke dashboard agent

STEP 2: BUKA HALAMAN GENERATE
-----------------------------
1. Klik menu "Generate Voucher"
2. Pastikan halaman terbuka tanpa error
3. Cek saldo tersedia di bagian atas

STEP 3: ISI FORM GENERATE
-------------------------
1. Pilih Profile: Pilih profile yang sudah ada harganya
2. Jumlah Voucher: Masukkan 1 (untuk testing)
3. Nomor WhatsApp: (opsional) 08123456789
4. Nama Customer: (opsional) Test Customer
5. Centang "Kirim via WhatsApp" jika mau test WhatsApp

STEP 4: KLIK GENERATE
---------------------
1. Klik tombol "Generate Voucher Sekarang"
2. Tunggu proses (biasanya 2-5 detik)
3. Perhatikan hasilnya

HASIL YANG DIHARAPKAN:
=====================

✅ JIKA BERHASIL:
----------------
- Muncul alert hijau: "✅ Berhasil generate 1 voucher!"
- Muncul card voucher dengan username dan password
- Saldo berkurang sesuai harga beli
- Voucher bisa di-copy
- Voucher bisa di-print

Contoh Voucher:
┌─────────────────────────────┐
│ Profile: 1Jam               │
│ Username: AG5aB2c34D        │
│ Password: 5aB2c3            │
└─────────────────────────────┘

❌ JIKA GAGAL:
-------------
Akan muncul pesan error. Cek troubleshooting di bawah.

VERIFIKASI HASIL:
================

1. CEK DI MIKROTIK
   ---------------
   - Login ke MikroTik Winbox
   - Buka IP → Hotspot → Users
   - Cari username yang baru di-generate (AG...)
   - Pastikan profile dan comment sesuai

2. CEK DI DATABASE
   ---------------
   - Buka phpMyAdmin
   - Buka database mikhmon
   - Buka tabel agent_vouchers
   - Cari voucher yang baru di-generate
   - Pastikan data lengkap

3. CEK SALDO AGENT
   ---------------
   - Refresh halaman dashboard
   - Cek saldo berkurang sesuai harga beli
   - Buka menu "Transaksi"
   - Cari transaksi generate voucher

4. CEK WHATSAPP (Jika dicentang)
   -----------------------------
   - Cek nomor WhatsApp customer
   - Pastikan pesan voucher terkirim
   - Pesan berisi username dan password

TROUBLESHOOTING:
===============

ERROR 1: "Session MikroTik tidak ditemukan"
-------------------------------------------
SOLUSI:
- Admin belum login ke MikhMon
- Login dulu sebagai admin
- Koneksi ke MikroTik
- Jangan logout
- Coba lagi generate dari agent

ERROR 2: "Harga untuk profile ini belum diset"
----------------------------------------------
SOLUSI:
- Login sebagai admin
- Buka "Agent Management" → "Kelola Harga Agent"
- Pilih agent
- Set harga untuk profile yang mau di-generate
- Simpan
- Coba lagi

ERROR 3: "Saldo tidak mencukupi"
-------------------------------
SOLUSI:
- Login sebagai admin
- Buka "Agent Management" → "Topup Saldo"
- Pilih agent
- Topup saldo
- Coba lagi

ERROR 4: "Gagal terhubung ke MikroTik"
-------------------------------------
SOLUSI:
- Cek koneksi internet
- Cek MikroTik online atau tidak
- Cek IP, username, password MikroTik di config
- Login ulang sebagai admin
- Coba lagi

ERROR 5: "Call to undefined function randNULC()"
------------------------------------------------
SOLUSI:
- File lib/routeros_api.class.php tidak di-include
- Cek file mikhmon/agent/generate.php
- Pastikan ada: include('../lib/routeros_api.class.php');
- Refresh halaman

ERROR 6: Voucher tidak muncul di MikroTik
-----------------------------------------
SOLUSI:
- Cek koneksi MikroTik
- Cek profile ada di MikroTik atau tidak
- Cek user limit di MikroTik
- Cek log MikroTik untuk error

TESTING LANJUTAN:
================

1. TEST GENERATE MULTIPLE VOUCHER
   -------------------------------
   - Quantity: 5
   - Pastikan semua voucher ter-generate
   - Cek saldo terpotong 5x harga beli

2. TEST DENGAN PROFILE BERBEDA
   ---------------------------
   - Generate dengan profile 1Jam
   - Generate dengan profile 1Hari
   - Generate dengan profile 1Minggu
   - Pastikan semua berhasil

3. TEST WHATSAPP INTEGRATION
   -------------------------
   - Centang "Kirim via WhatsApp"
   - Masukkan nomor valid
   - Generate voucher
   - Cek WhatsApp terkirim

4. TEST PRINT VOUCHER
   ------------------
   - Setelah generate berhasil
   - Klik tombol "Print Voucher"
   - Pastikan tampilan print OK
   - Coba print ke PDF

5. TEST COPY VOUCHER
   -----------------
   - Klik tombol "Copy" di voucher card
   - Paste di notepad
   - Pastikan username dan password ter-copy

MONITORING:
==========

1. CEK LOG TRANSAKSI
   -----------------
   - Menu "Transaksi" di agent panel
   - Lihat history generate voucher
   - Cek tanggal, profile, harga

2. CEK VOUCHER LIST
   ----------------
   - Menu "Voucher Saya" di agent panel
   - Lihat semua voucher yang pernah di-generate
   - Filter by profile, status, tanggal

3. CEK PROFIT
   ----------
   - Dashboard agent
   - Lihat total profit
   - Profit = (Harga Jual - Harga Beli) × Jumlah Voucher

TIPS:
=====

1. Selalu pastikan admin login dulu sebelum agent generate
2. Set harga profile dengan benar (harga jual > harga beli)
3. Topup saldo agent secukupnya
4. Test dengan quantity kecil dulu (1-2 voucher)
5. Jika berhasil, baru test dengan quantity besar
6. Backup database sebelum testing besar-besaran
7. Monitor log MikroTik untuk error

CHECKLIST TESTING:
=================

□ Admin sudah login
□ Agent sudah ada dan aktif
□ Saldo agent cukup
□ Harga profile sudah diset
□ Generate 1 voucher berhasil
□ Voucher muncul di MikroTik
□ Saldo terpotong dengan benar
□ Data tersimpan di database
□ Generate multiple voucher berhasil
□ WhatsApp terkirim (jika dicentang)
□ Print voucher berhasil
□ Copy voucher berhasil

JIKA SEMUA CHECKLIST ✓ → GENERATE VOUCHER AGENT BERHASIL! 🎉

================================================================================
SELAMAT TESTING!
================================================================================
