DiscountTest.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace Test\Integration;
  3. require_once dirname(__DIR__) . '/Setup.php';
  4. use Test\Setup;
  5. use Braintree;
  6. class DiscountTest extends Setup
  7. {
  8. public function testAll_returnsAllDiscounts()
  9. {
  10. $newId = strval(rand());
  11. $discountParams = [
  12. "amount" => "100.00",
  13. "description" => "some description",
  14. "id" => $newId,
  15. "kind" => "discount",
  16. "name" => "php_discount",
  17. "neverExpires" => "false",
  18. "numberOfBillingCycles" => "1"
  19. ];
  20. $http = new Braintree\Http(Braintree\Configuration::$global);
  21. $path = Braintree\Configuration::$global->merchantPath() . "/modifications/create_modification_for_tests";
  22. $http->post($path, ["modification" => $discountParams]);
  23. $discounts = Braintree\Discount::all();
  24. foreach ($discounts as $discount)
  25. {
  26. if ($discount->id == $newId)
  27. {
  28. $actualDiscount = $discount;
  29. }
  30. }
  31. $this->assertNotNull($actualDiscount);
  32. $this->assertEquals($discountParams["amount"], $actualDiscount->amount);
  33. $this->assertEquals($discountParams["description"], $actualDiscount->description);
  34. $this->assertEquals($discountParams["id"], $actualDiscount->id);
  35. $this->assertEquals($discountParams["kind"], $actualDiscount->kind);
  36. $this->assertEquals($discountParams["name"], $actualDiscount->name);
  37. $this->assertFalse($actualDiscount->neverExpires);
  38. $this->assertEquals($discountParams["numberOfBillingCycles"], $actualDiscount->numberOfBillingCycles);
  39. }
  40. public function testGatewayAll_returnsAllDiscounts()
  41. {
  42. $newId = strval(rand());
  43. $discountParams = [
  44. "amount" => "100.00",
  45. "description" => "some description",
  46. "id" => $newId,
  47. "kind" => "discount",
  48. "name" => "php_discount",
  49. "neverExpires" => "false",
  50. "numberOfBillingCycles" => "1"
  51. ];
  52. $http = new Braintree\Http(Braintree\Configuration::$global);
  53. $path = Braintree\Configuration::$global->merchantPath() . "/modifications/create_modification_for_tests";
  54. $http->post($path, ["modification" => $discountParams]);
  55. $gateway = new Braintree\Gateway([
  56. 'environment' => 'development',
  57. 'merchantId' => 'integration_merchant_id',
  58. 'publicKey' => 'integration_public_key',
  59. 'privateKey' => 'integration_private_key'
  60. ]);
  61. $discounts = $gateway->discount()->all();
  62. foreach ($discounts as $discount)
  63. {
  64. if ($discount->id == $newId)
  65. {
  66. $actualDiscount = $discount;
  67. }
  68. }
  69. $this->assertNotNull($actualDiscount);
  70. $this->assertEquals($discountParams["amount"], $actualDiscount->amount);
  71. $this->assertEquals($discountParams["id"], $actualDiscount->id);
  72. $this->assertEquals($discountParams["kind"], $actualDiscount->kind);
  73. }
  74. }