mirror of
https://github.com/predis/predis.git
synced 2026-08-25 10:49:41 +00:00
b56a85c6a6
* add support for CF.ADDNX * fix key name * fix wrong command * Pulling changes * Added support for FT.CREATE command * Fixed tests to choose correct DB * Added test coverage * Revert changes for missing commands * Added data types enums, added methods default assignments * Fixed vector field, removed default assignments, fixed tests * Added constants enum for Sortable argument, renamed arguments object * Codestyle fixes * Rename test class * Added support for FT.DICTADD command * Added support for FT.SPELLCHECK command * Added test group, fixed description --------- Co-authored-by: shacharPash <shachar.pashchur@redis.com> Co-authored-by: Vladyslav Vildanov <vladyslavvildanov@Vladyslav-Vildanov-MacBook-Pro.local>
78 lines
1.9 KiB
PHP
78 lines
1.9 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Predis package.
|
|
*
|
|
* (c) 2009-2020 Daniele Alessandri
|
|
* (c) 2021-2023 Till Krüss
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Predis\Command\Argument\Search;
|
|
|
|
use InvalidArgumentException;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class SpellcheckArgumentsTest extends TestCase
|
|
{
|
|
/**
|
|
* @var SpellcheckArguments
|
|
*/
|
|
private $arguments;
|
|
|
|
protected function setUp(): void
|
|
{
|
|
$this->arguments = new SpellcheckArguments();
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function testCreatesArgumentsWithDistanceModifier(): void
|
|
{
|
|
$this->arguments->distance(2);
|
|
|
|
$this->assertSame(['DISTANCE', 2], $this->arguments->toArray());
|
|
}
|
|
|
|
/**
|
|
* @dataProvider termsProvider
|
|
* @param array $arguments
|
|
* @param array $expectedResponse
|
|
* @return void
|
|
*/
|
|
public function testCreatesArgumentsWithTermsModifier(array $arguments, array $expectedResponse): void
|
|
{
|
|
$this->arguments->terms(...$arguments);
|
|
|
|
$this->assertSame($expectedResponse, $this->arguments->toArray());
|
|
}
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function testThrowsExceptionOnInvalidTermsModifierValue(): void
|
|
{
|
|
$this->expectException(InvalidArgumentException::class);
|
|
$this->expectExceptionMessage('Wrong modifier value given. Currently supports: INCLUDE, EXCLUDE');
|
|
|
|
$this->arguments->terms('dict', 'wrong');
|
|
}
|
|
|
|
public function termsProvider(): array
|
|
{
|
|
return [
|
|
'with INCLUDE modifier' => [
|
|
['dict', 'INCLUDE', 'term1', 'term2'],
|
|
['TERMS', 'INCLUDE', 'dict', 'term1', 'term2'],
|
|
],
|
|
'with EXCLUDE modifier' => [
|
|
['dict', 'EXCLUDE', 'term1', 'term2'],
|
|
['TERMS', 'EXCLUDE', 'dict', 'term1', 'term2'],
|
|
],
|
|
];
|
|
}
|
|
}
|