@@ -777,7 +777,7 @@ describe('ProtectedFields', function() {
777777 object . set ( 'revision' , 0 ) ;
778778 object . set ( 'test' , 'test' ) ;
779779
780- await object . save ( { useMasterKey : true } ) ;
780+ await object . save ( null , { useMasterKey : true } ) ;
781781 }
782782
783783 beforeEach ( async ( ) => {
@@ -812,6 +812,24 @@ describe('ProtectedFields', function() {
812812 } )
813813 ) . toBeResolved ( ) ;
814814 } ) ;
815+
816+ it ( 'should not allow protecting default fields' , async ( ) => {
817+ const defaultFields = [ 'objectId' , 'createdAt' , 'updatedAt' , 'ACL' ] ;
818+ for ( const field of defaultFields ) {
819+ await expectAsync (
820+ updateCLP ( {
821+ protectedFields : {
822+ '*' : [ field ] ,
823+ } ,
824+ } )
825+ ) . toBeRejectedWith (
826+ new Parse . Error (
827+ Parse . Error . INVALID_JSON ,
828+ `Default field '${ field } ' can not be protected`
829+ )
830+ ) ;
831+ }
832+ } ) ;
815833 } ) ;
816834
817835 describe ( 'targeting public access' , ( ) => {
@@ -1310,10 +1328,10 @@ describe('ProtectedFields', function() {
13101328
13111329 // admin supersets moder role
13121330 moder . relation ( 'roles' ) . add ( admin ) ;
1313- await moder . save ( { useMasterKey : true } ) ;
1331+ await moder . save ( null , { useMasterKey : true } ) ;
13141332
13151333 tester . relation ( 'roles' ) . add ( moder ) ;
1316- await tester . save ( { useMasterKey : true } ) ;
1334+ await tester . save ( null , { useMasterKey : true } ) ;
13171335
13181336 const roleAdmin = `role:${ admin . get ( 'name' ) } ` ;
13191337 const roleModer = `role:${ moder . get ( 'name' ) } ` ;
0 commit comments