diff --git a/test/index.test.js b/test/index.test.js index abf9b89..c5a4247 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -2105,25 +2105,38 @@ describe('Feathers Objection Service', () => { }; return companies.find({ - query: { $modify: ['google'] }, modifierFiltersResults: false + query: { $modify: ['withRelationAndGroupBy'] }, modifierFiltersResults: false }).then(data => { expect(data.total).to.be.equal(2); - expect(data.data.length).to.be.equal(1); + expect(data.data.length).to.be.equal(2); expect(data.data[0].name).to.be.equal('Google'); }); }); - it('params.modifierFiltersResults=true does not apply count from modify query', () => { + it('params.modifierFiltersResults=true applies count from modify query', () => { companies.options.paginate = { default: 2, max: 2 }; return companies.find({ - query: { $modify: ['google'] }, modifierFiltersResults: true + query: { $modify: ['withRelationAndGroupBy'] }, modifierFiltersResults: true }).then(data => { - expect(data.total).to.be.equal(1); - expect(data.data.length).to.be.equal(1); + expect(data.total).to.be.equal(1); // count result from GROUP BY + expect(data.data.length).to.be.equal(2); + expect(data.data[0].name).to.be.equal('Google'); + }); + }); + + it('params.modifierFiltersResults=undefined applies count from modify query', () => { + companies.options.paginate = { + default: 2, + max: 2 + }; + + return companies.find({query: { $modify: ['withRelationAndGroupBy'] }}).then(data => { + expect(data.total).to.be.equal(1); // count result from GROUP BY + expect(data.data.length).to.be.equal(2); expect(data.data[0].name).to.be.equal('Google'); }); });