From 19a673f76c65ef11076abbd0ce70a28f1e9c44a3 Mon Sep 17 00:00:00 2001 From: FullBL Date: Fri, 21 Feb 2025 18:23:06 +0100 Subject: [PATCH 1/2] test for filters --- .../ODM/MongoDB/Tests/Functional/FilterTest.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/Doctrine/ODM/MongoDB/Tests/Functional/FilterTest.php b/tests/Doctrine/ODM/MongoDB/Tests/Functional/FilterTest.php index 69f61000e8..0b2748c8bb 100644 --- a/tests/Doctrine/ODM/MongoDB/Tests/Functional/FilterTest.php +++ b/tests/Doctrine/ODM/MongoDB/Tests/Functional/FilterTest.php @@ -334,4 +334,19 @@ public function testMultipleFiltersOnSameField(): void */ self::assertEmpty($this->getUsernamesWithFindAll()); } + + public function testNullFilterOnStringField(): void + { + $this->fc->enable('testFilter'); + $testFilter = $this->fc->getFilter('testFilter'); + $testFilter->setParameter('class', User::class); + $testFilter->setParameter('field', 'password'); + $testFilter->setParameter('value', null); + + $qb = $$this->dm->getRepository(User::class)->findBy(['username' => 'John']); + $query = $qb->getQuery(); + $all = $query->execute(); + + self::assertCount(1, $all); + } } From 85c9587337a8c3ae46c61422fd95fb46901cc200 Mon Sep 17 00:00:00 2001 From: FullBL Date: Fri, 21 Feb 2025 20:47:59 +0100 Subject: [PATCH 2/2] test null filter on string field --- .../Doctrine/ODM/MongoDB/Tests/Functional/FilterTest.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tests/Doctrine/ODM/MongoDB/Tests/Functional/FilterTest.php b/tests/Doctrine/ODM/MongoDB/Tests/Functional/FilterTest.php index 0b2748c8bb..6054a3d215 100644 --- a/tests/Doctrine/ODM/MongoDB/Tests/Functional/FilterTest.php +++ b/tests/Doctrine/ODM/MongoDB/Tests/Functional/FilterTest.php @@ -343,10 +343,11 @@ public function testNullFilterOnStringField(): void $testFilter->setParameter('field', 'password'); $testFilter->setParameter('value', null); - $qb = $$this->dm->getRepository(User::class)->findBy(['username' => 'John']); - $query = $qb->getQuery(); - $all = $query->execute(); + $builder = $this->dm->createAggregationBuilder(User::class) + ->match() + ->field('username') + ->text('John'); - self::assertCount(1, $all); + self::assertCount(1, $builder->getAggregation()->execute()); } }