search_api-8.x-1.15/tests/src/Kernel/Processor/AddURLKernelTest.php

tests/src/Kernel/Processor/AddURLKernelTest.php
<?php

namespace Drupal\Tests\search_api\Kernel\Processor;

use Drupal\node\Entity\Node;
use Drupal\search_api\Item\Field;
use Drupal\search_api\Utility\Utility;

/**
 * Tests the "Add URL" processor at a higher level.
 *
 * @group search_api
 *
 * @coversDefaultClass \Drupal\search_api\Plugin\search_api\processor\AddURL
 */
class AddURLKernelTest extends ProcessorTestBase {

  /**
   * The nodes created for testing.
   *
   * @var \Drupal\node\Entity\Node[]
   */
  protected $nodes;

  /**
   * {@inheritdoc}
   */
  public function setUp($processor = NULL) {
    parent::setUp('add_url');

    $url_field = new Field($this->index, 'url');
    $url_field->setType('string');
    $url_field->setPropertyPath('search_api_url');
    $url_field->setLabel('Item URL');
    $this->index->addField($url_field);
    $this->index->save();

    $this->nodes[0] = Node::create([
      'title' => 'Test',
      'type' => 'article',
    ]);
    $this->nodes[0]->save();
  }

  /**
   * Tests extracting the field for a search item.
   *
   * @covers ::addFieldValues
   */
  public function testItemFieldExtraction() {
    $node = $this->nodes[0];
    $id = Utility::createCombinedId('entity:node', $node->id() . ':en');
    $item = \Drupal::getContainer()
      ->get('search_api.fields_helper')
      ->createItemFromObject($this->index, $node->getTypedData(), $id);

    // Extract field values and check the value of the URL field.
    $fields = $item->getFields();
    $expected = [$node->toUrl('canonical')->toString()];
    $this->assertEquals($expected, $fields['url']->getValues());
  }

}

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

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