Testler
Birim testleri, veritabanı güvenlik testleri ve uçtan uca duman testi.
| Komut | Neyi kapsar | Gereksinim |
|---|---|---|
pnpm test | Birim testleri: fiyatlandırma kuralları, mağaza (sepet, onay, siparişler), erişim düzeyleri, demo üreteci, senaryo test motoru | Hiçbir şey |
pnpm test:rls | Her güvenlik değişmezi için bir test; başarısız olması gereken yazmalar dahil | Çalışan ve sıfırlanmış bir yerel Supabase |
pnpm test:e2e | Üçüncü taraf ağı engellenmiş, demonun Playwright duman testi | Playwright ve Chrome |
Birim testleri
pnpm testBunlar, başka şeylerin yanında, her planın, paketin ve eklentinin ayda $290 veya altında listelendiğini ve işlem süresi gibi ortalamaların günler boyunca asla toplanmadığını denetler.
Mağaza testleri (pnpm --filter @callwise/store test) şunları denetler: onaysız bir siparişin reddedildiğini, onayın zaman damgası, koşullar sürümü ve tam metniyle saklandığını, dönem başlangıcının, bitişinin ve yenileme tarihlerinin doğru olduğunu, bir siparişin toplamının yıllık teklife eşit olduğunu, uyumsuz eklentilerin reddedildiğini ve hiçbir iade yolunun olmadığını. Ücretsiz hafta için şunları denetler: ilk siparişin bugün $0 tahsil ettiğini ve deneme ile ilk tahsilat tarihlerini sakladığını, aynı e-posta için ikinci bir siparişin deneme almadığını ve bugün tahsil edildiğini, 7. gün işinin bir kez tahsil ettiğini (iki kez çalıştırılınca tek tahsilat), 7. günden önce hiç tahsil etmediğini ve iptal edilmiş bir denemeyi hiç tahsil etmediğini, deneme sırasında iptalin hiçbir şey tahsil etmediğini, ilk tahsilattan sonraki iptalin reddedildiğini ve kart bilgilerinin hiçbir zaman tam olarak saklanmadığını.
Veritabanı güvenlik testleri
pnpm supabase:web:start
pnpm supabase:web:reset
pnpm test:rlsHer test, örnek verideki bir kullanıcı olarak oturum açar ve kuralların yasakladığı bir şeyi dener: bir üyenin senaryo yayınlaması, bir sahibin kendi planını yükseltmesi, bir kullanıcının başka bir çalışma alanının aramalarını okuması. Test, Postgres reddettiğinde geçer.
Uçtan uca
pnpm test:e2eDemoyu bir tarayıcıda açar ve ana sayfalara tıklayarak ilerler. Dışarıdaki herhangi bir ana makineye giden istekler engellenir; böylece test, demonun dış çağrı yapmadığını da kanıtlar.