crm_core-8.x-3.x-dev/tests/src/Unit/Theme/CrmCoreNegotiatorTest.php

tests/src/Unit/Theme/CrmCoreNegotiatorTest.php
<?php

namespace Drupal\Tests\crm_core\Unit\Theme;

use Drupal\Core\Routing\RouteMatch;
use Drupal\crm_core\Theme\CrmCoreNegotiator;
use Drupal\Tests\UnitTestCase;
use Symfony\Component\Routing\Route;

/**
 * Tests CrmCoreNegotiator class.
 *
 * @group crm_core
 * @coversDefaultClass \Drupal\crm_core\Theme\CrmCoreNegotiator
 */
class CrmCoreNegotiatorTest extends UnitTestCase {

  /**
   * Tests for the Crm Core custom theme.
   *
   * @dataProvider getThemes
   */
  public function testDetermineActiveTheme($custom_theme, $expected) {

    $config_factory = $this->getConfigFactoryStub([
      'crm_core.settings' => ['custom_theme' => $custom_theme],
    ]);

    $route = $this->prophesize(Route::class);
    $route->getPath()->willReturn('/crm-core');
    $route_match = $this->prophesize(RouteMatch::class);
    $route_match->getRouteObject()->willReturn($route);

    $negotiator = new CrmCoreNegotiator($config_factory);
    $actual = $negotiator->determineActiveTheme($route_match->reveal());
    $this->assertSame($expected, $actual);
  }

  /**
   * Provides a list of theme names to test.
   */
  public static function getThemes() {
    return [
      ['seven', 'seven'],
      [NULL, NULL],
      ['', NULL],
    ];
  }

}

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

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