code/dev/69: Add Tests For Formatted Billing Address
authorvarshith89 <vinu@compucorp.co.uk>
Tue, 1 May 2018 16:20:37 +0000 (16:20 +0000)
committervarshith89 <vinu@compucorp.co.uk>
Tue, 1 May 2018 16:26:57 +0000 (16:26 +0000)
tests/phpunit/CRM/Utils/AddressTest.php

index df22b6d6722312ed71196f304316adc3d1131c1a..6fa80cabafd228ae77e235417e53b9d9e875006a 100644 (file)
@@ -33,4 +33,44 @@ class CRM_Utils_AddressTest extends CiviUnitTestCase {
     $this->assertTrue((bool) strstr($formatted_address, 'UNITED STATES'));
   }
 
+  /**
+   * Test state/province field's state_province_name token on getFormattedBillingAddressFieldsFromParameters
+   * and test using alternate names for state_province field
+   */
+  public function testStateProvinceFormattedBillingAddress() {
+    $params = array(
+      'billing_street_address-99' => '123 Happy Place',
+      'billing_city-99' => 'Miami',
+      'billing_postal_code-99' => 33101,
+      'state_province-99' => '1000', // 1000 => Alabama (AL)
+      'country-99' => 'United States',
+    );
+
+    // set address_format (we are only interested in state_province & state_province_name)
+    $addFormat = '{contact.state_province}';
+    Civi::settings()->set('address_format', $addFormat);
+    $formatted_address = CRM_Utils_Address::getFormattedBillingAddressFieldsFromParameters($params, '99');
+    $this->assertTrue((bool) $formatted_address == 'AL');
+
+    $addFormat = '{contact.state_province_name}';
+    Civi::settings()->set('address_format', $addFormat);
+    $formatted_address = CRM_Utils_Address::getFormattedBillingAddressFieldsFromParameters($params, '99');
+    $this->assertTrue((bool) $formatted_address == 'Alabama');
+
+    // test using alternate names for state/province field
+    unset($params['state_province-99']);
+    $params['billing_state_province-99'] = '1000'; // alternate name 1
+    $addFormat = '{contact.state_province_name}';
+    Civi::settings()->set('address_format', $addFormat);
+    $formatted_address = CRM_Utils_Address::getFormattedBillingAddressFieldsFromParameters($params, '99');
+    $this->assertTrue((bool) $formatted_address == 'Alabama');
+
+    unset($params['state_province-99']);
+    $params['billing_state_province_id-99'] = '1000'; // alternate name 2
+    $addFormat = '{contact.state_province_name}';
+    Civi::settings()->set('address_format', $addFormat);
+    $formatted_address = CRM_Utils_Address::getFormattedBillingAddressFieldsFromParameters($params, '99');
+    $this->assertTrue((bool) $formatted_address == 'Alabama');
+  }
+
 }