google_tag-8.x-1.x-dev/tests/src/Kernel/GoogleTagTestCase.php

tests/src/Kernel/GoogleTagTestCase.php
<?php

declare(strict_types=1);

namespace Drupal\Tests\google_tag\Kernel;

use Drupal\KernelTests\KernelTestBase;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

/**
 * Base class for google_tag tests.
 */
abstract class GoogleTagTestCase extends KernelTestBase {

  use AssertGoogleTagTrait;

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'system',
    'path_alias',
    'user',
    'google_tag',
  ];

  /**
   * {@inheritDoc}
   */
  protected function setUp(): void {
    parent::setUp();
    $this->installEntitySchema('user');
    // With respect to the change record https://www.drupal.org/node/3394444,
    // it is required to register path_alias entity schema in kernel tests.
    if (version_compare(\Drupal::VERSION, '10.3', '>=')) {
      $this->installEntitySchema('path_alias');
    }
    $this->installConfig(['system', 'user']);
  }

  /**
   * Sends a request to drupal kernel and builds the response.
   *
   * @param \Symfony\Component\HttpFoundation\Request $request
   *   Request.
   *
   * @return \Symfony\Component\HttpFoundation\Response
   *   Response.
   *
   * @throws \Exception
   */
  protected function doRequest(Request $request): Response {
    $response = $this->container->get('http_kernel')->handle($request);
    $content = $response->getContent();
    self::assertNotFalse($content);
    $this->setRawContent($content);
    return $response;
  }

  /**
   * Loads the fixture file into database.
   *
   * @param string $fixture_file
   *   Fixture file path.
   * @param string $module_name
   *   Module providing the fixture file.
   *
   * @throws \Exception
   */
  protected function loadFixture(string $fixture_file, string $module_name = 'google_tag'): void {
    $module_path = $this->container->get('module_handler')
      ->getModule($module_name)
      ->getPath();
    $path = sprintf('%s/tests/fixtures/%s', $module_path, $fixture_file);
    require $path;
  }

}

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

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