Test ortamı
Test ortamı, entegrasyonun tamamının gerçek bir kurye görevlendirilmeden kurulmasına imkân verir. Doğrulama kuralları canlı ortamla birebir aynı çalışır; yalnızca kurye tarafı simüle edilir.
| Test | Canlı | |
|---|---|---|
| Anahtar ön eki | hzl_test_ | hzl_live_ |
| Adres | https://gw-dev.hizliyo.com/api/vendor/v1 | https://gw.hizliyo.com/api/vendor/v1 |
| Doğrulamalar, hatalar, limitler | aynı | aynı |
| Kurye | simüle | gerçek |
| Bildirimler | gerçekten gönderilir | gerçekten gönderilir |
| Kayıt saklama süresi | 7 gün | saklama politikasına göre |
Test ortamındaki kayıtlar raporlara ve faturaya yansıtılmaz.
Test ortamının kapsamı
Gerçek olarak çalışan bileşenler: kimlik doğrulama, istek limitleri, mükerrer sipariş denetimi, zorunlu alan doğrulamaları, koordinat doğrulaması, mağaza ve kurye şirketi eşleşmesi, hata kodları, bildirim gönderimi ve imzalama. Tümü canlı ortamla aynı kod yolundan geçer.
Simüle edilen bileşenler: kurye ataması, kuryenin hareketi ve süre bilgileri.
Test ortamının kapsamadığı durumlar
Gerçek kurye yetersizliği, gerçek bölge sınırları, bir kurye şirketinin faaliyetini durdurması ve gerçek gecikmeler test ortamında denenemez. Test sürecinin sorunsuz tamamlanması, canlı ortamdaki ilk günün de sorunsuz geçeceği anlamına gelmez. Test ortamının doğruladığı husus, isteklerinizin biçimsel olarak doğru gönderildiği ve bildirimleri doğru işlediğinizdir.
Test kurye şirketleri
Davranışı sabit üç şirket tanımlıdır:
| Şirket | Davranışı | Doğrulanan senaryo |
|---|---|---|
| Sandbox Filo A | Her zaman müsait | Olağan akışın uçtan uca çalışması |
| Sandbox Filo B | Her zaman dolu | Dolu şirketin arayüzünüzde nasıl gösterildiği |
| Sandbox Filo C | Kapalı | 423 FLEET_SUSPENDED hatasının nasıl karşılandığı |
Test mağazası oluşturulduğunda bu şirketler availableFleets listesinde döner.
Süreler
Test ortamında bir teslimat bir dakikada tamamlanır:
| Durum | Saniye |
|---|---|
Searching | 0 (yanıtla birlikte) |
Assigned | +5 — kurye adı "Test Kurye" |
PickingUp | +15 |
PickedUp | +30 |
Delivering | +40 |
Delivered | +60 |
Her adımda, tanımladığınız adrese gerçek ve imzalı bir bildirim iletilir.
Senaryo tetikleyicileri
Akışı yönlendirmek için recipient.name alanına özel bir anahtar sözcük yazın. Bunun için ayrı bir uç nokta tanımlanmamıştır; böylece toplam uç nokta sayısı beşte kalır.
recipient.name içinde | Sonuç |
|---|---|
TEST_FAIL | Teslimat Failed durumuyla sonuçlanır |
TEST_CANCEL | 20. saniyede iptal edilir |
TEST_SLOW | Gerçek koşullara yakın biçimde yaklaşık 45 dakika sürer |
TEST_NO_COURIER | Sipariş 503 FLEET_UNAVAILABLE ile reddedilir |
TEST_OUT_OF_COVERAGE | Sipariş 422 DROPOFF_OUT_OF_COVERAGE ile reddedilir |
Örnek:
{
"recipient": { "name": "TEST_FAIL Merve Yıldırım", "phone": "5339876543" }
}Bu anahtar sözcükler canlı ortamda kullanılmamalıdır
Canlı ortamda dikkate alınmazlar. Dolayısıyla adında TEST_CANCEL geçen bir sipariş gerçek bir teslimata dönüşür ve kurye yola çıkar. Bu değerleri test kodunuzun sınırında ayıklayın.
Önerilen test sırası
- Token alın ve saklandığını doğrulayın
- Kurye şirketi seçmeden mağaza oluşturun,
availableFleetslistesini okuyun - Sandbox Filo A'yı bağlayın ve
store.activatedbildirimini bekleyin - Sipariş gönderin, bir dakika içinde altı bildirimin ulaştığını doğrulayın
- Bir imzayı doğrulayın ve değiştirilmiş bir gövdenin reddedildiğini kanıtlayın
TEST_NO_COURIERveTEST_OUT_OF_COVERAGEgönderin, hata ekranlarınızı denetleyinTEST_SLOWgönderin; önce paket teslim alınmadan, ardındanPickedUpdurumundan sonra iptal deneyin- Bir siparişi aynı idempotency anahtarıyla yeniden gönderin, ilk yanıtın döndüğünü doğrulayın
Bu sıra aynı zamanda kontrol listemizin temelini oluşturur.