| Server IP : 162.214.74.102 / Your IP : 216.73.216.192 Web Server : Apache System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64 User : lrsys ( 1015) PHP Version : 5.6.40 Disable Function : exec,passthru,shell_exec,system MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/lrsys/www/lrsys_apps/hering/vendor/braintree/braintree_php/tests/integration/ |
Upload File : |
<?php
namespace Test\Integration;
require_once dirname(__DIR__) . '/Setup.php';
use Test\Setup;
use Test\Helper;
use Braintree;
class PlanTest extends Setup
{
public function testAll_withNoPlans_returnsEmptyArray()
{
Helper::testMerchantConfig();
$plans = Braintree\Plan::all();
$this->assertEquals($plans, []);
self::integrationMerchantConfig();
}
public function testAll_returnsAllPlans()
{
$newId = strval(rand());
$params = [
"id" => $newId,
"billingDayOfMonth" => "1",
"billingFrequency" => "1",
"currencyIsoCode" => "USD",
"description" => "some description",
"name" => "php test plan",
"numberOfBillingCycles" => "1",
"price" => "1.00",
"trialPeriod" => "false"
];
$http = new Braintree\Http(Braintree\Configuration::$global);
$path = Braintree\Configuration::$global->merchantPath() . '/plans/create_plan_for_tests';
$http->post($path, ["plan" => $params]);
$addOnParams = [
"kind" => "add_on",
"plan_id" => $newId,
"amount" => "1.00",
"name" => "add_on_name"
];
$http = new Braintree\Http(Braintree\Configuration::$global);
$path = Braintree\Configuration::$global->merchantPath() . '/modifications/create_modification_for_tests';
$http->post($path, ['modification' => $addOnParams]);
$discountParams = [
"kind" => "discount",
"plan_id" => $newId,
"amount" => "1.00",
"name" => "discount_name"
];
$http = new Braintree\Http(Braintree\Configuration::$global);
$path = Braintree\Configuration::$global->merchantPath() . '/modifications/create_modification_for_tests';
$http->post($path, ["modification" => $discountParams]);
$plans = Braintree\Plan::all();
foreach ($plans as $plan)
{
if ($plan->id == $newId)
{
$actualPlan = $plan;
}
}
$this->assertNotNull($actualPlan);
$this->assertEquals($params["billingDayOfMonth"], $actualPlan->billingDayOfMonth);
$this->assertEquals($params["billingFrequency"], $actualPlan->billingFrequency);
$this->assertEquals($params["currencyIsoCode"], $actualPlan->currencyIsoCode);
$this->assertEquals($params["description"], $actualPlan->description);
$this->assertEquals($params["name"], $actualPlan->name);
$this->assertEquals($params["numberOfBillingCycles"], $actualPlan->numberOfBillingCycles);
$this->assertEquals($params["price"], $actualPlan->price);
$addOn = $actualPlan->addOns[0];
$this->assertEquals($addOnParams["name"], $addOn->name);
$discount = $actualPlan->discounts[0];
$this->assertEquals($discountParams["name"], $discount->name);
}
public function testGatewayAll_returnsAllPlans()
{
$newId = strval(rand());
$params = [
"id" => $newId,
"billingDayOfMonth" => "1",
"billingFrequency" => "1",
"currencyIsoCode" => "USD",
"description" => "some description",
"name" => "php test plan",
"numberOfBillingCycles" => "1",
"price" => "1.00",
"trialPeriod" => "false"
];
$http = new Braintree\Http(Braintree\Configuration::$global);
$path = Braintree\Configuration::$global->merchantPath() . '/plans/create_plan_for_tests';
$http->post($path, ["plan" => $params]);
$gateway = new Braintree\Gateway([
'environment' => 'development',
'merchantId' => 'integration_merchant_id',
'publicKey' => 'integration_public_key',
'privateKey' => 'integration_private_key'
]);
$plans = $gateway->plan()->all();
foreach ($plans as $plan)
{
if ($plan->id == $newId)
{
$actualPlan = $plan;
}
}
$this->assertNotNull($actualPlan);
$this->assertEquals($params["billingDayOfMonth"], $actualPlan->billingDayOfMonth);
$this->assertEquals($params["billingFrequency"], $actualPlan->billingFrequency);
$this->assertEquals($params["currencyIsoCode"], $actualPlan->currencyIsoCode);
$this->assertEquals($params["description"], $actualPlan->description);
$this->assertEquals($params["name"], $actualPlan->name);
$this->assertEquals($params["numberOfBillingCycles"], $actualPlan->numberOfBillingCycles);
$this->assertEquals($params["price"], $actualPlan->price);
}
}