Exemplo n.º 1
0
        public async Task <IActionResult> SendResetPasswordByAdmin(SendResetPasswordByAdminRequest request)
        {
            var response = await mediator.Send(request);

            Log.Information(
                $"User #{HttpContext.GetCurrentUserId()} sent reset password link to user: {request.Login}");

            return(this.CreateResponse(response));
        }
        public void SetUp()
        {
            var generateResetPasswordTokenResult = new GenerateResetPasswordTokenResult
            {
                Email    = Test,
                Token    = Test,
                Username = Test
            };
            var emailTemplate = new EmailTemplate
            {
                TemplateName      = Test,
                Subject           = Test,
                Content           = Test,
                AllowedParameters = new[] { "{{username}}", "{{callbackUrl}}" }
            };

            request = new SendResetPasswordByAdminRequest {
                Login = Test
            };

            userTokenGenerator     = new Mock <IUserTokenGenerator>();
            cryptoService          = new Mock <ICryptoService>();
            emailSender            = new Mock <IEmailSender>();
            emailTemplateGenerator = new Mock <IEmailTemplateGenerator>();
            configuration          = new Mock <IConfiguration>();

            userTokenGenerator.Setup(c => c.GenerateResetPasswordToken(It.IsAny <string>()))
            .ReturnsAsync(generateResetPasswordTokenResult);
            cryptoService.Setup(c => c.Encrypt(It.IsAny <string>()))
            .Returns(Test);
            configuration.Setup(c => c.GetSection(It.IsAny <string>()))
            .Returns(new Mock <IConfigurationSection>().Object);
            emailTemplateGenerator.Setup(etg => etg.FindEmailTemplate(It.IsAny <string>()))
            .ReturnsAsync(emailTemplate);
            emailSender.Setup(es => es.Send(It.IsAny <EmailMessage>()))
            .ReturnsAsync(true);

            sendResetPasswordByAdminCommand = new SendResetPasswordByAdminCommand(userTokenGenerator.Object,
                                                                                  cryptoService.Object, emailSender.Object, emailTemplateGenerator.Object, configuration.Object);
        }