/** * Add stock information to product * * @param EventObserver $observer * @return void */ public function execute(EventObserver $observer) { $product = $observer->getEvent()->getProduct(); if ($product instanceof \Magento\Catalog\Model\Product) { $this->stockHelper->assignStatusToProduct($product); } }
public function testAssignStatusToProduct() { $websiteId = 1; $status = 'test'; $stockStatusMock = $this->getMockBuilder('Magento\\CatalogInventory\\Api\\Data\\StockStatusInterface')->disableOriginalConstructor()->getMock(); $stockStatusMock->expects($this->any())->method('getStockStatus')->willReturn($status); $this->stockRegistryProviderMock->expects($this->any())->method('getStockStatus')->willReturn($stockStatusMock); $this->stockConfiguration->expects($this->once())->method('getDefaultScopeId')->willReturn($websiteId); $productMock = $this->getMockBuilder('Magento\\Catalog\\Model\\Product')->disableOriginalConstructor()->setMethods(['setIsSalable', 'getId'])->getMock(); $productMock->expects($this->once())->method('setIsSalable')->with($status); $this->assertNull($this->stock->assignStatusToProduct($productMock)); }
/** * Add stock information to product * * @param EventObserver $observer * @return $this */ public function addInventoryData($observer) { $product = $observer->getEvent()->getProduct(); if ($product instanceof \Magento\Catalog\Model\Product) { $this->stockHelper->assignStatusToProduct($product, $product->getStockStatus()); } return $this; }