From 188ecb36ed86fbd7df58a4826040078eefaad2c6 Mon Sep 17 00:00:00 2001
From: RomanKis <romaikiss@gmail.com>
Date: Tue, 12 Dec 2017 13:22:24 +0200
Subject: [PATCH] 8624: Stock status not coming back after qty update

---
 .../testsuite/Magento/Catalog/Model/ProductTest.php   | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/ProductTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/ProductTest.php
index 078a83bcf63..da91ed96435 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/ProductTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/ProductTest.php
@@ -557,7 +557,7 @@ class ProductTest extends \PHPUnit\Framework\TestCase
     {
         //if save (out of stock product with qty 0) with new qty > 0 it should become in stock.
         //if set out of stock for product with qty > 0 it should become out of stock
-        $product = $this->productRepository->get('simple-out-of-stock');
+        $product = $this->productRepository->get('simple-out-of-stock', true, null, true);
         $stockItem = $product->getExtensionAttributes()->getStockItem();
         $this->assertEquals(false, $stockItem->getIsInStock());
         $stockData = [
@@ -567,7 +567,11 @@ class ProductTest extends \PHPUnit\Framework\TestCase
         $product->setStockData($stockData);
         $product->save();
 
-        $product = $this->productRepository->get('simple-out-of-stock');
+        /** @var \Magento\CatalogInventory\Model\StockRegistryStorage $stockRegistryStorage */
+        $stockRegistryStorage = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get(\Magento\CatalogInventory\Model\StockRegistryStorage::class);
+        $stockRegistryStorage->removeStockItem($product->getId());
+        $product = $this->productRepository->get('simple-out-of-stock', true, null, true);
         $stockItem = $product->getExtensionAttributes()->getStockItem();
         $this->assertEquals(true, $stockItem->getIsInStock());
         $stockData = [
@@ -577,7 +581,8 @@ class ProductTest extends \PHPUnit\Framework\TestCase
         $product->setStockData($stockData);
         $product->save();
 
-        $product = $this->productRepository->get('simple-out-of-stock');
+        $stockRegistryStorage->removeStockItem($product->getId());
+        $product = $this->productRepository->get('simple-out-of-stock', true, null, true);
         $stockItem = $product->getExtensionAttributes()->getStockItem();
         $this->assertEquals(false, $stockItem->getIsInStock());
     }
-- 
GitLab