public async Task <IActionResult> SendEmailConfirmTokenAgain([FromBody] SendEmailConfirmTokenAgainModel body) { body.Email = body.Email.ToLower(); var user = await _userService.GetUserByEmailAsync(body.Email); if (user == null) { _logger.LogWarning($"Invalid send confirmation email attempt. User {body.Email} doesn't exist."); return(Ok()); } if (user.EmailConfirmed) { return(ErrorResponse($"Emailová adresa je už potvrdená.")); } string token = await _userService.GenerateEmailConfirmationTokenAsync(user); string callbackUrl = new Uri(_baseUrl, $@"confirmEmail/{user.Id}/{token}").ToString(); if (!_emailService.SendConfirmationEmail(body.Email, callbackUrl, "RegistrationEmail")) { _logger.LogError($"Error when sending confirmation email to user {body.Email}."); return(BadRequest()); } _logger.LogInformation($"Confirmation email to user {user.Email} sent."); return(Ok()); }
public async Task SendEmailConfirmTokenAgain_EmailSuccess_Ok() { UserController controller = new UserController(_loggerMock.Object, MockUserService(true, true, true), MockEmailService(true), _envSettingsMock.Object); SendEmailConfirmTokenAgainModel sendEmailConfirmTokenModel = CreateSendEmailConfirmTokenAgain(); var result = await controller.SendEmailConfirmTokenAgain(sendEmailConfirmTokenModel); Assert.IsType <OkResult>(result); }
public async Task SendEmailConfirmTokenAgain_UserNotExists_BadRequestObjectResult() { UserController controller = new UserController(_loggerMock.Object, MockUserService(true, true, false), MockEmailService(true), _envSettingsMock.Object); SendEmailConfirmTokenAgainModel sendEmailConfirmTokenModel = CreateSendEmailConfirmTokenAgain(); var result = await controller.SendEmailConfirmTokenAgain(sendEmailConfirmTokenModel); // expect Ok result anyway, it's not revealed if user exists Assert.IsType <OkResult>(result); }