PaymentExperienceWebProfilesTest.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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 PaymentExperienceWebProfilesTest extends TestCase
  9. {
  10. use MockClientClasses;
  11. use MockRequestPayloads;
  12. use MockResponsePayloads;
  13. #[Test]
  14. public function it_can_list_web_experience_profiles(): void
  15. {
  16. $expectedResponse = $this->mockListWebProfilesResponse();
  17. $expectedMethod = 'listWebExperienceProfiles';
  18. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  19. $mockClient->setApiCredentials($this->getMockCredentials());
  20. $mockClient->getAccessToken();
  21. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}());
  22. }
  23. #[Test]
  24. public function it_can_create_web_experience_profile(): void
  25. {
  26. $expectedResponse = $this->mockWebProfileResponse();
  27. $expectedParams = $this->mockCreateWebProfileParams();
  28. $expectedMethod = 'createWebExperienceProfile';
  29. $additionalMethod = 'setRequestHeader';
  30. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true, $additionalMethod);
  31. $mockClient->setApiCredentials($this->getMockCredentials());
  32. $mockClient->getAccessToken();
  33. $mockClient->{$additionalMethod}('PayPal-Request-Id', 'some-request-id');
  34. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}($expectedParams));
  35. }
  36. #[Test]
  37. public function it_can_delete_web_experience_profile(): void
  38. {
  39. $expectedResponse = '';
  40. $expectedParams = 'XP-A88A-LYLW-8Y3X-E5ER';
  41. $expectedMethod = 'deleteWebExperienceProfile';
  42. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  43. $mockClient->setApiCredentials($this->getMockCredentials());
  44. $mockClient->getAccessToken();
  45. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}($expectedParams));
  46. }
  47. #[Test]
  48. public function it_can_partially_update_web_experience_profile(): void
  49. {
  50. $expectedResponse = '';
  51. $expectedParams = $this->partiallyUpdateWebProfileParams();
  52. $expectedMethod = 'patchWebExperienceProfile';
  53. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  54. $mockClient->setApiCredentials($this->getMockCredentials());
  55. $mockClient->getAccessToken();
  56. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('XP-A88A-LYLW-8Y3X-E5ER', $expectedParams));
  57. }
  58. #[Test]
  59. public function it_can_fully_update_web_experience_profile(): void
  60. {
  61. $expectedResponse = '';
  62. $expectedParams = $this->updateWebProfileParams();
  63. $expectedMethod = 'updateWebExperienceProfile';
  64. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  65. $mockClient->setApiCredentials($this->getMockCredentials());
  66. $mockClient->getAccessToken();
  67. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}('XP-A88A-LYLW-8Y3X-E5ER', $expectedParams));
  68. }
  69. #[Test]
  70. public function it_can_get_web_experience_profile_details(): void
  71. {
  72. $expectedResponse = $this->mockWebProfileResponse();
  73. $expectedParams = 'XP-A88A-LYLW-8Y3X-E5ER';
  74. $expectedMethod = 'showWebExperienceProfileDetails';
  75. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  76. $mockClient->setApiCredentials($this->getMockCredentials());
  77. $mockClient->getAccessToken();
  78. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}($expectedParams));
  79. }
  80. }