Testler ve sonuçlar

Sürüm 1.0.0 · Bu sayfa whmcs-musteri-yorumlari-1.0.0.zip paketindeki docs/TESTLER.md dosyasının HTML görünümüdür.

Dağıtım notu. Test kodları (tests/) yalıtılmış bir geliştirme ortamına bağlı olduğu için bu pakete dahil edilmedi; aşağıdaki sonuçlar o ortamda alınmıştır.

Sonradan doğrulanan (2026-10-05). Modül netx.com.tr üzerinde (WHMCS 8.13.1, PHP 8.2, MariaDB 12.3.3) etkinleştirildi: şema geçişi, kanıt taraması, AfterCronJob ile saatlik ve günlük işler, genel yorum sayfası ve okuma API'si çalıştı. JS widget ve sunucuda çizilen blok gerçek bir tarayıcıda (Chromium 153) 360, 390 ve 1180 piksel genişlikte görsel olarak kontrol edildi. Canlı ortamda müşteri gönderiminden yayına uçtan uca akış ve gerçek e-posta gönderimi henüz doğrulanmadı.

Çalıştırma

PATH=<node20>/bin:$PATH NODE_PATH=<jsdom kurulu node_modules> ./tests/run_all.sh
Paket Ortam Sonuç
tests/php/run.php PHP 8.2.34 + yalıtılmış MariaDB 12.3.3 (canlı WHMCS 8.13.1'in tablo şemaları, sentetik veri, canlıyla aynı sql_mode), WHMCS'in Illuminate Capsule'u, WHMCS bağlantısı gibi utf8 286 / 286 (3 ardışık çalıştırmada aynı)
tests/http/run_http.php PHP yerleşik sunucusu + gerçek api.php 23 / 23
tests/whmcs/smarty_integration.php Gerçek WHMCS 8.13.1 bootstrap'ı (CLI), WHMCS\Smarty 3.1.48 + güvenlik politikası; modül verisi test veritabanından; WHMCS veritabanına yazmaz, derlenmiş şablon bırakmaz (eval:) 10 / 10
tests/js/widget.test.js Node 20 + jsdom 29 31 / 31
examples/ PHP adaptörü sahte API'ye karşı (PHP 8.2 ve 8.5); WordPress ve Laravel yalnızca taklit cephelerle duman testi 63/63 · 29/29 · 18/18

Kabul kriterleri eşlemesi

# Kriter Kanıt
1 Ziyaretçi okur, yazamaz K1 (API, sayfa, form giriş ister, girişsiz gönderim reddi)
2 Satın almayan/ödemeyen/teslim almayan yazamaz K2 (Pending+ödenmemiş, Active+ödenmiş+kanıtsız, Fraud, başka hizmetin faturası, yabancı hizmet kimliği)
3 Geçmiş kullanıcı değerlendirebilir; kanıtsıza rozet yok K3 (Terminated + Module Terminate, sonradan iade, yenileme kanıtı, gerekçeli teslim kaydı, eşleştirme değişse de kanıt korunur)
4 Bağlı kullanıcı / hesap bağlamı K4 (sahip olmayan kullanıcı, izinler, IDOR okuma/kaldırma, yönetici olarak giriş, e-posta doğrulaması)
5 Bekleyen/reddedilen/spam/kaldırılan görünmez K5 (API, Smarty blok, şema bloğu, yorum sayfası, bildirim formu, ısınmış önbellekten sonra)
6 Paralel gönderimde tek değerlendirme K6 (8 eşzamanlı süreç → 1 kayıt, 1 bekleyen revizyon; çift tık idempotent)
7 Revizyon yayını değiştirmez; onay atomik K7
8 Tek sayım; sıfırda sahte puan yok K8 (5,5,5,1 → 4; kategori ortalaması ortalaması değil)
9 Smarty ana sayfa + özel şablon; panel ana sayfasıyla karışmaz smarty_integration.php (gerçek WHMCS Smarty) + K9
10 Ad değişince eski kod çalışır; pasifleştirme tutarlı K9/K10
11 JS iki köken, çoklu blok, tekrar yükleme, çerezsiz widget.test.js + K12 + HTTP
12 CORS yansıtmaz; özel veri yok K12 + HTTP
13 "Daha Fazla Göster"/"Yorum Yap" hedefleri, açık yönlendirme yok K13 + birim testleri
14 XSS/JSON-LD, SQLi, CSRF, IDOR, open redirect, CSV, oran sınırı, vekil IP K14 + birim + HTTP
15 Yetkisiz yönetici aşamaz K15 + "Yönetim paneli" grubu (doğrudan istek, toplu işlem, ekran görünürlüğü)
16 Cron tekrarında mükerrer yok, çıkış gözetilir, etkinleştirmede toplu e-posta yok K16 + K20/K16
17 Ad gizliliği, anonimleştirme önbelleği temizler K17 + Maskeleme
18 Şema çoğalmaz, keyfi Product yok, UI = JSON-LD K18 + gerçek Smarty
19 Mobil, klavye, durumlar, tema yalıtımı K19 (sunucu işaretlemesi) + widget.test.js (durumlar, odak, .myr öneki) — görsel kontrol yapılmadı
20 Kurulum, yükseltme, devre dışı bırakma, paket K20 + paket taraması (dist/)

Çalıştırılamayan / doğrulanmayan kontroller

Bunlar başarılı sayılmamıştır:

  • Canlı WHMCS'te etkinleştirme ve uçtan uca akış (gerçek giriş, WHMCS'in requirelogin sonrası geri dönüşü, ClientAreaPage/AfterCronJob/AfterModuleCreate/PreDeleteClient kancalarının gerçek tetiklenmesi, yönetim panelinin WHMCS kabuğu içinde görünümü): modül canlıda etkinleştirilmedi (kapsam gereği otomatik etkinleştirme yok). Kanca mantığı servis düzeyinde test edildi.
  • Gerçek e-posta gönderimi (localAPI SendEmail/SendAdminEmail): testlerde sahte platform; şablon içerikleri ve birleştirme alanları canlıda bir kez denenmeli.
  • Gerçek tarayıcıda görsel/erişilebilirlik kontrolü (yıldız maskesi, koyu tema, 375 px düzen, ekran okuyucu): yalnızca jsdom ve işaretleme denetimi.
  • WordPress ve Laravel gerçek kurulumda çalıştırılmadı.
  • Rich Results Test / Search Console: canlı adres olmadan yapılamaz (adımlar SEO-SEMA.md'de).
  • WHMCS 8.0–8.12 ve PHP 8.1 ile çalıştırılmadı.
İnternet bağlantınız kesildi