Skip to content

Commit 54dfcdc

Browse files
committed
Fixes issue affecting sorting in beforeFind
1 parent 0807845 commit 54dfcdc

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

spec/CloudCode.spec.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1472,6 +1472,33 @@ describe('beforeFind hooks', () => {
14721472
});
14731473
});
14741474

1475+
it('should handle sorting where', (done) => {
1476+
Parse.Cloud.beforeFind('MyObject', (req) => {
1477+
const query = req.query;
1478+
query.ascending('score');
1479+
console.log(query);
1480+
return query;
1481+
});
1482+
1483+
const count = 20;
1484+
const objects = [];
1485+
while (objects.length != count) {
1486+
const object = new Parse.Object('MyObject');
1487+
object.set('score', Math.floor(Math.random() * 100));
1488+
objects.push(object);
1489+
}
1490+
Parse.Object.saveAll(objects).then(() => {
1491+
const query = new Parse.Query('MyObject');
1492+
return query.find();
1493+
}).then((objects) => {
1494+
let lastScore = -1;
1495+
objects.forEach((element) => {
1496+
expect(element.get('score') >= lastScore).toBe(true);
1497+
lastScore = element.get('score');
1498+
});
1499+
}).then(done).catch(done.fail);
1500+
});
1501+
14751502
it('should add beforeFind trigger using get API',(done) => {
14761503
const hook = {
14771504
method: function(req) {

src/triggers.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,10 @@ export function maybeRunQueryTrigger(triggerType, className, restWhere, restOpti
356356
restOptions = restOptions || {};
357357
restOptions.keys = jsonQuery.keys;
358358
}
359+
if (jsonQuery.order) {
360+
restOptions = restOptions || {};
361+
restOptions.order = jsonQuery.order;
362+
}
359363
if (requestObject.readPreference) {
360364
restOptions = restOptions || {};
361365
restOptions.readPreference = requestObject.readPreference;

0 commit comments

Comments
 (0)