/** * @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 ); }
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)); }
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); }
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()); }
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()); }
/** * @return AdjustmentRenderInterface[] */ protected function getAdjustmentRenders() { return $this->rendererPool->getAdjustmentRenders($this->saleableItem, $this->price); }