MultipleValueNodeTest.php
3.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php
namespace Test\Integration;
require_once dirname(__DIR__) . '/Setup.php';
use Test;
use Test\Setup;
use Braintree;
class MultipleValueNodeTest extends Setup
{
    public function testIn_singleValue()
    {
        $creditCard = SubscriptionHelper::createCreditCard();
        $triallessPlan = SubscriptionHelper::triallessPlan();
        $activeSubscription = Braintree\Subscription::create([
            'paymentMethodToken' => $creditCard->token,
            'planId' => $triallessPlan['id'],
            'price' => '3'
        ])->subscription;
        $canceledSubscription = Braintree\Subscription::create([
            'paymentMethodToken' => $creditCard->token,
            'planId' => $triallessPlan['id'],
            'price' => '3'
        ])->subscription;
        Braintree\Subscription::cancel($canceledSubscription->id);
        $collection = Braintree\Subscription::search([
            Braintree\SubscriptionSearch::status()->in([Braintree\Subscription::ACTIVE]),
            Braintree\SubscriptionSearch::price()->is('3'),
        ]);
        foreach ($collection AS $item) {
            $this->assertEquals(Braintree\Subscription::ACTIVE, $item->status);
        }
        $this->assertTrue(Test\Helper::includes($collection, $activeSubscription));
        $this->assertFalse(Test\Helper::includes($collection, $canceledSubscription));
    }
    public function testIs()
    {
        $found = false;
        $collection = Braintree\Subscription::search([
            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);
    }
    public function testSearch_statusIsExpired()
    {
        $found = false;
        $collection = Braintree\Subscription::search([
            Braintree\SubscriptionSearch::status()->in([Braintree\Subscription::EXPIRED])
        ]);
        foreach ($collection AS $item) {
            $found = true;
            $this->assertEquals(Braintree\Subscription::EXPIRED, $item->status);
        }
        $this->assertTrue($found);
    }
    public function testIn_multipleValues()
    {
        $creditCard = SubscriptionHelper::createCreditCard();
        $triallessPlan = SubscriptionHelper::triallessPlan();
        $activeSubscription = Braintree\Subscription::create([
            'paymentMethodToken' => $creditCard->token,
            'planId' => $triallessPlan['id'],
            'price' => '4'
        ])->subscription;
        $canceledSubscription = Braintree\Subscription::create([
            'paymentMethodToken' => $creditCard->token,
            'planId' => $triallessPlan['id'],
            'price' => '4'
        ])->subscription;
        Braintree\Subscription::cancel($canceledSubscription->id);
        $collection = Braintree\Subscription::search([
            Braintree\SubscriptionSearch::status()->in([Braintree\Subscription::ACTIVE, Braintree\Subscription::CANCELED]),
            Braintree\SubscriptionSearch::price()->is('4')
        ]);
        $this->assertTrue(Test\Helper::includes($collection, $activeSubscription));
        $this->assertTrue(Test\Helper::includes($collection, $canceledSubscription));
    }
}