Skip to content

Commit d5e9f59

Browse files
committed
MC-38930: Product type changed from virtual to simple
1 parent a284b63 commit d5e9f59

File tree

2 files changed

+37
-5
lines changed

2 files changed

+37
-5
lines changed

app/code/Magento/ConfigurableProduct/Controller/Adminhtml/Product/Initialization/Helper/Plugin/UpdateConfigurations.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,9 @@ protected function getConfigurations()
115115
if (isset($item['qty'])) {
116116
$result[$item['id']]['quantity_and_stock_status']['qty'] = $item['qty'];
117117
}
118-
118+
119119
// Changing product to simple on weight change
120-
if (isset($item['weight']) && $item['weight'] >= 0) {
120+
if (!empty($item['weight']) && $item['weight'] >= 0) {
121121
$result[$item['id']]['type_id'] = \Magento\Catalog\Model\Product\Type::TYPE_SIMPLE;
122122
$result[$item['id']]['product_has_weight'] = WeightResolver::HAS_WEIGHT;
123123
}

app/code/Magento/ConfigurableProduct/Test/Unit/Controller/Adminhtml/Product/Initialization/Helper/Plugin/UpdateConfigurationsTest.php

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,22 @@ private function getConfigurableMatrix()
119119
'price' => '3.33',
120120
'weight' => '5.55',
121121
],
122+
[
123+
'newProduct' => false,
124+
'id' => 'product5',
125+
'status' => 'simple5_status',
126+
'sku' => 'simple5_sku',
127+
'name' => 'simple5_name',
128+
'price' => '3.33',
129+
'configurable_attribute' => 'simple5_configurable_attribute',
130+
'weight' => '',
131+
'media_gallery' => 'simple5_media_gallery',
132+
'swatch_image' => 'simple5_swatch_image',
133+
'small_image' => 'simple5_small_image',
134+
'thumbnail' => 'simple5_thumbnail',
135+
'image' => 'simple5_image',
136+
'was_changed' => true,
137+
],
122138
];
123139
}
124140

@@ -144,12 +160,26 @@ public function testAfterInitialize()
144160
],
145161
'product3' => [
146162
'quantity_and_stock_status' => ['qty' => '3']
147-
]
163+
],
164+
'product5' => [
165+
'status' => 'simple5_status',
166+
'sku' => 'simple5_sku',
167+
'name' => 'simple5_name',
168+
'price' => '3.33',
169+
'configurable_attribute' => 'simple5_configurable_attribute',
170+
'weight' => '',
171+
'media_gallery' => 'simple5_media_gallery',
172+
'swatch_image' => 'simple5_swatch_image',
173+
'small_image' => 'simple5_small_image',
174+
'thumbnail' => 'simple5_thumbnail',
175+
'image' => 'simple5_image',
176+
],
148177
];
149178
/** @var Product[]|MockObject[] $productMocks */
150179
$productMocks = [
151180
'product2' => $this->getProductMock($configurations['product2'], true, true),
152181
'product3' => $this->getProductMock($configurations['product3'], false, true),
182+
'product5' => $this->getProductMock($configurations['product5'], false, true),
153183
];
154184

155185
$this->requestMock->expects(static::any())
@@ -169,15 +199,17 @@ public function testAfterInitialize()
169199
->willReturnMap(
170200
[
171201
['product2', false, 0, false, $productMocks['product2']],
172-
['product3', false, 0, false, $productMocks['product3']]
202+
['product3', false, 0, false, $productMocks['product3']],
203+
['product5', false, 0, false, $productMocks['product5']],
173204
]
174205
);
175206
$this->variationHandlerMock->expects(static::any())
176207
->method('processMediaGallery')
177208
->willReturnMap(
178209
[
179210
[$productMocks['product2'], $configurations['product2'], $configurations['product2']],
180-
[$productMocks['product3'], $configurations['product3'], $configurations['product3']]
211+
[$productMocks['product3'], $configurations['product3'], $configurations['product3']],
212+
[$productMocks['product5'], $configurations['product5'], $configurations['product5']]
181213
]
182214
);
183215

0 commit comments

Comments
 (0)