public void ReturnBadRequest_WhenTokenInvalid_OnCallToUpdatePasswordUsingToken() { var model = new ResetTokenUpdateDto { UserId = 1, Token = Guid.NewGuid(), Password = "******" }; var user = new UserDto { Id = 1 }; var userRepository = A.Fake <IUserRepository>(); A.CallTo(() => userRepository.UserExists(model.UserId)).Returns(true); A.CallTo(() => userRepository.GetUser(model.UserId)).Returns(user); var userHelper = A.Fake <IUserHelper>(); A.CallTo(() => userHelper.ValidResetToken(user, model.Token)).Returns(false); var controller = new AuthController(userRepository, userHelper, null); var response = controller.UpdatePasswordUsingToken(model); Assert.AreEqual((int)HttpStatusCode.BadRequest, ((BadRequestObjectResult)response.Result).StatusCode); Assert.AreEqual("Password reset token is not valid.", ((BadRequestObjectResult)response.Result).Value); }
public void ReturnUserDto_WhenResetTokenValid_OnCallToUpdatePasswordUsingToken() { var model = new ResetTokenUpdateDto { UserId = 1, Token = Guid.NewGuid(), Password = "******" }; var user = new UserDto { Id = 1 }; var userRepository = A.Fake <IUserRepository>(); A.CallTo(() => userRepository.UserExists(model.UserId)).Returns(true); A.CallTo(() => userRepository.GetUser(model.UserId)).Returns(user); var userHelper = A.Fake <IUserHelper>(); A.CallTo(() => userHelper.ValidResetToken(user, model.Token)).Returns(true); var controller = new AuthController(userRepository, userHelper, null); var response = controller.UpdatePasswordUsingToken(model); A.CallTo(() => userRepository.UpdatePasswordHash(model.UserId, A <string> .Ignored)).MustHaveHappened(); A.CallTo(() => userRepository.SetPasswordResetFields(model.UserId, null, null)).MustHaveHappened(); Assert.AreEqual(model.UserId, response.Value.Id); }
public void ReturnBadRequest_WhenUserNotPresent_OnCallToUpdatePasswordUsingToken() { var model = new ResetTokenUpdateDto { UserId = 1, Token = Guid.NewGuid(), Password = "******" }; var userRepository = A.Fake <IUserRepository>(); A.CallTo(() => userRepository.UserExists(model.UserId)).Returns(false); var controller = new AuthController(userRepository, null, null); var response = controller.UpdatePasswordUsingToken(model); Assert.AreEqual((int)HttpStatusCode.BadRequest, ((BadRequestObjectResult)response.Result).StatusCode); Assert.AreEqual($"User with Id {model.UserId} does not exist.", ((BadRequestObjectResult)response.Result).Value); }