Example #1
0
            public void ShouldCloseSubscriptions()
            {
                ParseQuery <ParseObject>          query               = new ParseQuery <ParseObject>("test");
                EventCallback <ParseObject>       eventCallback       = Substitute.For <EventCallback <ParseObject> >();
                UnsubscribeCallback <ParseObject> unsubscribeCallback = Substitute.For <UnsubscribeCallback <ParseObject> >();

                Subscription <ParseObject> subscription = Subscribe(query)
                                                          .HandleEvent(Event.Create, eventCallback)
                                                          .HandleUnsubscribe(unsubscribeCallback);

                _parseLiveQueryClient.Unsubscribe(query);

                _webSocketClient.Received().Send(Arg.Any <string>());

                _webSocketClientCallback.OnMessage(MockUnsubscribedMessage(subscription.RequestId));

                unsubscribeCallback.Received().Invoke(query);

                ParseObject parseObject = new ParseObject("Test")
                {
                    ObjectId = "testId"
                };

                _webSocketClientCallback.OnMessage(MockObjectEventMessage(Event.Create, subscription.RequestId, parseObject));

                eventCallback.DidNotReceive().Invoke(query, Arg.Any <ParseObject>());
            }
Example #2
0
            public void ShouldNotifySubscribedCallbacks()
            {
                ParseQuery <ParseObject>          parseQuery          = new ParseQuery <ParseObject>("test");
                UnsubscribeCallback <ParseObject> unsubscribeCallback = Substitute.For <UnsubscribeCallback <ParseObject> >();

                Subscription <ParseObject> subscription = Subscribe(parseQuery).HandleUnsubscribe(unsubscribeCallback);

                _parseLiveQueryClient.Unsubscribe(parseQuery);

                _webSocketClient.Received().Send(Arg.Any <string>());
                unsubscribeCallback.DidNotReceive().Invoke(Arg.Any <ParseQuery <ParseObject> >());

                _webSocketClientCallback.OnMessage(MockUnsubscribedMessage(subscription.RequestId));

                unsubscribeCallback.Received().Invoke(parseQuery);
            }
 /// <summary>
 /// Register a callback for when a query has been unsubscribed.
 /// </summary>
 /// <param name="callback">The unsubscribe callback to register.</param>
 /// <returns>The same Subscription, for easy chaining.</returns>
 public Subscription <T> HandleUnsubscribe(UnsubscribeCallback <T> callback)
 {
     _unsubscribeCallbacks.Add(callback);
     return(this);
 }