Exemplo n.º 1
0
 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);
        }
Exemplo n.º 5
0
        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);
        }