Skip to content

Commit d91d466

Browse files
committed
Merge branch 'BUG#AC-8227' into AC-8277
2 parents e503cee + 24e6014 commit d91d466

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

app/code/Magento/ConfigurableProduct/Model/Product/VariationHandler.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77

88
namespace Magento\ConfigurableProduct\Model\Product;
99

10+
use Magento\Catalog\Model\Product\Attribute\Source\Status;
1011
use Magento\Catalog\Model\Product\Type as ProductType;
1112
use Magento\Framework\Exception\LocalizedException;
1213

1314
/**
14-
* Variation Handler
1515
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
1616
* @api
1717
* @since 100.0.2
@@ -52,6 +52,7 @@ class VariationHandler
5252
/**
5353
* @var \Magento\CatalogInventory\Api\StockConfigurationInterface
5454
* @deprecated 100.1.0
55+
* @see MAGETWO-71174
5556
*/
5657
protected $stockConfiguration;
5758

@@ -120,6 +121,7 @@ public function generateSimpleProducts($parentProduct, $productsData)
120121
* Prepare attribute set comprising all selected configurable attributes
121122
*
122123
* @deprecated 100.1.0
124+
* @see MAGETWO-71174
123125
* @param \Magento\Catalog\Model\Product $product
124126
* @return void
125127
*/
@@ -209,9 +211,10 @@ protected function fillSimpleProductData(
209211
}
210212

211213
$postData = $this->processMediaGallery($product, $postData);
212-
$postData['status'] = isset($postData['status'])
213-
? $postData['status']
214-
: \Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED;
214+
$postData['status'] = $postData['status'] ?? Status::STATUS_ENABLED;
215+
$defaultTaxClassId = isset($this->attributes['tax_class_id']) ?
216+
$this->attributes['tax_class_id']->getDefaultValue() : null;
217+
$postData['tax_class_id'] = $postData['tax_class_id'] ?? $parentProduct->getTaxClassId() ?? $defaultTaxClassId;
215218
$product->addData(
216219
$postData
217220
)->setWebsiteIds(

dev/tests/integration/testsuite/Magento/ConfigurableProduct/Model/Product/VariationHandlerTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ public function testGenerateSimpleProducts(array $productsData): void
7373
->setSmallImage('some_test_image.jpg')
7474
->setThumbnail('some_test_image.jpg')
7575
->setSwatchImage('some_test_image.jpg')
76+
->setTaxClassId(2)
7677
->setNewVariationsAttributeSetId($this->product->getDefaultAttributeSetId());
7778
$generatedProducts = $this->variationHandler->generateSimpleProducts($this->product, $productsData);
7879
$this->assertCount(3, $generatedProducts);
@@ -88,6 +89,7 @@ public function testGenerateSimpleProducts(array $productsData): void
8889
$this->assertNull($product->getSmallImage());
8990
$this->assertNull($product->getThumbnail());
9091
$this->assertNull($product->getSwatchImage());
92+
$this->assertEquals(2, $product->getTaxClassId());
9193
}
9294
}
9395

0 commit comments

Comments
 (0)