From 369954548221babfc0e7db482b63306ba22d341a Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Thu, 30 Jul 2026 14:48:13 +0200 Subject: [PATCH 1/8] feat(api): send api feature flags on every request The MyParcel APIs expose feature flags as x-dmp-* headers. Which flags we send is now a single config entry, read by one support class and injected in both request layers: a Guzzle middleware for the generated SDK clients, and the header list of the legacy API service. Adding or removing a flag is a one-line config change. New settings/behaviour: the apiFeatureFlags config entry, shipping with x-dmp-no-tracking enabled, which makes the capabilities API return the noTracking option instead of the deprecated tracked one. Fixes INT-1694 Co-Authored-By: Claude Opus 5 (1M context) --- config/pdk-default.php | 8 ++ src/Api/Service/MyParcelApiService.php | 9 ++- src/Base/Support/ApiFeatureFlags.php | 41 ++++++++++ .../Middleware/FeatureFlagMiddleware.php | 48 +++++++++++ src/SdkApi/Service/AbstractSdkApiService.php | 3 + .../Api/Service/MyParcelApiServiceTest.php | 19 +++++ .../Unit/Base/Support/ApiFeatureFlagsTest.php | 40 +++++++++ .../Middleware/FeatureFlagMiddlewareTest.php | 81 +++++++++++++++++++ 8 files changed, 248 insertions(+), 1 deletion(-) create mode 100644 src/Base/Support/ApiFeatureFlags.php create mode 100644 src/SdkApi/Middleware/FeatureFlagMiddleware.php create mode 100644 tests/Unit/Base/Support/ApiFeatureFlagsTest.php create mode 100644 tests/Unit/SdkApi/Middleware/FeatureFlagMiddlewareTest.php diff --git a/config/pdk-default.php b/config/pdk-default.php index 07b5bf778..51afb6be2 100644 --- a/config/pdk-default.php +++ b/config/pdk-default.php @@ -39,6 +39,14 @@ 'printingApiUrl' => env('PDK_PRINTING_API_URL', 'https://printing.api.myparcel.nl'), 'addressesServiceUrl' => env('PDK_ADDRESSES_SERVICE_URL', 'https://address.api.myparcel.nl'), + /** + * Feature flags sent as `x-dmp-*` headers on every MyParcel API request. What a flag changes + * differs per flag, so check the overview before adding or removing one. + * + * @see https://myparcelnl.atlassian.net/wiki/spaces/MD/pages/12779590/API+feature+flags + */ + 'apiFeatureFlags' => value(['x-dmp-no-tracking']), + /** * Security settings for the proxy */ diff --git a/src/Api/Service/MyParcelApiService.php b/src/Api/Service/MyParcelApiService.php index 70ed9e999..481ccdee2 100644 --- a/src/Api/Service/MyParcelApiService.php +++ b/src/Api/Service/MyParcelApiService.php @@ -4,6 +4,7 @@ namespace MyParcelNL\Pdk\Api\Service; +use MyParcelNL\Pdk\Base\Support\ApiFeatureFlags; use MyParcelNL\Pdk\Facade\Pdk; use MyParcelNL\Pdk\Facade\Settings; use MyParcelNL\Pdk\Settings\Model\AccountSettings; @@ -16,6 +17,12 @@ class MyParcelApiService extends AbstractApiService { /** + * Headers sent on every legacy MyParcel API request. + * + * {@see AbstractApiService::doRequest()} merges these with the per-request headers, so adding the + * feature flags here covers the shipments and orders v1 endpoints in one place. That merge favours + * the per-request headers, so a request that sets the same header keeps its own value. + * * @return array */ public function getHeaders(): array @@ -23,7 +30,7 @@ public function getHeaders(): array return [ 'Authorization' => $this->getAuthorizationHeader(), 'User-Agent' => $this->getUserAgentHeader(), - ]; + ] + ApiFeatureFlags::getHeaders(); } /** diff --git a/src/Base/Support/ApiFeatureFlags.php b/src/Base/Support/ApiFeatureFlags.php new file mode 100644 index 000000000..d638c4758 --- /dev/null +++ b/src/Base/Support/ApiFeatureFlags.php @@ -0,0 +1,41 @@ + + */ + public static function getHeaders(): array + { + /** @var null|string[] $flags */ + $flags = Pdk::get('apiFeatureFlags'); + + if (empty($flags)) { + return []; + } + + return array_fill_keys($flags, 'true'); + } +} diff --git a/src/SdkApi/Middleware/FeatureFlagMiddleware.php b/src/SdkApi/Middleware/FeatureFlagMiddleware.php new file mode 100644 index 000000000..c2430b769 --- /dev/null +++ b/src/SdkApi/Middleware/FeatureFlagMiddleware.php @@ -0,0 +1,48 @@ +push(FeatureFlagMiddleware::forApiRequests()); + * $client = new Client(['handler' => $stack]); + * ``` + */ +class FeatureFlagMiddleware +{ + /** + * Create a Guzzle middleware callable that adds the feature flag headers. + * + * Follows the Guzzle double-callable middleware convention: + * the outer callable receives the next handler, the inner callable + * receives the request and options and returns a promise. + * + * @return callable(callable): callable + */ + public static function forApiRequests(): callable + { + return static function (callable $handler): callable { + return static function (RequestInterface $request, array $options) use ($handler): PromiseInterface { + foreach (ApiFeatureFlags::getHeaders() as $name => $value) { + $request = $request->withHeader($name, $value); + } + + return $handler($request, $options); + }; + }; + } +} diff --git a/src/SdkApi/Service/AbstractSdkApiService.php b/src/SdkApi/Service/AbstractSdkApiService.php index 797c081d0..09425577c 100644 --- a/src/SdkApi/Service/AbstractSdkApiService.php +++ b/src/SdkApi/Service/AbstractSdkApiService.php @@ -11,6 +11,7 @@ use MyParcelNL\Pdk\Facade\Pdk; use MyParcelNL\Pdk\Facade\Settings; use MyParcelNL\Pdk\SdkApi\Contract\SdkClientFactoryInterface; +use MyParcelNL\Pdk\SdkApi\Middleware\FeatureFlagMiddleware; use MyParcelNL\Pdk\SdkApi\Middleware\LoggingMiddleware; use MyParcelNL\Pdk\Settings\Contract\PdkSettingsRepositoryInterface; use MyParcelNL\Pdk\Settings\Model\AccountSettings; @@ -201,6 +202,8 @@ protected function createGuzzleClientHandlerStack(): HandlerStack { $stack = HandlerStack::create(); $stack->push(LoggingMiddleware::forApiRequests()); + // Pushed after logging so the logged request shows the flags that were actually sent. + $stack->push(FeatureFlagMiddleware::forApiRequests()); return $stack; } diff --git a/tests/Unit/Api/Service/MyParcelApiServiceTest.php b/tests/Unit/Api/Service/MyParcelApiServiceTest.php index f394106b7..7d3b70551 100644 --- a/tests/Unit/Api/Service/MyParcelApiServiceTest.php +++ b/tests/Unit/Api/Service/MyParcelApiServiceTest.php @@ -13,6 +13,8 @@ it('gets correct headers', function () { $pdk = MockPdkFactory::create([ 'userAgent' => value(['MyParcelNL-Platform' => '2.0.0', 'Platform' => '1.2.3']), + // No feature flags, so these are the only headers the service adds. + 'apiFeatureFlags' => value([]), ApiServiceInterface::class => get(MyParcelApiService::class), ]); @@ -30,6 +32,23 @@ ); }); +it('adds the configured feature flags to the headers', function () { + $pdk = MockPdkFactory::create([ + 'apiFeatureFlags' => value(['x-dmp-no-tracking']), + ApiServiceInterface::class => get(MyParcelApiService::class), + ]); + + /** @var \MyParcelNL\Pdk\Api\Service\MyParcelApiService $api */ + $api = $pdk->get(ApiServiceInterface::class); + + $headers = $api->getHeaders(); + + expect(array_keys($headers)) + ->toEqual(['Authorization', 'User-Agent', 'x-dmp-no-tracking']) + ->and($headers['x-dmp-no-tracking']) + ->toBe('true'); +}); + it('gets base url', function () { $pdk = MockPdkFactory::create([ 'apiUrl' => 'https://api.baseurl.com', diff --git a/tests/Unit/Base/Support/ApiFeatureFlagsTest.php b/tests/Unit/Base/Support/ApiFeatureFlagsTest.php new file mode 100644 index 000000000..44adbc69b --- /dev/null +++ b/tests/Unit/Base/Support/ApiFeatureFlagsTest.php @@ -0,0 +1,40 @@ +toBe(['x-dmp-no-tracking' => 'true']); +}); + +it('sends every configured flag', function () { + mockPdkProperty('apiFeatureFlags', ['x-dmp-no-tracking', 'x-dmp-other-behaviour']); + + expect(ApiFeatureFlags::getHeaders())->toBe([ + 'x-dmp-no-tracking' => 'true', + 'x-dmp-other-behaviour' => 'true', + ]); +}); + +it('returns no headers when no flags are configured', function () { + mockPdkProperty('apiFeatureFlags', []); + + expect(ApiFeatureFlags::getHeaders())->toBe([]); +}); + +it('returns no headers when the config entry is missing', function () { + mockPdkProperty('apiFeatureFlags', null); + + expect(ApiFeatureFlags::getHeaders())->toBe([]); +}); diff --git a/tests/Unit/SdkApi/Middleware/FeatureFlagMiddlewareTest.php b/tests/Unit/SdkApi/Middleware/FeatureFlagMiddlewareTest.php new file mode 100644 index 000000000..efdcf214f --- /dev/null +++ b/tests/Unit/SdkApi/Middleware/FeatureFlagMiddlewareTest.php @@ -0,0 +1,81 @@ +push(FeatureFlagMiddleware::forApiRequests()); + + return [new Client(['handler' => $stack]), $mock]; +} + +it('forApiRequests returns a callable', function () { + expect(FeatureFlagMiddleware::forApiRequests())->toBeCallable(); +}); + +it('adds the configured flag headers to the request', function () { + mockPdkProperty('apiFeatureFlags', ['x-dmp-no-tracking']); + + [$client, $mock] = makeFeatureFlagClient(); + $mock->append(new Response(200, [], '{}')); + + $client->get('https://api.myparcel.nl/test'); + + expect($mock->getLastRequest()->getHeaderLine('x-dmp-no-tracking'))->toBe('true'); +}); + +it('adds every configured flag header', function () { + mockPdkProperty('apiFeatureFlags', ['x-dmp-no-tracking', 'x-dmp-other-behaviour']); + + [$client, $mock] = makeFeatureFlagClient(); + $mock->append(new Response(200, [], '{}')); + + $client->get('https://api.myparcel.nl/test'); + + expect($mock->getLastRequest()->getHeaderLine('x-dmp-no-tracking'))->toBe('true') + ->and($mock->getLastRequest()->getHeaderLine('x-dmp-other-behaviour'))->toBe('true'); +}); + +it('leaves the request untouched when no flags are configured', function () { + mockPdkProperty('apiFeatureFlags', []); + + [$client, $mock] = makeFeatureFlagClient(); + $mock->append(new Response(200, [], '{}')); + + $client->get('https://api.myparcel.nl/test'); + + expect($mock->getLastRequest()->hasHeader('x-dmp-no-tracking'))->toBeFalse(); +}); + +it('keeps headers the request already had', function () { + mockPdkProperty('apiFeatureFlags', ['x-dmp-no-tracking']); + + [$client, $mock] = makeFeatureFlagClient(); + $mock->append(new Response(200, [], '{}')); + + $client->get('https://api.myparcel.nl/test', ['headers' => ['Authorization' => 'bearer abc']]); + + expect($mock->getLastRequest()->getHeaderLine('Authorization'))->toBe('bearer abc') + ->and($mock->getLastRequest()->getHeaderLine('x-dmp-no-tracking'))->toBe('true'); +}); From 997f4c5dde4e7a4fbdd3a7e4039be6a9652eddf7 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Thu, 30 Jul 2026 16:09:43 +0200 Subject: [PATCH 2/8] feat(options): replace the tracked option with no tracking The API is retiring the tracked shipment option in favour of its inverse, no tracking. Tracking is the default wherever a carrier supports it, so the option now only expresses an explicit opt-out: it goes to the orders API as an empty object when a merchant switched it on, and is omitted otherwise. Swapping the entry in the order option definitions is what drives this: carrier settings, product settings, shipment options and both settings views all derive their keys from that registry. The option is offered per carrier and per product wherever capabilities allow it, and is no longer tied to holding a small package contract or to the international mailbox setting, which was carrier-specific reasoning the PDK should not carry. It still cannot be given a surcharge, and consumers still cannot choose it in the checkout. Requires SDK 11.0.0-beta.31, the first release carrying no_tracking on the shipment options model. Renames to pick up when upgrading, converted for merchants by the plugin migrations: - TrackedDefinition is removed, use NoTrackingDefinition - CarrierSettings::$exportTracked is now $exportNoTracking, with the inverse meaning - ProductSettings::$exportTracked is now $exportNoTracking, with the inverse meaning - ShipmentOptions::$tracked is now $noTracking, with the inverse meaning Fixes INT-1694 Co-Authored-By: Claude Opus 5 (1M context) --- composer.json | 4 +- config/pdk-business-logic.php | 4 +- .../Resource/DeliveryOptionsV1Resource.php | 11 +- .../Definition/NoTrackingDefinition.php | 44 ++++++ .../Options/Definition/TrackedDefinition.php | 32 ----- src/Frontend/View/CarrierSettingsItemView.php | 12 -- src/Settings/Model/CarrierSettings.php | 2 +- src/Settings/Model/ProductSettings.php | 2 +- .../MockCarrierCapabilitiesRepository.php | 2 +- .../ExampleContractDefinitionsResponse.php | 1 - .../Account/UpdateAccountActionTest.php | 4 +- .../UpdateProductSettingsActionTest.php | 4 +- .../DeliveryOptionsV1ResourceTest.php | 84 +++++------- .../Definition/NoTrackingDefinitionTest.php | 33 +++++ .../Context/Model/OrderDataContextTest.php | 6 +- .../Fulfilment/Model/ShipmentOptionsTest.php | 2 +- .../Model/Options/DeliveryOptionsTest.php | 2 +- .../Model/Options/ShipmentOptionsTest.php | 12 +- ...etrieves_all_categories_and_fields__1.json | 6 +- ...untTest__it_creates_storable_array__1.json | 32 ++--- ...data_with_data_set_multiple_orders__1.json | 72 +++++----- ...ta_with_data_set_multiple_products__1.json | 8 +- ...xt_data_with_data_set_single_order__1.json | 36 ++--- ..._data_with_data_set_single_product__1.json | 4 +- ..._data_set_simple_domestic_shipment__1.json | 6 +- ...rts_return_with_data_set_insurance__1.json | 88 ++++++------ ...th_data_set_no_return_capabilities__1.json | 88 ++++++------ ...return_with_data_set_simple_orders__1.json | 92 ++++++------- ...th_data_set_child_product_settings__1.json | 8 +- ...omponent_with_data_set_init_script__1.json | 128 +++++++++--------- ..._component_with_data_set_order_box__1.json | 36 ++--- ...nt_with_data_set_order_list_column__1.json | 36 ++--- ...nent_with_data_set_plugin_settings__1.json | 96 ++++++------- ...ent_with_data_set_product_settings__1.json | 10 +- ...dk_order_with_data_set_empty_order__1.json | 4 +- ...with_data_set_order_with_shipments__1.json | 4 +- ...h_data_set_order_without_shipments__1.json | 4 +- ...ta_set_carrier_GLS_custom_contract__1.json | 2 +- ...th_data_set_carrier_GLS_to_Germany__1.json | 2 +- ...ata_set_carrier_GLS_to_Netherlands__1.json | 2 +- ...ata_set_carrier_GLS_with_insurance__1.json | 2 +- ...carrier_GLS_with_saturday_delivery__1.json | 2 +- ...th_data_set_carrier_UPS_to_Belgium__1.json | 2 +- ...carrier_UPS_to_Netherlands_express__1.json | 2 +- ..._with_data_set_carrier_dhl_for_you__1.json | 2 +- ...e_array_with_data_set_single_order__1.json | 2 +- ..._data_set_various_delivery_options__1.json | 6 +- ...e_order_containing_many_attributes__1.json | 8 +- ...ith_data_set_one_order_with_pickup__1.json | 8 +- ...e_order_containing_many_attributes__1.json | 2 +- ...ith_data_set_one_order_with_pickup__1.json | 2 +- ...order_collection_from_queried_data__1.json | 4 +- ...data_with_data_set_normal_shipment__1.json | 6 +- ...th_data_set_shipment_with_contract__1.json | 6 +- ...a_set_shipment_with_drop-off_point__1.json | 6 +- ...with_data_set_shipment_with_pickup__1.json | 6 +- ...t_order_containing_many_attributes__1.json | 2 +- ...ta_with_data_set_order_with_pickup__1.json | 2 +- ...iew_with_data_set_carrier_settings__1.json | 96 ++++++------- ...iew_with_data_set_product_settings__1.json | 6 +- ...pment_with_data_set_empty_shipment__1.json | 4 +- ...data_set_shipment_with_all_options__1.json | 4 +- ...ent_when_no_pdk_shipment_is_passed__1.json | 2 +- ...tsActionTest__it_updates_shipments__1.json | 2 +- 64 files changed, 613 insertions(+), 596 deletions(-) create mode 100644 src/App/Options/Definition/NoTrackingDefinition.php delete mode 100644 src/App/Options/Definition/TrackedDefinition.php create mode 100644 tests/Unit/App/Options/Definition/NoTrackingDefinitionTest.php diff --git a/composer.json b/composer.json index fe68c6d0a..1422e3acf 100644 --- a/composer.json +++ b/composer.json @@ -8,7 +8,7 @@ "require": { "ext-zip": "*", "fruitcake/php-cors": "^1.2", - "myparcelnl/sdk": "^11.0.0-beta.30@beta", + "myparcelnl/sdk": "^11.0.0-beta.31@beta", "php": ">=7.4.0", "php-di/php-di": "^6.0.0", "psr/log": "^1.0.0 || ^2.0.0 || ^3.0.0", @@ -77,4 +77,4 @@ "pestphp/pest-plugin": true } } -} \ No newline at end of file +} diff --git a/config/pdk-business-logic.php b/config/pdk-business-logic.php index f657b7c41..b4a3baa8a 100644 --- a/config/pdk-business-logic.php +++ b/config/pdk-business-logic.php @@ -17,7 +17,7 @@ use MyParcelNL\Pdk\App\Options\Definition\SameDayDeliveryDefinition; use MyParcelNL\Pdk\App\Options\Definition\SaturdayDeliveryDefinition; use MyParcelNL\Pdk\App\Options\Definition\SignatureDefinition; -use MyParcelNL\Pdk\App\Options\Definition\TrackedDefinition; +use MyParcelNL\Pdk\App\Options\Definition\NoTrackingDefinition; use MyParcelNL\Pdk\App\Order\Calculator\General\CapabilitiesDeliveryTypeCalculator; use MyParcelNL\Pdk\App\Order\Calculator\General\CapabilitiesOptionCalculator; use MyParcelNL\Pdk\App\Order\Calculator\General\CapabilitiesPackageTypeCalculator; @@ -77,7 +77,7 @@ new SameDayDeliveryDefinition(), new SaturdayDeliveryDefinition(), new SignatureDefinition(), - new TrackedDefinition(), + new NoTrackingDefinition(), new ReceiptCodeDefinition(), new CollectDefinition(), new ExcludeParcelLockersDefinition(), diff --git a/src/App/Endpoint/Resource/DeliveryOptionsV1Resource.php b/src/App/Endpoint/Resource/DeliveryOptionsV1Resource.php index 6965bd506..86bbf7832 100644 --- a/src/App/Endpoint/Resource/DeliveryOptionsV1Resource.php +++ b/src/App/Endpoint/Resource/DeliveryOptionsV1Resource.php @@ -18,7 +18,7 @@ use MyParcelNL\Pdk\App\Options\Definition\SameDayDeliveryDefinition; use MyParcelNL\Pdk\App\Options\Definition\SaturdayDeliveryDefinition; use MyParcelNL\Pdk\App\Options\Definition\SignatureDefinition; -use MyParcelNL\Pdk\App\Options\Definition\TrackedDefinition; +use MyParcelNL\Pdk\App\Options\Definition\NoTrackingDefinition; use MyParcelNL\Pdk\Base\Model\Currency; use MyParcelNL\Pdk\Carrier\Model\Carrier; use MyParcelNL\Pdk\Facade\Logger; @@ -85,13 +85,12 @@ private static function formatShipmentOptions(ShipmentOptions $shipmentOptions): $orderApiShipmentOptions = ModelShipmentOptions::attributeMap(); /* - * Handle the inversion of tracked to no_tracking - * New tracking implementation: When tracked option is not present or explicitly enabled we do nothing (tracking is enabled by default in the order service) - * Only when tracking is explicitly disabled we include the "noTracking" option with an ADR-0013 compliant empty object as value + * Tracking is enabled by default in the order service, so the key is only sent when a merchant + * explicitly opted out. The value is an ADR-0013 compliant empty object. */ - $trackedKey = (new TrackedDefinition())->getShipmentOptionsKey(); + $noTrackingKey = (new NoTrackingDefinition())->getShipmentOptionsKey(); - if ($shipmentOptions->{$trackedKey} === TriStateService::DISABLED) { + if ($shipmentOptions->{$noTrackingKey} === TriStateService::ENABLED) { $formattedOptions[$orderApiShipmentOptions['no_tracking']] = new ArrayObject(); } diff --git a/src/App/Options/Definition/NoTrackingDefinition.php b/src/App/Options/Definition/NoTrackingDefinition.php new file mode 100644 index 000000000..659e02996 --- /dev/null +++ b/src/App/Options/Definition/NoTrackingDefinition.php @@ -0,0 +1,44 @@ +carrierValidationService->supportsShipmentOption($this->carrier, TrackedDefinition::class) && AccountSettings::hasCarrierSmallPackageContract()) { - $trackedElement = (new InteractiveElement((new TrackedDefinition())->getCarrierSettingsKey(), Components::INPUT_TOGGLE)) - ->builder(function (FormOperationBuilder $builder) use ($allowInternationalMailboxKey) { - $builder->visibleWhen($allowInternationalMailboxKey); - }); - $this->makeReadOnlyWhenRequired($trackedElement, 'tracked'); - $fields[] = $trackedElement; - } - return $fields; } diff --git a/src/Settings/Model/CarrierSettings.php b/src/Settings/Model/CarrierSettings.php index 79a669bef..bb9b70d7c 100644 --- a/src/Settings/Model/CarrierSettings.php +++ b/src/Settings/Model/CarrierSettings.php @@ -48,7 +48,7 @@ * @property int<-1|0|1> $exportReturn * @property int<-1|0|1> $exportReturnLargeFormat * @property int<-1|0|1> $exportSignature - * @property int<-1|0|1> $exportTracked + * @property int<-1|0|1> $exportNoTracking * @property int<-1|0|1> $exportCollect * @property int<-1|0|1> $exportFreshFood * @property int<-1|0|1> $exportFrozen diff --git a/src/Settings/Model/ProductSettings.php b/src/Settings/Model/ProductSettings.php index 13d1e7b1e..c13cb2d02 100644 --- a/src/Settings/Model/ProductSettings.php +++ b/src/Settings/Model/ProductSettings.php @@ -21,7 +21,7 @@ * @property int<-1|0|1> $exportOnlyRecipient * @property int<-1|0|1> $exportReturn * @property int<-1|0|1> $exportSignature - * @property int<-1|0|1> $exportTracked + * @property int<-1|0|1> $exportNoTracking * @property int $fitInDigitalStamp * @property int $fitInMailbox * @property int<-1>|string $packageType diff --git a/tests/Bootstrap/MockCarrierCapabilitiesRepository.php b/tests/Bootstrap/MockCarrierCapabilitiesRepository.php index 4bad4cdc6..4ddc5b9eb 100644 --- a/tests/Bootstrap/MockCarrierCapabilitiesRepository.php +++ b/tests/Bootstrap/MockCarrierCapabilitiesRepository.php @@ -113,7 +113,7 @@ private function buildPermissiveCapabilities(string $carrierName): array 'returnOnFirstFailedDelivery' => $option, 'sameDayDelivery' => $option, 'saturdayDelivery' => $option, - 'tracked' => $option, + 'noTracking' => $option, 'insurance' => array_merge($option, [ 'insuredAmount' => $this->resolveInsuredAmountFromCarrier($carrierName), ]), diff --git a/tests/SdkApi/Response/ExampleContractDefinitionsResponse.php b/tests/SdkApi/Response/ExampleContractDefinitionsResponse.php index 02cf7bcbe..cc2a9795b 100644 --- a/tests/SdkApi/Response/ExampleContractDefinitionsResponse.php +++ b/tests/SdkApi/Response/ExampleContractDefinitionsResponse.php @@ -77,7 +77,6 @@ protected function getDefaultItems(): array 'returnOnFirstFailedDelivery' => ['isSelectedByDefault' => false, 'isRequired' => false], 'requiresSignature' => ['isSelectedByDefault' => false, 'isRequired' => false], 'noTracking' => ['isSelectedByDefault' => false, 'isRequired' => false], - 'tracked' => ['isSelectedByDefault' => false, 'isRequired' => false], // Tracked is deprecated but may still be included in the response ], 'collo' => ['max' => 10], ], diff --git a/tests/Unit/App/Action/Backend/Account/UpdateAccountActionTest.php b/tests/Unit/App/Action/Backend/Account/UpdateAccountActionTest.php index ba214645d..5a5469e24 100644 --- a/tests/Unit/App/Action/Backend/Account/UpdateAccountActionTest.php +++ b/tests/Unit/App/Action/Backend/Account/UpdateAccountActionTest.php @@ -154,8 +154,8 @@ function executeUpdateAccount( expect($options->getReturnOnFirstFailedDelivery()->getIsSelectedByDefault())->toBeFalse(); expect($options->getReturnOnFirstFailedDelivery()->getIsRequired())->toBeFalse(); - expect($options->getTracked()->getIsSelectedByDefault())->toBeFalse(); - expect($options->getTracked()->getIsRequired())->toBeFalse(); + expect($options->getNoTracking()->getIsSelectedByDefault())->toBeFalse(); + expect($options->getNoTracking()->getIsRequired())->toBeFalse(); $insurance = $options->getInsurance(); expect($insurance->getIsSelectedByDefault())->toBeFalse(); diff --git a/tests/Unit/App/Action/Backend/Settings/UpdateProductSettingsActionTest.php b/tests/Unit/App/Action/Backend/Settings/UpdateProductSettingsActionTest.php index 61d3f889d..1e33cdc72 100644 --- a/tests/Unit/App/Action/Backend/Settings/UpdateProductSettingsActionTest.php +++ b/tests/Unit/App/Action/Backend/Settings/UpdateProductSettingsActionTest.php @@ -13,7 +13,7 @@ use MyParcelNL\Pdk\App\Options\Definition\LargeFormatDefinition; use MyParcelNL\Pdk\App\Options\Definition\OnlyRecipientDefinition; use MyParcelNL\Pdk\App\Options\Definition\SignatureDefinition; -use MyParcelNL\Pdk\App\Options\Definition\TrackedDefinition; +use MyParcelNL\Pdk\App\Options\Definition\NoTrackingDefinition; use MyParcelNL\Pdk\Base\Support\Arr; use MyParcelNL\Pdk\Facade\Actions; use MyParcelNL\Pdk\Settings\Model\ProductSettings; @@ -70,7 +70,7 @@ (new OnlyRecipientDefinition())->getProductSettingsKey() => TriStateService::ENABLED, (new DirectReturnDefinition())->getProductSettingsKey() => TriStateService::ENABLED, (new SignatureDefinition())->getProductSettingsKey() => TriStateService::ENABLED, - (new TrackedDefinition())->getProductSettingsKey() => TriStateService::ENABLED, + (new NoTrackingDefinition())->getProductSettingsKey() => TriStateService::ENABLED, ProductSettings::FIT_IN_DIGITAL_STAMP => TriStateService::ENABLED, ProductSettings::FIT_IN_MAILBOX => 10, ProductSettings::PACKAGE_TYPE => DeliveryOptions::PACKAGE_TYPE_MAILBOX_NAME, diff --git a/tests/Unit/App/Endpoint/Resource/DeliveryOptionsV1ResourceTest.php b/tests/Unit/App/Endpoint/Resource/DeliveryOptionsV1ResourceTest.php index e9e6ea8dc..dbc65e36a 100644 --- a/tests/Unit/App/Endpoint/Resource/DeliveryOptionsV1ResourceTest.php +++ b/tests/Unit/App/Endpoint/Resource/DeliveryOptionsV1ResourceTest.php @@ -315,56 +315,10 @@ ->not()->toHaveKey('labelDescription'); }); -it('handles tracked option with inverted no_tracking logic when disabled', function () { - $shipmentOptions = new ShipmentOptions([ - 'tracked' => TriStateService::DISABLED, - 'signature' => TriStateService::ENABLED, - ]); - - $deliveryOptions = new DeliveryOptions(['shipmentOptions' => $shipmentOptions]); - $resource = new DeliveryOptionsV1Resource($deliveryOptions); - $result = $resource->format(); - - // When tracked is disabled, no_tracking should be present - expect($result['shipmentOptions']) - ->toHaveKey('noTracking') - ->toHaveKey('requiresSignature') - ->not()->toHaveKey('tracked'); - - expect($result['shipmentOptions']['noTracking'])->toBeInstanceOf(ArrayObject::class); -}); - -it('handles tracked option when enabled by not including no_tracking', function () { - $shipmentOptions = new ShipmentOptions([ - 'tracked' => TriStateService::ENABLED, - 'signature' => TriStateService::ENABLED, - ]); +it('never sends the retired tracked option', function () { + $options = formatWithNoTracking(TriStateService::ENABLED); - $deliveryOptions = new DeliveryOptions(['shipmentOptions' => $shipmentOptions]); - $resource = new DeliveryOptionsV1Resource($deliveryOptions); - $result = $resource->format(); - - // When tracked is enabled, no_tracking should NOT be present - expect($result['shipmentOptions']) - ->not()->toHaveKey('noTracking') - ->not()->toHaveKey('tracked') - ->toHaveKey('requiresSignature'); -}); - -it('handles tracked option when not set by not including no_tracking', function () { - $shipmentOptions = new ShipmentOptions([ - 'signature' => TriStateService::ENABLED, - ]); - - $deliveryOptions = new DeliveryOptions(['shipmentOptions' => $shipmentOptions]); - $resource = new DeliveryOptionsV1Resource($deliveryOptions); - $result = $resource->format(); - - // When tracked is not set, no_tracking should NOT be present (tracking enabled by default) - expect($result['shipmentOptions']) - ->not()->toHaveKey('noTracking') - ->not()->toHaveKey('tracked') - ->toHaveKey('requiresSignature'); + expect($options)->not->toHaveKey('tracked'); }); it('maps all supported shipment options correctly', function () { @@ -404,3 +358,35 @@ expect($value)->toBeInstanceOf(ArrayObject::class, "Expected {$key} to be an ArrayObject"); } }); + +/** + * Tracking is the default wherever the carrier supports it, so noTracking is only ever sent as an + * explicit opt-out. Getting the direction of this wrong would silently disable tracking for every + * merchant, hence a case per tri-state value. + */ +function formatWithNoTracking(int $noTracking): array +{ + $deliveryOptions = new DeliveryOptions([ + 'carrier' => factory(Carrier::class)->withCarrier('POSTNL')->make(), + 'packageType' => 'package', + 'deliveryType' => 'standard', + 'shipmentOptions' => new ShipmentOptions(['noTracking' => $noTracking]), + ]); + + return (new DeliveryOptionsV1Resource($deliveryOptions))->format()['shipmentOptions']; +} + +it('omits no tracking when the option is not set', function () { + expect(formatWithNoTracking(TriStateService::INHERIT))->not->toHaveKey('noTracking'); +}); + +it('omits no tracking when the merchant wants tracking', function () { + expect(formatWithNoTracking(TriStateService::DISABLED))->not->toHaveKey('noTracking'); +}); + +it('sends an empty object when the merchant opts out of tracking', function () { + $options = formatWithNoTracking(TriStateService::ENABLED); + + expect($options)->toHaveKey('noTracking') + ->and($options['noTracking'])->toBeInstanceOf(ArrayObject::class); +}); diff --git a/tests/Unit/App/Options/Definition/NoTrackingDefinitionTest.php b/tests/Unit/App/Options/Definition/NoTrackingDefinitionTest.php new file mode 100644 index 000000000..6b9f08e12 --- /dev/null +++ b/tests/Unit/App/Options/Definition/NoTrackingDefinitionTest.php @@ -0,0 +1,33 @@ +getShipmentOptionsKey())->toBe('noTracking'); +}); + +it('maps to the no tracking capabilities option', function () { + expect((new NoTrackingDefinition())->getCapabilitiesOptionsKey())->toBe('noTracking'); +}); + +it('cannot be given a surcharge or a consumer toggle', function () { + // Not tracking is cheaper than tracking, so a surcharge would mean entering a negative price. + // The consumer must not be able to switch it off in the checkout either. + $definition = new NoTrackingDefinition(); + + expect($definition->getPriceSettingsKey())->toBeNull() + ->and($definition->getAllowSettingsKey())->toBeNull(); +}); + +it('can be set per carrier and per product', function () { + // Both keys are inherited from AbstractOrderOptionDefinition. Returning null there would opt the + // option out of that settings level, so these assertions guard the carrier default and the + // per-product override that mirror the old tracked setting. + $definition = new NoTrackingDefinition(); + + expect($definition->getCarrierSettingsKey())->toBe('exportNoTracking') + ->and($definition->getProductSettingsKey())->toBe('exportNoTracking'); +}); diff --git a/tests/Unit/Context/Model/OrderDataContextTest.php b/tests/Unit/Context/Model/OrderDataContextTest.php index 383db0e4b..f0fab8076 100644 --- a/tests/Unit/Context/Model/OrderDataContextTest.php +++ b/tests/Unit/Context/Model/OrderDataContextTest.php @@ -91,7 +91,7 @@ function setup(): void 'returnOnFirstFailedDelivery' => TriStateService::ENABLED, 'sameDayDelivery' => TriStateService::INHERIT, 'requiresSignature' => TriStateService::INHERIT, - 'tracked' => TriStateService::INHERIT, + 'noTracking' => TriStateService::INHERIT, 'requiresReceiptCode' => TriStateService::INHERIT, 'scheduledCollection' => TriStateService::INHERIT, 'freshFood' => TriStateService::INHERIT, @@ -118,7 +118,7 @@ function setup(): void // Enabled by carrier 'requiresSignature' => TriStateService::ENABLED, // Disabled by default - 'tracked' => TriStateService::DISABLED, + 'noTracking' => TriStateService::DISABLED, 'requiresReceiptCode' => TriStateService::DISABLED, 'scheduledCollection' => TriStateService::DISABLED, 'freshFood' => TriStateService::DISABLED, @@ -143,7 +143,7 @@ function setup(): void 'returnOnFirstFailedDelivery' => TriStateService::DISABLED, 'sameDayDelivery' => TriStateService::DISABLED, 'requiresSignature' => TriStateService::DISABLED, - 'tracked' => TriStateService::DISABLED, + 'noTracking' => TriStateService::DISABLED, 'requiresReceiptCode' => TriStateService::DISABLED, 'scheduledCollection' => TriStateService::DISABLED, 'freshFood' => TriStateService::DISABLED, diff --git a/tests/Unit/Fulfilment/Model/ShipmentOptionsTest.php b/tests/Unit/Fulfilment/Model/ShipmentOptionsTest.php index 392c552c8..873f8a54c 100644 --- a/tests/Unit/Fulfilment/Model/ShipmentOptionsTest.php +++ b/tests/Unit/Fulfilment/Model/ShipmentOptionsTest.php @@ -42,7 +42,7 @@ 'saturdayDelivery' => false, 'signature' => true, 'receiptCode' => true, - 'tracked' => false, + 'noTracking' => false, 'freshFood' => false, 'frozen' => false, ]); diff --git a/tests/Unit/Shipment/Model/Options/DeliveryOptionsTest.php b/tests/Unit/Shipment/Model/Options/DeliveryOptionsTest.php index 23e196f42..254e6f9c3 100644 --- a/tests/Unit/Shipment/Model/Options/DeliveryOptionsTest.php +++ b/tests/Unit/Shipment/Model/Options/DeliveryOptionsTest.php @@ -81,7 +81,7 @@ 'return' => TriStateService::ENABLED, 'sameDayDelivery' => TriStateService::ENABLED, 'signature' => TriStateService::ENABLED, - 'tracked' => TriStateService::INHERIT, + 'noTracking' => TriStateService::INHERIT, 'receiptCode' => TriStateService::ENABLED, 'collect' => TriStateService::ENABLED, 'priorityDelivery' => TriStateService::ENABLED, diff --git a/tests/Unit/Shipment/Model/Options/ShipmentOptionsTest.php b/tests/Unit/Shipment/Model/Options/ShipmentOptionsTest.php index 155f98775..9de137db6 100644 --- a/tests/Unit/Shipment/Model/Options/ShipmentOptionsTest.php +++ b/tests/Unit/Shipment/Model/Options/ShipmentOptionsTest.php @@ -13,14 +13,14 @@ usesShared(new UsesMockPdkInstance()); it('fromCapabilitiesDefinitions preserves values when capabilities key matches model key', function () { - // When the capabilities key and model key are the same (e.g. 'tracked', 'insurance'), + // When the capabilities key and model key are the same (e.g. 'noTracking', 'insurance'), // fromCapabilitiesDefinitions must not lose the value. $result = ShipmentOptions::fromCapabilitiesDefinitions([ - 'tracked' => TriStateService::DISABLED, + 'noTracking' => TriStateService::DISABLED, 'insurance' => TriStateService::DISABLED, ]); - expect($result->tracked)->toBe(TriStateService::DISABLED) + expect($result->noTracking)->toBe(TriStateService::DISABLED) ->and($result->insurance)->toBe(TriStateService::DISABLED); }); @@ -38,12 +38,12 @@ // Simulate merge of existing order shipmentOptions (model keys) with request data (capability keys) $existingOptions = [ 'signature' => TriStateService::ENABLED, - 'tracked' => TriStateService::INHERIT, + 'noTracking' => TriStateService::INHERIT, ]; $requestOptions = [ 'requiresSignature' => TriStateService::DISABLED, - 'tracked' => TriStateService::DISABLED, + 'noTracking' => TriStateService::DISABLED, 'insurance' => TriStateService::INHERIT, ]; @@ -54,7 +54,7 @@ // requiresSignature:0 → mapped to signature, overwriting existing 1 expect($result->signature)->toBe(TriStateService::DISABLED) // tracked:0 → same key as model, must not be lost - ->and($result->tracked)->toBe(TriStateService::DISABLED) + ->and($result->noTracking)->toBe(TriStateService::DISABLED) // insurance:-1 → same key as model, must not be lost ->and($result->insurance)->toBe(TriStateService::INHERIT); }); diff --git a/tests/__snapshots__/AbstractSettingsRepositoryTest__it_retrieves_all_categories_and_fields__1.json b/tests/__snapshots__/AbstractSettingsRepositoryTest__it_retrieves_all_categories_and_fields__1.json index 9820c1f28..1d619acea 100644 --- a/tests/__snapshots__/AbstractSettingsRepositoryTest__it_retrieves_all_categories_and_fields__1.json +++ b/tests/__snapshots__/AbstractSettingsRepositoryTest__it_retrieves_all_categories_and_fields__1.json @@ -65,7 +65,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "exportReceiptCode": -1, "exportCollect": -1, "exportFreshFood": -1, @@ -135,7 +135,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "exportReceiptCode": -1, "exportCollect": -1, "exportFreshFood": -1, @@ -205,7 +205,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "exportReceiptCode": -1, "exportCollect": -1, "exportFreshFood": -1, diff --git a/tests/__snapshots__/AccountTest__it_creates_storable_array__1.json b/tests/__snapshots__/AccountTest__it_creates_storable_array__1.json index f9f8e9ce6..f41f18986 100644 --- a/tests/__snapshots__/AccountTest__it_creates_storable_array__1.json +++ b/tests/__snapshots__/AccountTest__it_creates_storable_array__1.json @@ -40,6 +40,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -50,7 +51,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -96,6 +96,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -106,7 +107,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -152,6 +152,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -162,7 +163,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -208,6 +208,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -218,7 +219,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -264,6 +264,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -274,7 +275,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -320,6 +320,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -330,7 +331,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -376,6 +376,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -386,7 +387,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -432,6 +432,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -442,7 +443,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -488,6 +488,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -498,7 +499,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -544,6 +544,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -554,7 +555,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -600,6 +600,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -610,7 +611,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -656,6 +656,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -666,7 +667,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -712,6 +712,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -722,7 +723,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -768,6 +768,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -778,7 +779,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -824,6 +824,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -834,7 +835,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -880,6 +880,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -890,7 +891,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { diff --git a/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_multiple_orders__1.json b/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_multiple_orders__1.json index 86f952f5f..5641443ec 100644 --- a/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_multiple_orders__1.json +++ b/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_multiple_orders__1.json @@ -18,6 +18,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -28,7 +29,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -71,7 +71,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "requiresSignature": -1, - "tracked": -1, + "noTracking": -1, "requiresReceiptCode": -1, "scheduledCollection": -1, "freshFood": -1, @@ -115,7 +115,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -137,7 +137,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -159,7 +159,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -181,7 +181,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -203,7 +203,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -225,7 +225,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -247,7 +247,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -269,7 +269,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -291,7 +291,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -313,7 +313,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -335,7 +335,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -357,7 +357,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -379,7 +379,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -401,7 +401,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -423,7 +423,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -445,7 +445,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -496,6 +496,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -506,7 +507,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -549,7 +549,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "requiresSignature": -1, - "tracked": -1, + "noTracking": -1, "requiresReceiptCode": -1, "scheduledCollection": -1, "freshFood": -1, @@ -593,7 +593,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -615,7 +615,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -637,7 +637,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -659,7 +659,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -681,7 +681,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -703,7 +703,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -725,7 +725,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -747,7 +747,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -769,7 +769,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -791,7 +791,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -813,7 +813,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -835,7 +835,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -857,7 +857,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -879,7 +879,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -901,7 +901,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -923,7 +923,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, diff --git a/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_multiple_products__1.json b/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_multiple_products__1.json index 1aa0e9ae1..6fc0d3d01 100644 --- a/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_multiple_products__1.json +++ b/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_multiple_products__1.json @@ -16,7 +16,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -38,7 +38,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -68,7 +68,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -90,7 +90,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, diff --git a/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_single_order__1.json b/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_single_order__1.json index c6663ec17..d6eff9490 100644 --- a/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_single_order__1.json +++ b/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_single_order__1.json @@ -18,6 +18,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -28,7 +29,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -71,7 +71,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "requiresSignature": -1, - "tracked": -1, + "noTracking": -1, "requiresReceiptCode": -1, "scheduledCollection": -1, "freshFood": -1, @@ -115,7 +115,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -137,7 +137,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -159,7 +159,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -181,7 +181,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -203,7 +203,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -225,7 +225,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -247,7 +247,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -269,7 +269,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -291,7 +291,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -313,7 +313,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -335,7 +335,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -357,7 +357,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -379,7 +379,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -401,7 +401,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -423,7 +423,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -445,7 +445,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, diff --git a/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_single_product__1.json b/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_single_product__1.json index 45c68f003..edaeece92 100644 --- a/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_single_product__1.json +++ b/tests/__snapshots__/ContextServiceTest__it_gets_context_data_with_data_set_single_product__1.json @@ -16,7 +16,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -38,7 +38,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, diff --git a/tests/__snapshots__/CreateReturnShipmentsTest__it_creates_return_shipment_with_data_set_simple_domestic_shipment__1.json b/tests/__snapshots__/CreateReturnShipmentsTest__it_creates_return_shipment_with_data_set_simple_domestic_shipment__1.json index 989f5c3d8..3b918ae8a 100644 --- a/tests/__snapshots__/CreateReturnShipmentsTest__it_creates_return_shipment_with_data_set_simple_domestic_shipment__1.json +++ b/tests/__snapshots__/CreateReturnShipmentsTest__it_creates_return_shipment_with_data_set_simple_domestic_shipment__1.json @@ -21,6 +21,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -31,7 +32,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -98,6 +98,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -108,7 +109,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -151,7 +151,7 @@ "sameDayDelivery": -1, "saturdayDelivery": 0, "signature": 0, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": 0, "freshFood": -1, diff --git a/tests/__snapshots__/ExportReturnActionTest__it_exports_return_with_data_set_insurance__1.json b/tests/__snapshots__/ExportReturnActionTest__it_exports_return_with_data_set_insurance__1.json index 602d849ef..184eef4e9 100644 --- a/tests/__snapshots__/ExportReturnActionTest__it_exports_return_with_data_set_insurance__1.json +++ b/tests/__snapshots__/ExportReturnActionTest__it_exports_return_with_data_set_insurance__1.json @@ -19,6 +19,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -29,7 +30,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -72,7 +72,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "requiresSignature": -1, - "tracked": -1, + "noTracking": -1, "requiresReceiptCode": -1, "scheduledCollection": -1, "freshFood": -1, @@ -124,6 +124,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -134,7 +135,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -183,6 +183,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -193,7 +194,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -236,7 +236,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": -1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, @@ -273,6 +273,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -283,7 +284,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -332,6 +332,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -342,7 +343,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -385,7 +385,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": -1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, @@ -447,7 +447,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -469,7 +469,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -511,7 +511,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -533,7 +533,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -555,7 +555,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -577,7 +577,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -599,7 +599,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -621,7 +621,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -643,7 +643,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -665,7 +665,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -687,7 +687,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -709,7 +709,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -731,7 +731,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -753,7 +753,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -775,7 +775,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -797,7 +797,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -819,7 +819,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -841,7 +841,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -892,6 +892,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -902,7 +903,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -945,7 +945,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "requiresSignature": -1, - "tracked": -1, + "noTracking": -1, "requiresReceiptCode": -1, "scheduledCollection": -1, "freshFood": -1, @@ -989,7 +989,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1011,7 +1011,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1033,7 +1033,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1055,7 +1055,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1077,7 +1077,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1099,7 +1099,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1121,7 +1121,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1143,7 +1143,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1165,7 +1165,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1187,7 +1187,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1209,7 +1209,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1231,7 +1231,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1253,7 +1253,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1275,7 +1275,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1297,7 +1297,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1319,7 +1319,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, diff --git a/tests/__snapshots__/ExportReturnActionTest__it_exports_return_with_data_set_no_return_capabilities__1.json b/tests/__snapshots__/ExportReturnActionTest__it_exports_return_with_data_set_no_return_capabilities__1.json index 602d849ef..184eef4e9 100644 --- a/tests/__snapshots__/ExportReturnActionTest__it_exports_return_with_data_set_no_return_capabilities__1.json +++ b/tests/__snapshots__/ExportReturnActionTest__it_exports_return_with_data_set_no_return_capabilities__1.json @@ -19,6 +19,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -29,7 +30,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -72,7 +72,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "requiresSignature": -1, - "tracked": -1, + "noTracking": -1, "requiresReceiptCode": -1, "scheduledCollection": -1, "freshFood": -1, @@ -124,6 +124,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -134,7 +135,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -183,6 +183,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -193,7 +194,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -236,7 +236,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": -1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, @@ -273,6 +273,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -283,7 +284,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -332,6 +332,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -342,7 +343,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -385,7 +385,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": -1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, @@ -447,7 +447,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -469,7 +469,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -511,7 +511,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -533,7 +533,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -555,7 +555,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -577,7 +577,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -599,7 +599,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -621,7 +621,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -643,7 +643,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -665,7 +665,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -687,7 +687,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -709,7 +709,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -731,7 +731,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -753,7 +753,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -775,7 +775,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -797,7 +797,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -819,7 +819,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -841,7 +841,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -892,6 +892,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -902,7 +903,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -945,7 +945,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "requiresSignature": -1, - "tracked": -1, + "noTracking": -1, "requiresReceiptCode": -1, "scheduledCollection": -1, "freshFood": -1, @@ -989,7 +989,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1011,7 +1011,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1033,7 +1033,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1055,7 +1055,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1077,7 +1077,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1099,7 +1099,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1121,7 +1121,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1143,7 +1143,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1165,7 +1165,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1187,7 +1187,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1209,7 +1209,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1231,7 +1231,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1253,7 +1253,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1275,7 +1275,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1297,7 +1297,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1319,7 +1319,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, diff --git a/tests/__snapshots__/ExportReturnActionTest__it_exports_return_with_data_set_simple_orders__1.json b/tests/__snapshots__/ExportReturnActionTest__it_exports_return_with_data_set_simple_orders__1.json index b3ce38c85..482b8c358 100644 --- a/tests/__snapshots__/ExportReturnActionTest__it_exports_return_with_data_set_simple_orders__1.json +++ b/tests/__snapshots__/ExportReturnActionTest__it_exports_return_with_data_set_simple_orders__1.json @@ -19,6 +19,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -29,7 +30,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -72,7 +72,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "requiresSignature": -1, - "tracked": -1, + "noTracking": -1, "requiresReceiptCode": -1, "scheduledCollection": -1, "freshFood": -1, @@ -124,6 +124,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -134,7 +135,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -183,6 +183,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -193,7 +194,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -236,7 +236,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": -1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, @@ -273,6 +273,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -283,7 +284,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -332,6 +332,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -342,7 +343,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -385,7 +385,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": 1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, @@ -447,7 +447,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -469,7 +469,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -511,7 +511,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -533,7 +533,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -555,7 +555,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -577,7 +577,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -599,7 +599,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -621,7 +621,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -643,7 +643,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -665,7 +665,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -687,7 +687,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -709,7 +709,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -731,7 +731,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -753,7 +753,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -775,7 +775,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -797,7 +797,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -819,7 +819,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -841,7 +841,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -892,6 +892,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -902,7 +903,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -945,7 +945,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "requiresSignature": -1, - "tracked": -1, + "noTracking": -1, "requiresReceiptCode": -1, "scheduledCollection": -1, "freshFood": -1, @@ -1010,7 +1010,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -1032,7 +1032,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -1074,7 +1074,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1096,7 +1096,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1118,7 +1118,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1140,7 +1140,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1162,7 +1162,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1184,7 +1184,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1206,7 +1206,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1228,7 +1228,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1250,7 +1250,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1272,7 +1272,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1294,7 +1294,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1316,7 +1316,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1338,7 +1338,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1360,7 +1360,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1382,7 +1382,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -1404,7 +1404,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, diff --git a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_child_product_settings__1.json b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_child_product_settings__1.json index 1669962a7..6a541ad89 100644 --- a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_child_product_settings__1.json +++ b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_child_product_settings__1.json @@ -15,7 +15,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -37,7 +37,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -65,7 +65,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -87,7 +87,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, diff --git a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_init_script__1.json b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_init_script__1.json index 63f677c57..7eb70173e 100644 --- a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_init_script__1.json +++ b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_init_script__1.json @@ -315,6 +315,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -325,7 +326,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -371,6 +371,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -381,7 +382,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -427,6 +427,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -437,7 +438,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -483,6 +483,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -493,7 +494,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -539,6 +539,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -549,7 +550,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -595,6 +595,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -605,7 +606,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -651,6 +651,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -661,7 +662,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -707,6 +707,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -717,7 +718,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -763,6 +763,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -773,7 +774,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -819,6 +819,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -829,7 +830,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -875,6 +875,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -885,7 +886,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -931,6 +931,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -941,7 +942,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -987,6 +987,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -997,7 +998,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1043,6 +1043,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1053,7 +1054,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1099,6 +1099,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1109,7 +1110,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1155,6 +1155,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1165,7 +1166,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1234,6 +1234,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1244,7 +1245,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1290,6 +1290,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1300,7 +1301,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1346,6 +1346,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1356,7 +1357,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1402,6 +1402,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1412,7 +1413,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1458,6 +1458,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1468,7 +1469,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1514,6 +1514,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1524,7 +1525,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1570,6 +1570,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1580,7 +1581,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1626,6 +1626,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1636,7 +1637,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1682,6 +1682,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1692,7 +1693,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1738,6 +1738,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1748,7 +1749,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1794,6 +1794,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1804,7 +1805,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1850,6 +1850,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1860,7 +1861,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1906,6 +1906,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1916,7 +1917,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -1962,6 +1962,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -1972,7 +1973,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -2018,6 +2018,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -2028,7 +2029,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -2074,6 +2074,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -2084,7 +2085,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -2182,7 +2182,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -2252,7 +2252,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -2322,7 +2322,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -2392,7 +2392,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -2462,7 +2462,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -2532,7 +2532,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -2602,7 +2602,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -2672,7 +2672,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -2742,7 +2742,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -2812,7 +2812,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -2882,7 +2882,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -2952,7 +2952,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -3022,7 +3022,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -3092,7 +3092,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -3162,7 +3162,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -3232,7 +3232,7 @@ "exportOnlyRecipient": 0, "exportPriorityDelivery": 0, "exportSignature": 0, - "exportTracked": 0, + "exportNoTracking": 0, "exportReceiptCode": 0, "exportCollect": 0, "exportFreshFood": 0, @@ -3317,6 +3317,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -3327,7 +3328,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -3373,6 +3373,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -3383,7 +3384,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -3429,6 +3429,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -3439,7 +3440,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -3485,6 +3485,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -3495,7 +3496,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -3541,6 +3541,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -3551,7 +3552,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -3597,6 +3597,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -3607,7 +3608,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -3653,6 +3653,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -3663,7 +3664,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -3709,6 +3709,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -3719,7 +3720,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -3765,6 +3765,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -3775,7 +3776,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -3821,6 +3821,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -3831,7 +3832,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -3877,6 +3877,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -3887,7 +3888,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -3933,6 +3933,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -3943,7 +3944,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -3989,6 +3989,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -3999,7 +4000,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -4045,6 +4045,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -4055,7 +4056,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -4101,6 +4101,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -4111,7 +4112,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -4157,6 +4157,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -4167,7 +4168,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { diff --git a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_order_box__1.json b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_order_box__1.json index 3e411b342..524a9fac6 100644 --- a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_order_box__1.json +++ b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_order_box__1.json @@ -18,6 +18,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -28,7 +29,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -71,7 +71,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "requiresSignature": -1, - "tracked": -1, + "noTracking": -1, "requiresReceiptCode": -1, "scheduledCollection": -1, "freshFood": -1, @@ -115,7 +115,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -137,7 +137,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -159,7 +159,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -181,7 +181,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -203,7 +203,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -225,7 +225,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -247,7 +247,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -269,7 +269,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -291,7 +291,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -313,7 +313,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -335,7 +335,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -357,7 +357,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -379,7 +379,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -401,7 +401,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -423,7 +423,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -445,7 +445,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, diff --git a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_order_list_column__1.json b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_order_list_column__1.json index 8b7d0d2fb..d22c4d406 100644 --- a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_order_list_column__1.json +++ b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_order_list_column__1.json @@ -18,6 +18,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -28,7 +29,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -71,7 +71,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "requiresSignature": -1, - "tracked": -1, + "noTracking": -1, "requiresReceiptCode": -1, "scheduledCollection": -1, "freshFood": -1, @@ -115,7 +115,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -137,7 +137,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -159,7 +159,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -181,7 +181,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -203,7 +203,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -225,7 +225,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -247,7 +247,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -269,7 +269,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -291,7 +291,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -313,7 +313,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -335,7 +335,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -357,7 +357,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -379,7 +379,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -401,7 +401,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -423,7 +423,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, @@ -445,7 +445,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "requiresSignature": 0, - "tracked": 0, + "noTracking": 0, "requiresReceiptCode": 0, "scheduledCollection": 0, "freshFood": 0, diff --git a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_plugin_settings__1.json b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_plugin_settings__1.json index 97343e112..8664fe329 100644 --- a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_plugin_settings__1.json +++ b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_plugin_settings__1.json @@ -1857,10 +1857,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -3564,10 +3564,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -5271,10 +5271,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -6978,10 +6978,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -8685,10 +8685,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -10392,10 +10392,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -12099,10 +12099,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -13806,10 +13806,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -15513,10 +15513,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -17220,10 +17220,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -18927,10 +18927,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -20685,10 +20685,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -22392,10 +22392,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -24099,10 +24099,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -25806,10 +25806,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -27513,10 +27513,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", diff --git a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_product_settings__1.json b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_product_settings__1.json index 846c29159..c0ca9ea61 100644 --- a/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_product_settings__1.json +++ b/tests/__snapshots__/FrontendRenderServiceTest__it_renders_component_with_data_set_product_settings__1.json @@ -15,7 +15,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -37,7 +37,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -1229,10 +1229,10 @@ "description": "settings_product_export_signature_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "TriStateInput", - "label": "settings_product_export_tracked", - "description": "settings_product_export_tracked_description" + "label": "settings_product_export_no_tracking", + "description": "settings_product_export_no_tracking_description" }, { "name": "exportFreshFood", diff --git a/tests/__snapshots__/OrderTest__it_creates_fulfilment_order_from_pdk_order_with_data_set_empty_order__1.json b/tests/__snapshots__/OrderTest__it_creates_fulfilment_order_from_pdk_order_with_data_set_empty_order__1.json index e438929dd..d23b3d691 100644 --- a/tests/__snapshots__/OrderTest__it_creates_fulfilment_order_from_pdk_order_with_data_set_empty_order__1.json +++ b/tests/__snapshots__/OrderTest__it_creates_fulfilment_order_from_pdk_order_with_data_set_empty_order__1.json @@ -18,6 +18,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -28,7 +29,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -70,7 +70,7 @@ "sameDayDelivery": false, "saturdayDelivery": false, "signature": false, - "tracked": false, + "noTracking": false, "receiptCode": false, "collect": false, "freshFood": false, diff --git a/tests/__snapshots__/OrderTest__it_creates_fulfilment_order_from_pdk_order_with_data_set_order_with_shipments__1.json b/tests/__snapshots__/OrderTest__it_creates_fulfilment_order_from_pdk_order_with_data_set_order_with_shipments__1.json index e438929dd..d23b3d691 100644 --- a/tests/__snapshots__/OrderTest__it_creates_fulfilment_order_from_pdk_order_with_data_set_order_with_shipments__1.json +++ b/tests/__snapshots__/OrderTest__it_creates_fulfilment_order_from_pdk_order_with_data_set_order_with_shipments__1.json @@ -18,6 +18,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -28,7 +29,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -70,7 +70,7 @@ "sameDayDelivery": false, "saturdayDelivery": false, "signature": false, - "tracked": false, + "noTracking": false, "receiptCode": false, "collect": false, "freshFood": false, diff --git a/tests/__snapshots__/OrderTest__it_creates_fulfilment_order_from_pdk_order_with_data_set_order_without_shipments__1.json b/tests/__snapshots__/OrderTest__it_creates_fulfilment_order_from_pdk_order_with_data_set_order_without_shipments__1.json index 1718710cb..da08219a7 100644 --- a/tests/__snapshots__/OrderTest__it_creates_fulfilment_order_from_pdk_order_with_data_set_order_without_shipments__1.json +++ b/tests/__snapshots__/OrderTest__it_creates_fulfilment_order_from_pdk_order_with_data_set_order_without_shipments__1.json @@ -36,6 +36,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -46,7 +47,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -106,7 +106,7 @@ "sameDayDelivery": false, "saturdayDelivery": false, "signature": true, - "tracked": false, + "noTracking": false, "receiptCode": false, "collect": false, "freshFood": false, diff --git a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_custom_contract__1.json b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_custom_contract__1.json index 2b7b312da..3659b7f61 100644 --- a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_custom_contract__1.json +++ b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_custom_contract__1.json @@ -15,7 +15,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": -1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, diff --git a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_to_Germany__1.json b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_to_Germany__1.json index 707d32b4d..a88a650ed 100644 --- a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_to_Germany__1.json +++ b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_to_Germany__1.json @@ -15,7 +15,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": 0, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, diff --git a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_to_Netherlands__1.json b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_to_Netherlands__1.json index ea4c516c9..f34441ef5 100644 --- a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_to_Netherlands__1.json +++ b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_to_Netherlands__1.json @@ -15,7 +15,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": 0, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, diff --git a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_with_insurance__1.json b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_with_insurance__1.json index 9989aa4e9..99ae89b2d 100644 --- a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_with_insurance__1.json +++ b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_with_insurance__1.json @@ -15,7 +15,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": 1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, diff --git a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_with_saturday_delivery__1.json b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_with_saturday_delivery__1.json index 08ead8be2..632edb3a9 100644 --- a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_with_saturday_delivery__1.json +++ b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_GLS_with_saturday_delivery__1.json @@ -15,7 +15,7 @@ "sameDayDelivery": -1, "saturdayDelivery": 1, "signature": 1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, diff --git a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_UPS_to_Belgium__1.json b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_UPS_to_Belgium__1.json index 0e9db4805..5855701e3 100644 --- a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_UPS_to_Belgium__1.json +++ b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_UPS_to_Belgium__1.json @@ -15,7 +15,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": -1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, diff --git a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_UPS_to_Netherlands_express__1.json b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_UPS_to_Netherlands_express__1.json index 0e9db4805..5855701e3 100644 --- a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_UPS_to_Netherlands_express__1.json +++ b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_UPS_to_Netherlands_express__1.json @@ -15,7 +15,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": -1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, diff --git a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_dhl_for_you__1.json b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_dhl_for_you__1.json index 968f58650..923c294cb 100644 --- a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_dhl_for_you__1.json +++ b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_carrier_dhl_for_you__1.json @@ -15,7 +15,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": -1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, diff --git a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_single_order__1.json b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_single_order__1.json index ecaa17956..1d35eef4a 100644 --- a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_single_order__1.json +++ b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_single_order__1.json @@ -15,7 +15,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": 1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, diff --git a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_various_delivery_options__1.json b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_various_delivery_options__1.json index 63c36d82c..ef5176f26 100644 --- a/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_various_delivery_options__1.json +++ b/tests/__snapshots__/PdkOrderTest__it_creates_a_storable_array_with_data_set_various_delivery_options__1.json @@ -15,7 +15,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": -1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, @@ -43,7 +43,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": 1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, @@ -70,7 +70,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": 1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, diff --git a/tests/__snapshots__/PdkOrderTest__it_creates_pdk_order_from_fulfilment_order_with_data_set_one_order_containing_many_attributes__1.json b/tests/__snapshots__/PdkOrderTest__it_creates_pdk_order_from_fulfilment_order_with_data_set_one_order_containing_many_attributes__1.json index bebab5de0..e2e85e10c 100644 --- a/tests/__snapshots__/PdkOrderTest__it_creates_pdk_order_from_fulfilment_order_with_data_set_one_order_containing_many_attributes__1.json +++ b/tests/__snapshots__/PdkOrderTest__it_creates_pdk_order_from_fulfilment_order_with_data_set_one_order_containing_many_attributes__1.json @@ -16,6 +16,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -26,7 +27,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -69,7 +69,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": -1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, @@ -112,7 +112,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -134,7 +134,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, diff --git a/tests/__snapshots__/PdkOrderTest__it_creates_pdk_order_from_fulfilment_order_with_data_set_one_order_with_pickup__1.json b/tests/__snapshots__/PdkOrderTest__it_creates_pdk_order_from_fulfilment_order_with_data_set_one_order_with_pickup__1.json index bebab5de0..e2e85e10c 100644 --- a/tests/__snapshots__/PdkOrderTest__it_creates_pdk_order_from_fulfilment_order_with_data_set_one_order_with_pickup__1.json +++ b/tests/__snapshots__/PdkOrderTest__it_creates_pdk_order_from_fulfilment_order_with_data_set_one_order_with_pickup__1.json @@ -16,6 +16,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -26,7 +27,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -69,7 +69,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": -1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, @@ -112,7 +112,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, @@ -134,7 +134,7 @@ "exportOnlyRecipient": -1, "exportPriorityDelivery": -1, "exportSignature": -1, - "exportTracked": -1, + "exportNoTracking": -1, "excludeParcelLockers": -1, "exportFreshFood": -1, "exportFrozen": -1, diff --git a/tests/__snapshots__/PostOrdersTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_one_order_containing_many_attributes__1.json b/tests/__snapshots__/PostOrdersTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_one_order_containing_many_attributes__1.json index fddff7f4b..06e91e0b4 100644 --- a/tests/__snapshots__/PostOrdersTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_one_order_containing_many_attributes__1.json +++ b/tests/__snapshots__/PostOrdersTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_one_order_containing_many_attributes__1.json @@ -41,6 +41,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -51,7 +52,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { diff --git a/tests/__snapshots__/PostOrdersTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_one_order_with_pickup__1.json b/tests/__snapshots__/PostOrdersTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_one_order_with_pickup__1.json index fddff7f4b..06e91e0b4 100644 --- a/tests/__snapshots__/PostOrdersTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_one_order_with_pickup__1.json +++ b/tests/__snapshots__/PostOrdersTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_one_order_with_pickup__1.json @@ -41,6 +41,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -51,7 +52,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { diff --git a/tests/__snapshots__/QueryTest__it_creates_order_collection_from_queried_data__1.json b/tests/__snapshots__/QueryTest__it_creates_order_collection_from_queried_data__1.json index 8a023d083..e4f6e2be0 100644 --- a/tests/__snapshots__/QueryTest__it_creates_order_collection_from_queried_data__1.json +++ b/tests/__snapshots__/QueryTest__it_creates_order_collection_from_queried_data__1.json @@ -104,6 +104,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -114,7 +115,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -158,7 +158,7 @@ "sameDayDelivery": null, "saturdayDelivery": null, "signature": false, - "tracked": null, + "noTracking": null, "receiptCode": null, "collect": null, "freshFood": null, diff --git a/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_normal_shipment__1.json b/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_normal_shipment__1.json index 1cb2b082f..bb2e23d9a 100644 --- a/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_normal_shipment__1.json +++ b/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_normal_shipment__1.json @@ -20,6 +20,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -30,7 +31,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -97,6 +97,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -107,7 +108,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -150,7 +150,7 @@ "sameDayDelivery": -1, "saturdayDelivery": 0, "signature": 0, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": 0, "freshFood": -1, diff --git a/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_shipment_with_contract__1.json b/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_shipment_with_contract__1.json index 7b728d57d..7434afff4 100644 --- a/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_shipment_with_contract__1.json +++ b/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_shipment_with_contract__1.json @@ -20,6 +20,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -30,7 +31,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -80,6 +80,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -90,7 +91,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -133,7 +133,7 @@ "sameDayDelivery": -1, "saturdayDelivery": -1, "signature": -1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": -1, "freshFood": -1, diff --git a/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_shipment_with_drop-off_point__1.json b/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_shipment_with_drop-off_point__1.json index e394d40e6..86b684c74 100644 --- a/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_shipment_with_drop-off_point__1.json +++ b/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_shipment_with_drop-off_point__1.json @@ -19,6 +19,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -29,7 +30,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -78,6 +78,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -88,7 +89,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -131,7 +131,7 @@ "sameDayDelivery": 1, "saturdayDelivery": 0, "signature": 0, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": 0, "freshFood": -1, diff --git a/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_shipment_with_pickup__1.json b/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_shipment_with_pickup__1.json index ecb2ba50f..97f75eeff 100644 --- a/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_shipment_with_pickup__1.json +++ b/tests/__snapshots__/QueryTest__it_creates_shipment_collection_from_queried_data_with_data_set_shipment_with_pickup__1.json @@ -20,6 +20,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -30,7 +31,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -79,6 +79,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -89,7 +90,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -142,7 +142,7 @@ "sameDayDelivery": 0, "saturdayDelivery": 0, "signature": 1, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": 0, "freshFood": -1, diff --git a/tests/__snapshots__/SaveOrderTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_order_containing_many_attributes__1.json b/tests/__snapshots__/SaveOrderTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_order_containing_many_attributes__1.json index fddff7f4b..06e91e0b4 100644 --- a/tests/__snapshots__/SaveOrderTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_order_containing_many_attributes__1.json +++ b/tests/__snapshots__/SaveOrderTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_order_containing_many_attributes__1.json @@ -41,6 +41,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -51,7 +52,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { diff --git a/tests/__snapshots__/SaveOrderTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_order_with_pickup__1.json b/tests/__snapshots__/SaveOrderTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_order_with_pickup__1.json index fddff7f4b..06e91e0b4 100644 --- a/tests/__snapshots__/SaveOrderTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_order_with_pickup__1.json +++ b/tests/__snapshots__/SaveOrderTest__it_creates_a_valid_order_collection_from_api_data_with_data_set_order_with_pickup__1.json @@ -41,6 +41,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -51,7 +52,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { diff --git a/tests/__snapshots__/SettingsViewTest__it_gets_settings_view_with_data_set_carrier_settings__1.json b/tests/__snapshots__/SettingsViewTest__it_gets_settings_view_with_data_set_carrier_settings__1.json index cd06e107b..1b692afea 100644 --- a/tests/__snapshots__/SettingsViewTest__it_gets_settings_view_with_data_set_carrier_settings__1.json +++ b/tests/__snapshots__/SettingsViewTest__it_gets_settings_view_with_data_set_carrier_settings__1.json @@ -110,10 +110,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -1817,10 +1817,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -3524,10 +3524,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -5231,10 +5231,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -6938,10 +6938,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -8645,10 +8645,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -10352,10 +10352,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -12059,10 +12059,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -13766,10 +13766,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -15473,10 +15473,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -17180,10 +17180,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -18938,10 +18938,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -20645,10 +20645,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -22352,10 +22352,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -24059,10 +24059,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", @@ -25766,10 +25766,10 @@ "description": "settings_carrier_export_priority_delivery_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "ToggleInput", - "label": "settings_carrier_export_tracked", - "description": "settings_carrier_export_tracked_description" + "label": "settings_carrier_export_no_tracking", + "description": "settings_carrier_export_no_tracking_description" }, { "name": "exportReceiptCode", diff --git a/tests/__snapshots__/SettingsViewTest__it_gets_settings_view_with_data_set_product_settings__1.json b/tests/__snapshots__/SettingsViewTest__it_gets_settings_view_with_data_set_product_settings__1.json index e9b3c76c4..75d682ce3 100644 --- a/tests/__snapshots__/SettingsViewTest__it_gets_settings_view_with_data_set_product_settings__1.json +++ b/tests/__snapshots__/SettingsViewTest__it_gets_settings_view_with_data_set_product_settings__1.json @@ -1175,10 +1175,10 @@ "description": "settings_product_export_signature_description" }, { - "name": "exportTracked", + "name": "exportNoTracking", "$component": "TriStateInput", - "label": "settings_product_export_tracked", - "description": "settings_product_export_tracked_description" + "label": "settings_product_export_no_tracking", + "description": "settings_product_export_no_tracking_description" }, { "name": "exportFreshFood", diff --git a/tests/__snapshots__/ShipmentTest__it_creates_fulfilment_shipment_from_pdk_shipment_with_data_set_empty_shipment__1.json b/tests/__snapshots__/ShipmentTest__it_creates_fulfilment_shipment_from_pdk_shipment_with_data_set_empty_shipment__1.json index f6d358fbf..525eabc4f 100644 --- a/tests/__snapshots__/ShipmentTest__it_creates_fulfilment_shipment_from_pdk_shipment_with_data_set_empty_shipment__1.json +++ b/tests/__snapshots__/ShipmentTest__it_creates_fulfilment_shipment_from_pdk_shipment_with_data_set_empty_shipment__1.json @@ -14,6 +14,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -24,7 +25,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -66,7 +66,7 @@ "sameDayDelivery": false, "saturdayDelivery": false, "signature": false, - "tracked": false, + "noTracking": false, "receiptCode": false, "collect": false, "freshFood": false, diff --git a/tests/__snapshots__/ShipmentTest__it_creates_fulfilment_shipment_from_pdk_shipment_with_data_set_shipment_with_all_options__1.json b/tests/__snapshots__/ShipmentTest__it_creates_fulfilment_shipment_from_pdk_shipment_with_data_set_shipment_with_all_options__1.json index d3dfbd974..6dfaaa8d4 100644 --- a/tests/__snapshots__/ShipmentTest__it_creates_fulfilment_shipment_from_pdk_shipment_with_data_set_shipment_with_all_options__1.json +++ b/tests/__snapshots__/ShipmentTest__it_creates_fulfilment_shipment_from_pdk_shipment_with_data_set_shipment_with_all_options__1.json @@ -14,6 +14,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -24,7 +25,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { @@ -84,7 +84,7 @@ "sameDayDelivery": false, "saturdayDelivery": false, "signature": false, - "tracked": false, + "noTracking": false, "receiptCode": false, "collect": false, "freshFood": false, diff --git a/tests/__snapshots__/ShipmentTest__it_returns_empty_fulfilment_shipment_when_no_pdk_shipment_is_passed__1.json b/tests/__snapshots__/ShipmentTest__it_returns_empty_fulfilment_shipment_when_no_pdk_shipment_is_passed__1.json index 698462b3c..8e0b35da2 100644 --- a/tests/__snapshots__/ShipmentTest__it_returns_empty_fulfilment_shipment_when_no_pdk_shipment_is_passed__1.json +++ b/tests/__snapshots__/ShipmentTest__it_returns_empty_fulfilment_shipment_when_no_pdk_shipment_is_passed__1.json @@ -14,6 +14,7 @@ "freshFood": [], "frozen": [], "hideSender": [], + "noTracking": [], "oversizedPackage": [], "priorityDelivery": [], "recipientOnlyDelivery": [], @@ -24,7 +25,6 @@ "sameDayDelivery": [], "saturdayDelivery": [], "scheduledCollection": [], - "tracked": [], "insurance": { "insuredAmount": { "default": { diff --git a/tests/__snapshots__/UpdateShipmentsActionTest__it_updates_shipments__1.json b/tests/__snapshots__/UpdateShipmentsActionTest__it_updates_shipments__1.json index 59c681d0e..626e6dc5a 100644 --- a/tests/__snapshots__/UpdateShipmentsActionTest__it_updates_shipments__1.json +++ b/tests/__snapshots__/UpdateShipmentsActionTest__it_updates_shipments__1.json @@ -25,7 +25,7 @@ "sameDayDelivery": -1, "saturdayDelivery": 0, "signature": 0, - "tracked": -1, + "noTracking": -1, "receiptCode": -1, "collect": 0, "freshFood": -1, From a6a79c16ad27ac4ce8de6f2cf82c81f83de0ad62 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Thu, 30 Jul 2026 16:45:43 +0200 Subject: [PATCH 3/8] feat(carrier): allow asking for fresh contract definitions Contract definitions are cached per carrier, which is right for normal use but wrong during an upgrade that changes the shape of the response. Callers can now pass $fresh to call the API again and rewrite the cache, so a migration does not have to reach around the repository and delete its cache key. The parameter is named for what the caller wants rather than for how the cache behaves. Repository's own $force keeps its name, since renaming a public method's parameter would break anyone calling it with named arguments on PHP 8. Fixes INT-1694 Co-Authored-By: Claude Opus 5 (1M context) --- .../CarrierCapabilitiesRepository.php | 10 +++- .../CarrierCapabilitiesRepositoryTest.php | 49 +++++++++++++++++++ 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/src/Carrier/Repository/CarrierCapabilitiesRepository.php b/src/Carrier/Repository/CarrierCapabilitiesRepository.php index ab76dfdf9..44539253c 100644 --- a/src/Carrier/Repository/CarrierCapabilitiesRepository.php +++ b/src/Carrier/Repository/CarrierCapabilitiesRepository.php @@ -34,10 +34,16 @@ public function __construct(StorageInterface $storage, CapabilitiesService $apiS * * If a carrier name is provided, only return the contract definition for that carrier. * + * Results are cached per carrier, because a single page can ask for them many times. Pass $fresh + * when the caller knows the cached copy is stale — an upgrade that changes the shape of the + * response, for example — so the API is called again and the cache is rewritten rather than + * merely bypassed. + * * @param null|string $carrier Carrier name in v2 format (eg. "POSTNL") + * @param bool $fresh Skip the cached copy and fetch from the API * @return CarrierCollection */ - public function getContractDefinitions(?string $carrier = null): CarrierCollection + public function getContractDefinitions(?string $carrier = null, bool $fresh = false): CarrierCollection { $cacheKey = "contractDefinitions.$carrier"; @@ -52,7 +58,7 @@ public function getContractDefinitions(?string $carrier = null): CarrierCollecti // Convert the array of contract definitions to a CarrierCollection of Carrier models return new CarrierCollection($contractDefinitions); - }); + }, $fresh); } /** diff --git a/tests/Unit/Carrier/Repository/CarrierCapabilitiesRepositoryTest.php b/tests/Unit/Carrier/Repository/CarrierCapabilitiesRepositoryTest.php index c419477d9..9f82e96c5 100644 --- a/tests/Unit/Carrier/Repository/CarrierCapabilitiesRepositoryTest.php +++ b/tests/Unit/Carrier/Repository/CarrierCapabilitiesRepositoryTest.php @@ -11,6 +11,7 @@ use MyParcelNL\Pdk\SdkApi\Service\CoreApi\Shipment\MockableCapabilitiesService; use MyParcelNL\Pdk\Storage\Contract\StorageInterface; use MyParcelNL\Pdk\Tests\Bootstrap\TestBootstrapper; +use MyParcelNL\Pdk\Tests\SdkApi\Response\ExampleContractDefinitionsResponse; use MyParcelNL\Pdk\Tests\Uses\UsesMockPdkInstance; use function MyParcelNL\Pdk\Tests\usesShared; @@ -71,3 +72,51 @@ // Only one HTTP request was made — the second call was served from cache ->and($mockService->capturedRequests)->toHaveCount(1); }); + +/** + * A minimal contract definition item, differing only by carrier so a re-fetch is visible as a change + * in the number of carriers returned. + */ +function contractDefinitionFor(string $carrier): array +{ + return [ + 'carrier' => $carrier, + 'packageTypes' => ['PACKAGE'], + 'deliveryTypes' => ['STANDARD_DELIVERY'], + 'transactionTypes' => ['B2C'], + 'options' => ['noTracking' => ['isSelectedByDefault' => false, 'isRequired' => false]], + 'collo' => ['max' => 10], + ]; +} + +it('caches contract definitions and re-fetches them only when fresh data is asked for', function () { + TestBootstrapper::hasApiKey('test-key'); + + $mockService = new MockableCapabilitiesService(); + $mockService->mockHandler->append( + new ExampleContractDefinitionsResponse([contractDefinitionFor('POSTNL')]), + new ExampleContractDefinitionsResponse([ + contractDefinitionFor('POSTNL'), + contractDefinitionFor('DHL_FOR_YOU'), + ]) + ); + + $repository = new CarrierCapabilitiesRepository( + Pdk::get(StorageInterface::class), + $mockService + ); + + $repository->getContractDefinitions(); + $repository->getContractDefinitions(); + + // The second read came from cache. + expect($mockService->capturedRequests)->toHaveCount(1); + + // Asking for fresh data calls the API again and rewrites the cache, so the plain read after it + // sees the new data without a further request. That rewrite is the point: an upgrade migration + // needs the stored copy replaced, not merely bypassed once. + expect($repository->getContractDefinitions(null, true))->toHaveCount(2) + ->and($mockService->capturedRequests)->toHaveCount(2) + ->and($repository->getContractDefinitions())->toHaveCount(2) + ->and($mockService->capturedRequests)->toHaveCount(2); +}); From 8dcd2540b2ea1a9e9f4197f5ba893120ca257b71 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Thu, 30 Jul 2026 17:44:03 +0200 Subject: [PATCH 4/8] feat(installer): add a service for migrations that span many records A migration that has to touch every order or product cannot run inline, because a large shop would time out. This service splits the work into chunks, hands each to the cron service as its own task, and staggers them so they do not all fire at once. Finding the records stays with the caller, since orders and products are queried in completely different ways per platform. Callers pass a fetcher that returns one page of ids at a time. The key the ids arrive under is configurable, so a caller can keep a key that already queued jobs rely on instead of stranding work scheduled before an upgrade. Extracted rather than copied: both plugins need this for the no tracking migration, and WooCommerce already had a private version of it on a version-based migration. Fixes INT-1694 Co-Authored-By: Claude Opus 5 (1M context) --- .../Service/PagedMigrationService.php | 91 +++++++++++++ .../Service/PagedMigrationServiceTest.php | 128 ++++++++++++++++++ 2 files changed, 219 insertions(+) create mode 100644 src/App/Installer/Service/PagedMigrationService.php create mode 100644 tests/Unit/App/Installer/Service/PagedMigrationServiceTest.php diff --git a/src/App/Installer/Service/PagedMigrationService.php b/src/App/Installer/Service/PagedMigrationService.php new file mode 100644 index 000000000..4b0107d65 --- /dev/null +++ b/src/App/Installer/Service/PagedMigrationService.php @@ -0,0 +1,91 @@ +cronService = $cronService; + } + + /** + * Schedule $cronAction once per page of ids, until the fetcher returns an empty page. + * + * Each scheduled task receives one argument: an array holding the page's ids under $idsKey and the + * 1-based chunk number under "chunk". $idsKey is configurable so a caller can keep an existing key + * that queued jobs already rely on, rather than stranding work scheduled before an upgrade. + * + * @param string $cronAction Registered action the platform dispatches per chunk + * @param callable $fetchPage fn(int $page, int $pageSize): int[] + * @param string $idsKey Key the ids are passed under + * @param int $pageSize How many records per chunk + * @param int $secondsBetweenChunks Delay added per chunk, so they do not all fire at once + * + * @return int The number of chunks scheduled + */ + public function schedulePages( + string $cronAction, + callable $fetchPage, + string $idsKey = 'ids', + int $pageSize = 100, + int $secondsBetweenChunks = 5 + ): int { + $page = 1; + $chunks = 0; + $now = time(); + + while (true) { + $ids = $fetchPage($page, $pageSize); + + if (empty($ids)) { + break; + } + + $timestamp = $now + $chunks * $secondsBetweenChunks; + + $this->cronService->schedule($cronAction, $timestamp, [ + $idsKey => $ids, + 'chunk' => $chunks + 1, + ]); + + Logger::debug('Scheduled migration chunk', [ + 'action' => $cronAction, + 'chunk' => $chunks + 1, + 'records' => count($ids), + 'timestamp' => $timestamp, + ]); + + $chunks++; + $page++; + } + + return $chunks; + } +} diff --git a/tests/Unit/App/Installer/Service/PagedMigrationServiceTest.php b/tests/Unit/App/Installer/Service/PagedMigrationServiceTest.php new file mode 100644 index 000000000..4ea971a08 --- /dev/null +++ b/tests/Unit/App/Installer/Service/PagedMigrationServiceTest.php @@ -0,0 +1,128 @@ +getScheduledTasks()->all()); +} + +/** + * A fetcher that serves the given pages in order and then reports nothing left. + */ +function pagesOf(array ...$pages): callable +{ + return static function (int $page) use ($pages): array { + return $pages[$page - 1] ?? []; + }; +} + +it('schedules one task per page', function () { + pagedMigrationService()->schedulePages('migrate_things', pagesOf([1, 2], [3, 4], [5])); + + expect(scheduledTasks())->toHaveCount(3); +}); + +it('gives each task the ids of its own page', function () { + pagedMigrationService()->schedulePages('migrate_things', pagesOf([1, 2], [3])); + + $tasks = scheduledTasks(); + + expect($tasks[0]['args'][0]['ids'])->toBe([1, 2]) + ->and($tasks[1]['args'][0]['ids'])->toBe([3]); +}); + +it('numbers the chunks from one so logs are readable', function () { + pagedMigrationService()->schedulePages('migrate_things', pagesOf([1], [2])); + + $tasks = scheduledTasks(); + + expect($tasks[0]['args'][0]['chunk'])->toBe(1) + ->and($tasks[1]['args'][0]['chunk'])->toBe(2); +}); + +it('schedules every task against the given action', function () { + pagedMigrationService()->schedulePages('migrate_things', pagesOf([1], [2])); + + foreach (scheduledTasks() as $task) { + expect($task['callback'])->toBe('migrate_things'); + } +}); + +it('staggers the chunks so a large shop does not run them all at once', function () { + pagedMigrationService()->schedulePages('migrate_things', pagesOf([1], [2], [3]), 'ids', 100, 5); + + $tasks = scheduledTasks(); + + expect($tasks[1]['timestamp'] - $tasks[0]['timestamp'])->toBe(5) + ->and($tasks[2]['timestamp'] - $tasks[1]['timestamp'])->toBe(5); +}); + +it('schedules nothing when there is nothing to migrate', function () { + $chunks = pagedMigrationService()->schedulePages('migrate_things', pagesOf()); + + expect(scheduledTasks())->toBeEmpty() + ->and($chunks)->toBe(0); +}); + +it('reports how many chunks it scheduled', function () { + $chunks = pagedMigrationService()->schedulePages('migrate_things', pagesOf([1], [2])); + + expect($chunks)->toBe(2); +}); + +it('passes the page size to the fetcher so the caller can size its own query', function () { + $seen = []; + + pagedMigrationService()->schedulePages( + 'migrate_things', + static function (int $page, int $pageSize) use (&$seen): array { + $seen[] = [$page, $pageSize]; + + return 1 === $page ? [1] : []; + }, + 'ids', + 25 + ); + + expect($seen)->toBe([[1, 25], [2, 25]]); +}); + +it('lets the caller name the ids key, so already scheduled jobs keep working', function () { + // Migration6_5_1 scheduled its chunks with an "orderIds" key. Jobs queued on a live shop before + // an upgrade still carry that key, so the caller has to be able to keep using it. + pagedMigrationService()->schedulePages('migrate_things', pagesOf([7]), 'orderIds'); + + $context = scheduledTasks()[0]['args'][0]; + + expect($context)->toHaveKey('orderIds') + ->and($context['orderIds'])->toBe([7]) + ->and($context)->not->toHaveKey('ids'); +}); From 433fdd1f1ddc106d0e0a4a9315656b8cbbbcd0f7 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Fri, 31 Jul 2026 10:26:29 +0200 Subject: [PATCH 5/8] refactor(installer): stop paging once a page comes back short A page holding fewer records than the page size is the last one, so asking for another only costs a round trip. This matches the loop the WooCommerce version-based migration already used, which the service was extracted from. Fixes INT-1694 Co-Authored-By: Claude Opus 5 (1M context) --- .../Service/PagedMigrationService.php | 5 ++ .../Service/PagedMigrationServiceTest.php | 56 +++++++++++++++---- 2 files changed, 51 insertions(+), 10 deletions(-) diff --git a/src/App/Installer/Service/PagedMigrationService.php b/src/App/Installer/Service/PagedMigrationService.php index 4b0107d65..3f69a8798 100644 --- a/src/App/Installer/Service/PagedMigrationService.php +++ b/src/App/Installer/Service/PagedMigrationService.php @@ -84,6 +84,11 @@ public function schedulePages( $chunks++; $page++; + + // A page that came back short is the last one, so stop rather than asking for another. + if (count($ids) < $pageSize) { + break; + } } return $chunks; diff --git a/tests/Unit/App/Installer/Service/PagedMigrationServiceTest.php b/tests/Unit/App/Installer/Service/PagedMigrationServiceTest.php index 4ea971a08..921bd9833 100644 --- a/tests/Unit/App/Installer/Service/PagedMigrationServiceTest.php +++ b/tests/Unit/App/Installer/Service/PagedMigrationServiceTest.php @@ -44,14 +44,30 @@ function pagesOf(array ...$pages): callable }; } +/** + * Schedule the given pages, sizing the page limit to the first page. + * + * The service treats a short page as the last one, so the limit has to match the fixture for these + * pages to be walked the way a real paged query would be. + */ +function schedulePagesOf(array ...$pages): int +{ + return pagedMigrationService()->schedulePages( + 'migrate_things', + pagesOf(...$pages), + 'ids', + count($pages[0] ?? [1]) + ); +} + it('schedules one task per page', function () { - pagedMigrationService()->schedulePages('migrate_things', pagesOf([1, 2], [3, 4], [5])); + schedulePagesOf([1, 2], [3, 4], [5]); expect(scheduledTasks())->toHaveCount(3); }); it('gives each task the ids of its own page', function () { - pagedMigrationService()->schedulePages('migrate_things', pagesOf([1, 2], [3])); + schedulePagesOf([1, 2], [3]); $tasks = scheduledTasks(); @@ -60,7 +76,7 @@ function pagesOf(array ...$pages): callable }); it('numbers the chunks from one so logs are readable', function () { - pagedMigrationService()->schedulePages('migrate_things', pagesOf([1], [2])); + schedulePagesOf([1], [2]); $tasks = scheduledTasks(); @@ -69,7 +85,7 @@ function pagesOf(array ...$pages): callable }); it('schedules every task against the given action', function () { - pagedMigrationService()->schedulePages('migrate_things', pagesOf([1], [2])); + schedulePagesOf([1], [2]); foreach (scheduledTasks() as $task) { expect($task['callback'])->toBe('migrate_things'); @@ -77,7 +93,7 @@ function pagesOf(array ...$pages): callable }); it('staggers the chunks so a large shop does not run them all at once', function () { - pagedMigrationService()->schedulePages('migrate_things', pagesOf([1], [2], [3]), 'ids', 100, 5); + schedulePagesOf([1], [2], [3]); $tasks = scheduledTasks(); @@ -86,14 +102,14 @@ function pagesOf(array ...$pages): callable }); it('schedules nothing when there is nothing to migrate', function () { - $chunks = pagedMigrationService()->schedulePages('migrate_things', pagesOf()); + $chunks = schedulePagesOf(); expect(scheduledTasks())->toBeEmpty() ->and($chunks)->toBe(0); }); it('reports how many chunks it scheduled', function () { - $chunks = pagedMigrationService()->schedulePages('migrate_things', pagesOf([1], [2])); + $chunks = schedulePagesOf([1], [2]); expect($chunks)->toBe(2); }); @@ -106,13 +122,33 @@ function pagesOf(array ...$pages): callable static function (int $page, int $pageSize) use (&$seen): array { $seen[] = [$page, $pageSize]; - return 1 === $page ? [1] : []; + return 1 === $page ? [1, 2] : [3]; + }, + 'ids', + 2 + ); + + expect($seen)->toBe([[1, 2], [2, 2]]); +}); + +it('stops after a short page instead of asking for another', function () { + $pagesFetched = 0; + + pagedMigrationService()->schedulePages( + 'migrate_things', + static function () use (&$pagesFetched): array { + $pagesFetched++; + + return [1]; }, 'ids', - 25 + 10 ); - expect($seen)->toBe([[1, 25], [2, 25]]); + // One id against a page size of ten means there is nothing after it. Querying again would cost a + // pointless round trip on every shop that runs the migration. + expect($pagesFetched)->toBe(1) + ->and(scheduledTasks())->toHaveCount(1); }); it('lets the caller name the ids key, so already scheduled jobs keep working', function () { From 6808806b5ce178c2a257a8dc170d645926f75a81 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Tue, 4 Aug 2026 17:29:04 +0200 Subject: [PATCH 6/8] refactor(installer): drop the configurable ids key from paged migrations The parameter existed so a refactored Migration6_5_1 could keep passing its own "orderIds" key. That migration has already run for merchants and is being left untouched, so nothing needs the parameter and every caller uses the default. The ids are now always passed under "ids". Fixes INT-1694 Co-Authored-By: Claude Opus 5 (1M context) --- .../Installer/Service/PagedMigrationService.php | 9 +++------ .../Service/PagedMigrationServiceTest.php | 16 ++++------------ 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/src/App/Installer/Service/PagedMigrationService.php b/src/App/Installer/Service/PagedMigrationService.php index 3f69a8798..307d7da3c 100644 --- a/src/App/Installer/Service/PagedMigrationService.php +++ b/src/App/Installer/Service/PagedMigrationService.php @@ -38,13 +38,11 @@ public function __construct(CronServiceInterface $cronService) /** * Schedule $cronAction once per page of ids, until the fetcher returns an empty page. * - * Each scheduled task receives one argument: an array holding the page's ids under $idsKey and the - * 1-based chunk number under "chunk". $idsKey is configurable so a caller can keep an existing key - * that queued jobs already rely on, rather than stranding work scheduled before an upgrade. + * Each scheduled task receives one argument: an array holding the page's ids under "ids" and the + * 1-based chunk number under "chunk". * * @param string $cronAction Registered action the platform dispatches per chunk * @param callable $fetchPage fn(int $page, int $pageSize): int[] - * @param string $idsKey Key the ids are passed under * @param int $pageSize How many records per chunk * @param int $secondsBetweenChunks Delay added per chunk, so they do not all fire at once * @@ -53,7 +51,6 @@ public function __construct(CronServiceInterface $cronService) public function schedulePages( string $cronAction, callable $fetchPage, - string $idsKey = 'ids', int $pageSize = 100, int $secondsBetweenChunks = 5 ): int { @@ -71,7 +68,7 @@ public function schedulePages( $timestamp = $now + $chunks * $secondsBetweenChunks; $this->cronService->schedule($cronAction, $timestamp, [ - $idsKey => $ids, + 'ids' => $ids, 'chunk' => $chunks + 1, ]); diff --git a/tests/Unit/App/Installer/Service/PagedMigrationServiceTest.php b/tests/Unit/App/Installer/Service/PagedMigrationServiceTest.php index 921bd9833..bc3c9c0c0 100644 --- a/tests/Unit/App/Installer/Service/PagedMigrationServiceTest.php +++ b/tests/Unit/App/Installer/Service/PagedMigrationServiceTest.php @@ -55,7 +55,6 @@ function schedulePagesOf(array ...$pages): int return pagedMigrationService()->schedulePages( 'migrate_things', pagesOf(...$pages), - 'ids', count($pages[0] ?? [1]) ); } @@ -124,7 +123,6 @@ static function (int $page, int $pageSize) use (&$seen): array { return 1 === $page ? [1, 2] : [3]; }, - 'ids', 2 ); @@ -141,7 +139,6 @@ static function () use (&$pagesFetched): array { return [1]; }, - 'ids', 10 ); @@ -151,14 +148,9 @@ static function () use (&$pagesFetched): array { ->and(scheduledTasks())->toHaveCount(1); }); -it('lets the caller name the ids key, so already scheduled jobs keep working', function () { - // Migration6_5_1 scheduled its chunks with an "orderIds" key. Jobs queued on a live shop before - // an upgrade still carry that key, so the caller has to be able to keep using it. - pagedMigrationService()->schedulePages('migrate_things', pagesOf([7]), 'orderIds'); +it('passes the ids under a fixed key', function () { + schedulePagesOf([7]); - $context = scheduledTasks()[0]['args'][0]; - - expect($context)->toHaveKey('orderIds') - ->and($context['orderIds'])->toBe([7]) - ->and($context)->not->toHaveKey('ids'); + expect(scheduledTasks()[0]['args'][0])->toHaveKey('ids') + ->and(scheduledTasks()[0]['args'][0]['ids'])->toBe([7]); }); From 5d78769e04132c7a8b7b15144fe8093997639146 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Thu, 6 Aug 2026 16:01:52 +0200 Subject: [PATCH 7/8] fix(sdk-api): prevent overriding a feature flag that's alreasy set Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- src/SdkApi/Middleware/FeatureFlagMiddleware.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/SdkApi/Middleware/FeatureFlagMiddleware.php b/src/SdkApi/Middleware/FeatureFlagMiddleware.php index c2430b769..85a9b8f85 100644 --- a/src/SdkApi/Middleware/FeatureFlagMiddleware.php +++ b/src/SdkApi/Middleware/FeatureFlagMiddleware.php @@ -38,7 +38,9 @@ public static function forApiRequests(): callable return static function (callable $handler): callable { return static function (RequestInterface $request, array $options) use ($handler): PromiseInterface { foreach (ApiFeatureFlags::getHeaders() as $name => $value) { - $request = $request->withHeader($name, $value); + if (! $request->hasHeader($name)) { + $request = $request->withHeader($name, $value); + } } return $handler($request, $options); From 5fc5bb3d0b909dfa043e59f43dfd813f92f345f3 Mon Sep 17 00:00:00 2001 From: Freek van Rijt Date: Fri, 7 Aug 2026 13:45:05 +0200 Subject: [PATCH 8/8] test(sdk-api): cover a request keeping its own feature flag value Adds a case to FeatureFlagMiddlewareTest for a request that already sets a flag header itself. The request value wins, matching the legacy header merge in MyParcelApiService. Co-Authored-By: Claude Opus 5 (1M context) --- .../SdkApi/Middleware/FeatureFlagMiddlewareTest.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/Unit/SdkApi/Middleware/FeatureFlagMiddlewareTest.php b/tests/Unit/SdkApi/Middleware/FeatureFlagMiddlewareTest.php index efdcf214f..50be13e49 100644 --- a/tests/Unit/SdkApi/Middleware/FeatureFlagMiddlewareTest.php +++ b/tests/Unit/SdkApi/Middleware/FeatureFlagMiddlewareTest.php @@ -79,3 +79,15 @@ function makeFeatureFlagClient(): array expect($mock->getLastRequest()->getHeaderLine('Authorization'))->toBe('bearer abc') ->and($mock->getLastRequest()->getHeaderLine('x-dmp-no-tracking'))->toBe('true'); }); + +it('lets a request keep its own value for a flag it already set', function () { + mockPdkProperty('apiFeatureFlags', ['x-dmp-no-tracking']); + + [$client, $mock] = makeFeatureFlagClient(); + $mock->append(new Response(200, [], '{}')); + + $client->get('https://api.myparcel.nl/test', ['headers' => ['x-dmp-no-tracking' => 'false']]); + + // Same precedence as the legacy header merge in MyParcelApiService: the request wins. + expect($mock->getLastRequest()->getHeaderLine('x-dmp-no-tracking'))->toBe('false'); +});