InvoicesSearchTest.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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 InvoicesSearchTest extends TestCase
  9. {
  10. use MockClientClasses;
  11. use MockRequestPayloads;
  12. use MockResponsePayloads;
  13. #[Test]
  14. public function it_can_search_invoices(): void
  15. {
  16. $expectedResponse = $this->mockSearchInvoicesResponse();
  17. $expectedMethod = 'searchInvoices';
  18. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  19. $mockClient->setApiCredentials($this->getMockCredentials());
  20. $mockClient->getAccessToken();
  21. $this->assertEquals($expectedResponse, $mockClient->{$expectedMethod}(1, 1, true));
  22. }
  23. #[Test]
  24. public function it_can_search_invoices_with_custom_filters(): void
  25. {
  26. $expectedResponse = $this->mockSearchInvoicesResponse();
  27. $expectedMethod = 'searchInvoices';
  28. $mockClient = $this->mock_client($expectedResponse, $expectedMethod, true);
  29. $mockClient->setApiCredentials($this->getMockCredentials());
  30. $mockClient->getAccessToken();
  31. $this->assertEquals($expectedResponse, $mockClient->addInvoiceFilterByRecipientEmail('bill-me@example.com')
  32. ->addInvoiceFilterByCurrencyCode('USD')
  33. ->addInvoiceFilterByAmountRange(30, 50)
  34. ->{$expectedMethod}(1, 1, true));
  35. }
  36. }