@@ -645,7 +645,7 @@ describe('ParseLiveQuery', function () {
645
645
await object . save ( ) ;
646
646
} ) ;
647
647
648
- it ( 'LiveQuery with ACL' , async done => {
648
+ it ( 'LiveQuery with ACL' , async ( ) => {
649
649
await reconfigureServer ( {
650
650
liveQuery : {
651
651
classNames : [ 'Chat' ] ,
@@ -659,49 +659,54 @@ describe('ParseLiveQuery', function () {
659
659
user . setPassword ( 'password' ) ;
660
660
await user . signUp ( ) ;
661
661
662
- let calls = 0 ;
663
-
664
- Parse . Cloud . beforeConnect ( req => {
665
- expect ( req . event ) . toBe ( 'connect' ) ;
666
- expect ( req . clients ) . toBe ( 0 ) ;
667
- expect ( req . subscriptions ) . toBe ( 0 ) ;
668
- expect ( req . useMasterKey ) . toBe ( false ) ;
669
- expect ( req . installationId ) . toBeDefined ( ) ;
670
- expect ( req . client ) . toBeDefined ( ) ;
671
- calls ++ ;
672
- } ) ;
673
-
674
- Parse . Cloud . beforeSubscribe ( 'Chat' , req => {
675
- expect ( req . op ) . toBe ( 'subscribe' ) ;
676
- expect ( req . requestId ) . toBe ( 1 ) ;
677
- expect ( req . query ) . toBeDefined ( ) ;
678
- expect ( req . user ) . toBeDefined ( ) ;
679
- calls ++ ;
680
- } ) ;
681
-
682
- Parse . Cloud . afterLiveQueryEvent ( 'Chat' , req => {
683
- expect ( req . user ) . toBeDefined ( ) ;
684
- expect ( req . object . get ( 'foo' ) ) . toBe ( 'bar' ) ;
685
- calls ++ ;
686
- } ) ;
662
+ const calls = {
663
+ beforeConnect ( req ) {
664
+ expect ( req . event ) . toBe ( 'connect' ) ;
665
+ expect ( req . clients ) . toBe ( 0 ) ;
666
+ expect ( req . subscriptions ) . toBe ( 0 ) ;
667
+ expect ( req . useMasterKey ) . toBe ( false ) ;
668
+ expect ( req . installationId ) . toBeDefined ( ) ;
669
+ expect ( req . client ) . toBeDefined ( ) ;
670
+ } ,
671
+ beforeSubscribe ( req ) {
672
+ expect ( req . op ) . toBe ( 'subscribe' ) ;
673
+ expect ( req . requestId ) . toBe ( 1 ) ;
674
+ expect ( req . query ) . toBeDefined ( ) ;
675
+ expect ( req . user ) . toBeDefined ( ) ;
676
+ } ,
677
+ afterLiveQueryEvent ( req ) {
678
+ expect ( req . user ) . toBeDefined ( ) ;
679
+ expect ( req . object . get ( 'foo' ) ) . toBe ( 'bar' ) ;
680
+ } ,
681
+ create ( object ) {
682
+ expect ( object . get ( 'foo' ) ) . toBe ( 'bar' ) ;
683
+ } ,
684
+ delete ( object ) {
685
+ expect ( object . get ( 'foo' ) ) . toBe ( 'bar' ) ;
686
+ } ,
687
+ } ;
688
+ for ( const key in calls ) {
689
+ console . log ( key ) ;
690
+ spyOn ( calls , key ) . and . callThrough ( ) ;
691
+ }
692
+ Parse . Cloud . beforeConnect ( calls . beforeConnect ) ;
693
+ Parse . Cloud . beforeSubscribe ( 'Chat' , calls . beforeSubscribe ) ;
694
+ Parse . Cloud . afterLiveQueryEvent ( 'Chat' , calls . afterLiveQueryEvent ) ;
687
695
688
696
const chatQuery = new Parse . Query ( 'Chat' ) ;
689
697
const subscription = await chatQuery . subscribe ( ) ;
690
- subscription . on ( 'create' , object => {
691
- expect ( object . get ( 'foo' ) ) . toBe ( 'bar' ) ;
692
- expect ( calls ) . toEqual ( 3 ) ;
693
- } ) ;
694
- subscription . on ( 'delete' , object => {
695
- expect ( object . get ( 'foo' ) ) . toBe ( 'bar' ) ;
696
- expect ( calls ) . toEqual ( 4 ) ;
697
- done ( ) ;
698
- } ) ;
698
+ subscription . on ( 'create' , calls . create ) ;
699
+ subscription . on ( 'delete' , calls . delete ) ;
699
700
const object = new Parse . Object ( 'Chat' ) ;
700
701
const acl = new Parse . ACL ( user ) ;
701
702
object . setACL ( acl ) ;
702
703
object . set ( { foo : 'bar' } ) ;
703
704
await object . save ( ) ;
704
705
await object . destroy ( ) ;
706
+ await new Promise ( resolve => setTimeout ( resolve , 200 ) ) ;
707
+ for ( const key in calls ) {
708
+ expect ( calls [ key ] ) . toHaveBeenCalled ( ) ;
709
+ }
705
710
} ) ;
706
711
707
712
it ( 'handle invalid websocket payload length' , async done => {
0 commit comments