You are here

function Braintree_CustomerTest::testCreateFromTransparentRedirect_withValidationErrors in Commerce Braintree 7

File

braintree_php/tests/integration/CustomerTest.php, line 644

Class

Braintree_CustomerTest

Code

function testCreateFromTransparentRedirect_withValidationErrors() {
  Braintree_TestHelper::suppressDeprecationWarnings();
  $queryString = $this
    ->createCustomerViaTr(array(
    'customer' => array(
      'first_name' => str_repeat('x', 256),
      'credit_card' => array(
        'number' => 'invalid',
        'expiration_date' => '',
      ),
    ),
  ), array());
  $result = Braintree_Customer::createFromTransparentRedirect($queryString);
  $this
    ->assertFalse($result->success);
  $errors = $result->errors
    ->forKey('customer')
    ->onAttribute('firstName');
  $this
    ->assertEquals(Braintree_Error_Codes::CUSTOMER_FIRST_NAME_IS_TOO_LONG, $errors[0]->code);
  $errors = $result->errors
    ->forKey('customer')
    ->forKey('creditCard')
    ->onAttribute('number');
  $this
    ->assertEquals(Braintree_Error_Codes::CREDIT_CARD_NUMBER_INVALID_LENGTH, $errors[0]->code);
  $errors = $result->errors
    ->forKey('customer')
    ->forKey('creditCard')
    ->onAttribute('expirationDate');
  $this
    ->assertEquals(Braintree_Error_Codes::CREDIT_CARD_EXPIRATION_DATE_IS_REQUIRED, $errors[0]->code);
}