123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\CurrencySymbol\Test\Unit\Observer;
- use Magento\CurrencySymbol\Model\System\CurrencysymbolFactory;
- /**
- * Test for \Magento\CurrencySymbol\Observer\CurrencyDisplayOptions
- */
- class CurrencyDisplayOptionsTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \Magento\CurrencySymbol\Observer\CurrencyDisplayOptions
- */
- private $observer;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject|CurrencysymbolFactory $mockSymbolFactory
- */
- private $mockSymbolFactory;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\CurrencySymbol\Model\System\Currencysymbol $mockSymbol
- */
- private $mockSymbol;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\Event\Observer $mockEvent
- */
- private $mockEventObserver;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\Event $mockEvent
- */
- private $mockEvent;
- protected function setUp()
- {
- $this->mockSymbolFactory = $this->createPartialMock(
- \Magento\CurrencySymbol\Model\System\CurrencysymbolFactory::class,
- ['create']
- );
- $this->mockSymbol = $this->createPartialMock(
- \Magento\CurrencySymbol\Model\System\Currencysymbol::class,
- ['getCurrencySymbol']
- );
- $this->mockEventObserver = $this->createPartialMock(\Magento\Framework\Event\Observer::class, ['getEvent']);
- $this->mockEvent = $this->createPartialMock(
- \Magento\Framework\Event::class,
- ['getBaseCode', 'getCurrencyOptions']
- );
- $this->mockEventObserver->expects($this->any())->method('getEvent')->willReturn($this->mockEvent);
- $this->mockSymbolFactory->expects($this->any())->method('create')->willReturn($this->mockSymbol);
- $this->observer = new \Magento\CurrencySymbol\Observer\CurrencyDisplayOptions($this->mockSymbolFactory);
- }
- public function testCurrencyDisplayOptionsEmpty()
- {
- $baseData = [
- \Magento\Framework\Locale\Currency::CURRENCY_OPTION_NAME => 'US Dollar'
- ];
- $sampleCurrencyOptionObject = new \Magento\Framework\DataObject($baseData);
- //Return invalid value
- $this->mockEvent->expects($this->once())->method('getBaseCode')->willReturn(null);
- $this->mockEvent->expects($this->once())->method('getCurrencyOptions')->willReturn($sampleCurrencyOptionObject);
- $this->mockSymbol->expects($this->never())->method('getCurrencySymbol')->with(null)->willReturn(null);
- $this->observer->execute($this->mockEventObserver);
- // Check if option set is empty
- $this->assertEquals($baseData, $sampleCurrencyOptionObject->getData());
- }
- public function testCurrencyDisplayOptions()
- {
- $baseData = [
- \Magento\Framework\Locale\Currency::CURRENCY_OPTION_NAME => 'US Dollar'
- ];
- $sampleCurrencyOptionObject = new \Magento\Framework\DataObject($baseData);
- $sampleCurrency = 'USD';
- $sampleCurrencySymbol = '$';
- $expectedCurrencyOptions = array_merge(
- $baseData,
- [
- \Magento\Framework\Locale\Currency::CURRENCY_OPTION_NAME => 'US Dollar',
- \Magento\Framework\Locale\Currency::CURRENCY_OPTION_SYMBOL => $sampleCurrencySymbol,
- \Magento\Framework\Locale\Currency::CURRENCY_OPTION_DISPLAY => \Magento\Framework\Currency::USE_SYMBOL
- ]
- );
- $this->mockEvent->expects($this->once())->method('getBaseCode')->willReturn($sampleCurrency);
- $this->mockEvent->expects($this->once())->method('getCurrencyOptions')->willReturn($sampleCurrencyOptionObject);
- $this->mockSymbol->expects($this->once())
- ->method('getCurrencySymbol')
- ->with($sampleCurrency)
- ->willReturn($sampleCurrencySymbol);
- $this->observer->execute($this->mockEventObserver);
- $this->assertEquals($expectedCurrencyOptions, $sampleCurrencyOptionObject->getData());
- }
- }
|