/**
  * @param AmountInterface $amount
  * @param array $arguments
  * @return AmountRenderInterface
  */
 protected function getAmountRender(AmountInterface $amount, array $arguments = [])
 {
     return $this->rendererPool->createAmountRender(
         $amount,
         $this->getSaleableItem(),
         $this->getPrice(),
         $arguments
     );
 }
예제 #2
0
 public function testRenderAmount()
 {
     $amount = $this->getMock('Magento\\Framework\\Pricing\\Amount\\AmountInterface');
     $arguments = [];
     $resultHtml = 'result_html';
     $amountRender = $this->getMockBuilder('Magento\\Framework\\Pricing\\Render\\Amount')->disableOriginalConstructor()->setMethods(['toHtml'])->getMock();
     $amountRender->expects($this->once())->method('toHtml')->will($this->returnValue($resultHtml));
     $this->rendererPool->expects($this->once())->method('createAmountRender')->with($amount, $this->saleable, $this->price, $arguments)->will($this->returnValue($amountRender));
     $this->assertEquals($resultHtml, $this->model->renderAmount($amount, $arguments));
 }
예제 #3
0
 public function testAmountRender()
 {
     $arguments = ['param' => 15];
     $expectedResult = 'default.default';
     $pricingRender = $this->getMock('Magento\\Framework\\Pricing\\Render\\Amount', [], [], '', false, true, true, false);
     $this->renderPool->expects($this->once())->method('createAmountRender')->with($this->equalTo($this->amount), $this->equalTo($this->saleableItem), $this->equalTo($this->price), $this->equalTo($arguments))->will($this->returnValue($pricingRender));
     $pricingRender->expects($this->once())->method('toHtml')->will($this->returnValue('default.default'));
     $this->priceLayout->expects($this->once())->method('getBlock')->with('render.product.prices')->will($this->returnValue($this->renderPool));
     $result = $this->model->renderAmount($this->amount, $this->price, $this->saleableItem, $arguments);
     $this->assertEquals($expectedResult, $result);
 }
예제 #4
0
 public function testRenderAmountMinimal()
 {
     $priceType = $this->getMock('Magento\\Catalog\\Pricing\\Price\\FinalPrice', [], [], '', false);
     $amount = $this->getMockForAbstractClass('Magento\\Framework\\Pricing\\Amount\\AmountInterface');
     $priceId = 'price_id';
     $html = 'html';
     $this->object->setData('price_id', $priceId);
     $arguments = ['display_label' => __('As low as:'), 'price_id' => $priceId, 'include_container' => false, 'skip_adjustments' => true];
     $amountRender = $this->getMock('Magento\\Framework\\Pricing\\Render\\Amount', ['toHtml'], [], '', false);
     $amountRender->expects($this->once())->method('toHtml')->will($this->returnValue($html));
     $this->priceInfo->expects($this->once())->method('getPrice')->with(\Magento\Catalog\Pricing\Price\FinalPrice::PRICE_CODE)->will($this->returnValue($priceType));
     $priceType->expects($this->once())->method('getMinimalPrice')->will($this->returnValue($amount));
     $this->rendererPool->expects($this->once())->method('createAmountRender')->with($amount, $this->product, $this->price, $arguments)->will($this->returnValue($amountRender));
     $this->assertEquals($html, $this->object->renderAmountMinimal());
 }
예제 #5
0
 public function testAdjustmentsHtml()
 {
     $adjustmentHtml1 = 'adjustment_1_html';
     $adjustmentHtml2 = 'adjustment_2_html';
     $data = ['key1' => 'data1', 'css_classes' => 'class1 class2'];
     $expectedData = ['key1' => 'data1', 'css_classes' => 'class1 class2', 'module_name' => null, 'adjustment_css_classes' => 'class1 class2 render1 render2'];
     $this->model->setData($data);
     $this->assertFalse($this->model->hasAdjustmentsHtml());
     $adjustmentRender1 = $this->getAdjustmentRenderMock($expectedData, $adjustmentHtml1, 'adjustment_code1');
     $adjustmentRender2 = $this->getAdjustmentRenderMock($expectedData, $adjustmentHtml2, 'adjustment_code2');
     $adjustmentRenders = ['render1' => $adjustmentRender1, 'render2' => $adjustmentRender2];
     $this->rendererPool->expects($this->once())->method('getAdjustmentRenders')->will($this->returnValue($adjustmentRenders));
     $this->model->toHtml();
     $this->assertTrue($this->model->hasAdjustmentsHtml());
     $this->assertEquals($adjustmentHtml1 . $adjustmentHtml2, $this->model->getAdjustmentsHtml());
 }
예제 #6
0
 /**
  * @return AdjustmentRenderInterface[]
  */
 protected function getAdjustmentRenders()
 {
     return $this->rendererPool->getAdjustmentRenders($this->saleableItem, $this->price);
 }