|
6 | 6 |
|
7 | 7 | const Parse = require('parse/node');
|
8 | 8 | const request = require('../lib/request');
|
| 9 | +const ParseServerRESTController = require('../lib/ParseServerRESTController').ParseServerRESTController; |
| 10 | +const ParseServer = require('../lib/ParseServer').default; |
9 | 11 |
|
10 | 12 | const masterKeyHeaders = {
|
11 | 13 | 'X-Parse-Application-Id': 'test',
|
@@ -5275,4 +5277,33 @@ describe('Parse.Query testing', () => {
|
5275 | 5277 | // Validate
|
5276 | 5278 | expect(result.executionStats).not.toBeUndefined();
|
5277 | 5279 | });
|
| 5280 | + |
| 5281 | + it('should query with distinct within eachBatch and direct access enabled', async () => { |
| 5282 | + await reconfigureServer({ |
| 5283 | + directAccess: true, |
| 5284 | + }); |
| 5285 | + |
| 5286 | + Parse.CoreManager.setRESTController( |
| 5287 | + ParseServerRESTController(Parse.applicationId, ParseServer.promiseRouter({ appId: Parse.applicationId })) |
| 5288 | + ); |
| 5289 | + |
| 5290 | + const user = new Parse.User(); |
| 5291 | + user.set('username', 'foo'); |
| 5292 | + user.set('password', 'bar'); |
| 5293 | + await user.save(); |
| 5294 | + |
| 5295 | + const score = new Parse.Object('Score'); |
| 5296 | + score.set('player', user); |
| 5297 | + score.set('score', 1); |
| 5298 | + await score.save(); |
| 5299 | + |
| 5300 | + await new Parse.Query('_User') |
| 5301 | + .equalTo('objectId', user.id) |
| 5302 | + .eachBatch(async ([user]) => { |
| 5303 | + const score = await new Parse.Query('Score') |
| 5304 | + .equalTo('player', user) |
| 5305 | + .distinct('score', { useMasterKey: true }); |
| 5306 | + expect(score).toEqual([1]); |
| 5307 | + }, { useMasterKey: true }); |
| 5308 | + }); |
5278 | 5309 | });
|
0 commit comments