AddOnsTest.php
2.88 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
<?php
namespace Test\Integration;
require_once dirname(__DIR__) . '/Setup.php';
use Test\Setup;
use Braintree;
class AddOnsTest extends Setup
{
    public function testAll_returnsAllAddOns()
    {
        $newId = strval(rand());
        $addOnParams = [
            "amount" => "100.00",
            "description" => "some description",
            "id" => $newId,
            "kind" => "add_on",
            "name" => "php_add_on",
            "neverExpires" => "false",
            "numberOfBillingCycles" => "1"
        ];
        $http = new Braintree\Http(Braintree\Configuration::$global);
        $path = Braintree\Configuration::$global->merchantPath() . "/modifications/create_modification_for_tests";
        $http->post($path, ["modification" => $addOnParams]);
        $addOns = Braintree\AddOn::all();
        foreach ($addOns as $addOn)
        {
            if ($addOn->id == $newId)
            {
                $actualAddOn = $addOn;
            }
        }
        $this->assertNotNull($actualAddOn);
        $this->assertEquals($addOnParams["amount"], $actualAddOn->amount);
        $this->assertEquals($addOnParams["description"], $actualAddOn->description);
        $this->assertEquals($addOnParams["id"], $actualAddOn->id);
        $this->assertEquals($addOnParams["kind"], $actualAddOn->kind);
        $this->assertEquals($addOnParams["name"], $actualAddOn->name);
        $this->assertFalse($actualAddOn->neverExpires);
        $this->assertEquals($addOnParams["numberOfBillingCycles"], $actualAddOn->numberOfBillingCycles);
    }
    public function testGatewayAll_returnsAllAddOns()
    {
        $newId = strval(rand());
        $addOnParams = [
            "amount" => "100.00",
            "description" => "some description",
            "id" => $newId,
            "kind" => "add_on",
            "name" => "php_add_on",
            "neverExpires" => "false",
            "numberOfBillingCycles" => "1"
        ];
        $http = new Braintree\Http(Braintree\Configuration::$global);
        $path = Braintree\Configuration::$global->merchantPath() . "/modifications/create_modification_for_tests";
        $http->post($path, ["modification" => $addOnParams]);
        $gateway = new Braintree\Gateway([
            'environment' => 'development',
            'merchantId' => 'integration_merchant_id',
            'publicKey' => 'integration_public_key',
            'privateKey' => 'integration_private_key'
        ]);
        $addOns = $gateway->addOn()->all();
        foreach ($addOns as $addOn)
        {
            if ($addOn->id == $newId)
            {
                $actualAddOn = $addOn;
            }
        }
        $this->assertNotNull($actualAddOn);
        $this->assertEquals($addOnParams["amount"], $actualAddOn->amount);
        $this->assertEquals($addOnParams["description"], $actualAddOn->description);
        $this->assertEquals($addOnParams["id"], $actualAddOn->id);
    }
}