BillingPlansTest.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?php
  2. namespace Srmklive\PayPal\Tests\Unit\Adapter;
  3. use PHPUnit\Framework\Attributes\Test;
  4. use PHPUnit\Framework\TestCase;
  5. use Srmklive\PayPal\Tests\MockClientClasses;
  6. use Srmklive\PayPal\Tests\MockRequestPayloads;
  7. use Srmklive\PayPal\Tests\MockResponsePayloads;
  8. class BillingPlansTest extends TestCase
  9. {
  10. use MockClientClasses;
  11. use MockRequestPayloads;
  12. use MockResponsePayloads;
  13. #[Test]
  14. public function it_can_create_a_billing_plan(): void
  15. {
  16. $expectedResponse = $this->mockCreatePlansResponse();
  17. $expectedParams = $this->createPlanParams();
  18. $expectedMethod = 'createPlan';
  19. $additionalMethod = 'setRequestHeader';
  20. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true, $additionalMethod);
  21. $mockClient->setApiCredentials($this->getMockCredentials());
  22. $mockClient->getAccessToken();
  23. $mockClient->{$additionalMethod}('PayPal-Request-Id', 'some-request-id');
  24. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}($expectedParams, 'some-request-id'));
  25. }
  26. #[Test]
  27. public function it_can_list_billing_plans(): void
  28. {
  29. $expectedResponse = $this->mockListPlansResponse();
  30. $expectedMethod = 'listPlans';
  31. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  32. $mockClient->setApiCredentials($this->getMockCredentials());
  33. $mockClient->getAccessToken();
  34. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}(1, 2, true));
  35. }
  36. #[Test]
  37. public function it_can_update_a_billing_plan(): void
  38. {
  39. $expectedResponse = '';
  40. $expectedParams = $this->updatePlanParams();
  41. $expectedMethod = 'updatePlan';
  42. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  43. $mockClient->setApiCredentials($this->getMockCredentials());
  44. $mockClient->getAccessToken();
  45. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('P-7GL4271244454362WXNWU5NQ', $expectedParams));
  46. }
  47. #[Test]
  48. public function it_can_show_details_for_a_billing_plan(): void
  49. {
  50. $expectedResponse = $this->mockGetPlansResponse();
  51. $expectedMethod = 'showPlanDetails';
  52. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  53. $mockClient->setApiCredentials($this->getMockCredentials());
  54. $mockClient->getAccessToken();
  55. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('P-7GL4271244454362WXNWU5NQ'));
  56. }
  57. #[Test]
  58. public function it_can_activate_a_billing_plan(): void
  59. {
  60. $expectedResponse = '';
  61. $expectedMethod = 'activatePlan';
  62. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  63. $mockClient->setApiCredentials($this->getMockCredentials());
  64. $mockClient->getAccessToken();
  65. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('P-7GL4271244454362WXNWU5NQ'));
  66. }
  67. #[Test]
  68. public function it_can_deactivate_a_billing_plan(): void
  69. {
  70. $expectedResponse = '';
  71. $expectedMethod = 'deactivatePlan';
  72. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  73. $mockClient->setApiCredentials($this->getMockCredentials());
  74. $mockClient->getAccessToken();
  75. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('P-7GL4271244454362WXNWU5NQ'));
  76. }
  77. #[Test]
  78. public function it_can_update_pricing_for_a_billing_plan(): void
  79. {
  80. $expectedResponse = '';
  81. $expectedParams = $this->updatePlanPricingParams();
  82. $expectedMethod = 'updatePlanPricing';
  83. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  84. $mockClient->setApiCredentials($this->getMockCredentials());
  85. $mockClient->getAccessToken();
  86. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('P-2UF78835G6983425GLSM44MA', $expectedParams));
  87. }
  88. }