Ejemplo n.º 1
0
 public function testGetBuyRequestOptionByCode()
 {
     $optionCode = "info_buyRequest";
     $buyRequestQuantity = 23;
     $optionMock = $this->getMockBuilder('Magento\\Quote\\Model\\Quote\\Item\\Option')->setMethods(['setItem', 'getCode', '__wakeup', 'getValue'])->disableOriginalConstructor()->getMock();
     $optionMock->expects($this->once())->method('setItem')->with($this->model)->will($this->returnValue($optionMock));
     $optionMock->expects($this->exactly(3))->method('getCode')->will($this->returnValue($optionCode));
     $optionMock->expects($this->once())->method('getValue')->will($this->returnValue(serialize(['qty' => $buyRequestQuantity])));
     $this->model->addOption($optionMock);
     $quantity = 12;
     $this->localeFormat->expects($this->at(0))->method('getNumber')->with($quantity)->will($this->returnValue($quantity));
     $this->model->setQty($quantity);
     $this->assertEquals($quantity, $this->model->getQty());
     $buyRequest = $this->model->getBuyRequest();
     $this->assertEquals($buyRequestQuantity, $buyRequest->getOriginalQty());
     $this->assertEquals($quantity, $buyRequest->getQty());
 }
Ejemplo n.º 2
0
 /**
  * Unset custom_price data for quote item
  *
  * @param Item $item
  * @return void
  */
 protected function unsetCustomPrice(Item $item)
 {
     /** @var \Magento\Framework\DataObject $infoBuyRequest */
     $infoBuyRequest = $item->getBuyRequest();
     if ($infoBuyRequest->hasData('custom_price')) {
         $infoBuyRequest->unsetData('custom_price');
         $infoBuyRequest->setValue(serialize($infoBuyRequest->getData()));
         $infoBuyRequest->setCode('info_buyRequest');
         $infoBuyRequest->setProduct($item->getProduct());
         $item->addOption($infoBuyRequest);
     }
     $item->unsetData('custom_price');
     $item->unsetData('original_custom_price');
 }