# HG changeset patch
# User Arthur Lutz <arthur.lutz@logilab.fr>
# Date 1464957808 -7200
#      Fri Jun 03 14:43:28 2016 +0200
# Node ID d60fe2d6642f7ce4edc2b221e9d3f004ca9f7441
# Parent  be9be3676bc85cf12dc07fcc00db8d86f66e5a53
[test] test pagination up to 150 results

diff --git a/test/test_elastic_search.py b/test/test_elastic_search.py
--- a/test/test_elastic_search.py
+++ b/test/test_elastic_search.py
@@ -106,15 +106,21 @@
 
 
 
-def mock_execute(*args, **kwargs):
+def mock_execute_150(*args, **kwargs):
+    return mock_execute(100)
+def mock_execute_15(*args, **kwargs):
+    return mock_execute(15)
+def mock_execute_1(*args, **kwargs):
+    return mock_execute(1)
+def mock_execute(nb_results):
     result = {'_source': {'description': 'test',
                           'cwuri': 'http://example.org/123',
                           'eid': 123,
                           'title': 'test'},
               '_type': 'BaseContent',
               '_score': 1}
-    search = {'hits': {'hits': repeat(result,15),
-                       'total': 15
+    search = {'hits': {'hits': repeat(result,nb_results),
+                       'total': nb_results
                        }}
     return FacetedResponse(search, search)
 
@@ -123,9 +129,24 @@
 
 class ElasticSearchViewsTC(testlib.CubicWebTC):
 
-    @patch('elasticsearch_dsl.search.Search.execute', new=mock_execute)
+    # TODO generate X tests ranging the number of results from 1 to 150
+    @patch('elasticsearch_dsl.search.Search.execute', new=mock_execute_1)
     @patch('elasticsearch_dsl.connections.connections.get_connection', new=mock_cnx)
-    def test_search_view(self):
+    def test_search_view_1(self):
+        with self.new_access('anon').web_request() as req:
+            # self._cw.form.get('search'))
+            self.view('esearch', req=req, template=None)
+
+    @patch('elasticsearch_dsl.search.Search.execute', new=mock_execute_15)
+    @patch('elasticsearch_dsl.connections.connections.get_connection', new=mock_cnx)
+    def test_search_view_15(self):
+        with self.new_access('anon').web_request() as req:
+            # self._cw.form.get('search'))
+            self.view('esearch', req=req, template=None)
+    
+    @patch('elasticsearch_dsl.search.Search.execute', new=mock_execute_150)
+    @patch('elasticsearch_dsl.connections.connections.get_connection', new=mock_cnx)
+    def test_search_view_150(self):
         with self.new_access('anon').web_request() as req:
             # self._cw.form.get('search'))
             self.view('esearch', req=req, template=None)