From a0e77395269842f42d9e80c9b5024f147638392a Mon Sep 17 00:00:00 2001 From: Drew Gross Date: Wed, 30 Mar 2016 11:43:12 -0700 Subject: [PATCH] Add a test to repro #701 --- spec/ParseACL.spec.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/spec/ParseACL.spec.js b/spec/ParseACL.spec.js index 3fe5656e68..778da899c6 100644 --- a/spec/ParseACL.spec.js +++ b/spec/ParseACL.spec.js @@ -1,5 +1,9 @@ // This is a port of the test suite: // hungry/js/test/parse_acl_test.js +var rest = require('../src/rest'); +var Config = require('../src/Config'); +var config = new Config('test'); +var auth = require('../src/Auth'); describe('Parse.ACL', () => { it("acl must be valid", (done) => { @@ -1158,4 +1162,34 @@ describe('Parse.ACL', () => { }); }); + it('regression test #701', done => { + var anonUser = { + authData: { + anonymous: { + id: '00000000-0000-0000-0000-000000000001' + } + } + }; + + Parse.Cloud.afterSave(Parse.User, req => { + if (!req.object.existed()) { + var user = req.object; + var acl = new Parse.ACL(user); + user.setACL(acl); + user.save(null, {useMasterKey: true}).then(user => { + new Parse.Query('_User').get(user.objectId).then(user => { + fail('should not have fetched user without public read enabled'); + done(); + }, error => { + expect(error.code).toEqual(Parse.Error.OBJECT_NOT_FOUND); + Parse.Cloud._removeHook('Triggers', 'afterSave', Parse.User.className); + done(); + }); + }); + } + }); + + rest.create(config, auth.nobody(config), '_User', anonUser) + }) + });