gatsby-8.x-1.x-dev/modules/gatsby_extras/tests/src/Kernel/AliasLinkEnhancerTest.php

modules/gatsby_extras/tests/src/Kernel/AliasLinkEnhancerTest.php
<?php

namespace Drupal\Tests\gatsby_extras\Kernel;

use Drupal\KernelTests\KernelTestBase;
use Drupal\Tests\taxonomy\Traits\TaxonomyTestTrait;
use Drupal\Tests\Traits\Core\PathAliasTestTrait;

/**
 * Defines a test for AliasLinkEnhancer.
 *
 * @group gatsby_extras
 *
 * @requires module jsonapi_extras
 */
class AliasLinkEnhancerTest extends KernelTestBase {

  use PathAliasTestTrait;
  use TaxonomyTestTrait;

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'filter',
    'gatsby_extras',
    'jsonapi',
    'jsonapi_extras',
    'path_alias',
    'serialization',
    'taxonomy',
    'text',
    'user',
  ];

  /**
   * The resource field enhancer.
   *
   * @var \Drupal\jsonapi_extras\Plugin\ResourceFieldEnhancerInterface
   */
  protected $enhancer;

  /**
   * The taxonomy term.
   *
   * @var \Drupal\taxonomy\TermInterface
   */
  protected $term;

  /**
   * The path alias.
   *
   * @var \Drupal\path_alias\PathAliasInterface
   */
  protected $pathAlias;

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

    $this->installEntitySchema('path_alias');
    $this->installEntitySchema('taxonomy_term');

    $this->enhancer = $this->container->get('plugin.manager.resource_field_enhancer')
      ->createInstance('alias_link');

    $vocabulary = $this->createVocabulary();
    $this->term = $this->createTerm($vocabulary);
    $this->pathAlias = $this->createPathAlias($this->term->toUrl()->toString(), $this->randomMachineName());
    $this->container->get('path_processor_manager')->addOutbound($this->container->get('path_alias.path_processor'));
  }

  /**
   * Test transform.
   */
  public function testTransform() {
    $output = $this->enhancer->transform([
      'uri' => sprintf('entity:taxonomy_term/%s/%s', $this->term->bundle(), $this->term->uuid()),
    ]);
    $this->assertEquals($this->pathAlias->getAlias(), $output['uri_alias']);
  }

  /**
   * Test undoTransform.
   */
  public function testUndoTransform() {
    $output = $this->enhancer->undoTransform([
      'uri' => 'entity:taxonomy_term/' . $this->term->id(),
    ]);
    $this->assertEquals($this->pathAlias->getAlias(), $output['uri_alias']);
  }

}

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

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