Adds count class level permission (#3814)

* Adds count class level permission

* fixup! Adds count class level permission

* Adds missing count property on beforeFind request object

* nits
This commit is contained in:
Florent Vilmart
2017-05-14 21:47:30 -04:00
committed by GitHub
parent d71683a7e2
commit 691cf5988a
5 changed files with 75 additions and 5 deletions

View File

@@ -178,6 +178,38 @@ describe('SchemaController', () => {
});
});
it('class-level permissions test count', (done) => {
var obj;
return config.database.loadSchema()
// Create a valid class
.then(schema => schema.validateObject('Stuff', {foo: 'bar'}))
.then(schema => {
var count = {};
return schema.setPermissions('Stuff', {
'create': {'*': true},
'find': {'*': true},
'count': count
})
}).then(() => {
obj = new Parse.Object('Stuff');
obj.set('foo', 'bar');
return obj.save();
}).then((o) => {
obj = o;
var query = new Parse.Query('Stuff');
return query.find();
}).then((results) => {
expect(results.length).toBe(1);
var query = new Parse.Query('Stuff');
return query.count();
}).then(() => {
fail('Class permissions should have rejected this query.');
}, (err) => {
expect(err.message).toEqual('Permission denied for action count on class Stuff.');
done();
});
});
it('can add classes without needing an object', done => {
config.database.loadSchema()
.then(schema => schema.addClassIfNotExists('NewClass', {