- when including elements from an array of pointers, filters unaccessible/missing objects
This commit is contained in:
Florent Vilmart
2016-03-31 20:24:18 -04:00
parent 431d864ac3
commit edfa4092c0
2 changed files with 48 additions and 2 deletions

View File

@@ -1492,7 +1492,52 @@ describe('Parse.Query testing', () => {
fail('should not fail');
done();
})
})
});
it('properly nested array of mixed objects with bad ids', (done) => {
let objects = [];
let total = 0;
while(objects.length != 5) {
let object = new Parse.Object('AnObject');
object.set('key', objects.length);
objects.push(object);
}
while(objects.length != 10) {
let object = new Parse.Object('AnotherObject');
object.set('key', objects.length);
objects.push(object);
}
Parse.Object.saveAll(objects).then(() => {
let object = new Parse.Object("AContainer");
for (var i=0; i<objects.length; i++) {
if (i%2 == 0) {
objects[i].id = 'randomThing'
} else {
total += objects[i].get('key');
}
}
object.set('objects', objects);
return object.save();
}).then(() => {
let query = new Parse.Query('AContainer');
query.include('objects');
return query.find()
}).then((results) => {
expect(results.length).toBe(1);
let res = results[0];
let objects = res.get('objects');
expect(objects.length).toBe(5);
objects.forEach((object) => {
total -= object.get('key');
});
expect(total).toBe(0);
done()
}, (err) => {
console.error(err);
fail('should not fail');
done();
})
});
it('properly fetches nested pointers', (done) =>  {
let color = new Parse.Object('Color');