From 661b8d0611662dd359408a47ab86300afc1de360 Mon Sep 17 00:00:00 2001 From: Bart van Asselt Date: Thu, 25 Apr 2024 11:50:15 +0200 Subject: [PATCH] Write tests for NestedFilteredAggregation --- tests/Unit/FinderTest.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/tests/Unit/FinderTest.php b/tests/Unit/FinderTest.php index 4c1e5b1..fdef5f1 100644 --- a/tests/Unit/FinderTest.php +++ b/tests/Unit/FinderTest.php @@ -21,6 +21,7 @@ use Mockery; use Mockery\Adapter\Phpunit\MockeryTestCase; use JeroenG\Explorer\Domain\Aggregations\NestedAggregation; +use function var_dump; class FinderTest extends MockeryTestCase { @@ -409,7 +410,7 @@ public function test_it_adds_nested_aggregations(): void 'aggs' => [ 'filter_aggs' => [ 'terms' => [ - 'field' => 'nestedFilteredAggregation.someField', + 'field' => 'nestedFilteredAggregation.someFieldNestedAggregation', 'size' => 10, ], ], @@ -458,7 +459,7 @@ public function test_it_adds_nested_aggregations(): void 'doc_count_error_upper_bound' => 0, 'sum_other_doc_count' => 0, 'buckets' => [ - ['key' => 'someKey', 'doc_count' => 6,], + ['key' => 'someFieldNestedAggregation', 'doc_count' => 6,], ], ], ], @@ -477,7 +478,7 @@ public function test_it_adds_nested_aggregations(): void $nestedAggregation = new NestedAggregation('nestedAggregation'); $nestedAggregation->add('someField', new TermsAggregation('nestedAggregation.someField')); - $query->addAggregation('nestedFilteredAggregation', new NestedFilteredAggregation('nestedFilteredAggregation', 'filter_aggs', 'someField', [])); + $query->addAggregation('nestedFilteredAggregation', new NestedFilteredAggregation('nestedFilteredAggregation', 'filter_aggs', 'someFieldNestedAggregation', [])); $query->addAggregation('nestedAggregation', $nestedAggregation); $builder = new SearchCommand(self::TEST_INDEX, $query); @@ -498,6 +499,17 @@ public function test_it_adds_nested_aggregations(): void self::assertEquals(6, $nestedAggregationValue['doc_count']); self::assertEquals('someKey', $nestedAggregationValue['key']); + + $nestedFilterAggregation = $results->aggregations()[1]; + + self::assertInstanceOf(AggregationResult::class, $nestedFilterAggregation); + self::assertEquals('someFieldFiltered', $nestedFilterAggregation->name()); + self::assertCount(1, $nestedFilterAggregation->values()); + + $nestedFilterAggregationValue = $nestedFilterAggregation->values()[0]; + + self::assertEquals(6, $nestedFilterAggregationValue['doc_count']); + self::assertEquals('someFieldNestedAggregation', $nestedFilterAggregationValue['key']); } private function hit(int $id = 1, float $score = 1.0): array