public async Task Update_passwordOnly_shouldInvokeUpdate() { var mockUserStore = Mock.Of <IDragonUserStore <AppMember> >(x => x.FindByIdAsync(It.IsAny <string>()) == Task.FromResult(new AppMember()) && x.UpdateAsync(It.IsAny <AppMember>()) == Task.FromResult <object>(null) ); var controller = new AccountApiController(mockUserStore, new ApplicationUserManager(mockUserStore), null); var password = Guid.NewGuid().ToString(); var result = await controller.Update(new UpdateViewModel { Password = password }); Assert.IsInstanceOfType(result, typeof(OkResult)); Mock.Get(mockUserStore).Verify(x => x.UpdateAsync(It.Is <AppMember>(y => !string.IsNullOrEmpty(y.PasswordHash))), Times.Once); Mock.Get(mockUserStore).Verify(x => x.UpdateAsync(It.Is <AppMember>(y => !string.IsNullOrEmpty(y.PasswordHash))), Times.Once); }
public async Task Update_emailOnly_shouldInvokeUpdate() { var mockUserStore = Mock.Of <IDragonUserStore <AppMember> >(x => x.FindByIdAsync(It.IsAny <string>()) == Task.FromResult(new AppMember()) && x.UpdateAsync(It.IsAny <AppMember>()) == Task.FromResult <object>(null) ); var controller = new AccountApiController(mockUserStore, null, null); const string email = "*****@*****.**"; var result = await controller.Update(new UpdateViewModel { Email = email }); Assert.IsInstanceOfType(result, typeof(OkResult)); Mock.Get(mockUserStore).Verify(x => x.UpdateAsync(It.Is <AppMember>(y => y.Email == email)), Times.Once); Mock.Get(mockUserStore).Verify(x => x.UpdateAsync(It.Is <AppMember>(y => y.Email == email)), Times.Once); }