public ResetPasswordTest() { // Arrange Mediator = new Mock <IMediator>(); UserManager = new Mock <MockUserManager>(); Logger = new Mock <ILogger <ResetPasswordCommandHandler> >(); Handler = new ResetPasswordCommandHandler(Mediator.Object, UserManager.Object, Logger.Object); }
public TokenController(IConfiguration config, LoginRequestCommandHandler loginRequestCommandHandler, RefreshTokenCommandHandler refreshTokenCommandHandler, ForgotPasswordCommandHandler forgotPasswordCommandHandler, ResetPasswordCommandHandler resetPasswordCommandHandler) { this._loginRequestCommandHandler = loginRequestCommandHandler; this._config = config; this._refreshTokenCommandHandler = refreshTokenCommandHandler; this._forgotPasswordCommandHandler = forgotPasswordCommandHandler; this._resetPasswordCommandHandler = resetPasswordCommandHandler; }
public async Task GivenResetPasswordCommandHandler_WhenUserNotFound_ThenShouldThrowRestException() { _mockUserManager.FindByEmailAsync(_command.Email).ReturnsNullForAnyArgs(); var resetPasswordCommandHandler = new ResetPasswordCommandHandler(_mockUserManager, _mockEventBus, _mockEmailBuilder, _mockFailedIdentityResult); await Assert.ThrowsAsync <RestException>(() => resetPasswordCommandHandler.Handle(_command, CancellationToken.None)); }
public async Task GivenResetPasswordCommandHandler_WhenCorrectQueryReceived_ThenShouldUseUserManagerToFindUser() { _mockUserManager.FindByEmailAsync(_command.Email).ReturnsForAnyArgs(_user); var resetPasswordCommandHandler = new ResetPasswordCommandHandler(_mockUserManager, _mockEventBus, _mockEmailBuilder, _mockFailedIdentityResult); await resetPasswordCommandHandler.Handle(_command, CancellationToken.None); await _mockUserManager.ReceivedWithAnyArgs().FindByEmailAsync(_command.Email); }
public void SetUp() { _service = new Mock <IResetPasswordService>(); _unitOfWork = new Mock <IUnitOfWork>(); _sut = new ResetPasswordCommandHandler(_service.Object, _unitOfWork.Object); _command = new ResetPasswordCommand { PasswordToken = "passwordToken", NewPassword = "******" }; _user = new User("email", "organizationId"); _service.Setup(x => x.GetUserByPasswordToken(_command.PasswordToken, default)) .ReturnsAsync(_user); }
public async Task GivenResetPasswordCommandHandler_WhenPasswordHasBeenReset_ThenShouldPublishSendEmailEvent() { _mockUserManager.FindByEmailAsync(_command.Email).ReturnsForAnyArgs(_user); _mockUserManager.ResetPasswordAsync(_user, _command.ResetPasswordToken, _command.NewPassword) .ReturnsForAnyArgs(Task.FromResult(IdentityResult.Success)); var resetPasswordCommandHandler = new ResetPasswordCommandHandler(_mockUserManager, _mockEventBus, _mockEmailBuilder, _mockFailedIdentityResult); await resetPasswordCommandHandler.Handle(_command, CancellationToken.None); _mockEventBus.Received().Publish(Arg.Any <SendEmailEvent>()); }
public async Task GivenResetPasswordCommandHandler_WhenPasswordResetFails_ThenShouldCallFailedIdentityResult() { _mockUserManager.FindByEmailAsync(_command.Email).ReturnsForAnyArgs(_user); _mockUserManager.ResetPasswordAsync(_user, _command.ResetPasswordToken, _command.NewPassword) .ReturnsForAnyArgs(Task.FromResult(IdentityResult.Failed())); var resetPasswordCommandHandler = new ResetPasswordCommandHandler(_mockUserManager, _mockEventBus, _mockEmailBuilder, _mockFailedIdentityResult); await resetPasswordCommandHandler.Handle(_command, CancellationToken.None); _mockFailedIdentityResult.Received() .Handle(Arg.Any <AppUser>(), Arg.Any <List <IdentityError> >(), Arg.Any <string>()); }
GivenResetPasswordCommandHandler_WhenCorrectQueryReceived_ThenShouldUseUserManagerToResetPassword() { _mockUserManager.FindByEmailAsync(_command.Email).ReturnsForAnyArgs(_user); _mockUserManager.ResetPasswordAsync(_user, _command.ResetPasswordToken, _command.NewPassword) .ReturnsForAnyArgs(Task.FromResult(IdentityResult.Success)); var resetPasswordCommandHandler = new ResetPasswordCommandHandler(_mockUserManager, _mockEventBus, _mockEmailBuilder, _mockFailedIdentityResult); await resetPasswordCommandHandler.Handle(_command, CancellationToken.None); await _mockUserManager.Received() .ResetPasswordAsync(_user, _command.ResetPasswordToken, _command.NewPassword); }