public void Arrange() { _command = new RequestChangeEmailCommand { UserId = UserId, NewEmailAddress = NewEmailAddress, ConfirmEmailAddress = NewEmailAddress, ReturnUrl = ReturnUrl }; _validator = new Mock <IValidator <RequestChangeEmailCommand> >(); _validator.Setup(v => v.ValidateAsync(_command)) .ReturnsAsync(new ValidationResult()); _userRepository = new Mock <IUserRepository>(); _userRepository.Setup(r => r.GetById(UserId)) .Returns(Task.FromResult(new User { Id = UserId, Email = OldEmailAddress })); _codeGenerator = new Mock <ICodeGenerator>(); _codeGenerator.Setup(g => g.GenerateAlphaNumeric(6)) .Returns(ConfirmEmailCode); _communicationService = new Mock <ICommunicationService>(); _auditService = new Mock <IAuditService>(); _handler = new RequestChangeEmailCommandHandler(_validator.Object, _userRepository.Object, _codeGenerator.Object, _communicationService.Object, _auditService.Object); }
public void Arrange() { _command = new RequestChangeEmailCommand { UserId = "USER1", NewEmailAddress = "*****@*****.**", ConfirmEmailAddress = "*****@*****.**" }; _userRepository = new Mock <IUserRepository>(); _userRepository.Setup(x => x.GetByEmailAddress(It.IsAny <string>())).ReturnsAsync((User)null); _validator = new RequestChangeEmailCommandValidator(_userRepository.Object); }
public async Task <IActionResult> RequestChangeEmailForTheCurrentUser([FromBody] RequestChangeEmailCommand request) { if (request != null) { var currentUser = await this.currentUserProvider.GetCurrentUserAsync(); request.UserId = currentUser.Id; request.ConfigureCallbackOptions("confirm-change-email", true); } else { return(this.BadRequest()); } return(this.Ok(await this.Mediator.Send(request))); }
public async Task <IActionResult> ChangeEmailRequest(AdminChangeEmailViewModel model) { try { var currentUser = await this.CurrentUserProvider.GetCurrentUserAsync(); var request = new RequestChangeEmailCommand() { UserId = currentUser.Id, NewEmail = model.NewEmail, }; request.ConfigureCallbackOptions("admin/manage/change-email", false); var requestResult = await this.Mediator.Send(request); if (requestResult.Succeeded) { this.ShowSuccessNotification("Email request has been sent successfully. Check your email for confirmation."); return(this.View()); } else { this.ShowErrorNotification("Email request has not been sent successfully."); return(this.View(model)); } } catch (ValidationException ex) { this.ModelState.ApplyValidationException(ex, true); } catch (Exception) { this.ModelState.AddModelError(string.Empty, "Change email request operation has failed."); } return(this.View(model)); }