public Task TestLink() { IObjectState state = new MutableObjectState { ObjectId = "some0neTol4v4", ServerData = new Dictionary <string, object>() { { "sessionToken", "llaKcolnu" } } }; IObjectState newState = new MutableObjectState { ServerData = new Dictionary <string, object>() { { "garden", "ofWords" } } }; AVUser user = AVObjectExtensions.FromState <AVUser>(state, "_User"); var mockObjectController = new Mock <IAVObjectController>(); mockObjectController.Setup(obj => obj.SaveAsync(It.IsAny <IObjectState>(), It.IsAny <IDictionary <string, IAVFieldOperation> >(), It.IsAny <string>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult(newState)); AVPlugins.Instance = new AVPlugins { ObjectController = mockObjectController.Object, CurrentUserController = new Mock <IAVCurrentUserController>().Object }; AVObject.RegisterSubclass <AVUser>(); AVObject.RegisterSubclass <AVSession>(); return(user.LinkWithAsync("parse", new Dictionary <string, object>(), CancellationToken.None).ContinueWith(t => { Assert.False(t.IsFaulted); Assert.False(t.IsCanceled); mockObjectController.Verify(obj => obj.SaveAsync(It.IsAny <IObjectState>(), It.IsAny <IDictionary <string, IAVFieldOperation> >(), It.IsAny <string>(), It.IsAny <CancellationToken>()), Times.Exactly(1)); Assert.False(user.IsDirty); Assert.NotNull(user.GetAuthData()); Assert.NotNull(user.GetAuthData()["parse"]); Assert.AreEqual("some0neTol4v4", user.ObjectId); Assert.AreEqual("ofWords", user["garden"]); })); }
public static Task LinkWithAsync(this AVUser user, string authType, IDictionary <string, object> data, CancellationToken cancellationToken) { return(user.LinkWithAsync(authType, data, cancellationToken)); }
public static Task LinkWithAsync(this AVUser user, string authType, CancellationToken cancellationToken) { return(user.LinkWithAsync(authType, cancellationToken)); }