PaymentAuthorizationsTest.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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\MockResponsePayloads;
  7. class PaymentAuthorizationsTest extends TestCase
  8. {
  9. use MockClientClasses;
  10. use MockResponsePayloads;
  11. #[Test]
  12. public function it_can_show_details_for_an_authorized_payment(): void
  13. {
  14. $expectedResponse = $this->mockGetAuthorizedPaymentDetailsResponse();
  15. $expectedMethod = 'showAuthorizedPaymentDetails';
  16. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  17. $mockClient->setApiCredentials($this->getMockCredentials());
  18. $mockClient->getAccessToken();
  19. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('0VF52814937998046'));
  20. }
  21. #[Test]
  22. public function it_can_capture_an_authorized_payment(): void
  23. {
  24. $expectedResponse = $this->mockCaptureAuthorizedPaymentResponse();
  25. $expectedMethod = 'captureAuthorizedPayment';
  26. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  27. $mockClient->setApiCredentials($this->getMockCredentials());
  28. $mockClient->getAccessToken();
  29. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}(
  30. '0VF52814937998046',
  31. 'INVOICE-123',
  32. 10.99,
  33. 'Payment is due'
  34. ));
  35. }
  36. #[Test]
  37. public function it_can_reauthorize_an_authorized_payment(): void
  38. {
  39. $expectedResponse = $this->mockReAuthorizeAuthorizedPaymentResponse();
  40. $expectedMethod = 'reAuthorizeAuthorizedPayment';
  41. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  42. $mockClient->setApiCredentials($this->getMockCredentials());
  43. $mockClient->getAccessToken();
  44. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('0VF52814937998046', 10.99));
  45. }
  46. #[Test]
  47. public function it_can_void_an_authorized_payment(): void
  48. {
  49. $expectedResponse = '';
  50. $expectedMethod = 'voidAuthorizedPayment';
  51. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  52. $mockClient->setApiCredentials($this->getMockCredentials());
  53. $mockClient->getAccessToken();
  54. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('0VF52814937998046'));
  55. }
  56. }