summaryrefslogtreecommitdiffstats
path: root/vendor/paypal/paypal-checkout-sdk/tests/Orders/OrdersPatchTest.php
diff options
context:
space:
mode:
authorAnton Luka Šijanec <anton@sijanec.eu>2022-01-11 12:35:47 +0100
committerAnton Luka Šijanec <anton@sijanec.eu>2022-01-11 12:35:47 +0100
commit19985dbb8c0aa66dc4bf7905abc1148de909097d (patch)
tree2cd5a5d20d7e80fc2a51adf60d838d8a2c40999e /vendor/paypal/paypal-checkout-sdk/tests/Orders/OrdersPatchTest.php
download1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.gz
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.bz2
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.lz
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.xz
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.tar.zst
1ka-19985dbb8c0aa66dc4bf7905abc1148de909097d.zip
Diffstat (limited to 'vendor/paypal/paypal-checkout-sdk/tests/Orders/OrdersPatchTest.php')
-rw-r--r--vendor/paypal/paypal-checkout-sdk/tests/Orders/OrdersPatchTest.php73
1 files changed, 73 insertions, 0 deletions
diff --git a/vendor/paypal/paypal-checkout-sdk/tests/Orders/OrdersPatchTest.php b/vendor/paypal/paypal-checkout-sdk/tests/Orders/OrdersPatchTest.php
new file mode 100644
index 0000000..1eaa307
--- /dev/null
+++ b/vendor/paypal/paypal-checkout-sdk/tests/Orders/OrdersPatchTest.php
@@ -0,0 +1,73 @@
+<?php
+
+
+
+namespace Test\Orders;
+
+use PHPUnit\Framework\TestCase;
+
+use PayPalCheckoutSdk\Orders\OrdersPatchRequest;
+use PayPalCheckoutSdk\Orders\OrdersGetRequest;
+use Test\TestHarness;
+
+
+class OrdersPatchTest extends TestCase
+{
+ private function buildRequestBody()
+ {
+ return [
+ [
+ "op" => "add",
+ "path" => "/purchase_units/@reference_id=='test_ref_id1'/description",
+ "value" => "added_description"
+ ],
+ [
+ "op" => "replace",
+ "path" => "/purchase_units/@reference_id=='test_ref_id1'/amount",
+ "value" => [
+ "currency_code" => "USD",
+ "value" => "200.00"
+ ]
+ ]
+ ];
+ }
+
+ public function testOrdersPatchRequest()
+ {
+ $client = TestHarness::client();
+ $createdOrder = OrdersCreateTest::create($client);
+
+ $request = new OrdersPatchRequest($createdOrder->result->id);
+ $request->body = $this->buildRequestBody();
+ $response = $client->execute($request);
+ $this->assertEquals(204, $response->statusCode);
+
+ $request = new OrdersGetRequest($createdOrder->result->id);
+ $response = $client->execute($request);
+ $this->assertEquals(200, $response->statusCode);
+ $this->assertNotNull($response->result);
+
+ $createdOrder = $response->result;
+ $this->assertNotNull($createdOrder->id);
+ $this->assertNotNull($createdOrder->purchase_units);
+ $this->assertEquals(1, count($createdOrder->purchase_units));
+ $firstPurchaseUnit = $createdOrder->purchase_units[0];
+ $this->assertEquals("test_ref_id1", $firstPurchaseUnit->reference_id);
+ $this->assertEquals("USD", $firstPurchaseUnit->amount->currency_code);
+ $this->assertEquals("200.00", $firstPurchaseUnit->amount->value);
+ $this->assertEquals("added_description", $firstPurchaseUnit->description);
+
+ $this->assertNotNull($createdOrder->create_time);
+ $this->assertNotNull($createdOrder->links);
+ $foundApproveUrl = false;
+ foreach ($createdOrder->links as $link) {
+ if ("approve" === $link->rel) {
+ $foundApproveUrl = true;
+ $this->assertNotNull($link->href);
+ $this->assertEquals("GET", $link->method);
+ }
+ }
+ $this->assertTrue($foundApproveUrl);
+ $this->assertEquals("CREATED", $createdOrder->status);
+ }
+}