Пример #1
0
 /**
  * @param int $productStockQty
  * @param int|null $productId
  * @param int|null $dataQty
  * @param int $expectedQty
  * @dataProvider getStockQtyDataProvider
  */
 public function testGetStockQty($productStockQty, $productId, $dataQty, $expectedQty)
 {
     $this->assertNull($this->block->getData('product_stock_qty'));
     if ($dataQty) {
         $this->setDataArrayValue('product_stock_qty', $dataQty);
     } else {
         $product = $this->getMock('Magento\\Catalog\\Model\\Product', ['getId', '__wakeup'], [], '', false);
         $product->expects($this->any())->method('getId')->will($this->returnValue($productId));
         $this->registryMock->expects($this->any())->method('registry')->with('current_product')->will($this->returnValue($product));
         if ($productId) {
             $this->stockItemService->expects($this->once())->method('getStockQty')->with($this->equalTo($productId))->will($this->returnValue($productStockQty));
         }
     }
     $this->assertSame($expectedQty, $this->block->getStockQty());
     $this->assertSame($expectedQty, $this->block->getData('product_stock_qty'));
 }
 /**
  * @param int $productStockQty
  * @param int|null $productId
  * @param int|null $websiteId
  * @param int|null $dataQty
  * @param int $expectedQty
  * @dataProvider getStockQtyDataProvider
  */
 public function testGetStockQty($productStockQty, $productId, $websiteId, $dataQty, $expectedQty)
 {
     $this->assertNull($this->block->getData('product_stock_qty'));
     if ($dataQty) {
         $this->setDataArrayValue('product_stock_qty', $dataQty);
     } else {
         $product = $this->getMock('Magento\\Catalog\\Model\\Product', ['getId', 'getStore', '__wakeup'], [], '', false);
         $product->expects($this->any())->method('getId')->will($this->returnValue($productId));
         $store = $this->getMock('Magento\\Store\\Model\\Store', ['getWebsiteId', '__wakeup'], [], '', false);
         $store->expects($this->any())->method('getWebsiteId')->willReturn($websiteId);
         $product->expects($this->any())->method('getStore')->will($this->returnValue($store));
         $this->registryMock->expects($this->any())->method('registry')->with('current_product')->will($this->returnValue($product));
         if ($productId) {
             $stockStatus = $this->getMockBuilder(\Magento\CatalogInventory\Api\Data\StockStatusInterface::class)->getMockForAbstractClass();
             $stockStatus->expects($this->any())->method('getQty')->willReturn($productStockQty);
             $this->stockRegistryMock->expects($this->once())->method('getStockStatus')->with($this->equalTo($productId), $this->equalTo($websiteId))->will($this->returnValue($stockStatus));
         }
     }
     $this->assertSame($expectedQty, $this->block->getStockQty());
     $this->assertSame($expectedQty, $this->block->getData('product_stock_qty'));
 }