commit
71a7383b73
@ -0,0 +1,212 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace pdt256\Shipping;
|
||||||
|
|
||||||
|
use pdt256\Shipping\RateRequest\StubFedex;
|
||||||
|
use pdt256\Shipping\RateRequest\StubUPS;
|
||||||
|
use pdt256\Shipping\RateRequest\StubUSPS;
|
||||||
|
|
||||||
|
class PackageDimensionsValidationTrait extends \PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
protected function getNormalPackage()
|
||||||
|
{
|
||||||
|
$normalPackage = new Package();
|
||||||
|
$normalPackage
|
||||||
|
->setHeight(10)
|
||||||
|
->setWidth(6)
|
||||||
|
->setLength(10)
|
||||||
|
->setWeight(5)
|
||||||
|
;
|
||||||
|
return $normalPackage;
|
||||||
|
}
|
||||||
|
protected function getNoHeightPackage()
|
||||||
|
{
|
||||||
|
$noHeightPackage = new Package();
|
||||||
|
$noHeightPackage
|
||||||
|
->setWidth(6)
|
||||||
|
->setLength(10)
|
||||||
|
->setWeight(5)
|
||||||
|
;
|
||||||
|
return $noHeightPackage;
|
||||||
|
}
|
||||||
|
protected function getNoWidthPackage()
|
||||||
|
{
|
||||||
|
$noWidthPackage = new Package();
|
||||||
|
$noWidthPackage
|
||||||
|
->setHeight(10)
|
||||||
|
->setLength(10)
|
||||||
|
->setWeight(5)
|
||||||
|
;
|
||||||
|
return $noWidthPackage;
|
||||||
|
}
|
||||||
|
protected function getNoLengthPackage()
|
||||||
|
{
|
||||||
|
$noLengthPackage = new Package();
|
||||||
|
$noLengthPackage
|
||||||
|
->setHeight(10)
|
||||||
|
->setWidth(6)
|
||||||
|
->setWeight(5)
|
||||||
|
;
|
||||||
|
return $noLengthPackage;
|
||||||
|
}
|
||||||
|
protected function getNoWeightPackage()
|
||||||
|
{
|
||||||
|
$noWeightPackage = new Package();
|
||||||
|
$noWeightPackage
|
||||||
|
->setHeight(10)
|
||||||
|
->setWidth(10)
|
||||||
|
->setWidth(6)
|
||||||
|
;
|
||||||
|
return $noWeightPackage;
|
||||||
|
}
|
||||||
|
protected function getUSPSAdapter()
|
||||||
|
{
|
||||||
|
return new USPS\Rate([
|
||||||
|
'prod' => false,
|
||||||
|
'username' => 'XXXX',
|
||||||
|
'password' => 'XXXX',
|
||||||
|
'requestAdapter' => new StubUSPS(),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getUPSAdapter()
|
||||||
|
{
|
||||||
|
return new UPS\Rate([
|
||||||
|
'accessKey' => 'XXX',
|
||||||
|
'userId' => 'XXX',
|
||||||
|
'password' => 'XXX',
|
||||||
|
'shipperNumber' => 'XXX',
|
||||||
|
'prod' => false,
|
||||||
|
'requestAdapter' => new StubUPS(),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getFedexAdapter()
|
||||||
|
{
|
||||||
|
return new Fedex\Rate([
|
||||||
|
'prod' => false,
|
||||||
|
'key' => 'XXX',
|
||||||
|
'password' => 'XXX',
|
||||||
|
'accountNumber' => 'XXX',
|
||||||
|
'meterNumber' => 'XXX',
|
||||||
|
'dropOffType' => 'BUSINESS_SERVICE_CENTER',
|
||||||
|
'requestAdapter' => new StubFedex(),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function validatePackage(Package $package, RateAdapter $adapter)
|
||||||
|
{
|
||||||
|
$shipment = new Shipment();
|
||||||
|
$shipment->setFromStateProvinceCode('CA')
|
||||||
|
->setFromPostalCode('90401')
|
||||||
|
->setFromCountryCode('US')
|
||||||
|
->setFromIsResidential(true)
|
||||||
|
->setToPostalCode('78703')
|
||||||
|
->setToCountryCode('US')
|
||||||
|
->setToIsResidential(true)
|
||||||
|
->addPackage($package);
|
||||||
|
$adapter->setShipment($shipment);
|
||||||
|
$adapter->getRates();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testNormalUSPS()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNormalPackage(), $this->getUSPSAdapter());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @expectedException \LogicException
|
||||||
|
*/
|
||||||
|
public function testNoHeightPackageUSPS()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNoHeightPackage(), $this->getUSPSAdapter());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @expectedException \LogicException
|
||||||
|
*/
|
||||||
|
public function testNoLengthPackageUSPS()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNoLengthPackage(), $this->getUSPSAdapter());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @expectedException \LogicException
|
||||||
|
*/
|
||||||
|
public function testNoWidthPackageUSPS()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNoWidthPackage(), $this->getUSPSAdapter());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @expectedException \LogicException
|
||||||
|
*/
|
||||||
|
public function testNoWeightPackageUSPS()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNoWeightPackage(), $this->getUSPSAdapter());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function testNormalUPS()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNormalPackage(), $this->getUPSAdapter());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @expectedException \LogicException
|
||||||
|
*/
|
||||||
|
public function testNoHeightPackageUPS()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNoHeightPackage(), $this->getUPSAdapter());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @expectedException \LogicException
|
||||||
|
*/
|
||||||
|
public function testNoLengthPackageUPS()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNoLengthPackage(), $this->getUPSAdapter());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @expectedException \LogicException
|
||||||
|
*/
|
||||||
|
public function testNoWidthPackageUPS()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNoWidthPackage(), $this->getUPSAdapter());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @expectedException \LogicException
|
||||||
|
*/
|
||||||
|
public function testNoWeightPackageUPS()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNoWeightPackage(), $this->getUPSAdapter());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function testNormalFedex()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNormalPackage(), $this->getFedexAdapter());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @expectedException \LogicException
|
||||||
|
*/
|
||||||
|
public function testNoHeightPackageFedex()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNoHeightPackage(), $this->getFedexAdapter());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @expectedException \LogicException
|
||||||
|
*/
|
||||||
|
public function testNoLengthPackageFedex()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNoLengthPackage(), $this->getFedexAdapter());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @expectedException \LogicException
|
||||||
|
*/
|
||||||
|
public function testNoWidthPackageFedex()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNoWidthPackage(), $this->getFedexAdapter());
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @expectedException \LogicException
|
||||||
|
*/
|
||||||
|
public function testNoWeightPackageFedex()
|
||||||
|
{
|
||||||
|
$this->validatePackage($this->getNoWeightPackage(), $this->getFedexAdapter());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
namespace pdt256\Shipping;
|
||||||
|
|
||||||
|
class ValidatorTest extends \PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @expectedException \LogicException
|
||||||
|
*/
|
||||||
|
public function testNull()
|
||||||
|
{
|
||||||
|
Validator::checkIfNull(null, 'null');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testNotNull()
|
||||||
|
{
|
||||||
|
Validator::checkIfNull('XXX', 'notNullValue');
|
||||||
|
Validator::checkIfNull([], 'notNullValue');
|
||||||
|
Validator::checkIfNull(new \stdClass(), 'notNullValue');
|
||||||
|
Validator::checkIfNull(function() {
|
||||||
|
}, 'notNullValue');
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue