|
1 | 1 | // This is a port of the test suite:
|
2 | 2 | // hungry/js/test/parse_acl_test.js
|
| 3 | +var rest = require('../src/rest'); |
| 4 | +var Config = require('../src/Config'); |
| 5 | +var config = new Config('test'); |
| 6 | +var auth = require('../src/Auth'); |
3 | 7 |
|
4 | 8 | describe('Parse.ACL', () => {
|
5 | 9 | it("acl must be valid", (done) => {
|
@@ -1158,4 +1162,34 @@ describe('Parse.ACL', () => {
|
1158 | 1162 | });
|
1159 | 1163 | });
|
1160 | 1164 |
|
| 1165 | + it('regression test #701', done => { |
| 1166 | + var anonUser = { |
| 1167 | + authData: { |
| 1168 | + anonymous: { |
| 1169 | + id: '00000000-0000-0000-0000-000000000001' |
| 1170 | + } |
| 1171 | + } |
| 1172 | + }; |
| 1173 | + |
| 1174 | + Parse.Cloud.afterSave(Parse.User, req => { |
| 1175 | + if (!req.object.existed()) { |
| 1176 | + var user = req.object; |
| 1177 | + var acl = new Parse.ACL(user); |
| 1178 | + user.setACL(acl); |
| 1179 | + user.save(null, {useMasterKey: true}).then(user => { |
| 1180 | + new Parse.Query('_User').get(user.objectId).then(user => { |
| 1181 | + fail('should not have fetched user without public read enabled'); |
| 1182 | + done(); |
| 1183 | + }, error => { |
| 1184 | + expect(error.code).toEqual(Parse.Error.OBJECT_NOT_FOUND); |
| 1185 | + Parse.Cloud._removeHook('Triggers', 'afterSave', Parse.User.className); |
| 1186 | + done(); |
| 1187 | + }); |
| 1188 | + }); |
| 1189 | + } |
| 1190 | + }); |
| 1191 | + |
| 1192 | + rest.create(config, auth.nobody(config), '_User', anonUser) |
| 1193 | + }) |
| 1194 | + |
1161 | 1195 | });
|
0 commit comments