MultipleValueNodeTest.php 3.3 KB

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