[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: InvoicesTest.php
<?php namespace Srmklive\PayPal\Tests\Unit\Client; use GuzzleHttp\Utils; use PHPUnit\Framework\Attributes\Test; use PHPUnit\Framework\TestCase; use Srmklive\PayPal\Tests\MockClientClasses; use Srmklive\PayPal\Tests\MockRequestPayloads; use Srmklive\PayPal\Tests\MockResponsePayloads; class InvoicesTest extends TestCase { use MockClientClasses; use MockRequestPayloads; use MockResponsePayloads; #[Test] public function it_can_generate_unique_invoice_number(): void { $expectedResponse = $this->mockGenerateInvoiceNumberResponse(); $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/generate-next-invoice-number'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'post'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->post($expectedEndpoint, $expectedParams)->getBody(), true)); } #[Test] public function it_can_create_a_draft_invoice(): void { $expectedResponse = $this->mockCreateInvoicesResponse(); $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/invoices'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], 'json' => $this->createInvoiceParams(), ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'post'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->post($expectedEndpoint, $expectedParams)->getBody(), true)); } #[Test] public function it_can_list_current_invoices(): void { $expectedResponse = $this->mockListInvoicesResponse(); $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/invoices?total_required=true'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'get'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->get($expectedEndpoint, $expectedParams)->getBody(), true)); } #[Test] public function it_can_delete_an_invoice(): void { $expectedResponse = ''; $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'delete'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->delete($expectedEndpoint, $expectedParams)->getBody(), true)); } #[Test] public function it_can_update_an_invoice(): void { $expectedResponse = $this->mockUpdateInvoicesResponse(); $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], 'json' => $this->updateInvoiceParams(), ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'put'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->put($expectedEndpoint, $expectedParams)->getBody(), true)); } #[Test] public function it_can_show_details_for_an_invoice(): void { $expectedResponse = $this->mockGetInvoicesResponse(); $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'get'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->get($expectedEndpoint, $expectedParams)->getBody(), true)); } #[Test] public function it_can_cancel_an_invoice(): void { $expectedResponse = ''; $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5/cancel'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], 'json' => $this->cancelInvoiceParams(), ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'post'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->post($expectedEndpoint, $expectedParams)->getBody(), true)); } #[Test] public function it_can_generate_qr_code_for_invoice(): void { $expectedResponse = $this->mockGenerateInvoiceNumberResponse(); $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5/generate-qr-code'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], 'json' => $this->generateQRCodeInvoiceParams(), ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'post'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->post($expectedEndpoint, $expectedParams)->getBody(), true)); } #[Test] public function it_can_register_payment_for_invoice(): void { $expectedResponse = $this->mockInvoiceRegisterPaymentResponse(); $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5/payments'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], 'json' => $this->registerInvoicePaymentParams(), ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'post'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->post($expectedEndpoint, $expectedParams)->getBody(), true)); } #[Test] public function it_can_delete_payment_for_invoice(): void { $expectedResponse = ''; $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5/payments/EXTR-86F38350LX4353815'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'delete'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->delete($expectedEndpoint, $expectedParams)->getBody(), true)); } #[Test] public function it_can_refund_payment_for_invoice(): void { $expectedResponse = $this->mockInvoiceRefundPaymentResponse(); $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5/refunds'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], 'json' => $this->refundInvoicePaymentParams(), ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'post'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->post($expectedEndpoint, $expectedParams)->getBody(), true)); } #[Test] public function it_can_delete_refund_for_invoice(): void { $expectedResponse = ''; $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/invoices/INV2-333R-YUQL-YNNN-D7WF/refunds/EXTR-2LG703375E477444T'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'delete'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->delete($expectedEndpoint, $expectedParams)->getBody(), true)); } #[Test] public function it_can_send_an_invoice(): void { $expectedResponse = ''; $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/invoices/INV2-EHNV-LJ5S-A7DZ-V6NJ/send'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], 'json' => $this->sendInvoiceParams(), ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'post'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->post($expectedEndpoint, $expectedParams)->getBody(), true)); } #[Test] public function it_can_send_reminder_for_an_invoice(): void { $expectedResponse = ''; $expectedEndpoint = 'https://api-m.sandbox.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5/remind'; $expectedParams = [ 'headers' => [ 'Accept' => 'application/json', 'Accept-Language' => 'en_US', 'Authorization' => 'Bearer some-token', ], 'json' => $this->sendInvoiceReminderParams(), ]; $mockHttpClient = $this->mock_http_request(Utils::jsonEncode($expectedResponse), $expectedEndpoint, $expectedParams, 'post'); $this->assertEquals($expectedResponse, Utils::jsonDecode($mockHttpClient->post($expectedEndpoint, $expectedParams)->getBody(), true)); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.69 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002