@@ -366,8 +366,51 @@ describe('DefinedSchemas', () => {
366366 } ) ;
367367
368368 describe ( 'ClassLevelPermissions' , ( ) => {
369- xit ( 'should save CLP' ) ;
370- xit ( 'should force disabled addField' ) ;
369+ fit ( 'should use default CLP' , async ( ) => {
370+ const server = await reconfigureServer ( ) ;
371+ const schemas = [ { className : 'Test' } ] ;
372+ await new DefinedSchemas ( schemas , server . config ) . execute ( ) ;
373+
374+ const expectedTestCLP = {
375+ find : { '*' : true } ,
376+ count : { '*' : true } ,
377+ get : { '*' : true } ,
378+ create : { '*' : true } ,
379+ update : { '*' : true } ,
380+ delete : { '*' : true } ,
381+ addField : { } ,
382+ protectedFields : { } ,
383+ } ;
384+ let testSchema = await new Parse . Schema ( 'Test' ) . get ( ) ;
385+ expect ( testSchema . classLevelPermissions ) . toEqual ( expectedTestCLP ) ;
386+
387+ await new DefinedSchemas ( schemas , server . config ) . execute ( ) ;
388+ testSchema = await new Parse . Schema ( 'Test' ) . get ( ) ;
389+ expect ( testSchema . classLevelPermissions ) . toEqual ( expectedTestCLP ) ;
390+ } ) ;
391+ it ( 'should force addField to empty' , async ( ) => {
392+ const server = await reconfigureServer ( ) ;
393+ const schemas = [ { className : 'Test' , classLevelPermissions : { addField : { '*' : true } } } ] ;
394+ await new DefinedSchemas ( schemas , server . config ) . execute ( ) ;
395+
396+ const expectedTestCLP = {
397+ find : { '*' : true } ,
398+ count : { '*' : true } ,
399+ get : { '*' : true } ,
400+ create : { '*' : true } ,
401+ update : { '*' : true } ,
402+ delete : { '*' : true } ,
403+ addField : { } ,
404+ protectedFields : { } ,
405+ } ;
406+
407+ let testSchema = await new Parse . Schema ( 'Test' ) . get ( ) ;
408+ expect ( testSchema . classLevelPermissions ) . toEqual ( expectedTestCLP ) ;
409+
410+ await new DefinedSchemas ( schemas , server . config ) . execute ( ) ;
411+ testSchema = await new Parse . Schema ( 'Test' ) . get ( ) ;
412+ expect ( testSchema . classLevelPermissions ) . toEqual ( expectedTestCLP ) ;
413+ } ) ;
371414 } ) ;
372415
373416 xit ( 'should disable class endpoint when schemas provided to avoid dual source of truth' ) ;
0 commit comments