You are here

class Braintree_AddressTest in Commerce Braintree 7

Same name in this branch
  1. 7 braintree_php/tests/unit/AddressTest.php \Braintree_AddressTest
  2. 7 braintree_php/tests/integration/AddressTest.php \Braintree_AddressTest

Hierarchy

Expanded class hierarchy of Braintree_AddressTest

File

braintree_php/tests/integration/AddressTest.php, line 4

View source
class Braintree_AddressTest extends PHPUnit_Framework_TestCase {
  function testCreate() {
    $customer = Braintree_Customer::createNoValidate();
    $result = Braintree_Address::create(array(
      'customerId' => $customer->id,
      'firstName' => 'Dan',
      'lastName' => 'Smith',
      'company' => 'Braintree',
      'streetAddress' => '1 E Main St',
      'extendedAddress' => 'Apt 1F',
      'locality' => 'Chicago',
      'region' => 'IL',
      'postalCode' => '60622',
      'countryName' => 'Vatican City',
      'countryCodeAlpha2' => 'VA',
      'countryCodeAlpha3' => 'VAT',
      'countryCodeNumeric' => '336',
    ));
    $this
      ->assertTrue($result->success);
    $address = $result->address;
    $this
      ->assertEquals('Dan', $address->firstName);
    $this
      ->assertEquals('Smith', $address->lastName);
    $this
      ->assertEquals('Braintree', $address->company);
    $this
      ->assertEquals('1 E Main St', $address->streetAddress);
    $this
      ->assertEquals('Apt 1F', $address->extendedAddress);
    $this
      ->assertEquals('Chicago', $address->locality);
    $this
      ->assertEquals('IL', $address->region);
    $this
      ->assertEquals('60622', $address->postalCode);
    $this
      ->assertEquals('Vatican City', $address->countryName);
    $this
      ->assertEquals('VA', $address->countryCodeAlpha2);
    $this
      ->assertEquals('VAT', $address->countryCodeAlpha3);
    $this
      ->assertEquals('336', $address->countryCodeNumeric);
  }
  function testCreate_withValidationErrors() {
    $customer = Braintree_Customer::createNoValidate();
    $result = Braintree_Address::create(array(
      'customerId' => $customer->id,
      'countryName' => 'Invalid States of America',
    ));
    $this
      ->assertFalse($result->success);
    $countryErrors = $result->errors
      ->forKey('address')
      ->onAttribute('countryName');
    $this
      ->assertEquals(Braintree_Error_Codes::ADDRESS_COUNTRY_NAME_IS_NOT_ACCEPTED, $countryErrors[0]->code);
  }
  function testCreate_withValidationErrors_onCountryCodes() {
    $customer = Braintree_Customer::createNoValidate();
    $result = Braintree_Address::create(array(
      'customerId' => $customer->id,
      'countryCodeAlpha2' => 'ZZ',
    ));
    $this
      ->assertFalse($result->success);
    $countryErrors = $result->errors
      ->forKey('address')
      ->onAttribute('countryCodeAlpha2');
    $this
      ->assertEquals(Braintree_Error_Codes::ADDRESS_COUNTRY_CODE_ALPHA2_IS_NOT_ACCEPTED, $countryErrors[0]->code);
  }
  function testCreateNoValidate() {
    $customer = Braintree_Customer::createNoValidate();
    $address = Braintree_Address::createNoValidate(array(
      'customerId' => $customer->id,
      'firstName' => 'Dan',
      'lastName' => 'Smith',
      'company' => 'Braintree',
      'streetAddress' => '1 E Main St',
      'extendedAddress' => 'Apt 1F',
      'locality' => 'Chicago',
      'region' => 'IL',
      'postalCode' => '60622',
      'countryName' => 'United States of America',
    ));
    $this
      ->assertEquals('Dan', $address->firstName);
    $this
      ->assertEquals('Smith', $address->lastName);
    $this
      ->assertEquals('Braintree', $address->company);
    $this
      ->assertEquals('1 E Main St', $address->streetAddress);
    $this
      ->assertEquals('Apt 1F', $address->extendedAddress);
    $this
      ->assertEquals('Chicago', $address->locality);
    $this
      ->assertEquals('IL', $address->region);
    $this
      ->assertEquals('60622', $address->postalCode);
    $this
      ->assertEquals('United States of America', $address->countryName);
  }
  function testCreateNoValidate_withValidationErrors() {
    $customer = Braintree_Customer::createNoValidate();
    $this
      ->setExpectedException('Braintree_Exception_ValidationsFailed');
    Braintree_Address::createNoValidate(array(
      'customerId' => $customer->id,
      'countryName' => 'Invalid States of America',
    ));
  }
  function testDelete() {
    $customer = Braintree_Customer::createNoValidate();
    $address = Braintree_Address::createNoValidate(array(
      'customerId' => $customer->id,
      'streetAddress' => '1 E Main St',
    ));
    Braintree_Address::find($customer->id, $address->id);
    Braintree_Address::delete($customer->id, $address->id);
    $this
      ->setExpectedException('Braintree_Exception_NotFound');
    Braintree_Address::find($customer->id, $address->id);
  }
  function testFind() {
    $customer = Braintree_Customer::createNoValidate();
    $result = Braintree_Address::create(array(
      'customerId' => $customer->id,
      'firstName' => 'Dan',
      'lastName' => 'Smith',
      'company' => 'Braintree',
      'streetAddress' => '1 E Main St',
      'extendedAddress' => 'Apt 1F',
      'locality' => 'Chicago',
      'region' => 'IL',
      'postalCode' => '60622',
      'countryName' => 'United States of America',
    ));
    $this
      ->assertTrue($result->success);
    $address = Braintree_Address::find($customer->id, $result->address->id);
    $this
      ->assertEquals('Dan', $address->firstName);
    $this
      ->assertEquals('Smith', $address->lastName);
    $this
      ->assertEquals('Braintree', $address->company);
    $this
      ->assertEquals('1 E Main St', $address->streetAddress);
    $this
      ->assertEquals('Apt 1F', $address->extendedAddress);
    $this
      ->assertEquals('Chicago', $address->locality);
    $this
      ->assertEquals('IL', $address->region);
    $this
      ->assertEquals('60622', $address->postalCode);
    $this
      ->assertEquals('United States of America', $address->countryName);
  }
  function testFind_whenNotFound() {
    $customer = Braintree_Customer::createNoValidate();
    $this
      ->setExpectedException('Braintree_Exception_NotFound');
    Braintree_Address::find($customer->id, 'does-not-exist');
  }
  function testUpdate() {
    $customer = Braintree_Customer::createNoValidate();
    $address = Braintree_Address::createNoValidate(array(
      'customerId' => $customer->id,
      'firstName' => 'Old First',
      'lastName' => 'Old Last',
      'company' => 'Old Company',
      'streetAddress' => '1 E Old St',
      'extendedAddress' => 'Apt Old',
      'locality' => 'Old Chicago',
      'region' => 'Old Region',
      'postalCode' => 'Old Postal',
      'countryName' => 'United States of America',
      'countryCodeAlpha2' => 'US',
      'countryCodeAlpha3' => 'USA',
      'countryCodeNumeric' => '840',
    ));
    $result = Braintree_Address::update($customer->id, $address->id, array(
      'firstName' => 'New First',
      'lastName' => 'New Last',
      'company' => 'New Company',
      'streetAddress' => '1 E New St',
      'extendedAddress' => 'Apt New',
      'locality' => 'New Chicago',
      'region' => 'New Region',
      'postalCode' => 'New Postal',
      'countryName' => 'Mexico',
      'countryCodeAlpha2' => 'MX',
      'countryCodeAlpha3' => 'MEX',
      'countryCodeNumeric' => '484',
    ));
    $this
      ->assertTrue($result->success);
    $address = $result->address;
    $this
      ->assertEquals('New First', $address->firstName);
    $this
      ->assertEquals('New Last', $address->lastName);
    $this
      ->assertEquals('New Company', $address->company);
    $this
      ->assertEquals('1 E New St', $address->streetAddress);
    $this
      ->assertEquals('Apt New', $address->extendedAddress);
    $this
      ->assertEquals('New Chicago', $address->locality);
    $this
      ->assertEquals('New Region', $address->region);
    $this
      ->assertEquals('New Postal', $address->postalCode);
    $this
      ->assertEquals('Mexico', $address->countryName);
    $this
      ->assertEquals('MX', $address->countryCodeAlpha2);
    $this
      ->assertEquals('MEX', $address->countryCodeAlpha3);
    $this
      ->assertEquals('484', $address->countryCodeNumeric);
  }
  function testUpdate_withValidationErrors() {
    $customer = Braintree_Customer::createNoValidate();
    $address = Braintree_Address::createNoValidate(array(
      'customerId' => $customer->id,
      'streetAddress' => '1 E Main St',
    ));
    $result = Braintree_Address::update($customer->id, $address->id, array(
      'countryName' => 'Invalid States of America',
    ));
    $this
      ->assertFalse($result->success);
    $countryErrors = $result->errors
      ->forKey('address')
      ->onAttribute('countryName');
    $this
      ->assertEquals(Braintree_Error_Codes::ADDRESS_COUNTRY_NAME_IS_NOT_ACCEPTED, $countryErrors[0]->code);
  }
  function testUpdate_withValidationErrors_onCountry() {
    $customer = Braintree_Customer::createNoValidate();
    $address = Braintree_Address::createNoValidate(array(
      'customerId' => $customer->id,
      'streetAddress' => '1 E Main St',
    ));
    $result = Braintree_Address::update($customer->id, $address->id, array(
      'countryCodeAlpha2' => 'MU',
      'countryCodeAlpha3' => 'MYT',
    ));
    $this
      ->assertFalse($result->success);
    $countryErrors = $result->errors
      ->forKey('address')
      ->onAttribute('base');
    $this
      ->assertEquals(Braintree_Error_Codes::ADDRESS_INCONSISTENT_COUNTRY, $countryErrors[0]->code);
  }
  function testUpdateNoValidate() {
    $customer = Braintree_Customer::createNoValidate();
    $createdAddress = Braintree_Address::createNoValidate(array(
      'customerId' => $customer->id,
      'firstName' => 'Old First',
      'lastName' => 'Old Last',
      'company' => 'Old Company',
      'streetAddress' => '1 E Old St',
      'extendedAddress' => 'Apt Old',
      'locality' => 'Old Chicago',
      'region' => 'Old Region',
      'postalCode' => 'Old Postal',
      'countryName' => 'United States of America',
    ));
    $address = Braintree_Address::updateNoValidate($customer->id, $createdAddress->id, array(
      'firstName' => 'New First',
      'lastName' => 'New Last',
      'company' => 'New Company',
      'streetAddress' => '1 E New St',
      'extendedAddress' => 'Apt New',
      'locality' => 'New Chicago',
      'region' => 'New Region',
      'postalCode' => 'New Postal',
      'countryName' => 'Mexico',
    ));
    $this
      ->assertEquals('New First', $address->firstName);
    $this
      ->assertEquals('New Last', $address->lastName);
    $this
      ->assertEquals('New Company', $address->company);
    $this
      ->assertEquals('1 E New St', $address->streetAddress);
    $this
      ->assertEquals('Apt New', $address->extendedAddress);
    $this
      ->assertEquals('New Chicago', $address->locality);
    $this
      ->assertEquals('New Region', $address->region);
    $this
      ->assertEquals('New Postal', $address->postalCode);
    $this
      ->assertEquals('Mexico', $address->countryName);
  }

}

Members