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()
|
||||
{
|
||||
foreach ($this->shipment->getPackages() as $package) {
|
||||
Validator::checkIfNull($package->getWeight(), 'weight');
|
||||
Validator::checkIfNull($package->getLength(), 'length');
|
||||
Validator::checkIfNull($package->getHeight(), 'height');
|
||||
}
|
||||
$this->validatePackages();
|
||||
Validator::checkIfNull($this->key, 'key');
|
||||
Validator::checkIfNull($this->password, 'password');
|
||||
Validator::checkIfNull($this->accountNumber, 'accountNumber');
|
||||
|
@ -35,6 +35,19 @@ abstract class RateAdapter
|
||||
*/
|
||||
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 = [])
|
||||
{
|
||||
$this->rates = [];
|
||||
|
@ -99,11 +99,7 @@ class Rate extends RateAdapter
|
||||
}
|
||||
protected function validate()
|
||||
{
|
||||
foreach ($this->shipment->getPackages() as $package) {
|
||||
Validator::checkIfNull($package->getWeight(), 'weight');
|
||||
Validator::checkIfNull($package->getLength(), 'length');
|
||||
Validator::checkIfNull($package->getHeight(), 'height');
|
||||
}
|
||||
$this->validatePackages();
|
||||
Validator::checkIfNull($this->accessKey, 'accessKey');
|
||||
Validator::checkIfNull($this->userId, 'userId');
|
||||
Validator::checkIfNull($this->password, 'password');
|
||||
|
@ -81,11 +81,7 @@ class Rate extends RateAdapter
|
||||
}
|
||||
protected function validate()
|
||||
{
|
||||
foreach ($this->shipment->getPackages() as $package) {
|
||||
Validator::checkIfNull($package->getWeight(), 'weight');
|
||||
Validator::checkIfNull($package->getLength(), 'length');
|
||||
Validator::checkIfNull($package->getHeight(), 'height');
|
||||
}
|
||||
$this->validatePackages();
|
||||
Validator::checkIfNull($this->username, 'username');
|
||||
Validator::checkIfNull($this->password, 'password');
|
||||
Validator::checkIfNull($this->shipment->getFromPostalCode(), 'fromPostalCode');
|
||||
|
Loading…
x
Reference in New Issue
Block a user