DiscountTest.php
3 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 DiscountTest extends Setup
{
public function testAll_returnsAllDiscounts()
{
$newId = strval(rand());
$discountParams = [
"amount" => "100.00",
"description" => "some description",
"id" => $newId,
"kind" => "discount",
"name" => "php_discount",
"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" => $discountParams]);
$discounts = Braintree\Discount::all();
foreach ($discounts as $discount)
{
if ($discount->id == $newId)
{
$actualDiscount = $discount;
}
}
$this->assertNotNull($actualDiscount);
$this->assertEquals($discountParams["amount"], $actualDiscount->amount);
$this->assertEquals($discountParams["description"], $actualDiscount->description);
$this->assertEquals($discountParams["id"], $actualDiscount->id);
$this->assertEquals($discountParams["kind"], $actualDiscount->kind);
$this->assertEquals($discountParams["name"], $actualDiscount->name);
$this->assertFalse($actualDiscount->neverExpires);
$this->assertEquals($discountParams["numberOfBillingCycles"], $actualDiscount->numberOfBillingCycles);
}
public function testGatewayAll_returnsAllDiscounts()
{
$newId = strval(rand());
$discountParams = [
"amount" => "100.00",
"description" => "some description",
"id" => $newId,
"kind" => "discount",
"name" => "php_discount",
"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" => $discountParams]);
$gateway = new Braintree\Gateway([
'environment' => 'development',
'merchantId' => 'integration_merchant_id',
'publicKey' => 'integration_public_key',
'privateKey' => 'integration_private_key'
]);
$discounts = $gateway->discount()->all();
foreach ($discounts as $discount)
{
if ($discount->id == $newId)
{
$actualDiscount = $discount;
}
}
$this->assertNotNull($actualDiscount);
$this->assertEquals($discountParams["amount"], $actualDiscount->amount);
$this->assertEquals($discountParams["id"], $actualDiscount->id);
$this->assertEquals($discountParams["kind"], $actualDiscount->kind);
}
}