57 $this->priceCurrency = $this->createMock(\
Magento\Framework\Pricing\PriceCurrencyInterface::class);
61 'base_price_test' => [
63 'adjustment_render_class' => \Magento\Framework\View\Element\Template::class,
64 'adjustment_render_template' =>
'template.phtml',
71 $this->rendererPool = $this->getMockBuilder(\
Magento\Framework\Pricing\
Render\RendererPool::class)
72 ->setConstructorArgs([
'data' =>
$data])
73 ->disableOriginalConstructor()
76 $this->layout = $this->createMock(\
Magento\Framework\View\Layout::class);
77 $this->
amount = $this->getMockForAbstractClass(\
Magento\Framework\Pricing\
Amount\AmountInterface::class);
78 $this->saleableItemMock = $this->getMockForAbstractClass(\
Magento\Framework\Pricing\SaleableInterface::class);
79 $this->priceMock = $this->getMockForAbstractClass(\
Magento\Framework\Pricing\Price\PriceInterface::class);
81 $eventManager = $this->createMock(\
Magento\Framework\
Event\Test\Unit\ManagerStub::class);
82 $scopeConfigMock = $this->getMockForAbstractClass(\
Magento\Framework\
App\Config\ScopeConfigInterface::class);
83 $context = $this->createMock(\
Magento\Framework\View\Element\
Template\Context::class);
84 $context->expects($this->any())
85 ->method(
'getEventManager')
86 ->will($this->returnValue($eventManager));
87 $context->expects($this->any())
89 ->will($this->returnValue($this->layout));
90 $context->expects($this->any())
91 ->method(
'getScopeConfig')
92 ->will($this->returnValue($scopeConfigMock));
94 $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
98 'context' => $context,
99 'priceCurrency' => $this->priceCurrency,
100 'rendererPool' => $this->rendererPool,
101 'amount' => $this->
amount,
102 'saleableItem' => $this->saleableItemMock,
103 'price' => $this->priceMock
111 $includeContainer =
true;
116 $this->priceCurrency->expects($this->once())
118 ->with(
$amount, $includeContainer, $precision)
119 ->will($this->returnValue(
$result));
121 $this->assertEquals(
$result, $this->model->formatCurrency(
$amount, $includeContainer, $precision));
127 $this->priceCurrency->expects($this->once())
128 ->method(
'getCurrencySymbol')
130 $this->assertEquals(
$currencySymbol, $this->model->getDisplayCurrencySymbol());
143 if ($hasSkipAdjustments) {
144 $this->model->setData(
'skip_adjustments', $skipAdjustments);
147 'css_classes' =>
'class1 class2',
148 'module_name' =>
null,
149 'adjustment_css_classes' =>
'class1 class2 render1 render2',
150 'skip_adjustments' => $skipAdjustments
155 'css_classes' =>
'class1 class2',
156 'module_name' =>
null,
157 'adjustment_css_classes' =>
'class1 class2 render1 render2',
161 $this->model->setData(
'key1',
'data1');
162 $this->model->setData(
'css_classes',
'class1 class2');
166 $adjustmentRenders = [
'render1' => $adjustmentRender1,
'render2' => $adjustmentRender2];
167 $this->rendererPool->expects($this->once())
168 ->method(
'getAdjustmentRenders')
169 ->will($this->returnValue($adjustmentRenders));
171 $this->model->toHtml();
172 $this->assertEquals($expected, $this->model->getAdjustmentsHtml());
181 [
false,
null,
'html'],
182 [
false,
null,
'html'],
183 [
true,
false,
'html'],
193 $data = [
'key1' =>
'data1',
'css_classes' =>
'class1 class2'];
196 'css_classes' =>
'class1 class2',
197 'module_name' =>
null,
198 'adjustment_css_classes' =>
'class1 class2 render1 render2',
201 $this->model->setData(
$data);
205 $adjustmentRenders = [
'render1' => $adjustmentRender1,
'render2' => $adjustmentRender2];
206 $this->rendererPool->expects($this->once())
207 ->method(
'getAdjustmentRenders')
208 ->will($this->returnValue($adjustmentRenders));
209 $this->
amount->expects($this->atLeastOnce())
210 ->method(
'getAdjustmentAmount')
213 $this->model->toHtml();
218 $displayValue = 5.99;
219 $this->model->setDisplayValue($displayValue);
220 $this->assertEquals($displayValue, $this->model->getDisplayValue());
225 $amountValue = 100.99;
226 $this->
amount->expects($this->once())
228 ->will($this->returnValue($amountValue));
229 $this->assertEquals($amountValue, $this->model->getDisplayValue());
234 $this->assertEquals($this->
amount, $this->model->getAmount());
239 $this->assertEquals($this->saleableItemMock, $this->model->getSaleableItem());
244 $this->assertEquals($this->priceMock, $this->model->getPrice());
249 $adjustmentHtml1 =
'adjustment_1_html';
250 $adjustmentHtml2 =
'adjustment_2_html';
251 $data = [
'key1' =>
'data1',
'css_classes' =>
'class1 class2'];
254 'css_classes' =>
'class1 class2',
255 'module_name' =>
null,
256 'adjustment_css_classes' =>
'class1 class2 render1 render2',
259 $this->model->setData(
$data);
261 $this->assertFalse($this->model->hasAdjustmentsHtml());
265 $adjustmentRenders = [
'render1' => $adjustmentRender1,
'render2' => $adjustmentRender2];
266 $this->rendererPool->expects($this->once())
267 ->method(
'getAdjustmentRenders')
268 ->will($this->returnValue($adjustmentRenders));
269 $this->
amount->expects($this->atLeastOnce())
270 ->method(
'getAdjustmentAmount')
273 $this->model->toHtml();
275 $this->assertTrue($this->model->hasAdjustmentsHtml());
277 $this->assertEquals($adjustmentHtml1 . $adjustmentHtml2, $this->model->getAdjustmentsHtml());
288 $adjustmentRender = $this->getMockForAbstractClass(
289 \
Magento\Framework\Pricing\
Render\AdjustmentRenderInterface::class
291 $adjustmentRender->expects($this->once())
293 ->with($this->model,
$data)
294 ->will($this->returnValue($html));
295 $adjustmentRender->expects($this->any())
296 ->method(
'getAdjustmentCode')
297 ->will($this->returnValue(
$code));
298 return $adjustmentRender;
dataProviderToHtmlSkipAdjustments()
if( $block->displayPriceExclTax()||$block->displayBothPrices())(__('Excl. Tax')) ?>"> <?php if ($block -> displayPriceWithWeeeDetails()): ?> <span class="cart-tax-total" data-mage-init=' Magento Weee Helper Data Magento Weee Helper Data title amount
testGetDisplayCurrencySymbol()
getAdjustmentRenderMock($data=[], $html='', $code='adjustment_code')
testGetDisplayValueExiting()
testToHtmlSkipAdjustments($hasSkipAdjustments, $skipAdjustments, $expected)
testToHtmlGetAdjustmentRenders()