public Task TestGetCurrentSessionWithNoCurrentUser() { var mockController = new Mock <IAVSessionController>(); var mockCurrentUserController = new Mock <IAVCurrentUserController>(); AVPlugins.Instance = new AVPlugins { SessionController = mockController.Object, CurrentUserController = mockCurrentUserController.Object, }; return(AVSession.GetCurrentSessionAsync().ContinueWith(t => { Assert.False(t.IsFaulted); Assert.False(t.IsCanceled); Assert.Null(t.Result); })); }
public Task TestGetCurrentSession() { IObjectState sessionState = new MutableObjectState { ServerData = new Dictionary <string, object>() { { "sessionToken", "newllaKcolnu" } } }; var mockController = new Mock <IAVSessionController>(); mockController.Setup(obj => obj.GetSessionAsync(It.IsAny <string>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult(sessionState)); IObjectState userState = new MutableObjectState { ServerData = new Dictionary <string, object>() { { "sessionToken", "llaKcolnu" } } }; AVUser user = AVObjectExtensions.FromState <AVUser>(userState, "_User"); var mockCurrentUserController = new Mock <IAVCurrentUserController>(); mockCurrentUserController.Setup(obj => obj.GetAsync(It.IsAny <CancellationToken>())) .Returns(Task.FromResult(user)); AVPlugins.Instance = new AVPlugins { SessionController = mockController.Object, CurrentUserController = mockCurrentUserController.Object, }; AVObject.RegisterSubclass <AVSession>(); return(AVSession.GetCurrentSessionAsync().ContinueWith(t => { Assert.False(t.IsFaulted); Assert.False(t.IsCanceled); mockController.Verify(obj => obj.GetSessionAsync(It.Is <string>(sessionToken => sessionToken == "llaKcolnu"), It.IsAny <CancellationToken>()), Times.Exactly(1)); var session = t.Result; Assert.AreEqual("newllaKcolnu", session.SessionToken); })); }