Skip to content

Commit d8ec98c

Browse files
🔃 [EngCom] Public Pull Requests - 2.2-develop
Accepted Public Pull Requests: - #20177: #15950: Magento2 CSV product import qty and is_in_stock not working correct. (by @p-bystritsky) Fixed GitHub Issues: - #15950: Magento2 CSV product import qty and is_in_stock not working correct (reported by @matin73) has been fixed in #20177 by @p-bystritsky in 2.2-develop branch Related commits: 1. 4ec34a2
2 parents 722b213 + e8a9e9f commit d8ec98c

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

app/code/Magento/CatalogImportExport/Model/Import/Product.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2997,9 +2997,7 @@ private function formatStockDataForRow(array $rowData)
29972997
)
29982998
) {
29992999
$stockItemDo->setData($row);
3000-
$row['is_in_stock'] = $stockItemDo->getBackorders() && isset($row['is_in_stock'])
3001-
? $row['is_in_stock']
3002-
: $this->stockStateProvider->verifyStock($stockItemDo);
3000+
$row['is_in_stock'] = $row['is_in_stock'] ?? $this->stockStateProvider->verifyStock($stockItemDo);
30033001
if ($this->stockStateProvider->verifyNotification($stockItemDo)) {
30043002
$row['low_stock_date'] = $this->dateTime->gmDate(
30053003
'Y-m-d H:i:s',

dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Import/ProductTest.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2243,6 +2243,20 @@ public function testImportWithBackordersEnabled()
22432243
$this->assertFalse($product->getDataByKey('quantity_and_stock_status')['is_in_stock']);
22442244
}
22452245

2246+
/**
2247+
* Test that imported product stock status with stock quantity > 0 and backorders functionality disabled
2248+
* can be set to 'out of stock'.
2249+
*
2250+
* @magentoDbIsolation enabled
2251+
* @magentoAppIsolation enabled
2252+
*/
2253+
public function testImportWithBackordersDisabled()
2254+
{
2255+
$this->importFile('products_to_import_with_backorders_disabled_and_not_0_qty.csv');
2256+
$product = $this->getProductBySku('simple_new');
2257+
$this->assertFalse($product->getDataByKey('quantity_and_stock_status')['is_in_stock']);
2258+
}
2259+
22462260
/**
22472261
* Import file by providing import filename in parameters
22482262
*
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
sku,store_view_code,attribute_set_code,product_type,categories,product_websites,name,description,short_description,weight,product_online,tax_class_name,visibility,price,special_price,special_price_from_date,special_price_to_date,url_key,meta_title,meta_keywords,meta_description,base_image,base_image_label,small_image,small_image_label,thumbnail_image,thumbnail_image_label,created_at,updated_at,new_from_date,new_to_date,display_product_options_in,map_price,msrp_price,map_enabled,gift_message_available,custom_design,custom_design_from,custom_design_to,custom_layout_update,page_layout,product_options_container,msrp_display_actual_price_type,country_of_manufacture,additional_attributes,qty,out_of_stock_qty,use_config_min_qty,is_qty_decimal,allow_backorders,use_config_backorders,min_cart_qty,use_config_min_sale_qty,max_cart_qty,use_config_max_sale_qty,is_in_stock,notify_on_stock_below,use_config_notify_stock_qty,manage_stock,use_config_manage_stock,use_config_qty_increments,qty_increments,use_config_enable_qty_inc,enable_qty_increments,is_decimal_divided,website_id,related_skus,crosssell_skus,upsell_skus,additional_images,additional_image_labels,hide_from_product_page,custom_options,bundle_price_type,bundle_sku_type,bundle_price_view,bundle_weight_type,bundle_values,associated_skus
2+
simple_new,,Default,simple,,base,New Product,,,,1,Taxable Goods,"Catalog, Search",10,,,,new-product,New Product,New Product,New Product ,,,,,,,10/20/2015 7:05,10/20/2015 7:05,,,Block after Info Column,,,,,,,,,,,,,"has_options=1,quantity_and_stock_status=In Stock,required_options=1",100,0,1,0,0,0,1,1,10000,1,0,1,1,1,0,1,1,0,0,0,1,,,,,,,,,,,,,

0 commit comments

Comments
 (0)