function Braintree_CustomerTest::testUpdateFromTransparentRedirect_withUpdateExisting in Commerce Braintree 7
File
- braintree_php/
tests/ integration/ CustomerTest.php, line 756
Class
Code
function testUpdateFromTransparentRedirect_withUpdateExisting() {
Braintree_TestHelper::suppressDeprecationWarnings();
$customer = Braintree_Customer::create(array(
'firstName' => 'Mike',
'lastName' => 'Jones',
'creditCard' => array(
'number' => '5105105105105100',
'expirationDate' => '05/12',
'cardholderName' => 'Mike Jones',
'billingAddress' => array(
'firstName' => 'Drew',
'lastName' => 'Smith',
),
),
))->customer;
$queryString = $this
->updateCustomerViaTr(array(), array(
'customerId' => $customer->id,
'customer' => array(
'firstName' => 'New First',
'lastName' => 'New Last',
'creditCard' => array(
'number' => '4111111111111111',
'expirationDate' => '05/13',
'cardholderName' => 'New Cardholder',
'options' => array(
'updateExistingToken' => $customer->creditCards[0]->token,
),
'billingAddress' => array(
'firstName' => 'New First Billing',
'lastName' => 'New Last Billing',
'options' => array(
'updateExisting' => true,
),
),
),
),
));
$result = Braintree_Customer::updateFromTransparentRedirect($queryString);
$this
->assertTrue($result->success);
$this
->assertEquals(true, $result->success);
$customer = $result->customer;
$this
->assertEquals('New First', $customer->firstName);
$this
->assertEquals('New Last', $customer->lastName);
$this
->assertEquals(1, sizeof($result->customer->creditCards));
$creditCard = $customer->creditCards[0];
$this
->assertEquals('411111', $creditCard->bin);
$this
->assertEquals('1111', $creditCard->last4);
$this
->assertEquals('New Cardholder', $creditCard->cardholderName);
$this
->assertEquals('05/2013', $creditCard->expirationDate);
$this
->assertEquals(1, sizeof($result->customer->addresses));
$address = $customer->addresses[0];
$this
->assertEquals($address, $creditCard->billingAddress);
$this
->assertEquals('New First Billing', $address->firstName);
$this
->assertEquals('New Last Billing', $address->lastName);
}