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']);
}
}
