Beispiel #1
0
 public function testCreateRequest()
 {
     $api = new Ups\Locator();
     $api->setRequest($request = new RequestMock());
     // Get locator data based on shipment address
     $locatorRequest = new \Ups\Entity\LocatorRequest();
     // $originAddress
     $originAddress = new \Ups\Entity\OriginAddress();
     $address = new \Ups\Entity\AddressKeyFormat();
     $address->setPostcodePrimaryLow('1000');
     $address->setCountryCode('NL');
     $originAddress->setAddressKeyFormat($address);
     $locatorRequest->setOriginAddress($originAddress);
     // $translate
     $translate = new \Ups\Entity\Translate();
     $translate->setLanguageCode('ENG');
     $locatorRequest->setTranslate($translate);
     // $unitOfMeasurement
     $unitOfMeasurement = new \Ups\Entity\UnitOfMeasurement();
     $unitOfMeasurement->setCode(\Ups\Entity\UnitOfMeasurement::UOM_KM);
     $unitOfMeasurement->setDescription('Kilometers');
     $locatorRequest->setUnitOfMeasurement($unitOfMeasurement);
     try {
         // Get data
         $locations = $api->getLocations($locatorRequest, Ups\Locator::OPTION_UPS_ACCESS_POINT_LOCATIONS);
     } catch (Exception $e) {
     }
     $this->assertEquals($request->getRequestXml(), $request->getExpectedRequestXml('/Locator/Request1.xml'));
 }
Beispiel #2
0
 /**
  * Create the TimeInTransit request.
  *
  * @param LocatorRequest $locatorRequest The request details. Refer to the UPS documentation for available structure
  * @param $requestOption
  *
  * @return string
  */
 private function createRequest(LocatorRequest $locatorRequest, $requestOption)
 {
     $xml = new DOMDocument();
     $xml->formatOutput = true;
     $trackRequest = $xml->appendChild($xml->createElement('LocatorRequest'));
     $trackRequest->setAttribute('xml:lang', 'en-US');
     $request = $trackRequest->appendChild($xml->createElement('Request'));
     $node = $xml->importNode($this->createTransactionNode(), true);
     $request->appendChild($node);
     $request->appendChild($xml->createElement('RequestAction', 'Locator'));
     $request->appendChild($xml->createElement('RequestOption', $requestOption));
     // Origin Address
     $trackRequest->appendChild($locatorRequest->getOriginAddress()->toNode($xml));
     // Translate
     $trackRequest->appendChild($locatorRequest->getTranslate()->toNode($xml));
     // Unit of measurement
     if ($locatorRequest->getUnitOfMeasurement()) {
         $trackRequest->appendChild($locatorRequest->getUnitOfMeasurement()->toNode($xml));
     }
     // LocationSearchCriteria
     if ($locatorRequest->getLocationSearchCriteria()) {
         $trackRequest->appendChild($locatorRequest->getLocationSearchCriteria()->toNode($xml));
     }
     return $xml->saveXML();
 }