diff --git a/app/code/Magento/OfflineShipping/Model/SalesRule/Calculator.php b/app/code/Magento/OfflineShipping/Model/SalesRule/Calculator.php index c178551ae4584..5afbb19d05cfa 100644 --- a/app/code/Magento/OfflineShipping/Model/SalesRule/Calculator.php +++ b/app/code/Magento/OfflineShipping/Model/SalesRule/Calculator.php @@ -49,6 +49,7 @@ public function processFreeShipping(\Magento\Quote\Model\Quote\Item\AbstractItem case Rule::FREE_SHIPPING_ADDRESS: $address->setFreeShipping(true); + $item->setFreeShipping(true); break; } if ($rule->getStopRulesProcessing()) { diff --git a/dev/tests/integration/testsuite/Magento/Quote/Model/ShippingMethodManagementTest.php b/dev/tests/integration/testsuite/Magento/Quote/Model/ShippingMethodManagementTest.php index 3ad5299a48654..1a56d68bb9eae 100644 --- a/dev/tests/integration/testsuite/Magento/Quote/Model/ShippingMethodManagementTest.php +++ b/dev/tests/integration/testsuite/Magento/Quote/Model/ShippingMethodManagementTest.php @@ -55,7 +55,8 @@ public function testEstimateByAddressWithCartPriceRuleByShipment() { // Rule applied to entire shipment should not overwrite flat or table rate shipping prices // Only rules applied to specific items should modify those prices (MAGETWO-63844) - $this->executeTestFlow(5, 10); + // The product has free shipping so both prices should be 0 PR#15013 + $this->executeTestFlow(0, 0); } /**