|
19 | 19 | use EventEngine\DocumentStore\Filter\EqFilter;
|
20 | 20 | use EventEngine\DocumentStore\Filter\GtFilter;
|
21 | 21 | use EventEngine\DocumentStore\Filter\InArrayFilter;
|
| 22 | +use EventEngine\DocumentStore\Filter\LikeFilter; |
22 | 23 | use EventEngine\DocumentStore\Filter\LtFilter;
|
23 | 24 | use EventEngine\DocumentStore\Filter\NotFilter;
|
24 | 25 | use EventEngine\DocumentStore\Filter\OrFilter;
|
@@ -345,6 +346,34 @@ public function it_handles_not_any_of_id_filter()
|
345 | 346 | $this->assertEquals(['bat'], $vals);
|
346 | 347 | }
|
347 | 348 |
|
| 349 | + /** |
| 350 | + * @test |
| 351 | + */ |
| 352 | + public function it_handles_case_insensitive_like_filter() |
| 353 | + { |
| 354 | + $collectionName = 'test_case_insensitive_like_filter'; |
| 355 | + $this->documentStore->addCollection($collectionName); |
| 356 | + |
| 357 | + $firstDocId = Uuid::uuid4()->toString(); |
| 358 | + $secondDocId = Uuid::uuid4()->toString(); |
| 359 | + $thirdDocId = Uuid::uuid4()->toString(); |
| 360 | + |
| 361 | + $this->documentStore->addDoc($collectionName, $firstDocId, ['foo' => 'some BaR val']); |
| 362 | + $this->documentStore->addDoc($collectionName, $secondDocId, ['foo' => 'some bAt val']); |
| 363 | + $this->documentStore->addDoc($collectionName, $thirdDocId, ['foo' => 'SOME baz VAL']); |
| 364 | + |
| 365 | + $filteredDocs = \iterator_to_array($this->documentStore->filterDocs( |
| 366 | + $collectionName, |
| 367 | + new LikeFilter('foo', '%bat%') |
| 368 | + )); |
| 369 | + |
| 370 | + $vals = array_map(function (array $doc) { |
| 371 | + return $doc['foo']; |
| 372 | + }, $filteredDocs); |
| 373 | + |
| 374 | + $this->assertEquals(['some bAt val'], $vals); |
| 375 | + } |
| 376 | + |
348 | 377 | /**
|
349 | 378 | * @test
|
350 | 379 | */
|
|
0 commit comments