public function test_processLots() { /** === Test Data === */ $LOT1 = new \Praxigento\Odoo\Data\Odoo\Inventory\Product\Warehouse\Lot(); $LOTS = [$LOT1]; $STOCK_ITEM_ID = 21; $STOCK_ITEM = $this->_mock(\Magento\CatalogInventory\Api\Data\StockItemInterface::class); $QTY = 5400; /** === Setup Mocks === */ // $stockItemId = $stockItem->getItemId(); $STOCK_ITEM->shouldReceive('getItemId')->once()->andReturn($STOCK_ITEM_ID); // $qtyTotal += $this->_subLot->processLot($stockItemId, $lot); $this->mSubLot->shouldReceive('processLot')->once()->andReturn($QTY); // $stockItem->setQty($qtyTotal); $STOCK_ITEM->shouldReceive('setQty'); // $stockItem->setIsInStock($isInStock); $STOCK_ITEM->shouldReceive('setIsInStock'); // $this->_mageRepoStockItem->save($stockItem); $this->mMageRepoStockItem->shouldReceive('save')->once(); // $this->_subLot->cleanupLots($stockItemId, $lots); $this->mSubLot->shouldReceive('cleanupLots')->once(); /** === Call and asserts === */ $this->obj->processLots($LOTS, $STOCK_ITEM); }