From 27c73179f61054cc2a68849f2a8bb6f7d5e16feb Mon Sep 17 00:00:00 2001 From: Aschen Date: Fri, 6 Dec 2019 11:21:11 +0100 Subject: [PATCH 1/2] Fix search with size=0 --- src/controllers/document.js | 5 ++++- test/controllers/document.test.js | 17 +++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/controllers/document.js b/src/controllers/document.js index 451fae5c9..5927c846b 100644 --- a/src/controllers/document.js +++ b/src/controllers/document.js @@ -194,7 +194,10 @@ class DocumentController extends BaseController { delete options[opt]; } - request.size = request.size || 10; + if (request.size === undefined) { + request.size = 10; + } + if (!request.scroll && !request.body.sort && !request.from) { request.from = 0; } diff --git a/test/controllers/document.test.js b/test/controllers/document.test.js index 58c3a8abe..9e6a03926 100644 --- a/test/controllers/document.test.js +++ b/test/controllers/document.test.js @@ -449,6 +449,23 @@ describe('Document Controller', () => { }); }); + it.only('should allow to set value of 0 for size', () => { + const result = { + hits: [], + total: 0 + }; + kuzzle.document.query = sinon.stub().resolves({result}); + + return kuzzle.document.search('index', 'collection', {}, { size: 0 }) + .then(() => { + should(kuzzle.document.query).be.calledOnce(); + + const request = kuzzle.document.query.getCall(0).args[0]; + should(request.from).be.eql(0); + should(request.size).be.eql(0); + }); + }); + it('should not set default value for from if scroll or sort are specified', () => { const result = { hits: [], From ae1529a6cfa72580482d5ec60cc478bb2ef1712f Mon Sep 17 00:00:00 2001 From: Aschen Date: Fri, 6 Dec 2019 11:23:49 +0100 Subject: [PATCH 2/2] nit --- test/controllers/document.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/controllers/document.test.js b/test/controllers/document.test.js index 9e6a03926..e25e619ff 100644 --- a/test/controllers/document.test.js +++ b/test/controllers/document.test.js @@ -449,7 +449,7 @@ describe('Document Controller', () => { }); }); - it.only('should allow to set value of 0 for size', () => { + it('should allow to set value of 0 for size', () => { const result = { hits: [], total: 0