public async Task <ActionResult> ForgotPassword(ForgotPassword.Command command)
        {
            command.Origin = Request.Headers["origin"];
            await Mediator.Send(command);

            return(Ok($"Password reset link sent to {command.Email} - please check your email."));
        }
Esempio n. 2
0
        public async Task <ActionResult> ForgotPassword(ForgotPassword.Command command)
        {
            command.Origin = Request.Headers["origin"];
            await Mediator.Send(command);

            return(Ok("Password reset link has been sent if the account exists - please check your email"));
        }
Esempio n. 3
0
        public void Should_Map()
        {
            // Arrange
            var dto = new ForgotPasswordDto
            {
                UsernameOrEmail = "Username",
                ClientUri       = "http://localhost:4200/auth/resetpassword?token="
            };

            // Act
            ForgotPassword.Command command = _mapper.Map <ForgotPassword.Command>(dto);

            // Assert
            command.Should().BeEquivalentTo(dto);
        }
Esempio n. 4
0
        public async Task Should_Handle_Forgot_Password()
        {
            // Arrange
            User user    = Arpa.Tests.Shared.FakeData.FakeUsers.Performer;
            var  command = new ForgotPassword.Command
            {
                UsernameOrEmail = user.UserName,
                ClientUri       = "http://localhost:4200"
            };

            // Act
            Unit result = await _handler.Handle(command, new CancellationToken());

            // Assert
            result.Should().BeEquivalentTo(Unit.Value);
        }
        public async Task ForgotPassword_Should_save_new_token_and_send_email()
        {
            // arrange
            var user = UserBuilder.Create().WithRole(UserRole.Customer).WithEmail(HealthyJuicesConstants.DEFAULT_USER_LOGIN).WithPassword(HealthyJuicesConstants.DEFAULT_USER_PASSWORD).Build(ArrangeRepositoryContext);

            var controller = new AuthorizationController(Mediator);
            var dto        = new ForgotPassword.Command(HealthyJuicesConstants.DEFAULT_USER_LOGIN);

            // act
            await controller.ForgotPasswordAsync(dto);

            // assert
            var subject = AssertRepositoryContext.Users.FirstOrDefault();

            subject.Should().NotBeNull();
            subject.PermissionsToken.Token.Should().NotBeNullOrEmpty();
            subject.PermissionsToken.Expiration.Should().BeAfter(DateTime.Now);
            subject.PermissionsToken.Expiration.Should().BeBefore(DateTime.Now.AddDays(2));

            MailerMock.Verify(mock => mock.SendAsync(It.Is <string>(x => x == HealthyJuicesConstants.DEFAULT_USER_LOGIN), It.IsAny <string>(), It.Is <string>(x => x.Contains(subject.PermissionsToken.Token)), false), Times.Once);
            MailerMock.VerifyNoOtherCalls();
        }
Esempio n. 6
0
 public async Task <ActionResult <Unit> > ForgotPassword(ForgotPassword.Command command)
 {
     return(await Mediator.Send(command));
 }
Esempio n. 7
0
 public async Task ForgotPasswordAsync(ForgotPasswordDto forgotPassswordDto)
 {
     ForgotPassword.Command command = _mapper.Map <ForgotPassword.Command>(forgotPassswordDto);
     await _mediator.Send(command);
 }
 public async Task ForgotPasswordAsync([FromBody] ForgotPassword.Command command)
 {
     var response = await _mediator.Send(command);
 }