You are here

function Braintree_TransactionAdvancedSearchTest::test_multipleValueNode_type in Commerce Braintree 7

File

braintree_php/tests/integration/TransactionAdvancedSearchTest.php, line 526

Class

Braintree_TransactionAdvancedSearchTest

Code

function test_multipleValueNode_type() {
  $customer = Braintree_Customer::createNoValidate();
  $creditCard = Braintree_CreditCard::create(array(
    'customerId' => $customer->id,
    'cardholderName' => 'Joe Everyman' . rand(),
    'number' => '5105105105105100',
    'expirationDate' => '05/12',
  ))->creditCard;
  $sale = Braintree_Transaction::saleNoValidate(array(
    'amount' => Braintree_Test_TransactionAmounts::$authorize,
    'paymentMethodToken' => $creditCard->token,
    'options' => array(
      'submitForSettlement' => true,
    ),
  ));
  Braintree_Http::put('/transactions/' . $sale->id . '/settle');
  $refund = Braintree_Transaction::refund($sale->id)->transaction;
  $credit = Braintree_Transaction::creditNoValidate(array(
    'amount' => '100.00',
    'paymentMethodToken' => $creditCard->token,
  ));
  $collection = Braintree_Transaction::search(array(
    Braintree_TransactionSearch::creditCardCardholderName()
      ->is($creditCard->cardholderName),
    Braintree_TransactionSearch::type()
      ->is($sale->type),
  ));
  $this
    ->assertEquals(1, $collection
    ->maximumCount());
  $collection = Braintree_Transaction::search(array(
    Braintree_TransactionSearch::creditCardCardholderName()
      ->is($creditCard->cardholderName),
    Braintree_TransactionSearch::type()
      ->in(array(
      $sale->type,
      $credit->type,
    )),
  ));
  $this
    ->assertEquals(3, $collection
    ->maximumCount());
  $collection = Braintree_Transaction::search(array(
    Braintree_TransactionSearch::creditCardCardholderName()
      ->is($creditCard->cardholderName),
    Braintree_TransactionSearch::type()
      ->is($credit->type),
  ));
  $this
    ->assertEquals(2, $collection
    ->maximumCount());
}