paranoiaproject / payuclient

Payu ALU service client
MIT License
72 stars 17 forks source link

Currency ve unit test iyileştirmeleri #22

Closed edigu closed 9 years ago

edigu commented 9 years ago

Currency bileşeninde kullanılan para birimi bilgisinin kütüphane içinde filtre ve validasyondan geçirilmeden payu tarafına aktarılmasının beklenmedik sonuçlara sebep olabileceğini düşündüğüm için basit bir filtre-validasyon mekanizması ekledim. Bununla beraber payu dökümanlarında birimin ISO 4217 standardında olması gerektiği belirtildiğinden ilgili para birimleri listesini sınıfa ekleyerek validasyonu bunun üzerinden yaptım.

Composer.json require-dev içinde phpunit bağımlılık olarak gelse de ne yaptıysam vendor/bin içindeki phpunit ile testleri çalıştıramadım. tests dizinine eski usül phpunit.xml ile basit bir Boostrap.php ekledim. Namespacing/autoloading mekanizması testler sırasında da composer'ın autoloader'ı üzerinden çalışıyor. Readme.md dosyasına konuyla ilgili döküman ekledim.

Yaptığım diğer birkaç değişikliğin özeti:

ibrahimgunduz34 commented 9 years ago

Yılmaz selamlar, Ellerine sağlık. Çok doğru düşünmüşsün. Yalnız bu validasyonun yeri componentlerin içi olmamalı. Componentler, istek build edilirken serialize edilip doğrudan provider a iletilmesi amaçlanan yapılar. Bu noktada validasyonu validator sınıflarıyla halledebilirsin. Mesela bunun için bir OrderValidator oluşturup payment işlemi sırasında Order component ini doğrulayacak bir validator sınıfı çağırttırabilirsin. Halihazırda böyle bir yapı mevcut. Şayet beklediğin gibi çalışmıyorsa mümkünse burayı revize edelim. Tekrardan çok teşekkür ediyorum, ellerine sağlık.