From 85ec22ce3bca380ae262bc39ee5c67f6816dbf5b Mon Sep 17 00:00:00 2001 From: Omair Vaiyani Date: Fri, 17 Jul 2020 04:56:47 +0100 Subject: [PATCH] fix(direct-access): save context not present if direct access enabled (#6764) * fix(direct-access): save context not present if direct access enabled [Open discussion](https://github.com/parse-community/parse-server/issues/6459) for feature with other issues * only send context when present * use object spread * revert and add test * rename test Co-authored-by: dplewis --- spec/ParseServerRESTController.spec.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/spec/ParseServerRESTController.spec.js b/spec/ParseServerRESTController.spec.js index b3b8ea36..3e02cde7 100644 --- a/spec/ParseServerRESTController.spec.js +++ b/spec/ParseServerRESTController.spec.js @@ -161,9 +161,9 @@ describe('ParseServerRESTController', () => { expect(databaseAdapter.createObject.calls.argsFor(0)[3]).toBe( databaseAdapter.createObject.calls.argsFor(1)[3] ); - expect(results.map(result => result.get('key')).sort()).toEqual( - ['value1', 'value2'] - ); + expect( + results.map(result => result.get('key')).sort() + ).toEqual(['value1', 'value2']); done(); }); }); @@ -517,6 +517,22 @@ describe('ParseServerRESTController', () => { }); }); + it('should handle a POST request with context', async () => { + Parse.Cloud.beforeSave('MyObject', req => { + expect(req.context.a).toEqual('a'); + }); + Parse.Cloud.afterSave('MyObject', req => { + expect(req.context.a).toEqual('a'); + }); + + await RESTController.request( + 'POST', + '/classes/MyObject', + { key: 'value' }, + { context: { a: 'a' } } + ); + }); + it('ensures sessionTokens are properly handled', done => { let userId; Parse.User.signUp('user', 'pass')