diff --git a/app/code/Magento/Checkout/Model/ShippingInformationManagement.php b/app/code/Magento/Checkout/Model/ShippingInformationManagement.php index f397a8ddc9cf1..db5c895c5a5d3 100644 --- a/app/code/Magento/Checkout/Model/ShippingInformationManagement.php +++ b/app/code/Magento/Checkout/Model/ShippingInformationManagement.php @@ -27,6 +27,7 @@ use Magento\Quote\Model\QuoteAddressValidator; use Magento\Quote\Model\ShippingAssignmentFactory; use Magento\Quote\Model\ShippingFactory; +use Magento\Sales\Model\Order; use Psr\Log\LoggerInterface as Logger; /** @@ -184,7 +185,7 @@ public function saveAddressInformation( $carrierCode = $addressInformation->getShippingCarrierCode(); $address->setLimitCarrier($carrierCode); $methodCode = $addressInformation->getShippingMethodCode(); - $quote = $this->prepareShippingAssignment($quote, $address, $carrierCode . '_' . $methodCode); + $quote = $this->prepareShippingAssignment($quote, $address, $carrierCode . Order::DELIMITER_SHIPPING_METHOD . $methodCode); $quote->setIsMultiShipping(false); diff --git a/app/code/Magento/Checkout/Model/TotalsInformationManagement.php b/app/code/Magento/Checkout/Model/TotalsInformationManagement.php index 25e2f0ba4e005..200b768265c0e 100644 --- a/app/code/Magento/Checkout/Model/TotalsInformationManagement.php +++ b/app/code/Magento/Checkout/Model/TotalsInformationManagement.php @@ -6,6 +6,7 @@ namespace Magento\Checkout\Model; use Magento\Checkout\Api\Data\TotalsInformationInterface; +use Magento\Sales\Model\Order; /** * Class for management of totals information. @@ -54,7 +55,7 @@ public function calculate( $quote->setShippingAddress($addressInformation->getAddress()); if ($addressInformation->getShippingCarrierCode() && $addressInformation->getShippingMethodCode()) { $shippingMethod = implode( - '_', + Order::DELIMITER_SHIPPING_METHOD, [$addressInformation->getShippingCarrierCode(), $addressInformation->getShippingMethodCode()] ); $quoteShippingAddress = $quote->getShippingAddress(); diff --git a/app/code/Magento/Checkout/Test/Unit/Model/ShippingInformationManagementTest.php b/app/code/Magento/Checkout/Test/Unit/Model/ShippingInformationManagementTest.php index 3902901f280ae..cef3ea67e7f6f 100644 --- a/app/code/Magento/Checkout/Test/Unit/Model/ShippingInformationManagementTest.php +++ b/app/code/Magento/Checkout/Test/Unit/Model/ShippingInformationManagementTest.php @@ -31,6 +31,7 @@ use Magento\Quote\Model\ShippingAssignment; use Magento\Quote\Model\ShippingAssignmentFactory; use Magento\Quote\Model\ShippingFactory; +use Magento\Sales\Model\Order; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\MockObject\RuntimeException; use PHPUnit\Framework\TestCase; @@ -359,7 +360,7 @@ public function testSaveAddressInformationWithLocalizedException(): void ->method('getCountryId') ->willReturn('USA'); - $this->setShippingAssignmentsMocks($carrierCode . '_' . $shippingMethod); + $this->setShippingAssignmentsMocks($carrierCode . Order::DELIMITER_SHIPPING_METHOD . $shippingMethod); $this->quoteMock->expects($this->once()) ->method('getItemsCount') @@ -425,7 +426,7 @@ public function testSaveAddressInformationIfCanNotSaveQuote(): void ->method('getCountryId') ->willReturn('USA'); - $this->setShippingAssignmentsMocks($carrierCode . '_' . $shippingMethod); + $this->setShippingAssignmentsMocks($carrierCode . Order::DELIMITER_SHIPPING_METHOD . $shippingMethod); $this->quoteMock->expects($this->once()) ->method('getItemsCount') @@ -488,7 +489,7 @@ public function testSaveAddressInformationIfCarrierCodeIsInvalid(): void ->method('getCountryId') ->willReturn('USA'); - $this->setShippingAssignmentsMocks($carrierCode . '_' . $shippingMethod); + $this->setShippingAssignmentsMocks($carrierCode . Order::DELIMITER_SHIPPING_METHOD . $shippingMethod); $this->quoteMock->expects($this->once()) ->method('getItemsCount') @@ -563,7 +564,7 @@ public function testSaveAddressInformation(): void ->method('getCountryId') ->willReturn('USA'); - $this->setShippingAssignmentsMocks($carrierCode . '_' . $shippingMethod); + $this->setShippingAssignmentsMocks($carrierCode . Order::DELIMITER_SHIPPING_METHOD . $shippingMethod); $this->quoteMock->expects($this->once()) ->method('getItemsCount') diff --git a/app/code/Magento/Checkout/view/frontend/web/js/model/checkout-data-resolver.js b/app/code/Magento/Checkout/view/frontend/web/js/model/checkout-data-resolver.js index ad44c00763dcd..07d67718db07f 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/model/checkout-data-resolver.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/model/checkout-data-resolver.js @@ -137,7 +137,7 @@ define([ if (!availableRate && selectedShippingRate) { availableRate = _.find(ratesData, function (rate) { - return rate['carrier_code'] + '_' + rate['method_code'] === selectedShippingRate; + return rate['carrier_code'] + '::' + rate['method_code'] === selectedShippingRate; }); } diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/cart/shipping-rates.js b/app/code/Magento/Checkout/view/frontend/web/js/view/cart/shipping-rates.js index 9a1ad85624a77..9c0af4a286f8b 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/view/cart/shipping-rates.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/view/cart/shipping-rates.js @@ -25,7 +25,7 @@ define([ shippingRateGroups: ko.observableArray([]), selectedShippingMethod: ko.computed(function () { return quote.shippingMethod() ? - quote.shippingMethod()['carrier_code'] + '_' + quote.shippingMethod()['method_code'] : + quote.shippingMethod()['carrier_code'] + '::' + quote.shippingMethod()['method_code'] : null; }), @@ -76,7 +76,7 @@ define([ */ selectShippingMethod: function (methodData) { selectShippingMethodAction(methodData); - checkoutData.setSelectedShippingRate(methodData['carrier_code'] + '_' + methodData['method_code']); + checkoutData.setSelectedShippingRate(methodData['carrier_code'] + '::' + methodData['method_code']); return true; } diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/shipping.js b/app/code/Magento/Checkout/view/frontend/web/js/view/shipping.js index 51ebb9dbf11d1..c2f5f62cb3d03 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/view/shipping.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/view/shipping.js @@ -260,7 +260,7 @@ define([ isLoading: shippingService.isLoading, isSelected: ko.computed(function () { return quote.shippingMethod() ? - quote.shippingMethod()['carrier_code'] + '_' + quote.shippingMethod()['method_code'] : + quote.shippingMethod()['carrier_code'] + '::' + quote.shippingMethod()['method_code'] : null; }), @@ -270,7 +270,7 @@ define([ */ selectShippingMethod: function (shippingMethod) { selectShippingMethodAction(shippingMethod); - checkoutData.setSelectedShippingRate(shippingMethod['carrier_code'] + '_' + shippingMethod['method_code']); + checkoutData.setSelectedShippingRate(shippingMethod['carrier_code'] + '::' + shippingMethod['method_code']); return true; }, diff --git a/app/code/Magento/Checkout/view/frontend/web/template/cart/shipping-rates.html b/app/code/Magento/Checkout/view/frontend/web/template/cart/shipping-rates.html index f79a58053cba4..bf9cede5992bf 100644 --- a/app/code/Magento/Checkout/view/frontend/web/template/cart/shipping-rates.html +++ b/app/code/Magento/Checkout/view/frontend/web/template/cart/shipping-rates.html @@ -23,12 +23,12 @@ click: $parents[1].selectShippingMethod, checked: $parents[1].selectedShippingMethod, attr: { - value: carrier_code + '_' + method_code, - id: 's_method_' + carrier_code + '_' + method_code, + value: carrier_code + '::' + method_code, + id: 's_method_' + carrier_code + '::' + method_code, disabled: false } "/> -