diff -r 1b8b29c0e95c -r 245b4df137d3 server/src/tests/Controllers/ThemeControllerTest.php --- a/server/src/tests/Controllers/ThemeControllerTest.php Tue Dec 13 23:30:54 2016 +0100 +++ b/server/src/tests/Controllers/ThemeControllerTest.php Fri Dec 16 17:43:07 2016 +0100 @@ -41,6 +41,11 @@ "order" => [ '_count' => 'desc' ], "include" => ".*\|bnf\|.*" ] + ], + "subjects_count" => [ + "cardinality" => [ + "field" => "subject.label_code" + ] ] ] ] @@ -95,6 +100,9 @@ "key" => "arbres|bnf|ark:/12148/cb11934786x", "doc_count" => 989 ] ] + ], + "subjects_count" => [ + "value" => 999 ] ] ] @@ -109,7 +117,7 @@ "http://ark.bnf.fr/ark:/12148/cb11933145f" => ['label' => 'plantes', 'count' => 995 ], "http://ark.bnf.fr/ark:/12148/cb11930908q" => ['label' => 'animaux sauvages', 'count' => 989 ], "http://ark.bnf.fr/ark:/12148/cb11934786x" => ['label' => 'arbres', 'count' => 989 ] - ]]); + ], "meta" => ['total' => 999]]); } @@ -132,6 +140,11 @@ "size" => config('corpusparole.theme_default_limit'), "order" => [ '_count' => 'desc' ] ] + ], + "subjects_count" => [ + "cardinality" => [ + "field" => "subject.label_code" + ] ] ] ] @@ -192,6 +205,9 @@ "key" => "arbres|bnf|ark:/12148/cb11934786x", "doc_count" => 989 ] ] + ], + "subjects_count" => [ + "value" => 999 ] ] ] @@ -208,7 +224,7 @@ "http://lexvo.org/id/iso639-3/bzh" => ['label' => 'Breton', 'count' => 992 ], "http://ark.bnf.fr/ark:/12148/cb11930908q" => ['label' => 'animaux sauvages', 'count' => 989 ], "http://ark.bnf.fr/ark:/12148/cb11934786x" => ['label' => 'arbres', 'count' => 989 ] - ]]); + ], "meta" => ['total' => 999]]); } @@ -232,6 +248,11 @@ "order" => [ '_count' => 'desc' ], "include" => ".*\|lxv\|.*" ] + ], + "subjects_count" => [ + "cardinality" => [ + "field" => "subject.label_code" + ] ] ] ] @@ -268,6 +289,9 @@ "key" => "Breton|lxv|bzh", "doc_count" => 992 ] ] + ], + "subjects_count" => [ + "value" => 999 ] ] ] @@ -276,7 +300,7 @@ $this->seeJsonEquals(["themes" => [ "http://lexvo.org/id/iso639-3/fra" => ['label' => 'Français', 'count' => 1002 ], "http://lexvo.org/id/iso639-3/bzh" => ['label' => 'Breton', 'count' => 992 ] - ]]); + ], "meta" => ['total' => 999]]); } @@ -299,6 +323,11 @@ "order" => $order, "include" => ".*\|bnf\|.*" ] + ], + "subjects_count" => [ + "cardinality" => [ + "field" => "subject.label_code" + ] ] ] ] @@ -329,6 +358,9 @@ "doc_count_error_upper_bound" => 0, "sum_other_doc_count" => 13678, "buckets" => [ ] + ], + "subjects_count" => [ + "value" => 999 ] ] ] @@ -398,93 +430,10 @@ "order" => [ '_count' => 'desc' ], "include" => ".*\|bnf\|.*" ] - ] - ] - ] - ] - ] - ]; - - // This is not normally what should be received, but we test that the limit is respected - Es::shouldReceive('search') - ->once() - ->with($query) - ->andReturn([ - "took" => 27, - "timed_out" => false, - "_shards" => [ - "total" => 1, - "successful" => 1, - "failed" => 0 - ], - "hits" => [ - "total" => 3011, - "max_score" => 0.0, - "hits" => [ ] - ], - "aggregations" => [ - "subjects" => [ - "doc_count" => 41524, - "subjects" => [ - "doc_count_error_upper_bound" => 0, - "sum_other_doc_count" => 13678, - "buckets" => [ [ - "key" => "professions|bnf|ark:/12148/cb13318415c", - "doc_count" => 1412 - ], [ - "key" => "travail non rémunéré|bnf|ark:/12148/cb16604691s", - "doc_count" => 1092 - ], [ - "key" => "famille|bnf|ark:/12148/cb119339867", - "doc_count" => 1050 - ], [ - "key" => "oiseaux|bnf|ark:/12148/cb11932889r", - "doc_count" => 1003 - ], [ - "key" => "météorologie|bnf|ark:/12148/cb11932496x", - "doc_count" => 1001 - ], [ - "key" => "plantes|bnf|ark:/12148/cb11933145f", - "doc_count" => 995 - ], [ - "key" => "animaux sauvages|bnf|ark:/12148/cb11930908q", - "doc_count" => 989 - ], [ - "key" => "arbres|bnf|ark:/12148/cb11934786x", - "doc_count" => 989 - ] ] - ] - ] - ] - ]); - $this->get('/api/v1/stats/themes/?limit=3')->assertTrue($this->response->isOk(), $this->response->content()); - $this->seeJsonEquals(["themes" => [ - "http://ark.bnf.fr/ark:/12148/cb13318415c" => ['label' => 'professions', 'count' => 1412 ], - "http://ark.bnf.fr/ark:/12148/cb16604691s" => ['label' => 'travail non rémunéré', 'count' => 1092 ], - "http://ark.bnf.fr/ark:/12148/cb119339867" => ['label' => 'famille', 'count' => 1050 ] - ]]); - - } - - public function testIndexIndex() { - - $query = [ - 'index' => env('ELASTICSEARCH_INDEX'), - 'body' => [ - 'size' => 0, - 'query' =>[ - 'match_all' => (object) null - ], - 'aggs' => [ - "subjects" => [ - "nested" => [ "path" => "subject" ], - "aggs" => [ - "subjects" => [ - "terms" => [ - "field" => "subject.label_code", - "size" => 6, - "order" => [ '_count' => 'desc' ], - "include" => ".*\|bnf\|.*" + ], + "subjects_count" => [ + "cardinality" => [ + "field" => "subject.label_code" ] ] ] @@ -541,20 +490,23 @@ "key" => "arbres|bnf|ark:/12148/cb11934786x", "doc_count" => 989 ] ] + ], + "subjects_count" => [ + "value" => 999 ] ] ] ]); - $this->get('/api/v1/stats/themes/?limit=3&index=1')->assertTrue($this->response->isOk(), $this->response->content()); + $this->get('/api/v1/stats/themes/?limit=3')->assertTrue($this->response->isOk(), $this->response->content()); $this->seeJsonEquals(["themes" => [ - "http://ark.bnf.fr/ark:/12148/cb11932889r" => ['label' => 'oiseaux', 'count' => 1003 ], - "http://ark.bnf.fr/ark:/12148/cb11932496x" => ['label' => 'météorologie', 'count' => 1001 ], - "http://ark.bnf.fr/ark:/12148/cb11933145f" => ['label' => 'plantes', 'count' => 995 ] - ]]); + "http://ark.bnf.fr/ark:/12148/cb13318415c" => ['label' => 'professions', 'count' => 1412 ], + "http://ark.bnf.fr/ark:/12148/cb16604691s" => ['label' => 'travail non rémunéré', 'count' => 1092 ], + "http://ark.bnf.fr/ark:/12148/cb119339867" => ['label' => 'famille', 'count' => 1050 ] + ], "meta" => ['total' => 999]]); } - public function testIndexLimitIndex2() { + public function testIndexIndex() { $query = [ 'index' => env('ELASTICSEARCH_INDEX'), @@ -570,10 +522,15 @@ "subjects" => [ "terms" => [ "field" => "subject.label_code", - "size" => 9, + "size" => 6, "order" => [ '_count' => 'desc' ], "include" => ".*\|bnf\|.*" ] + ], + "subjects_count" => [ + "cardinality" => [ + "field" => "subject.label_code" + ] ] ] ] @@ -629,6 +586,105 @@ "key" => "arbres|bnf|ark:/12148/cb11934786x", "doc_count" => 989 ] ] + ], + "subjects_count" => [ + "value" => 999 + ] + ] + ] + ]); + $this->get('/api/v1/stats/themes/?limit=3&index=1')->assertTrue($this->response->isOk(), $this->response->content()); + $this->seeJsonEquals(["themes" => [ + "http://ark.bnf.fr/ark:/12148/cb11932889r" => ['label' => 'oiseaux', 'count' => 1003 ], + "http://ark.bnf.fr/ark:/12148/cb11932496x" => ['label' => 'météorologie', 'count' => 1001 ], + "http://ark.bnf.fr/ark:/12148/cb11933145f" => ['label' => 'plantes', 'count' => 995 ] + ], "meta" => ['total' => 999]]); + + } + + public function testIndexLimitIndex2() { + + $query = [ + 'index' => env('ELASTICSEARCH_INDEX'), + 'body' => [ + 'size' => 0, + 'query' =>[ + 'match_all' => (object) null + ], + 'aggs' => [ + "subjects" => [ + "nested" => [ "path" => "subject" ], + "aggs" => [ + "subjects" => [ + "terms" => [ + "field" => "subject.label_code", + "size" => 9, + "order" => [ '_count' => 'desc' ], + "include" => ".*\|bnf\|.*" + ] + ], + "subjects_count" => [ + "cardinality" => [ + "field" => "subject.label_code" + ] + ] + ] + ] + ] + ] + ]; + + // This is not normally what should be received, but we test that the limit is respected + Es::shouldReceive('search') + ->once() + ->with($query) + ->andReturn([ + "took" => 27, + "timed_out" => false, + "_shards" => [ + "total" => 1, + "successful" => 1, + "failed" => 0 + ], + "hits" => [ + "total" => 3011, + "max_score" => 0.0, + "hits" => [ ] + ], + "aggregations" => [ + "subjects" => [ + "doc_count" => 41524, + "subjects" => [ + "doc_count_error_upper_bound" => 0, + "sum_other_doc_count" => 13678, + "buckets" => [ [ + "key" => "professions|bnf|ark:/12148/cb13318415c", + "doc_count" => 1412 + ], [ + "key" => "travail non rémunéré|bnf|ark:/12148/cb16604691s", + "doc_count" => 1092 + ], [ + "key" => "famille|bnf|ark:/12148/cb119339867", + "doc_count" => 1050 + ], [ + "key" => "oiseaux|bnf|ark:/12148/cb11932889r", + "doc_count" => 1003 + ], [ + "key" => "météorologie|bnf|ark:/12148/cb11932496x", + "doc_count" => 1001 + ], [ + "key" => "plantes|bnf|ark:/12148/cb11933145f", + "doc_count" => 995 + ], [ + "key" => "animaux sauvages|bnf|ark:/12148/cb11930908q", + "doc_count" => 989 + ], [ + "key" => "arbres|bnf|ark:/12148/cb11934786x", + "doc_count" => 989 + ] ] + ], + "subjects_count" => [ + "value" => 999 ] ] ] @@ -637,7 +693,7 @@ $this->seeJsonEquals(["themes" => [ "http://ark.bnf.fr/ark:/12148/cb11930908q" => ['label' => 'animaux sauvages', 'count' => 989 ], "http://ark.bnf.fr/ark:/12148/cb11934786x" => ['label' => 'arbres', 'count' => 989 ] - ]]); + ], "meta" => ['total' => 999]]); } }