mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 01:08:56 +00:00
71 lines
2.0 KiB
PHP
71 lines
2.0 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Tests\Unit\Services\Search;
|
|
|
|
use App\Services\Search\Drivers\ManticoreSearchDriver;
|
|
use Manticoresearch\Client;
|
|
use Manticoresearch\Table;
|
|
use PHPUnit\Framework\Attributes\Test;
|
|
use Tests\TestCase;
|
|
|
|
final class ManticoreDeleteReleasesTest extends TestCase
|
|
{
|
|
#[Test]
|
|
public function delete_releases_uses_document_api_not_sql(): void
|
|
{
|
|
$config = [
|
|
'host' => '127.0.0.1',
|
|
'port' => 9308,
|
|
'indexes' => [
|
|
'releases' => 'releases_rt',
|
|
'predb' => 'predb_rt',
|
|
],
|
|
];
|
|
|
|
$table = $this->createMock(Table::class);
|
|
$table->expects($this->once())
|
|
->method('deleteDocumentsByIds')
|
|
->with([149331415, 42]);
|
|
|
|
$client = $this->createMock(Client::class);
|
|
$client->expects($this->once())
|
|
->method('table')
|
|
->with('releases_rt')
|
|
->willReturn($table);
|
|
$client->expects($this->never())->method('sql');
|
|
|
|
$driver = new ManticoreSearchDriver($config);
|
|
$prop = new \ReflectionProperty(ManticoreSearchDriver::class, 'manticoreSearch');
|
|
$prop->setAccessible(true);
|
|
$prop->setValue($driver, $client);
|
|
|
|
$driver->deleteReleases([149331415, 42, 0, 149331415]);
|
|
}
|
|
|
|
#[Test]
|
|
public function delete_releases_skips_empty_id_list(): void
|
|
{
|
|
$config = [
|
|
'host' => '127.0.0.1',
|
|
'port' => 9308,
|
|
'indexes' => [
|
|
'releases' => 'releases_rt',
|
|
'predb' => 'predb_rt',
|
|
],
|
|
];
|
|
|
|
$client = $this->createMock(Client::class);
|
|
$client->expects($this->never())->method('table');
|
|
$client->expects($this->never())->method('sql');
|
|
|
|
$driver = new ManticoreSearchDriver($config);
|
|
$prop = new \ReflectionProperty(ManticoreSearchDriver::class, 'manticoreSearch');
|
|
$prop->setAccessible(true);
|
|
$prop->setValue($driver, $client);
|
|
|
|
$driver->deleteReleases([0, -1]);
|
|
}
|
|
}
|