View source
<?php
require_once realpath(dirname(__FILE__)) . '/../TestHelper.php';
require_once realpath(dirname(__FILE__)) . '/SubscriptionTestHelper.php';
class Braintree_MultipleValueNodeTest extends PHPUnit_Framework_TestCase {
function testIn_singleValue() {
$creditCard = Braintree_SubscriptionTestHelper::createCreditCard();
$triallessPlan = Braintree_SubscriptionTestHelper::triallessPlan();
$activeSubscription = Braintree_Subscription::create(array(
'paymentMethodToken' => $creditCard->token,
'planId' => $triallessPlan['id'],
'price' => '3',
))->subscription;
$canceledSubscription = Braintree_Subscription::create(array(
'paymentMethodToken' => $creditCard->token,
'planId' => $triallessPlan['id'],
'price' => '3',
))->subscription;
Braintree_Subscription::cancel($canceledSubscription->id);
$collection = Braintree_Subscription::search(array(
Braintree_SubscriptionSearch::status()
->in(array(
Braintree_Subscription::ACTIVE,
)),
Braintree_SubscriptionSearch::price()
->is('3'),
));
foreach ($collection as $item) {
$this
->assertEquals(Braintree_Subscription::ACTIVE, $item->status);
}
$this
->assertTrue(Braintree_TestHelper::includes($collection, $activeSubscription));
$this
->assertFalse(Braintree_TestHelper::includes($collection, $canceledSubscription));
}
function testIs() {
$found = false;
$collection = Braintree_Subscription::search(array(
Braintree_SubscriptionSearch::status()
->is(Braintree_Subscription::PAST_DUE),
));
foreach ($collection as $item) {
$found = true;
$this
->assertEquals(Braintree_Subscription::PAST_DUE, $item->status);
}
$this
->assertTrue($found);
}
function testSearch_statusIsExpired() {
$found = false;
$collection = Braintree_Subscription::search(array(
Braintree_SubscriptionSearch::status()
->in(array(
Braintree_Subscription::EXPIRED,
)),
));
foreach ($collection as $item) {
$found = true;
$this
->assertEquals(Braintree_Subscription::EXPIRED, $item->status);
}
$this
->assertTrue($found);
}
function testIn_multipleValues() {
$creditCard = Braintree_SubscriptionTestHelper::createCreditCard();
$triallessPlan = Braintree_SubscriptionTestHelper::triallessPlan();
$activeSubscription = Braintree_Subscription::create(array(
'paymentMethodToken' => $creditCard->token,
'planId' => $triallessPlan['id'],
'price' => '4',
))->subscription;
$canceledSubscription = Braintree_Subscription::create(array(
'paymentMethodToken' => $creditCard->token,
'planId' => $triallessPlan['id'],
'price' => '4',
))->subscription;
Braintree_Subscription::cancel($canceledSubscription->id);
$collection = Braintree_Subscription::search(array(
Braintree_SubscriptionSearch::status()
->in(array(
Braintree_Subscription::ACTIVE,
Braintree_Subscription::CANCELED,
)),
Braintree_SubscriptionSearch::price()
->is('4'),
));
$this
->assertTrue(Braintree_TestHelper::includes($collection, $activeSubscription));
$this
->assertTrue(Braintree_TestHelper::includes($collection, $canceledSubscription));
}
}