search_api_meilisearch-1.0.x-dev/tests/src/Kernel/Backend/SerializationTest.php

tests/src/Kernel/Backend/SerializationTest.php
<?php

namespace Drupal\Tests\search_api_meilisearch\Kernel\Backend;

use Drupal\Component\Serialization\PhpSerialize;
use Drupal\KernelTests\KernelTestBase;
use Drupal\search_api_meilisearch\Plugin\search_api\backend\SearchApiMeilisearchBackend;
use PHPUnit\Framework\Attributes\Group;

/**
 * Provides tests for the serialization of the backend plugins.
 *
 * @group search_api_meilisearch
 */
#[Group('search_api_meilisearch')]
class SerializationTest extends KernelTestBase {

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'search_api',
    'search_api_meilisearch',
  ];

  /**
   * The backend plugin.
   *
   * @var \Drupal\search_api_meilisearch\Plugin\search_api\backend\SearchApiMeilisearchBackend
   */
  protected SearchApiMeilisearchBackend $backend;

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    parent::setUp();
    $pluginManager = $this->container->get('plugin.manager.search_api.backend');
    $this->backend = $pluginManager->createInstance('search_api_meilisearch', [
      'meilisearch_host_address' => 'http://test',
      'meilisearch_host_port' => 7700,
      'meilisearch_master_key' => '12345',
    ]);
  }

  /**
   * Tests de/serialization of the search_api_meilisearch backend plugin.
   */
  public function testSerialization(): void {
    $serialized = PhpSerialize::encode($this->backend);
    $this->assertIsString($serialized);

    /** @var \Drupal\search_api_meilisearch\Plugin\search_api\backend\SearchApiMeilisearchBackend $deserialized */
    $deserialized = PhpSerialize::decode($serialized);
    $this->assertInstanceOf(SearchApiMeilisearchBackend::class, $deserialized);

    $config = $deserialized->getConfiguration();
    $this->assertEquals('http://test', $config['meilisearch_host_address']);
    $this->assertEquals(7700, $config['meilisearch_host_port']);
    $this->assertEquals('12345', $config['meilisearch_master_key']);
  }

}

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

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