/**
  * @dataProvider validateAddressProvider
  */
 public function testValidateAddress($mock, $args, $valid, $description = null)
 {
     $this->setMockResponse($this->client, $mock);
     $response = $this->client->validateAddress($args);
     $result = $response['ValidateAustralianAddressResponse'];
     $this->assertEquals($valid, $result['ValidAustralianAddress']);
     if (!$valid) {
         $this->assertEquals($description, $result['BusinessException']['Description']);
     }
 }
Esempio n. 2
0
 /**
  * Converts the customer provided address data into an Australia
  * Post-supported format.
  *
  * @param array $street Address lines
  * @param string $state Address state
  * @param string $suburb Address city / suburb
  * @param string $postcode Address postcode
  * @param string $country Address country
  *
  * @return array
  */
 public function validateAddress(array $street, $state, $suburb, $postcode, $country)
 {
     $address = array('address_line_1' => $street[0], 'state' => $state, 'suburb' => $suburb, 'postcode' => $postcode, 'country' => $country);
     if (count($street) > 1) {
         $address['address_line_2'] = $street[1];
     }
     $result = array();
     try {
         $result = $this->client->validateAddress($address);
         $result = $result['ValidateAustralianAddressResponse'];
         if (is_array($result['Address']['AddressLine'])) {
             $result['Address']['AddressLine'] = $result['Address']['AddressLine'][0];
         }
         unset($result['Address']['DeliveryPointIdentifier']);
     } catch (Exception $e) {
         $result['ValidAustralianAddress'] = false;
         Mage::logException($e);
     }
     return $result;
 }