public void SendsEmailWithPasswordResetUrl() { const string resetUrl = "https://example.org/?Controller=Users&Action=ResetPassword&username=somebody&token=confirmation"; var user = new User { EmailAddress = "*****@*****.**", Username = "******", PasswordResetToken = "confirmation", PasswordResetTokenExpirationDate = DateTime.UtcNow.AddDays(1) }; var controller = new TestableUsersController(); controller.MockMessageService .Setup(s => s.SendPasswordResetInstructions(user, resetUrl)); controller.MockUserService .Setup(s => s.GeneratePasswordResetToken("user", 1440)) .Returns(user); var model = new ForgotPasswordViewModel { Email = "user" }; var result = controller.ForgotPassword(model) as RedirectToRouteResult; Assert.NotNull(result); controller.MockMessageService .Verify(s => s.SendPasswordResetInstructions(user, resetUrl)); }
public void ReturnsSameViewIfTokenGenerationFails() { var controller = new TestableUsersController(); controller.MockUserService .Setup(s => s.GeneratePasswordResetToken("user", 1440)) .Returns((User)null); var model = new ForgotPasswordViewModel { Email = "user" }; var result = controller.ForgotPassword(model) as ViewResult; Assert.NotNull(result); Assert.IsNotType(typeof(RedirectResult), result); }
public void RedirectsAfterGeneratingToken() { var user = new User { EmailAddress = "*****@*****.**", Username = "******" }; var controller = new TestableUsersController(); controller.MockUserService .Setup(s => s.GeneratePasswordResetToken("user", 1440)) .Returns(user) .Verifiable(); var model = new ForgotPasswordViewModel { Email = "user" }; var result = controller.ForgotPassword(model) as RedirectToRouteResult; Assert.NotNull(result); controller.MockUserService .Verify(s => s.GeneratePasswordResetToken("user", 1440)); }
public void ReturnsSameViewIfTokenGenerationFails() { var controller = new TestableUsersController(); controller.MockUserService .Setup(s => s.GeneratePasswordResetToken("user", 1440)) .Returns((User)null); var model = new ForgotPasswordViewModel { Email = "user" }; var result = controller.ForgotPassword(model) as ViewResult; Assert.NotNull(result); Assert.IsNotType(typeof(RedirectResult), result); }
public void RedirectsAfterGeneratingToken() { var user = new User { EmailAddress = "*****@*****.**", Username = "******" }; var controller = new TestableUsersController(); controller.MockUserService .Setup(s => s.GeneratePasswordResetToken("user", 1440)) .Returns(user) .Verifiable(); var model = new ForgotPasswordViewModel { Email = "user" }; var result = controller.ForgotPassword(model) as RedirectToRouteResult; Assert.NotNull(result); controller.MockUserService .Verify(s => s.GeneratePasswordResetToken("user", 1440)); }
public void SendsEmailWithPasswordResetUrl() { const string resetUrl = "https://example.org/?Controller=Users&Action=ResetPassword&username=somebody&token=confirmation"; var user = new User { EmailAddress = "*****@*****.**", Username = "******", PasswordResetToken = "confirmation", PasswordResetTokenExpirationDate = DateTime.UtcNow.AddDays(1) }; var controller = new TestableUsersController(); controller.MockMessageService .Setup(s => s.SendPasswordResetInstructions(user, resetUrl)); controller.MockUserService .Setup(s => s.GeneratePasswordResetToken("user", 1440)) .Returns(user); var model = new ForgotPasswordViewModel { Email = "user" }; var result = controller.ForgotPassword(model) as RedirectToRouteResult; Assert.NotNull(result); controller.MockMessageService .Verify(s => s.SendPasswordResetInstructions(user, resetUrl)); }