WebHooksTest.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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 WebHooksTest extends TestCase
  9. {
  10. use MockClientClasses;
  11. use MockRequestPayloads;
  12. use MockResponsePayloads;
  13. #[Test]
  14. public function it_can_create_a_web_hook(): void
  15. {
  16. $expectedResponse = $this->mockCreateWebHookResponse();
  17. $expectedMethod = 'createWebHook';
  18. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  19. $mockClient->setApiCredentials($this->getMockCredentials());
  20. $mockClient->getAccessToken();
  21. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}(
  22. 'https://example.com/example_webhook',
  23. ['PAYMENT.AUTHORIZATION.CREATED', 'PAYMENT.AUTHORIZATION.VOIDED']
  24. ));
  25. }
  26. #[Test]
  27. public function it_can_list_web_hooks(): void
  28. {
  29. $expectedResponse = $this->mockListWebHookResponse();
  30. $expectedMethod = 'listWebHooks';
  31. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  32. $mockClient->setApiCredentials($this->getMockCredentials());
  33. $mockClient->getAccessToken();
  34. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}());
  35. }
  36. #[Test]
  37. public function it_can_delete_a_web_hook(): void
  38. {
  39. $expectedResponse = '';
  40. $expectedMethod = 'deleteWebHook';
  41. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  42. $mockClient->setApiCredentials($this->getMockCredentials());
  43. $mockClient->getAccessToken();
  44. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('5GP028458E2496506'));
  45. }
  46. #[Test]
  47. public function it_can_update_a_web_hook(): void
  48. {
  49. $expectedResponse = $this->mockUpdateWebHookResponse();
  50. $expectedParams = $this->mockUpdateWebHookParams();
  51. $expectedMethod = 'updateWebHook';
  52. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  53. $mockClient->setApiCredentials($this->getMockCredentials());
  54. $mockClient->getAccessToken();
  55. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('0EH40505U7160970P', $expectedParams));
  56. }
  57. #[Test]
  58. public function it_can_show_details_for_a_web_hook(): void
  59. {
  60. $expectedResponse = $this->mockGetWebHookResponse();
  61. $expectedMethod = 'showWebHookDetails';
  62. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  63. $mockClient->setApiCredentials($this->getMockCredentials());
  64. $mockClient->getAccessToken();
  65. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('0EH40505U7160970P'));
  66. }
  67. #[Test]
  68. public function it_can_list_web_hooks_events(): void
  69. {
  70. $expectedResponse = $this->mockListWebHookEventsResponse();
  71. $expectedMethod = 'listWebHookEvents';
  72. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  73. $mockClient->setApiCredentials($this->getMockCredentials());
  74. $mockClient->getAccessToken();
  75. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('0EH40505U7160970P'));
  76. }
  77. }