6 declare(strict_types=1);
11 use Magento\CatalogInventory\Api\StockItemCriteriaInterfaceFactory;
19 use PHPUnit\Framework\TestCase;
30 private $getStockItemData;
35 private $productRepository;
40 private $stockItemRepository;
45 private $stockItemCriteriaFactory;
50 private $sourceItemsSave;
55 private $sourceItemRepository;
60 private $searchCriteriaBuilder;
73 StockItemCriteriaInterfaceFactory::class
98 $stockItemData = $this->getStockItemData->execute($sku, $stockId);
100 self::assertEquals($expectedData, $stockItemData);
121 $stockItemData = $this->getStockItemData->execute($sku, $stockId);
123 self::assertEquals($expectedData, $stockItemData);
144 $this->setStockItemBackorders($sku, 0);
146 $stockItemData = $this->getStockItemData->execute($sku, $stockId);
148 self::assertEquals($expectedData, $stockItemData);
169 $this->setStockItemBackorders($sku, 1);
171 $stockItemData = $this->getStockItemData->execute($sku, $stockId);
173 self::assertEquals($expectedData, $stockItemData);
210 private function setStockItemBackorders(
string $sku,
int $backordersStatus): void
212 $product = $this->productRepository->get($sku);
213 $stockItemSearchCriteria = $this->stockItemCriteriaFactory->create();
214 $stockItemSearchCriteria->setProductsFilter(
$product->getId());
215 $stockItemsCollection = $this->stockItemRepository->getList($stockItemSearchCriteria);
218 $legacyStockItem = current($stockItemsCollection->getItems());
219 $legacyStockItem->setBackorders($backordersStatus);
220 $legacyStockItem->setUseConfigBackorders(0);
221 $this->stockItemRepository->save($legacyStockItem);
233 private function getSourceItemBySku(
string $sku): SourceItemInterface
236 ->addFilter(
'sku', $sku)
238 $sourceItemSearchResult = $this->sourceItemRepository->getList(
$searchCriteria);
240 return current($sourceItemSearchResult->getItems());
testGlobalBackordersEnabled(string $sku, int $stockId, $expectedData)
backordersDisabledDataProvider()
testStockItemBackordersEnabled(string $sku, int $stockId, $expectedData)
backordersEnabledDataProvider()
testStockItemBackordersDisabled(string $sku, int $stockId, $expectedData)
testBackordersDisabled(string $sku, int $stockId, $expectedData)
static getObjectManager()