123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\Pricing\Test\Unit\Helper;
- use Magento\Framework\Pricing\Helper\Data;
- use Magento\Framework\Pricing\PriceCurrencyInterface;
- class DataTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager
- */
- protected $objectManager;
- /**
- * @var \Magento\Framework\Pricing\PriceCurrencyInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $priceCurrencyMock;
- protected function setUp()
- {
- $this->priceCurrencyMock = $this->createMock(\Magento\Framework\Pricing\PriceCurrencyInterface::class);
- $this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
- }
- /**
- * @param string $amount
- * @param bool $format
- * @param bool $includeContainer
- * @param string $result
- * @dataProvider currencyDataProvider
- */
- public function testCurrency($amount, $format, $includeContainer, $result)
- {
- if ($format) {
- $this->priceCurrencyMock->expects($this->once())
- ->method('convertAndFormat')
- ->with($amount, $includeContainer)
- ->will($this->returnValue($result));
- } else {
- $this->priceCurrencyMock->expects($this->once())
- ->method('convert')
- ->with($amount)
- ->will($this->returnValue($result));
- }
- $helper = $this->getHelper(['priceCurrency' => $this->priceCurrencyMock]);
- $this->assertEquals($result, $helper->currency($amount, $format, $includeContainer));
- }
- /**
- * @return array
- */
- public function currencyDataProvider()
- {
- return [
- ['amount' => '100', 'format' => true, 'includeContainer' => true, 'result' => '100grn.'],
- ['amount' => '115', 'format' => true, 'includeContainer' => false, 'result' => '1150'],
- ['amount' => '120', 'format' => false, 'includeContainer' => null, 'result' => '1200'],
- ];
- }
- /**
- * @param string $amount
- * @param string $store
- * @param bool $format
- * @param bool $includeContainer
- * @param string $result
- * @dataProvider currencyByStoreDataProvider
- */
- public function testCurrencyByStore($amount, $store, $format, $includeContainer, $result)
- {
- if ($format) {
- $this->priceCurrencyMock->expects($this->once())
- ->method('convertAndFormat')
- ->with($amount, $includeContainer, PriceCurrencyInterface::DEFAULT_PRECISION, $store)
- ->will($this->returnValue($result));
- } else {
- $this->priceCurrencyMock->expects($this->once())
- ->method('convert')
- ->with($amount, $store)
- ->will($this->returnValue($result));
- }
- $helper = $this->getHelper(['priceCurrency' => $this->priceCurrencyMock]);
- $this->assertEquals($result, $helper->currencyByStore($amount, $store, $format, $includeContainer));
- }
- /**
- * @return array
- */
- public function currencyByStoreDataProvider()
- {
- return [
- ['amount' => '10', 'store' => 1, 'format' => true, 'includeContainer' => true, 'result' => '10grn.'],
- ['amount' => '115', 'store' => 4, 'format' => true, 'includeContainer' => false, 'result' => '1150'],
- ['amount' => '120', 'store' => 5, 'format' => false, 'includeContainer' => null, 'result' => '1200'],
- ];
- }
- /**
- * Get helper instance
- *
- * @param array $arguments
- * @return Data
- */
- private function getHelper($arguments)
- {
- return $this->objectManager->getObject(\Magento\Framework\Pricing\Helper\Data::class, $arguments);
- }
- }
|