Skip to content

Commit eb2c100

Browse files
#20877: Static test fix.
1 parent a328d7f commit eb2c100

File tree

2 files changed

+34
-32
lines changed

2 files changed

+34
-32
lines changed

app/code/Magento/Tax/Observer/GetPriceConfigurationObserver.php

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@
55
*/
66
namespace Magento\Tax\Observer;
77

8-
use Magento\Framework\Event\ObserverInterface;
98
use Magento\Catalog\Pricing\Price\BasePrice;
109
use Magento\Catalog\Pricing\Price\RegularPrice;
10+
use Magento\Framework\Event\ObserverInterface;
1111

12+
/**
13+
* Modifies the bundle config for the front end to resemble the tax included price when tax included prices.
14+
*/
1215
class GetPriceConfigurationObserver implements ObserverInterface
1316
{
1417
/**
@@ -84,12 +87,11 @@ private function recurConfigAndUpdatePrice($input, $searchKey)
8487
if (is_array($el)) {
8588
$holder[$key] =
8689
$this->recurConfigAndUpdatePrice($el, $searchKey);
87-
if ($key === $searchKey) {
88-
if ((array_key_exists('basePrice', $holder[$key]))) {
89-
if (array_key_exists('optionId', $input)) {
90-
$holder = $this->updatePriceForBundle($holder, $key);
91-
}
92-
}
90+
if ($key === $searchKey
91+
&& array_key_exists('optionId', $input)
92+
&& array_key_exists('basePrice', $holder[$key])
93+
) {
94+
$holder = $this->updatePriceForBundle($holder, $key);
9395
}
9496
} else {
9597
$holder[$key] = $el;
@@ -108,36 +110,35 @@ private function recurConfigAndUpdatePrice($input, $searchKey)
108110
*/
109111
private function updatePriceForBundle($holder, $key)
110112
{
111-
if (array_key_exists($key, $holder)) {
112-
if (array_key_exists('basePrice', $holder[$key])) {
113-
/** @var \Magento\Catalog\Model\Product $product */
114-
$product = $this->registry->registry('current_product');
115-
if ($product->getTypeId() == \Magento\Catalog\Model\Product\Type::TYPE_BUNDLE) {
116-
if (!isset($this->selectionCache[$product->getId()])) {
117-
$typeInstance = $product->getTypeInstance();
118-
$typeInstance->setStoreFilter($product->getStoreId(), $product);
113+
if (array_key_exists($key, $holder)
114+
&& array_key_exists('basePrice', $holder[$key])) {
115+
/** @var \Magento\Catalog\Model\Product $product */
116+
$product = $this->registry->registry('current_product');
117+
if ($product->getTypeId() == \Magento\Catalog\Model\Product\Type::TYPE_BUNDLE) {
118+
if (!isset($this->selectionCache[$product->getId()])) {
119+
$typeInstance = $product->getTypeInstance();
120+
$typeInstance->setStoreFilter($product->getStoreId(), $product);
119121

120-
$selectionCollection = $typeInstance->getSelectionsCollection(
121-
$typeInstance->getOptionsIds($product),
122-
$product
123-
);
124-
$this->selectionCache[$product->getId()] = $selectionCollection->getItems();
125-
}
126-
$arrSelections = $this->selectionCache[$product->getId()];
122+
$selectionCollection = $typeInstance->getSelectionsCollection(
123+
$typeInstance->getOptionsIds($product),
124+
$product
125+
);
126+
$this->selectionCache[$product->getId()] = $selectionCollection->getItems();
127+
}
128+
$arrSelections = $this->selectionCache[$product->getId()];
127129

128-
foreach ($arrSelections as $selectionItem) {
129-
if ($holder['optionId'] == $selectionItem->getId()) {
130-
/** @var \Magento\Framework\Pricing\Amount\Base $baseAmount */
131-
$baseAmount = $selectionItem->getPriceInfo()->getPrice(BasePrice::PRICE_CODE)->getAmount();
132-
/** @var \Magento\Framework\Pricing\Amount\Base $oldAmount */
133-
$oldAmount =
130+
foreach ($arrSelections as $selectionItem) {
131+
if ($holder['optionId'] == $selectionItem->getId()) {
132+
/** @var \Magento\Framework\Pricing\Amount\Base $baseAmount */
133+
$baseAmount = $selectionItem->getPriceInfo()->getPrice(BasePrice::PRICE_CODE)->getAmount();
134+
/** @var \Magento\Framework\Pricing\Amount\Base $oldAmount */
135+
$oldAmount =
134136
$selectionItem->getPriceInfo()->getPrice(RegularPrice::PRICE_CODE)->getAmount();
135-
if ($baseAmount->hasAdjustment('tax')) {
136-
$holder[$key]['basePrice']['amount'] =
137+
if ($baseAmount->hasAdjustment('tax')) {
138+
$holder[$key]['basePrice']['amount'] =
137139
$baseAmount->getBaseAmount() + $baseAmount->getAdjustmentAmount('tax');
138-
$holder[$key]['oldPrice']['amount'] =
140+
$holder[$key]['oldPrice']['amount'] =
139141
$oldAmount->getBaseAmount() + $oldAmount->getAdjustmentAmount('tax');
140-
}
141142
}
142143
}
143144
}

app/code/Magento/Tax/Test/Unit/Observer/GetPriceConfigurationObserverTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
67
namespace Magento\Tax\Test\Unit\Observer;
78

89
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;

0 commit comments

Comments
 (0)