Skip to content

Commit 998f3fc

Browse files
committed
MAGETWO-90729: Imported products are incorrectly in stock if 'allow_backorders' enabled
1 parent beb32b1 commit 998f3fc

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2869,14 +2869,12 @@ private function formatStockDataForRow(array $rowData): array
28692869

28702870
if ($this->stockConfiguration->isQty($this->skuProcessor->getNewSku($sku)['type_id'])) {
28712871
$stockItemDo->setData($row);
2872-
$row['is_in_stock'] = $stockItemDo->getBackorders() && isset($row['is_in_stock'])
2872+
$row['is_in_stock'] = isset($row['is_in_stock']) && $stockItemDo->getBackorders()
28732873
? $row['is_in_stock']
28742874
: $this->stockStateProvider->verifyStock($stockItemDo);
28752875
if ($this->stockStateProvider->verifyNotification($stockItemDo)) {
2876-
$row['low_stock_date'] = $this->dateTime->gmDate(
2877-
'Y-m-d H:i:s',
2878-
(new \DateTime())->getTimestamp()
2879-
);
2876+
$row['low_stock_date'] =
2877+
gmdate(\Magento\Framework\Stdlib\DateTime::DATETIME_PHP_FORMAT, (new \DateTime())->getTimestamp());
28802878
}
28812879
$row['stock_status_changed_auto'] = (int)!$this->stockStateProvider->verifyStock($stockItemDo);
28822880
} else {

dev/tests/integration/testsuite/Magento/Catalog/_files/product_simple_out_of_stock.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@
1818
$product = $objectManager->create(\Magento\Catalog\Model\Product::class);
1919
$product->isObjectNew(true);
2020
$product->setTypeId(\Magento\Catalog\Model\Product\Type::TYPE_SIMPLE)
21-
->setId(1)
22-
->setAttributeSetId(4)
21+
->setAttributeSetId($product->getDefaultAttributeSetId())
2322
->setWebsiteIds([1])
2423
->setName('Simple Product')
2524
->setSku('simple-out-of-stock')
@@ -40,7 +39,8 @@
4039
'is_qty_decimal' => 0,
4140
'is_in_stock' => 0,
4241
]
43-
)->setCanSaveCustomOptions(true)
42+
)
43+
->setCanSaveCustomOptions(true)
4444
->setHasOptions(true);
4545

4646
/** @var \Magento\Catalog\Api\ProductRepositoryInterface $productRepositoryFactory */

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2185,7 +2185,7 @@ public function testProductsWithMultipleStoresWhenMediaIsDisabled(): void
21852185
/**
21862186
* Test that imported product stock status with backorders functionality enabled can be set to 'out of stock'.
21872187
*
2188-
* @magentoDataIsolation enabled
2188+
* @magentoDbIsolation enabled
21892189
* @magentoAppIsolation enabled
21902190
*
21912191
* @return void
@@ -2220,7 +2220,9 @@ private function importFile(string $fileName): void
22202220
'entity' => 'catalog_product',
22212221
\Magento\ImportExport\Model\Import::FIELDS_ENCLOSURE => 1,
22222222
]
2223-
)->setSource($source)->validateData();
2223+
)
2224+
->setSource($source)
2225+
->validateData();
22242226

22252227
$this->assertTrue($errors->getErrorsCount() == 0);
22262228

0 commit comments

Comments
 (0)