From 4f6311c30403443bbca8a6696978c9d35204fa8b Mon Sep 17 00:00:00 2001 From: Joeri van Veen Date: Tue, 21 Jan 2025 10:40:29 +0100 Subject: [PATCH] test: add test and update relevant snapshots --- .../Backend/Order/ExportOrderActionTest.php | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tests/Unit/App/Action/Backend/Order/ExportOrderActionTest.php b/tests/Unit/App/Action/Backend/Order/ExportOrderActionTest.php index 0f8b71937..9f71485a6 100644 --- a/tests/Unit/App/Action/Backend/Order/ExportOrderActionTest.php +++ b/tests/Unit/App/Action/Backend/Order/ExportOrderActionTest.php @@ -29,6 +29,7 @@ use MyParcelNL\Pdk\Shipment\Model\DeliveryOptions; use MyParcelNL\Pdk\Shipment\Model\RetailLocation; use MyParcelNL\Pdk\Shipment\Model\RetailLocationFactory; +use MyParcelNL\Pdk\Tests\Api\Response\ExampleGetShipmentLabelsLinkResponse; use MyParcelNL\Pdk\Tests\Api\Response\ExampleGetShipmentLabelsLinkV2Response; use MyParcelNL\Pdk\Tests\Api\Response\ExampleGetShipmentsResponse; use MyParcelNL\Pdk\Tests\Api\Response\ExamplePostOrderNotesResponse; @@ -52,6 +53,40 @@ 'order mode' => [true], ]); +dataset('action type toggle', [ + 'auto' => 'automatic', + 'manual' => 'manual', +]); + +it('remembers whether it was auto exported', function (string $actionType) { + $orderFactory = factory(PdkOrderCollection::class)->push( + factory(PdkOrder::class) + ->withDeliveryOptions( + factory(DeliveryOptions::class) + ->withCarrier(Carrier::CARRIER_UPS_NAME) + ->withDeliveryType(DeliveryOptions::DELIVERY_TYPE_EXPRESS_NAME) + ) + ->toTheNetherlands() + ); + $orders = new Collection($orderFactory->make()); + + $orderFactory->store(); + + MockApi::enqueue(new ExamplePostShipmentsResponse()); + MockApi::enqueue(new ExampleGetShipmentLabelsLinkResponse()); + MockApi::enqueue(new ExamplePostShipmentsResponse()); + MockApi::enqueue(new ExampleGetShipmentLabelsLinkResponse()); + + $response = Actions::execute(PdkBackendActions::EXPORT_ORDERS, [ + 'actionType' => $actionType, + 'orderIds' => $orders + ->pluck('externalIdentifier') + ->toArray(), + ]); + expect(json_decode($response->getContent(), false)->data->orders[0]->autoExported)->toBe('automatic' === $actionType); +}) + ->with('action type toggle'); + it('exports order', function ( bool $orderMode, CarrierSettingsFactory $carrierSettingsFactory,