@@ -602,37 +602,26 @@ describe('Parse Role testing', () => {
602602 } ) ;
603603 } ) ;
604604
605- it ( 'should trigger afterSave hook when using Parse.Role' , done => {
606- let afterSaveCalled = false ;
607-
608- Parse . Cloud . afterSave ( Parse . Role , req => {
609- afterSaveCalled = true ;
610- expect ( req . object ) . toBeDefined ( ) ;
611- expect ( req . object . get ( 'name' ) ) . toBe ( 'AnotherTestRole' ) ;
605+ it ( 'should trigger afterSave hook when using Parse.Role' , async ( ) => {
606+ const afterSavePromise = new Promise ( resolve => {
607+ Parse . Cloud . afterSave ( Parse . Role , req => {
608+ expect ( req . object ) . toBeDefined ( ) ;
609+ expect ( req . object . get ( 'name' ) ) . toBe ( 'AnotherTestRole' ) ;
610+ resolve ( ) ;
611+ } ) ;
612612 } ) ;
613613
614614 const acl = new Parse . ACL ( ) ;
615615 acl . setPublicReadAccess ( true ) ;
616616 const role = new Parse . Role ( 'AnotherTestRole' , acl ) ;
617617
618- role
619- . save ( { } , { useMasterKey : true } )
620- . then ( savedRole => {
621- expect ( savedRole . id ) . toBeDefined ( ) ;
622- // Give the afterSave hook some time to execute
623- return new Promise ( resolve => setTimeout ( resolve , 100 ) ) ;
624- } )
625- . then ( ( ) => {
626- expect ( afterSaveCalled ) . toBe ( true ) ;
627- done ( ) ;
628- } )
629- . catch ( err => {
630- fail ( `Should not have failed: ${ err . message } ` ) ;
631- done ( ) ;
632- } ) ;
618+ const savedRole = await role . save ( { } , { useMasterKey : true } ) ;
619+ expect ( savedRole . id ) . toBeDefined ( ) ;
620+
621+ await afterSavePromise ;
633622 } ) ;
634623
635- it ( 'should trigger beforeSave hook and allow modifying role in beforeSave' , done => {
624+ it ( 'should trigger beforeSave hook and allow modifying role in beforeSave' , async ( ) => {
636625 Parse . Cloud . beforeSave ( Parse . Role , req => {
637626 // Add a custom field in beforeSave
638627 req . object . set ( 'customField' , 'addedInBeforeSave' ) ;
@@ -642,20 +631,12 @@ describe('Parse Role testing', () => {
642631 acl . setPublicReadAccess ( true ) ;
643632 const role = new Parse . Role ( 'ModifiedRole' , acl ) ;
644633
645- role
646- . save ( { } , { useMasterKey : true } )
647- . then ( savedRole => {
648- expect ( savedRole . id ) . toBeDefined ( ) ;
649- expect ( savedRole . get ( 'customField' ) ) . toBe ( 'addedInBeforeSave' ) ;
650- done ( ) ;
651- } )
652- . catch ( err => {
653- fail ( `Should not have failed: ${ err . message } ` ) ;
654- done ( ) ;
655- } ) ;
634+ const savedRole = await role . save ( { } , { useMasterKey : true } ) ;
635+ expect ( savedRole . id ) . toBeDefined ( ) ;
636+ expect ( savedRole . get ( 'customField' ) ) . toBe ( 'addedInBeforeSave' ) ;
656637 } ) ;
657638
658- it ( 'should trigger beforeSave hook using Parse.Role' , done => {
639+ it ( 'should trigger beforeSave hook using Parse.Role' , async ( ) => {
659640 let beforeSaveCalled = false ;
660641
661642 Parse . Cloud . beforeSave ( Parse . Role , req => {
@@ -668,20 +649,12 @@ describe('Parse Role testing', () => {
668649 acl . setPublicReadAccess ( true ) ;
669650 const role = new Parse . Role ( 'BeforeSaveWithClassRef' , acl ) ;
670651
671- role
672- . save ( { } , { useMasterKey : true } )
673- . then ( savedRole => {
674- expect ( savedRole . id ) . toBeDefined ( ) ;
675- expect ( beforeSaveCalled ) . toBe ( true ) ;
676- done ( ) ;
677- } )
678- . catch ( err => {
679- fail ( `Should not have failed: ${ err . message } ` ) ;
680- done ( ) ;
681- } ) ;
652+ const savedRole = await role . save ( { } , { useMasterKey : true } ) ;
653+ expect ( savedRole . id ) . toBeDefined ( ) ;
654+ expect ( beforeSaveCalled ) . toBe ( true ) ;
682655 } ) ;
683656
684- it ( 'should allow modifying role name in beforeSave hook' , done => {
657+ it ( 'should allow modifying role name in beforeSave hook' , async ( ) => {
685658 Parse . Cloud . beforeSave ( Parse . Role , req => {
686659 // Modify the role name in beforeSave
687660 if ( req . object . get ( 'name' ) === 'OriginalName' ) {
@@ -693,22 +666,13 @@ describe('Parse Role testing', () => {
693666 acl . setPublicReadAccess ( true ) ;
694667 const role = new Parse . Role ( 'OriginalName' , acl ) ;
695668
696- role
697- . save ( { } , { useMasterKey : true } )
698- . then ( savedRole => {
699- expect ( savedRole . id ) . toBeDefined ( ) ;
700- expect ( savedRole . get ( 'name' ) ) . toBe ( 'ModifiedName' ) ;
701- // Verify the name was actually saved to the database
702- const query = new Parse . Query ( Parse . Role ) ;
703- return query . get ( savedRole . id , { useMasterKey : true } ) ;
704- } )
705- . then ( fetchedRole => {
706- expect ( fetchedRole . get ( 'name' ) ) . toBe ( 'ModifiedName' ) ;
707- done ( ) ;
708- } )
709- . catch ( err => {
710- fail ( `Should not have failed: ${ err . message } ` ) ;
711- done ( ) ;
712- } ) ;
669+ const savedRole = await role . save ( { } , { useMasterKey : true } ) ;
670+ expect ( savedRole . id ) . toBeDefined ( ) ;
671+ expect ( savedRole . get ( 'name' ) ) . toBe ( 'ModifiedName' ) ;
672+
673+ // Verify the name was actually saved to the database
674+ const query = new Parse . Query ( Parse . Role ) ;
675+ const fetchedRole = await query . get ( savedRole . id , { useMasterKey : true } ) ;
676+ expect ( fetchedRole . get ( 'name' ) ) . toBe ( 'ModifiedName' ) ;
713677 } ) ;
714678} ) ;
0 commit comments