CurrencysymbolTest.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\CurrencySymbol\Model\System;
  7. use Magento\TestFramework\Helper\Bootstrap;
  8. /**
  9. * Test for Magento\CurrencySymbol\Model\System\Currencysymbol
  10. *
  11. * @magentoAppArea adminhtml
  12. */
  13. class CurrencysymbolTest extends \PHPUnit\Framework\TestCase
  14. {
  15. /**
  16. * @var \Magento\CurrencySymbol\Model\System\Currencysymbol
  17. */
  18. protected $currencySymbolModel;
  19. protected function setUp()
  20. {
  21. $this->currencySymbolModel = Bootstrap::getObjectManager()->create(
  22. \Magento\CurrencySymbol\Model\System\Currencysymbol::class
  23. );
  24. }
  25. protected function tearDown()
  26. {
  27. $this->currencySymbolModel = null;
  28. Bootstrap::getObjectManager()->get(\Magento\Framework\App\Config\ReinitableConfigInterface::class)->reinit();
  29. Bootstrap::getObjectManager()->create(\Magento\Store\Model\StoreManagerInterface::class)->reinitStores();
  30. }
  31. public function testGetCurrencySymbolsData()
  32. {
  33. $currencySymbolsData = $this->currencySymbolModel->getCurrencySymbolsData();
  34. $this->assertArrayHasKey('USD', $currencySymbolsData, 'Default currency option for USD is missing.');
  35. $this->assertArrayHasKey('EUR', $currencySymbolsData, 'Default currency option for EUR is missing.');
  36. }
  37. /**
  38. * @magentoDbIsolation enabled
  39. */
  40. public function testSetEmptyCurrencySymbolsData()
  41. {
  42. $currencySymbolsDataBefore = $this->currencySymbolModel->getCurrencySymbolsData();
  43. $this->currencySymbolModel->setCurrencySymbolsData([]);
  44. $currencySymbolsDataAfter = $this->currencySymbolModel->getCurrencySymbolsData();
  45. //Make sure symbol data is unchanged
  46. $this->assertEquals($currencySymbolsDataBefore, $currencySymbolsDataAfter);
  47. }
  48. /**
  49. * @magentoDbIsolation enabled
  50. */
  51. public function testSetCurrencySymbolsData()
  52. {
  53. $currencySymbolsData = $this->currencySymbolModel->getCurrencySymbolsData();
  54. $this->assertArrayHasKey('EUR', $currencySymbolsData);
  55. //Change currency symbol
  56. $currencySymbolsData = [
  57. 'EUR' => '@',
  58. ];
  59. $this->currencySymbolModel->setCurrencySymbolsData($currencySymbolsData);
  60. //Verify if the new symbol is set
  61. $this->assertEquals(
  62. '@',
  63. $this->currencySymbolModel->getCurrencySymbolsData()['EUR']['displaySymbol'],
  64. 'Symbol not set correctly.'
  65. );
  66. $this->assertEquals('@', $this->currencySymbolModel->getCurrencySymbol('EUR'), 'Symbol not set correctly.');
  67. }
  68. public function testGetCurrencySymbolNonExistent()
  69. {
  70. $this->assertFalse($this->currencySymbolModel->getCurrencySymbol('AUD'));
  71. }
  72. }