|
16 | 16 | use EventEngine\DocumentStore\Filter\AnyOfFilter; |
17 | 17 | use EventEngine\DocumentStore\Filter\DocIdFilter; |
18 | 18 | use EventEngine\DocumentStore\Filter\EqFilter; |
| 19 | +use EventEngine\DocumentStore\Filter\GtFilter; |
19 | 20 | use EventEngine\DocumentStore\Filter\InArrayFilter; |
| 21 | +use EventEngine\DocumentStore\Filter\LtFilter; |
20 | 22 | use EventEngine\DocumentStore\Filter\NotFilter; |
| 23 | +use EventEngine\DocumentStore\Filter\OrFilter; |
21 | 24 | use PHPUnit\Framework\TestCase; |
22 | 25 | use EventEngine\DocumentStore\FieldIndex; |
23 | 26 | use EventEngine\DocumentStore\Index; |
@@ -434,6 +437,30 @@ public function it_handles_not_filter_nested_in_and_filter() |
434 | 437 | $this->assertEquals([$thirdDocId], $refs); |
435 | 438 | } |
436 | 439 |
|
| 440 | + /** |
| 441 | + * @test |
| 442 | + */ |
| 443 | + public function it_retrieves_doc_ids_by_filter() |
| 444 | + { |
| 445 | + $collectionName = 'test_not_filter_nested_in_and_filter'; |
| 446 | + $this->documentStore->addCollection($collectionName); |
| 447 | + |
| 448 | + $firstDocId = Uuid::uuid4()->toString(); |
| 449 | + $secondDocId = Uuid::uuid4()->toString(); |
| 450 | + $thirdDocId = Uuid::uuid4()->toString(); |
| 451 | + |
| 452 | + $this->documentStore->addDoc($collectionName, $firstDocId, ['number' => 10]); |
| 453 | + $this->documentStore->addDoc($collectionName, $secondDocId, ['number' => 20]); |
| 454 | + $this->documentStore->addDoc($collectionName, $thirdDocId, ['number' => 30]); |
| 455 | + |
| 456 | + $result = $this->documentStore->filterDocIds($collectionName, new OrFilter( |
| 457 | + new GtFilter('number', 21), |
| 458 | + new LtFilter('number', 19) |
| 459 | + )); |
| 460 | + |
| 461 | + $this->assertEquals([$firstDocId, $thirdDocId], $result); |
| 462 | + } |
| 463 | + |
437 | 464 | /** |
438 | 465 | * @test |
439 | 466 | */ |
|
0 commit comments