| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 | 
							- <?php
 
- /**
 
-  * Copyright © Magento, Inc. All rights reserved.
 
-  * See COPYING.txt for license details.
 
-  */
 
- declare(strict_types=1);
 
- namespace Magento\InventoryCatalog\Test\Integration;
 
- use Magento\CatalogInventory\Api\StockRegistryInterface;
 
- use Magento\InventoryCatalog\Model\GetDefaultSourceItemBySku;
 
- use PHPUnit\Framework\TestCase;
 
- use Magento\TestFramework\Helper\Bootstrap;
 
- class UpdateDefaultSourceItemAtLegacyStockItemSaveTest extends TestCase
 
- {
 
-     /**
 
-      * @var StockRegistryInterface
 
-      */
 
-     private $stockRegistry;
 
-     /**
 
-      * @var GetDefaultSourceItemBySku
 
-      */
 
-     private $getDefaultSourceItemBySku;
 
-     protected function setUp()
 
-     {
 
-         parent::setUp();
 
-         $this->stockRegistry = Bootstrap::getObjectManager()->create(StockRegistryInterface::class);
 
-         $this->getDefaultSourceItemBySku = Bootstrap::getObjectManager()->get(GetDefaultSourceItemBySku::class);
 
-     }
 
-     /**
 
-      * @magentoDataFixture ../../../../app/code/Magento/InventoryApi/Test/_files/sources.php
 
-      * @magentoDataFixture ../../../../app/code/Magento/InventoryApi/Test/_files/products.php
 
-      * @magentoDataFixture ../../../../app/code/Magento/InventoryApi/Test/_files/source_items.php
 
-      * @magentoDataFixture ../../../../app/code/Magento/InventoryCatalog/Test/_files/source_items_on_default_source.php
 
-      * @magentoDbIsolation enabled
 
-      * @throws \Magento\Framework\Exception\NoSuchEntityException
 
-      */
 
-     public function testSaveLegacyStockItemAssignedToDefaultSource()
 
-     {
 
-         $stockItem = $this->stockRegistry->getStockItemBySku('SKU-1');
 
-         $stockItem->setQty(10);
 
-         $this->stockRegistry->updateStockItemBySku('SKU-1', $stockItem);
 
-         $defaultSourceItem = $this->getDefaultSourceItemBySku->execute('SKU-1');
 
-         self::assertEquals(
 
-             10,
 
-             $defaultSourceItem->getQuantity(),
 
-             'Quantity is not updated in default source when legacy stock is updated and product was'
 
-                 . 'previously assigned to default source'
 
-         );
 
-     }
 
-     /**
 
-      * @magentoDataFixture ../../../../app/code/Magento/InventoryApi/Test/_files/sources.php
 
-      * @magentoDataFixture ../../../../app/code/Magento/InventoryApi/Test/_files/products.php
 
-      * @magentoDataFixture ../../../../app/code/Magento/InventoryApi/Test/_files/source_items.php
 
-      * @magentoDataFixture ../../../../app/code/Magento/InventoryCatalog/Test/_files/source_items_on_default_source.php
 
-      * @magentoDbIsolation enabled
 
-      * @throws \Magento\Framework\Exception\NoSuchEntityException
 
-      */
 
-     public function testSaveLegacyStockItemNotAssignedToDefaultSource()
 
-     {
 
-         $stockItem = $this->stockRegistry->getStockItemBySku('SKU-2');
 
-         $stockItem->setQty(10);
 
-         $this->stockRegistry->updateStockItemBySku('SKU-2', $stockItem);
 
-         $defaultSourceItem = $this->getDefaultSourceItemBySku->execute('SKU-2');
 
-         self::assertEquals(
 
-             10,
 
-             $defaultSourceItem->getQuantity(),
 
-             'Quantity is not updated in default source when legacy stock is updated'
 
-         );
 
-         // SKU-3 is out of stock and not assigned to default source
 
-         $stockItem = $this->stockRegistry->getStockItemBySku('SKU-3');
 
-         $stockItem->setQty(10);
 
-         $this->stockRegistry->updateStockItemBySku('SKU-3', $stockItem);
 
-         $defaultSourceItem = $this->getDefaultSourceItemBySku->execute('SKU-3');
 
-         self::assertEquals(
 
-             10,
 
-             $defaultSourceItem->getQuantity(),
 
-             'Quantity is not updated in default source when legacy stock is updated and product was not '
 
-                 . 'previously assigned to default source'
 
-         );
 
-     }
 
-     /**
 
-      * @magentoDataFixture ../../../../app/code/Magento/InventoryApi/Test/_files/sources.php
 
-      * @magentoDataFixture ../../../../app/code/Magento/InventoryApi/Test/_files/products.php
 
-      * @magentoDataFixture ../../../../app/code/Magento/InventoryApi/Test/_files/source_items.php
 
-      * @magentoDbIsolation enabled
 
-      * @throws \Magento\Framework\Exception\NoSuchEntityException
 
-      */
 
-     public function testSaveLegacyStockItemWithoutDefaultSourceAssignment()
 
-     {
 
-         // SKU-3 is out of stock and not assigned to default source
 
-         $stockItem = $this->stockRegistry->getStockItemBySku('SKU-3');
 
-         $stockItem->setQty(0);
 
-         $stockItem->setIsInStock(false);
 
-         $this->stockRegistry->updateStockItemBySku('SKU-3', $stockItem);
 
-         $defaultSourceItem = $this->getDefaultSourceItemBySku->execute('SKU-3');
 
-         self::assertNull(
 
-             $defaultSourceItem,
 
-             'Product is assigned to default source on legacy stock item save even if it should not be'
 
-         );
 
-         // SKU-5 is out of stock and not assigned to default source
 
-         $stockItem = $this->stockRegistry->getStockItemBySku('SKU-5');
 
-         $stockItem->setQty(1);
 
-         $stockItem->setIsInStock(true);
 
-         $this->stockRegistry->updateStockItemBySku('SKU-5', $stockItem);
 
-         $defaultSourceItem = $this->getDefaultSourceItemBySku->execute('SKU-5');
 
-         self::assertNotNull(
 
-             $defaultSourceItem,
 
-             'Product is not assigned to default source on legacy stock item save even if it should be'
 
-         );
 
-     }
 
- }
 
 
  |