commerce-8.x-2.8/modules/price/tests/src/Kernel/CurrencyRepositoryTest.php

modules/price/tests/src/Kernel/CurrencyRepositoryTest.php
<?php

namespace Drupal\Tests\commerce_price\Kernel;

use CommerceGuys\Intl\Currency\Currency;
use Drupal\Tests\commerce\Kernel\CommerceKernelTestBase;

/**
 * Tests the currency repository.
 *
 * @coversDefaultClass \Drupal\commerce_price\Repository\CurrencyRepository
 * @group commerce
 */
class CurrencyRepositoryTest extends CommerceKernelTestBase {

  /**
   * The currency repository.
   *
   * @var \Drupal\commerce_price\Repository\CurrencyRepository
   */
  protected $currencyRepository;

  /**
   * {@inheritdoc}
   */
  protected function setUp() {
    parent::setUp();

    // The parent has already imported USD.
    $currency_importer = \Drupal::service('commerce_price.currency_importer');
    $currency_importer->import('EUR');

    $this->currencyRepository = $this->container->get('commerce_price.currency_repository');
  }

  /**
   * @covers ::get
   * @expectedException \CommerceGuys\Intl\Exception\UnknownCurrencyException
   */
  public function testUnknownGet() {
    $this->currencyRepository->get('RSD');
  }

  /**
   * @covers ::get
   */
  public function testGet() {
    $expected_eur = new Currency([
      'currency_code' => 'EUR',
      'name' => 'Euro',
      'numeric_code' => '978',
      'symbol' => '€',
      'fraction_digits' => 2,
      'locale' => 'en',
    ]);
    $expected_usd = new Currency([
      'currency_code' => 'USD',
      'name' => 'US Dollar',
      'numeric_code' => '840',
      'symbol' => '$',
      'fraction_digits' => 2,
      'locale' => 'en',
    ]);

    $this->assertEquals($expected_eur, $this->currencyRepository->get('EUR'));
    $this->assertEquals($expected_usd, $this->currencyRepository->get('USD'));
  }

  /**
   * @covers ::getAll
   */
  public function testGetAll() {
    $expected = [
      'EUR' => $this->currencyRepository->get('EUR'),
      'USD' => $this->currencyRepository->get('USD'),
    ];
    $this->assertEquals($expected, $this->currencyRepository->getAll());
  }

  /**
   * @covers ::getList
   */
  public function testGetList() {
    $expected_list = [
      'EUR' => 'Euro',
      'USD' => 'US Dollar',
    ];
    $this->assertEquals($expected_list, $this->currencyRepository->getList());
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc