From bac145ea550296e97bb5f6625e0cc6467a77bfe3 Mon Sep 17 00:00:00 2001 From: Nikita Chernykh Date: Fri, 29 Sep 2023 10:54:34 +0500 Subject: [PATCH] EscapeDependence | Refactor --- .../Converter/CriteriaToEsRequest.php | 20 ++--- src/ElasticSearch/Document/Product.php | 16 +--- .../Document/ProductDocument.php | 11 +-- .../Filter/Collection/FilterCollection.php | 2 +- .../Collection/FilterGroupCollection.php | 12 +-- src/ElasticSearch/Filter/Field.php | 8 +- src/ElasticSearch/Filter/Filter.php | 16 +--- src/ElasticSearch/Filter/FilterOperator.php | 51 ++--------- src/ElasticSearch/Filter/LogicOperator.php | 44 +--------- .../Filter/Value/FilterKeyword.php | 11 +-- .../Filter/Value/FilterNumber.php | 8 +- src/ElasticSearch/Indexer/AddIndex.php | 13 +-- .../Indexer/BaseIndexProvider.php | 10 +-- src/ElasticSearch/Indexer/BulkIndex.php | 16 +--- src/ElasticSearch/Indexer/DeleteIndex.php | 12 +-- .../Indexer/EsHelperEndpoint.php | 17 +--- src/ElasticSearch/Indexer/Index.php | 3 +- src/ElasticSearch/Indexer/UpdateIndex.php | 16 +--- src/ElasticSearch/Order/OrderFactory.php | 10 +-- src/ElasticSearch/Pagination.php | 11 +-- src/ElasticSearch/Query/SearchQuery.php | 8 +- .../Query/SearchQueryHandler.php | 8 +- .../Query/SearchQueryResponse.php | 8 +- src/ElasticSearch/Search/Aggs/Aggs.php | 7 +- src/ElasticSearch/Search/Aggs/Stats.php | 8 +- src/ElasticSearch/Search/Aggs/Terms.php | 7 +- .../Search/BoolQuery/FilterKeywordFacet.php | 17 ++-- .../Search/BoolQuery/FilterNumberFacet.php | 35 +++----- src/ElasticSearch/Search/BoolQuery/Stats.php | 17 ++-- src/ElasticSearch/Search/BoolQuery/Terms.php | 17 ++-- src/ElasticSearch/Search/Pagination.php | 11 +-- src/ElasticSearch/SearchService.php | 11 +-- tests/Filter/AggsTest.php | 40 ++++----- tests/Filter/CommonRangeKeywordsTest.php | 14 +-- tests/Filter/KeywordsTest.php | 22 ++--- tests/Filter/QueryAndPostFilterTest.php | 86 +++++++++---------- tests/Filter/QueryTest.php | 18 ++-- tests/Filter/RangeTest.php | 28 +++--- tests/Filter/SearchItemsTest.php | 10 +-- 39 files changed, 245 insertions(+), 434 deletions(-) diff --git a/src/ElasticSearch/Converter/CriteriaToEsRequest.php b/src/ElasticSearch/Converter/CriteriaToEsRequest.php index 94a7b91..1bbb82b 100644 --- a/src/ElasticSearch/Converter/CriteriaToEsRequest.php +++ b/src/ElasticSearch/Converter/CriteriaToEsRequest.php @@ -83,7 +83,7 @@ final class CriteriaToEsRequest $field = $filter->field()->value(); if ('search' === $field) { - if ($filter->operator()->value() === FilterOperator::CONTAINS) { + if ($filter->operator() === FilterOperator::CONTAINS) { $request->addMatch( 'suggest_search_content', [ @@ -167,7 +167,7 @@ final class CriteriaToEsRequest if ($filterGroup->isEmpty()) { continue; } - $group = $filterGroup->getLogicalType()->value() === LogicOperator::OR ? count($ranges) + 1 : 0; + $group = $filterGroup->getLogicOperator() === LogicOperator::OR ? count($ranges) + 1 : 0; if (!isset($ranges[$group])) { $ranges[$group] = []; } @@ -179,13 +179,13 @@ final class CriteriaToEsRequest if (in_array($field, $excludeFilter, true)) { continue; } - if (in_array($filter->operator()->value(), [FilterOperator::LT, FilterOperator::LTE], true)) { - $ranges[$group][$field][$filter->operator()->value()] = $value; + if (in_array($filter->operator(), [FilterOperator::LT, FilterOperator::LTE], true)) { + $ranges[$group][$field][$filter->operator()->value] = $value; continue; } - if (in_array($filter->operator()->value(), [FilterOperator::GT, FilterOperator::GTE], true)) { - $ranges[$group][$field][$filter->operator()->value()] = $value; + if (in_array($filter->operator(), [FilterOperator::GT, FilterOperator::GTE], true)) { + $ranges[$group][$field][$filter->operator()->value] = $value; } } } @@ -223,7 +223,7 @@ final class CriteriaToEsRequest if ($filterGroup->isEmpty()) { continue; } - $should = $filterGroup->getLogicalType()->value() === LogicOperator::OR; + $should = $filterGroup->getLogicOperator() === LogicOperator::OR; foreach ($filterGroup as $filter) { /** @var Filter $filter */ $value = $filter->value()->value(); @@ -233,11 +233,11 @@ final class CriteriaToEsRequest continue; } - if (in_array($filter->operator()->value(), [FilterOperator::LT, FilterOperator::LTE], true)) { + if (in_array($filter->operator(), [FilterOperator::LT, FilterOperator::LTE], true)) { continue; } - if (in_array($filter->operator()->value(), [FilterOperator::GT, FilterOperator::GTE], true)) { + if (in_array($filter->operator(), [FilterOperator::GT, FilterOperator::GTE], true)) { continue; } @@ -301,7 +301,7 @@ final class CriteriaToEsRequest continue; } - if (in_array($filter->operator()->value(), [], true)) { + if (in_array($filter->operator(), [], true)) { continue; } diff --git a/src/ElasticSearch/Document/Product.php b/src/ElasticSearch/Document/Product.php index 0bac9a8..120d585 100644 --- a/src/ElasticSearch/Document/Product.php +++ b/src/ElasticSearch/Document/Product.php @@ -4,18 +4,10 @@ namespace IQDEV\ElasticSearch\Document; final class Product { - public string $id; - public string $title; - public array $info; - public function __construct( - string $id, - string $title, - array $info = [] - ) - { - $this->id = $id; - $this->title = $title; - $this->info = $info; + public string $id, + public string $title, + public array $info = [] + ) { } } diff --git a/src/ElasticSearch/Document/ProductDocument.php b/src/ElasticSearch/Document/ProductDocument.php index fefc014..1b99a58 100644 --- a/src/ElasticSearch/Document/ProductDocument.php +++ b/src/ElasticSearch/Document/ProductDocument.php @@ -17,18 +17,11 @@ class ProductDocument implements Document private array $info = []; private bool $skipEmpty = false; - private Facet $categoryFacet; - - public function __construct( - Facet $categoryFacet - ) - { + private Facet $categoryFacet + ) { $this->keywordFacets = new FacetCollection(); $this->numberFacets = new FacetCollection(); - - $this->categoryFacet = $categoryFacet; - } public static function create(Facet $categoryFacet): self diff --git a/src/ElasticSearch/Filter/Collection/FilterCollection.php b/src/ElasticSearch/Filter/Collection/FilterCollection.php index 69fc460..725076d 100644 --- a/src/ElasticSearch/Filter/Collection/FilterCollection.php +++ b/src/ElasticSearch/Filter/Collection/FilterCollection.php @@ -19,7 +19,7 @@ class FilterCollection extends AbstractCollection public function __construct(array $data = []) { parent::__construct($data); - $this->type = new LogicOperator(LogicOperator::AND); + $this->type = LogicOperator::AND; } /** diff --git a/src/ElasticSearch/Filter/Collection/FilterGroupCollection.php b/src/ElasticSearch/Filter/Collection/FilterGroupCollection.php index 9f6c8ad..03b3135 100644 --- a/src/ElasticSearch/Filter/Collection/FilterGroupCollection.php +++ b/src/ElasticSearch/Filter/Collection/FilterGroupCollection.php @@ -13,7 +13,7 @@ use Ramsey\Collection\AbstractCollection; class FilterGroupCollection extends AbstractCollection { /** @var LogicOperator Тип логической операции для коллекции */ - protected LogicOperator $type; + protected LogicOperator $logicOperator; /** @var FilterType Тип фильтра для коллекции */ protected FilterType $filterType; @@ -23,7 +23,7 @@ class FilterGroupCollection extends AbstractCollection public function __construct(array $data = []) { parent::__construct($data); - $this->type = new LogicOperator(LogicOperator::AND); + $this->logicOperator = LogicOperator::AND; $this->filterType = FilterType::post(); } @@ -42,9 +42,9 @@ class FilterGroupCollection extends AbstractCollection * * @return $this */ - public function setLogicalType(LogicOperator $type): self + public function setLogicOperator(LogicOperator $type): self { - $this->type = $type; + $this->logicOperator = $type; return $this; } @@ -54,9 +54,9 @@ class FilterGroupCollection extends AbstractCollection * * @return LogicOperator */ - public function getLogicalType(): LogicOperator + public function getLogicOperator(): LogicOperator { - return $this->type; + return $this->logicOperator; } /** diff --git a/src/ElasticSearch/Filter/Field.php b/src/ElasticSearch/Filter/Field.php index af538d1..30a456a 100644 --- a/src/ElasticSearch/Filter/Field.php +++ b/src/ElasticSearch/Filter/Field.php @@ -4,11 +4,9 @@ namespace IQDEV\ElasticSearch\Filter; final class Field { - protected string $value; - - public function __construct(string $value) - { - $this->value = $value; + public function __construct( + protected string $value + ) { } public function value(): string diff --git a/src/ElasticSearch/Filter/Filter.php b/src/ElasticSearch/Filter/Filter.php index 97b26f1..f99c2ab 100644 --- a/src/ElasticSearch/Filter/Filter.php +++ b/src/ElasticSearch/Filter/Filter.php @@ -4,19 +4,11 @@ namespace IQDEV\ElasticSearch\Filter; final class Filter { - private Field $field; - private FilterOperator $operator; - private FilterValue $value; - public function __construct( - Field $field, - FilterOperator $operator, - FilterValue $value - ) - { - $this->field = $field; - $this->operator = $operator; - $this->value = $value; + private Field $field, + private FilterOperator $operator, + private FilterValue $value + ) { } public function field(): Field diff --git a/src/ElasticSearch/Filter/FilterOperator.php b/src/ElasticSearch/Filter/FilterOperator.php index a7d34c4..f92f1a2 100644 --- a/src/ElasticSearch/Filter/FilterOperator.php +++ b/src/ElasticSearch/Filter/FilterOperator.php @@ -2,47 +2,14 @@ namespace IQDEV\ElasticSearch\Filter; -final class FilterOperator +enum FilterOperator: string { - const EQ = '='; - const NE = '!='; - const GT = '>'; - const LT = '<'; - const GTE = '>='; - const LTE = '<='; - const CONTAINS = 'CONTAINS'; - const NOT_CONTAINS = 'NOT_CONTAINS'; - - private string $operator; - - public function __construct(string $operator) - { - if (!in_array($operator, self::toArray(), true)) { - throw new \InvalidArgumentException(sprintf('invalid operator %s', $operator)); - } - - $this->operator = $operator; - } - - public function value(): string - { - return $this->operator; - } - - /** - * @return string[] - */ - public static function toArray(): array - { - return [ - self::EQ, - self::NE, - self::GT, - self::LT, - self::GTE, - self::LTE, - self::CONTAINS, - self::NOT_CONTAINS, - ]; - } + case EQ = 'eq'; + case NE = 'ne'; + case GT = 'gt'; + case LT = 'lt'; + case GTE = 'gte'; + case LTE = 'lte'; + case CONTAINS = 'contains'; + case NOT_CONTAINS = 'not_contains'; } diff --git a/src/ElasticSearch/Filter/LogicOperator.php b/src/ElasticSearch/Filter/LogicOperator.php index 34008c4..aa2f077 100644 --- a/src/ElasticSearch/Filter/LogicOperator.php +++ b/src/ElasticSearch/Filter/LogicOperator.php @@ -2,46 +2,8 @@ namespace IQDEV\ElasticSearch\Filter; -/** - * @method static self and() - * @method static self or() - */ -final class LogicOperator +enum LogicOperator: string { - public const AND = 'AND'; - public const OR = 'OR'; - private string $operator; - - public function __construct(string $operator) - { - if (!in_array($operator, self::toArray(), true)) { - throw new \InvalidArgumentException(sprintf('invalid operator %s', $operator)); - } - - $this->operator = $operator; - } - - public function value(): string - { - return $this->operator; - } - - /** - * @return string[] - */ - public static function toArray(): array - { - return [ - self::AND, - self::OR - ]; - } - - public static function __callStatic($method, $arguments) - { - $method = strtoupper($method); - if (in_array($method, self::toArray())) { - return new self($method); - } - } + case AND = 'and'; + case OR = 'or'; } diff --git a/src/ElasticSearch/Filter/Value/FilterKeyword.php b/src/ElasticSearch/Filter/Value/FilterKeyword.php index 90c83b5..300fbf9 100644 --- a/src/ElasticSearch/Filter/Value/FilterKeyword.php +++ b/src/ElasticSearch/Filter/Value/FilterKeyword.php @@ -6,21 +6,18 @@ use IQDEV\ElasticSearch\Filter\FilterValue; class FilterKeyword implements FilterValue { - /** @var string|string[] */ - public $value; - /** * @param string|string[] $value */ - public function __construct($value) - { - $this->value = $value; + public function __construct( + public string|array $value + ) { } /** * @return string|string[] */ - public function value() + public function value(): string|array { return $this->value; } diff --git a/src/ElasticSearch/Filter/Value/FilterNumber.php b/src/ElasticSearch/Filter/Value/FilterNumber.php index d793ea6..d54a936 100644 --- a/src/ElasticSearch/Filter/Value/FilterNumber.php +++ b/src/ElasticSearch/Filter/Value/FilterNumber.php @@ -6,16 +6,12 @@ use IQDEV\ElasticSearch\Filter\FilterValue; class FilterNumber implements FilterValue { - public float $value; - /** * @param float $value */ public function __construct( - float $value - ) - { - $this->value = $value; + public float $value + ) { } public function value(): float diff --git a/src/ElasticSearch/Indexer/AddIndex.php b/src/ElasticSearch/Indexer/AddIndex.php index 2c51748..be579d8 100644 --- a/src/ElasticSearch/Indexer/AddIndex.php +++ b/src/ElasticSearch/Indexer/AddIndex.php @@ -6,19 +6,12 @@ use IQDEV\ElasticSearch\Esable; final class AddIndex implements Index { - private string $name; - private Esable $body; - private ?string $id; - public function __construct( - string $name, - Esable $body, - ?string $id = null + private string $name, + private Esable $body, + private ?string $id = null ) { - $this->name = $name; - $this->body = $body; - $this->id = $id; } public function es(): array diff --git a/src/ElasticSearch/Indexer/BaseIndexProvider.php b/src/ElasticSearch/Indexer/BaseIndexProvider.php index dcce508..e070f66 100644 --- a/src/ElasticSearch/Indexer/BaseIndexProvider.php +++ b/src/ElasticSearch/Indexer/BaseIndexProvider.php @@ -10,15 +10,13 @@ use IQDEV\ElasticSearch\Facet\FacetFactory; class BaseIndexProvider implements IndexProvider { - private array $products; private ?int $size = null; private ?int $limit = null; - private Configuration $configuration; - public function __construct($products, $configuration) - { - $this->configuration = $configuration; - $this->products = $products; + public function __construct( + private array $products, + private Configuration $configuration + ) { } public function get(): \Generator diff --git a/src/ElasticSearch/Indexer/BulkIndex.php b/src/ElasticSearch/Indexer/BulkIndex.php index 94134a2..3578b26 100644 --- a/src/ElasticSearch/Indexer/BulkIndex.php +++ b/src/ElasticSearch/Indexer/BulkIndex.php @@ -6,19 +6,11 @@ use IQDEV\ElasticSearch\Esable; final class BulkIndex implements Index { - private string $name; - private Esable $body; - private ?string $id; - public function __construct( - string $name, - Esable $body, - ?string $id = null - ) - { - $this->name = $name; - $this->body = $body; - $this->id = $id; + private string $name, + private Esable $body, + private ?string $id = null + ) { } public function es(): array diff --git a/src/ElasticSearch/Indexer/DeleteIndex.php b/src/ElasticSearch/Indexer/DeleteIndex.php index df4b049..fe39501 100644 --- a/src/ElasticSearch/Indexer/DeleteIndex.php +++ b/src/ElasticSearch/Indexer/DeleteIndex.php @@ -4,16 +4,10 @@ namespace IQDEV\ElasticSearch\Indexer; final class DeleteIndex implements Index { - private string $name; - private ?string $id; - public function __construct( - string $name, - ?string $id = null - ) - { - $this->name = $name; - $this->id = $id; + private string $name, + private ?string $id = null + ) { } public function es(): array diff --git a/src/ElasticSearch/Indexer/EsHelperEndpoint.php b/src/ElasticSearch/Indexer/EsHelperEndpoint.php index bc37f33..2977127 100644 --- a/src/ElasticSearch/Indexer/EsHelperEndpoint.php +++ b/src/ElasticSearch/Indexer/EsHelperEndpoint.php @@ -16,20 +16,11 @@ final class EsHelperEndpoint { use EndpointTrait; - private Client $esClient; - private Configuration $configuration; - - private LoggerInterface $logger; - public function __construct( - Client $esClient, - Configuration $configuration, - LoggerInterface $logger - ) - { - $this->esClient = $esClient; - $this->configuration = $configuration; - $this->logger = $logger; + private Client $esClient, + private Configuration $configuration, + private LoggerInterface $logger + ) { } public function isIndexExists(): bool diff --git a/src/ElasticSearch/Indexer/Index.php b/src/ElasticSearch/Indexer/Index.php index f6138cc..b7e20bb 100644 --- a/src/ElasticSearch/Indexer/Index.php +++ b/src/ElasticSearch/Indexer/Index.php @@ -6,5 +6,4 @@ use IQDEV\ElasticSearch\Esable; interface Index extends Esable { - -} \ No newline at end of file +} diff --git a/src/ElasticSearch/Indexer/UpdateIndex.php b/src/ElasticSearch/Indexer/UpdateIndex.php index 5057292..72cb885 100644 --- a/src/ElasticSearch/Indexer/UpdateIndex.php +++ b/src/ElasticSearch/Indexer/UpdateIndex.php @@ -6,19 +6,11 @@ use IQDEV\ElasticSearch\Esable; final class UpdateIndex implements Index { - private string $name; - private Esable $body; - private ?string $id; - public function __construct( - string $name, - Esable $body, - ?string $id = null - ) - { - $this->name = $name; - $this->body = $body; - $this->id = $id; + private string $name, + private Esable $body, + private ?string $id = null + ) { } public function es(): array diff --git a/src/ElasticSearch/Order/OrderFactory.php b/src/ElasticSearch/Order/OrderFactory.php index 5764491..ed6f096 100644 --- a/src/ElasticSearch/Order/OrderFactory.php +++ b/src/ElasticSearch/Order/OrderFactory.php @@ -14,12 +14,10 @@ class OrderFactory Property $property, OrderDirection $direction, ): Order { - match ($property->getType()) { - PropertyType::KEYWORD => $order = new KeywordPropertyOrder($property, $direction), - PropertyType::NUMBER => $order = new NumberPropertyOrder($property, $direction), - default => $order = new BaseOrder($property, $direction), + return match ($property->getType()) { + PropertyType::KEYWORD => new KeywordPropertyOrder($property, $direction), + PropertyType::NUMBER => new NumberPropertyOrder($property, $direction), + default => new BaseOrder($property, $direction), }; - - return $order; } } diff --git a/src/ElasticSearch/Pagination.php b/src/ElasticSearch/Pagination.php index 3fc99c1..1cbbf8c 100644 --- a/src/ElasticSearch/Pagination.php +++ b/src/ElasticSearch/Pagination.php @@ -4,12 +4,9 @@ namespace IQDEV\ElasticSearch; final class Pagination { - public int $limit; - public int $offset; - - public function __construct(int $limit = 20, int $offset = 0) - { - $this->limit = $limit; - $this->offset = $offset; + public function __construct( + public int $limit = 20, + public int $offset = 0 + ) { } } diff --git a/src/ElasticSearch/Query/SearchQuery.php b/src/ElasticSearch/Query/SearchQuery.php index f23a42f..2c63c2c 100644 --- a/src/ElasticSearch/Query/SearchQuery.php +++ b/src/ElasticSearch/Query/SearchQuery.php @@ -6,10 +6,8 @@ use IQDEV\ElasticSearch\Criteria; final class SearchQuery { - public Criteria $criteria; - - public function __construct(Criteria $criteria) - { - $this->criteria = $criteria; + public function __construct( + public Criteria $criteria + ) { } } diff --git a/src/ElasticSearch/Query/SearchQueryHandler.php b/src/ElasticSearch/Query/SearchQueryHandler.php index a105066..7ada1ff 100644 --- a/src/ElasticSearch/Query/SearchQueryHandler.php +++ b/src/ElasticSearch/Query/SearchQueryHandler.php @@ -6,11 +6,9 @@ use IQDEV\ElasticSearch\SearchService; final class SearchQueryHandler { - private SearchService $searchService; - - public function __construct(SearchService $searchService) - { - $this->searchService = $searchService; + public function __construct( + private SearchService $searchService + ) { } public function handle(SearchQuery $q): SearchQueryResponse diff --git a/src/ElasticSearch/Query/SearchQueryResponse.php b/src/ElasticSearch/Query/SearchQueryResponse.php index f1dca39..2d8fa58 100644 --- a/src/ElasticSearch/Query/SearchQueryResponse.php +++ b/src/ElasticSearch/Query/SearchQueryResponse.php @@ -6,10 +6,8 @@ use IQDEV\ElasticSearch\Result; final class SearchQueryResponse { - public Result $result; - - public function __construct(Result $result) - { - $this->result = $result; + public function __construct( + public Result $result + ) { } } diff --git a/src/ElasticSearch/Search/Aggs/Aggs.php b/src/ElasticSearch/Search/Aggs/Aggs.php index e17f74e..2709661 100644 --- a/src/ElasticSearch/Search/Aggs/Aggs.php +++ b/src/ElasticSearch/Search/Aggs/Aggs.php @@ -13,11 +13,10 @@ final class Aggs implements Esable private ?Nested $nested = null; private ?Terms $terms = null; private ?Stats $stats = null; - private string $key; - public function __construct(string $key) - { - $this->key = $key; + public function __construct( + private string $key + ) { } public function addAggs(Aggs $aggs): self diff --git a/src/ElasticSearch/Search/Aggs/Stats.php b/src/ElasticSearch/Search/Aggs/Stats.php index 344eaf5..aca7ac6 100644 --- a/src/ElasticSearch/Search/Aggs/Stats.php +++ b/src/ElasticSearch/Search/Aggs/Stats.php @@ -6,11 +6,9 @@ use IQDEV\ElasticSearch\Esable; final class Stats implements Esable { - private string $field; - - public function __construct(string $field) - { - $this->field = $field; + public function __construct( + private string $field + ) { } public function es(): array diff --git a/src/ElasticSearch/Search/Aggs/Terms.php b/src/ElasticSearch/Search/Aggs/Terms.php index 20d53b7..3397bd0 100644 --- a/src/ElasticSearch/Search/Aggs/Terms.php +++ b/src/ElasticSearch/Search/Aggs/Terms.php @@ -7,11 +7,10 @@ use IQDEV\ElasticSearch\Esable; final class Terms implements Esable { private array $options = []; - private string $field; - public function __construct(string $field) - { - $this->field = $field; + public function __construct( + private string $field + ) { } public function setSize(int $size): self diff --git a/src/ElasticSearch/Search/BoolQuery/FilterKeywordFacet.php b/src/ElasticSearch/Search/BoolQuery/FilterKeywordFacet.php index 3e20d97..1d20b82 100644 --- a/src/ElasticSearch/Search/BoolQuery/FilterKeywordFacet.php +++ b/src/ElasticSearch/Search/BoolQuery/FilterKeywordFacet.php @@ -7,15 +7,14 @@ use IQDEV\ElasticSearch\Search\Nested; final class FilterKeywordFacet implements Esable { - public string $key; - - /** @var string|string[] */ - public $value; - - public function __construct(string $key, $value) - { - $this->key = $key; - $this->value = $value; + /** + * @param string $key + * @param string|array $value + */ + public function __construct( + public string $key, + public string|array $value + ) { } public function es(): array diff --git a/src/ElasticSearch/Search/BoolQuery/FilterNumberFacet.php b/src/ElasticSearch/Search/BoolQuery/FilterNumberFacet.php index 2b3985b..1bbad0a 100644 --- a/src/ElasticSearch/Search/BoolQuery/FilterNumberFacet.php +++ b/src/ElasticSearch/Search/BoolQuery/FilterNumberFacet.php @@ -8,14 +8,11 @@ use IQDEV\ElasticSearch\Filter\FilterOperator; final class FilterNumberFacet implements Esable { - public string $key; - public array $conditions; - - public function __construct(string $key, array $conditions) - { - $this->key = $key; - $this->conditions = $conditions; + public function __construct( + public string $key, + public array $conditions + ) { } public function es(): array @@ -30,23 +27,13 @@ final class FilterNumberFacet implements Esable $conditions = []; foreach ($this->conditions as $operator => $value) { - switch ($operator) { - case FilterOperator::GTE: - $key = 'gte'; - break; - case FilterOperator::LTE: - $key = 'lte'; - break; - case FilterOperator::GT: - $key = 'gt'; - break; - case FilterOperator::LT: - $key = 'lt'; - break; - default: - $key = null; - break; - } + $key = in_array(FilterOperator::from($operator), [ + FilterOperator::GTE, + FilterOperator::LTE, + FilterOperator::GT, + FilterOperator::LT, + ]) ? $operator : null; + if (isset($key)) { $conditions[$key] = $value; } diff --git a/src/ElasticSearch/Search/BoolQuery/Stats.php b/src/ElasticSearch/Search/BoolQuery/Stats.php index c0e54f7..5e64aca 100644 --- a/src/ElasticSearch/Search/BoolQuery/Stats.php +++ b/src/ElasticSearch/Search/BoolQuery/Stats.php @@ -6,19 +6,14 @@ use IQDEV\ElasticSearch\Esable; final class Stats implements Esable { - private string $key; /** - * @var string|float|string[]|float[] + * @param string $key + * @param string|float|array $value */ - private $value; - - /** - * @param string|float|string[]|float[] $value - */ - public function __construct(string $key, $value) - { - $this->key = $key; - $this->value = $value; + public function __construct( + private string $key, + private string|float|array $value + ) { } public function es(): array diff --git a/src/ElasticSearch/Search/BoolQuery/Terms.php b/src/ElasticSearch/Search/BoolQuery/Terms.php index 8f66de9..0b135e5 100644 --- a/src/ElasticSearch/Search/BoolQuery/Terms.php +++ b/src/ElasticSearch/Search/BoolQuery/Terms.php @@ -6,19 +6,14 @@ use IQDEV\ElasticSearch\Esable; final class Terms implements Esable { - private string $key; /** - * @var string|float|string[]|float[] + * @param string $key + * @param string|float|array $value */ - private $value; - - /** - * @param string|float|string[]|float[] $value - */ - public function __construct(string $key, $value) - { - $this->key = $key; - $this->value = $value; + public function __construct( + private string $key, + private string|float|array $value + ) { } public function es(): array diff --git a/src/ElasticSearch/Search/Pagination.php b/src/ElasticSearch/Search/Pagination.php index 56832d4..5c2db67 100644 --- a/src/ElasticSearch/Search/Pagination.php +++ b/src/ElasticSearch/Search/Pagination.php @@ -6,13 +6,10 @@ use IQDEV\ElasticSearch\Esable; class Pagination implements Esable { - private ?int $size; - private ?int $from; - - public function __construct(?int $size = null, ?int $from = null) - { - $this->size = $size; - $this->from = $from; + public function __construct( + private ?int $size = null, + private ?int $from = null + ) { } public function es(): array diff --git a/src/ElasticSearch/SearchService.php b/src/ElasticSearch/SearchService.php index fcc5476..518dedb 100644 --- a/src/ElasticSearch/SearchService.php +++ b/src/ElasticSearch/SearchService.php @@ -10,16 +10,13 @@ use IQDEV\ElasticSearch\Converter\EsResponseToResult; class SearchService implements Searchable { - private Client $esClient; - private Configuration $configuration; private CriteriaToEsRequest $criteriaToEsRequest; private EsResponseToResult $esResponseToResult; - public function __construct(Client $esClient, Configuration $configuration) - { - $this->esClient = $esClient; - $this->configuration = $configuration; - + public function __construct( + private Client $esClient, + private Configuration $configuration + ) { $this->criteriaToEsRequest = new CriteriaToEsRequest(); $this->esResponseToResult = new EsResponseToResult(); } diff --git a/tests/Filter/AggsTest.php b/tests/Filter/AggsTest.php index b4b5275..428fa6b 100644 --- a/tests/Filter/AggsTest.php +++ b/tests/Filter/AggsTest.php @@ -29,7 +29,7 @@ class AggsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('category_id'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('t-short') ) ])) @@ -151,7 +151,7 @@ class AggsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('category_id'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('t-short') ) ])) @@ -161,7 +161,7 @@ class AggsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('white') ) ])); @@ -280,7 +280,7 @@ class AggsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('category_id'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('t-short') ) ])) @@ -290,7 +290,7 @@ class AggsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::LTE), + FilterOperator::LTE, new FilterNumber(104.50) ) ])); @@ -408,7 +408,7 @@ class AggsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('category_id'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('t-short') ) ])) @@ -418,7 +418,7 @@ class AggsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('black') ) ])); @@ -426,7 +426,7 @@ class AggsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::LTE), + FilterOperator::LTE, new FilterNumber(104) ) ])); @@ -543,7 +543,7 @@ class AggsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('category_id'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('t-short') ) ])) @@ -553,7 +553,7 @@ class AggsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('red') ) ])); @@ -561,7 +561,7 @@ class AggsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::LTE), + FilterOperator::LTE, new FilterNumber(105) ) ])); @@ -680,7 +680,7 @@ class AggsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('category_id'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('t-short') ) ])) @@ -690,7 +690,7 @@ class AggsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('white') ) ])); @@ -698,7 +698,7 @@ class AggsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ) ])); @@ -706,7 +706,7 @@ class AggsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GT), + FilterOperator::GT, new FilterNumber(100) ) ])); @@ -825,7 +825,7 @@ class AggsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('category_id'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('t-short') ) ])) @@ -835,7 +835,7 @@ class AggsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('white') ) ])); @@ -844,16 +844,16 @@ class AggsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('reebok') ) ])) - ->setLogicalType(LogicOperator::or()) + ->setLogicOperator(LogicOperator::OR) ); diff --git a/tests/Filter/CommonRangeKeywordsTest.php b/tests/Filter/CommonRangeKeywordsTest.php index 3495804..c0bb406 100644 --- a/tests/Filter/CommonRangeKeywordsTest.php +++ b/tests/Filter/CommonRangeKeywordsTest.php @@ -28,7 +28,7 @@ class CommonRangeKeywordsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('red') ) ])); @@ -36,7 +36,7 @@ class CommonRangeKeywordsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GT), + FilterOperator::GT, new FilterNumber(102) ) ])); @@ -68,7 +68,7 @@ class CommonRangeKeywordsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('red') ) ])); @@ -76,7 +76,7 @@ class CommonRangeKeywordsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::LT), + FilterOperator::LT, new FilterNumber(102) ) ])); @@ -108,7 +108,7 @@ class CommonRangeKeywordsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('red') ) ])); @@ -116,12 +116,12 @@ class CommonRangeKeywordsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber(101) ), new Filter( new Field('price'), - new FilterOperator(FilterOperator::LTE), + FilterOperator::LTE, new FilterNumber(104) ), ])); diff --git a/tests/Filter/KeywordsTest.php b/tests/Filter/KeywordsTest.php index c56a3c8..71d7374 100644 --- a/tests/Filter/KeywordsTest.php +++ b/tests/Filter/KeywordsTest.php @@ -28,7 +28,7 @@ class KeywordsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('') ) ])); @@ -58,7 +58,7 @@ class KeywordsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('red') ) ])); @@ -92,7 +92,7 @@ class KeywordsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('category_id'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('shoes') ) ])) @@ -102,7 +102,7 @@ class KeywordsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('red') ) ])); @@ -134,12 +134,12 @@ class KeywordsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('red') ), new Filter( new Field('size'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('xxl') ) ])); @@ -169,12 +169,12 @@ class KeywordsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('red') ), new Filter( new Field('size'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('xl') ) ])); @@ -207,7 +207,7 @@ class KeywordsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('category_id'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('prices') ) ])) @@ -217,12 +217,12 @@ class KeywordsTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('red') ), new Filter( new Field('size'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('xl') ) ])); diff --git a/tests/Filter/QueryAndPostFilterTest.php b/tests/Filter/QueryAndPostFilterTest.php index b7f24c9..c263949 100644 --- a/tests/Filter/QueryAndPostFilterTest.php +++ b/tests/Filter/QueryAndPostFilterTest.php @@ -28,7 +28,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('not') ) ]); @@ -59,7 +59,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('adidas') ) ]); @@ -177,24 +177,24 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('adidas') ), new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), ]); $filterCollectionBrand - ->setLogicalType(LogicOperator::or()) + ->setLogicOperator(LogicOperator::OR) ->setFilterType(FilterType::query()); $criteria->filters()->add($filterCollectionBrand); $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), ]); @@ -342,19 +342,19 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), ]); $filterCollectionBrand - ->setLogicalType(LogicOperator::or()) + ->setLogicOperator(LogicOperator::OR) ->setFilterType(FilterType::query()); $criteria->filters()->add($filterCollectionBrand); $filterCollectionColor = new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('white') ), ]); @@ -482,24 +482,24 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('rebook') ), ]); $filterCollectionBrand - ->setLogicalType(LogicOperator::or()) + ->setLogicOperator(LogicOperator::OR) ->setFilterType(FilterType::query()); $criteria->filters()->add($filterCollectionBrand); $filterCollectionColor = new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('white') ), ]); @@ -509,7 +509,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), ]); @@ -625,17 +625,17 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('rebook') ), ]); $filterCollectionBrand - ->setLogicalType(LogicOperator::or()) + ->setLogicOperator(LogicOperator::OR) ->setFilterType(FilterType::query()); $criteria->filters()->add($filterCollectionBrand); @@ -643,7 +643,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), ]); @@ -652,7 +652,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionColor = new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('red') ), ]); @@ -798,7 +798,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionPrice = new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber(108) ) ]); @@ -829,7 +829,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionPrice = new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber(105) ) ]); @@ -948,12 +948,12 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollection = new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber(104) ), new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), ]); @@ -1070,12 +1070,12 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollection = new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber(104) ), new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), ]); @@ -1085,7 +1085,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionColor = new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('red') ), ]); @@ -1200,7 +1200,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionPrice = new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::LTE), + FilterOperator::LTE, new FilterNumber(104) ), ]); @@ -1210,17 +1210,17 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('adidas') ), ]); $filterCollectionBrand - ->setLogicalType(LogicOperator::or()) + ->setLogicOperator(LogicOperator::OR) ->setFilterType(FilterType::query()); $criteria->filters()->add($filterCollectionBrand); @@ -1228,7 +1228,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionColor = new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('green') ), ]); @@ -1237,7 +1237,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), ]); @@ -1371,7 +1371,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionPrice = new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::LTE), + FilterOperator::LTE, new FilterNumber(104) ), ]); @@ -1381,17 +1381,17 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('adidas') ), ]); $filterCollectionBrand - ->setLogicalType(LogicOperator::or()) + ->setLogicOperator(LogicOperator::OR) ->setFilterType(FilterType::query()); $criteria->filters()->add($filterCollectionBrand); @@ -1399,7 +1399,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionPrice = new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber(102) ), ]); @@ -1534,7 +1534,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionPrice = new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::LTE), + FilterOperator::LTE, new FilterNumber(104) ), ]); @@ -1544,17 +1544,17 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('nike') ), new Filter( new Field('brand'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('adidas') ), ]); $filterCollectionBrand - ->setLogicalType(LogicOperator::or()) + ->setLogicOperator(LogicOperator::OR) ->setFilterType(FilterType::query()); $criteria->filters()->add($filterCollectionBrand); @@ -1562,7 +1562,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionPrice = new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber(101) ), ]); @@ -1571,7 +1571,7 @@ class QueryAndPostFilterTest extends AbstractTestCase $filterCollectionColor = new FilterGroupCollection([ new Filter( new Field('color'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('green') ), ]); diff --git a/tests/Filter/QueryTest.php b/tests/Filter/QueryTest.php index 6a017db..146fff9 100644 --- a/tests/Filter/QueryTest.php +++ b/tests/Filter/QueryTest.php @@ -45,7 +45,7 @@ class QueryTest extends AbstractTestCase $filterCollectionCategory = new FilterGroupCollection([ new Filter( new Field($filter['category']['key']), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword($filter['category']['value']) ) ]); @@ -55,7 +55,7 @@ class QueryTest extends AbstractTestCase $filterCollectionBrand = new FilterGroupCollection([ new Filter( new Field($filter['brand']['key']), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword($filter['brand']['value']) ) ]); @@ -63,12 +63,12 @@ class QueryTest extends AbstractTestCase $filterCollectionPrice = new FilterGroupCollection([ new Filter( new Field($filter['price']['key']), - new FilterOperator(FilterOperator::LT), + FilterOperator::LT, new FilterNumber($filter['price']['min']) ), new Filter( new Field($filter['price']['key']), - new FilterOperator(FilterOperator::GT), + FilterOperator::GT, new FilterNumber($filter['price']['max']) ), ]); @@ -222,12 +222,12 @@ class QueryTest extends AbstractTestCase $filterCollectionPrice = new FilterGroupCollection([ new Filter( new Field($filter['price']['key']), - new FilterOperator(FilterOperator::LT), + FilterOperator::LT, new FilterNumber($filter['price']['min']) ), new Filter( new Field($filter['price']['key']), - new FilterOperator(FilterOperator::GT), + FilterOperator::GT, new FilterNumber($filter['price']['max']) ), ]); @@ -237,7 +237,7 @@ class QueryTest extends AbstractTestCase $filterCollectionQueryPrice = new FilterGroupCollection([ new Filter( new Field($filter['price']['key']), - new FilterOperator(FilterOperator::LT), + FilterOperator::LT, new FilterNumber($filter['price']['lower']) ), ]); @@ -352,7 +352,7 @@ class QueryTest extends AbstractTestCase $filterCollectionPrice = new FilterGroupCollection([ new Filter( new Field($filter['price']['key']), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber($filter['price']['min']) ) ]); @@ -362,7 +362,7 @@ class QueryTest extends AbstractTestCase $filterCollectionQueryPrice = new FilterGroupCollection([ new Filter( new Field($filter['price']['key']), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber($filter['price']['lower']) ), ]); diff --git a/tests/Filter/RangeTest.php b/tests/Filter/RangeTest.php index 3f0a3e3..b83ba83 100644 --- a/tests/Filter/RangeTest.php +++ b/tests/Filter/RangeTest.php @@ -27,7 +27,7 @@ class RangeTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber(103) ), ])); @@ -63,7 +63,7 @@ class RangeTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GT), + FilterOperator::GT, new FilterNumber(103.01) ), ])); @@ -98,7 +98,7 @@ class RangeTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GT), + FilterOperator::GT, new FilterNumber(102.99) ), ])); @@ -134,7 +134,7 @@ class RangeTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::LTE), + FilterOperator::LTE, new FilterNumber(102) ), ])); @@ -168,7 +168,7 @@ class RangeTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::LT), + FilterOperator::LT, new FilterNumber(102.99) ), ])); @@ -202,7 +202,7 @@ class RangeTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::LT), + FilterOperator::LT, new FilterNumber(101.99) ), ])); @@ -235,12 +235,12 @@ class RangeTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber(101) ), new Filter( new Field('price'), - new FilterOperator(FilterOperator::LTE), + FilterOperator::LTE, new FilterNumber(102) ), ])); @@ -273,12 +273,12 @@ class RangeTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber(101.01) ), new Filter( new Field('price'), - new FilterOperator(FilterOperator::LTE), + FilterOperator::LTE, new FilterNumber(102) ), ])); @@ -310,12 +310,12 @@ class RangeTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber(101) ), new Filter( new Field('price'), - new FilterOperator(FilterOperator::LTE), + FilterOperator::LTE, new FilterNumber(101.99) ), ])); @@ -347,12 +347,12 @@ class RangeTest extends AbstractTestCase $criteria->filters()->add(new FilterGroupCollection([ new Filter( new Field('price'), - new FilterOperator(FilterOperator::GTE), + FilterOperator::GTE, new FilterNumber(101.99) ), new Filter( new Field('price'), - new FilterOperator(FilterOperator::LTE), + FilterOperator::LTE, new FilterNumber(101.99) ), ])); diff --git a/tests/Filter/SearchItemsTest.php b/tests/Filter/SearchItemsTest.php index c1119af..4174563 100644 --- a/tests/Filter/SearchItemsTest.php +++ b/tests/Filter/SearchItemsTest.php @@ -29,7 +29,7 @@ class SearchItemsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('category_id'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('prices') ) ])) @@ -64,7 +64,7 @@ class SearchItemsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('category_id'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('') ) ])) @@ -128,7 +128,7 @@ class SearchItemsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('search'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('Nike') ) ])) @@ -165,7 +165,7 @@ class SearchItemsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('search'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('Nike Dri-FIT Strike') ) ])) @@ -202,7 +202,7 @@ class SearchItemsTest extends AbstractTestCase (new FilterGroupCollection([ new Filter( new Field('search'), - new FilterOperator(FilterOperator::EQ), + FilterOperator::EQ, new FilterKeyword('Товар с ценой') ) ])) -- GitLab