Example #1
0
 /**
  * @param array $productConfig
  * @param array $stockConfig
  * @param float $expectedQty
  * @dataProvider getStockQtyDataProvider
  */
 public function testGetStockQty($productConfig, $stockConfig, $expectedQty)
 {
     $productId = $productConfig['product_id'];
     $isComposite = $productConfig['is_composite'];
     $qty = $productConfig['qty'];
     $useConfigManageStock = $stockConfig['use_config_manage_stock'];
     $manageStock = $stockConfig['manage_stock'];
     $isInStock = $productConfig['is_in_stock'];
     $isSaleable = $productConfig['is_saleable'];
     $this->setDataArrayValue('product_id', $productId);
     $this->product->expects($this->once())->method('load')->with($this->equalTo($productId), $this->equalTo(null))->will($this->returnSelf());
     $this->product->expects($this->once())->method('isComposite')->will($this->returnValue($isComposite));
     $this->setDataArrayValue('qty', $qty);
     $this->setDataArrayValue('is_in_stock', $isInStock);
     if ($qty > 0 || $manageStock || $isInStock) {
         $this->product->expects($this->any())->method('isSaleable')->will($this->returnValue($isSaleable));
     }
     if ($isComposite) {
         $this->prepareNotCompositeProductMock();
     }
     $this->initManageStock($useConfigManageStock, $manageStock);
     $this->assertSame($expectedQty, $this->item->getStockQty());
 }