<?php use EsteIt\ShippingCalculator\Calculator\BaseCalculator; use EsteIt\ShippingCalculator\Handler\AsendiaHandler; use EsteIt\ShippingCalculator\Weight; use EsteIt\ShippingCalculator\Dimensions; use EsteIt\ShippingCalculator\Address; use EsteIt\ShippingCalculator\Package; include_once __DIR__ . '/../vendor/autoload.php'; $config = (include __DIR__ . '/../src/Resources/Asendia/PMEI/tariff_2015_06_15.php'); $calculator = new BaseCalculator(['handler' => AsendiaHandler::create($config)]); $weight = new Weight(); $weight->setValue(10); $weight->setUnit('lb'); $dimensions = new Dimensions(); $dimensions->setLength(10); $dimensions->setWidth(10); $dimensions->setHeight(10); $dimensions->setUnit('in'); $senderAddress = new Address(); $senderAddress->setCountryCode('USA'); $recipientAddress = new Address(); $recipientAddress->setCountryCode('RUS'); $package = new Package(); $package->setWeight($weight); $package->setDimensions($dimensions); $package->setSenderAddress($senderAddress); $package->setRecipientAddress($recipientAddress); $result = $calculator->calculate($package); var_dump($result->getData());
public function testValidateWeightException() { $this->setExpectedException(ViolationException::class, 'Sender country weight limit is exceeded.'); $calculator = new AsendiaHandler(['zone_calculators' => [], 'import_countries' => [$this->getFixture('import_country_usa')], 'export_countries' => [$this->getFixture('export_country_usa')], 'fuel_subcharge' => 0.07000000000000001, 'mass_unit' => 'lb', 'dimensions_unit' => 'in', 'maximum_dimension' => 41.338, 'maximum_girth' => 77.755]); $calculator->validateWeight($this->getFixture('package_3')); }