Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phpnamespace Srmklive\PayPal\Tests\Unit\Client;use GuzzleHttp\Utils;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(){$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(){$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(){$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(){$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(){$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(){$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(){$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(){$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(){$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(){$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(){$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(){$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(){$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(){$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));}}