Moved packages validation to methodi validatePackages() in RateAdapter to avoid duplication of code
.Added width validation.
This commit is contained in:
parent
49321237df
commit
ae4552b0e0
@ -74,11 +74,7 @@ class Rate extends RateAdapter
|
|||||||
}
|
}
|
||||||
protected function validate()
|
protected function validate()
|
||||||
{
|
{
|
||||||
foreach ($this->shipment->getPackages() as $package) {
|
$this->validatePackages();
|
||||||
Validator::checkIfNull($package->getWeight(), 'weight');
|
|
||||||
Validator::checkIfNull($package->getLength(), 'length');
|
|
||||||
Validator::checkIfNull($package->getHeight(), 'height');
|
|
||||||
}
|
|
||||||
Validator::checkIfNull($this->key, 'key');
|
Validator::checkIfNull($this->key, 'key');
|
||||||
Validator::checkIfNull($this->password, 'password');
|
Validator::checkIfNull($this->password, 'password');
|
||||||
Validator::checkIfNull($this->accountNumber, 'accountNumber');
|
Validator::checkIfNull($this->accountNumber, 'accountNumber');
|
||||||
|
@ -35,6 +35,19 @@ abstract class RateAdapter
|
|||||||
*/
|
*/
|
||||||
abstract protected function process();
|
abstract protected function process();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws \LogicException
|
||||||
|
* To be called from validate() when packages have to have 3 dimensions and weight
|
||||||
|
*/
|
||||||
|
protected function validatePackages()
|
||||||
|
{
|
||||||
|
foreach ($this->shipment->getPackages() as $package) {
|
||||||
|
Validator::checkIfNull($package->getWeight(), 'weight');
|
||||||
|
Validator::checkIfNull($package->getLength(), 'length');
|
||||||
|
Validator::checkIfNull($package->getHeight(), 'height');
|
||||||
|
Validator::checkIfNull($package->getWidth(), 'width');
|
||||||
|
}
|
||||||
|
}
|
||||||
public function __construct($options = [])
|
public function __construct($options = [])
|
||||||
{
|
{
|
||||||
$this->rates = [];
|
$this->rates = [];
|
||||||
|
@ -99,11 +99,7 @@ class Rate extends RateAdapter
|
|||||||
}
|
}
|
||||||
protected function validate()
|
protected function validate()
|
||||||
{
|
{
|
||||||
foreach ($this->shipment->getPackages() as $package) {
|
$this->validatePackages();
|
||||||
Validator::checkIfNull($package->getWeight(), 'weight');
|
|
||||||
Validator::checkIfNull($package->getLength(), 'length');
|
|
||||||
Validator::checkIfNull($package->getHeight(), 'height');
|
|
||||||
}
|
|
||||||
Validator::checkIfNull($this->accessKey, 'accessKey');
|
Validator::checkIfNull($this->accessKey, 'accessKey');
|
||||||
Validator::checkIfNull($this->userId, 'userId');
|
Validator::checkIfNull($this->userId, 'userId');
|
||||||
Validator::checkIfNull($this->password, 'password');
|
Validator::checkIfNull($this->password, 'password');
|
||||||
|
@ -81,11 +81,7 @@ class Rate extends RateAdapter
|
|||||||
}
|
}
|
||||||
protected function validate()
|
protected function validate()
|
||||||
{
|
{
|
||||||
foreach ($this->shipment->getPackages() as $package) {
|
$this->validatePackages();
|
||||||
Validator::checkIfNull($package->getWeight(), 'weight');
|
|
||||||
Validator::checkIfNull($package->getLength(), 'length');
|
|
||||||
Validator::checkIfNull($package->getHeight(), 'height');
|
|
||||||
}
|
|
||||||
Validator::checkIfNull($this->username, 'username');
|
Validator::checkIfNull($this->username, 'username');
|
||||||
Validator::checkIfNull($this->password, 'password');
|
Validator::checkIfNull($this->password, 'password');
|
||||||
Validator::checkIfNull($this->shipment->getFromPostalCode(), 'fromPostalCode');
|
Validator::checkIfNull($this->shipment->getFromPostalCode(), 'fromPostalCode');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user