public void ValidationFailsTest() { // Arrange. var mediator = GetMediator(); var user = new ProviderUserViewModel { EmailAddress = "" }; // Act. var response = mediator.UpdateUser("userName", "00001", user); // Assert. response.Should().NotBeNull(); response.ValidationResult.IsValid.Should().BeFalse(); response.Code.Should().Be(ProviderUserMediatorCodes.UpdateUser.FailedValidation); }
public void ShouldPassValidation(string fullName, string email, string phoneNumber) { // Arrange. var viewModel = new ProviderUserViewModel { Fullname = fullName, EmailAddress = email, PhoneNumber = phoneNumber }; // Act. var validator = new ProviderUserViewModelValidator(); // Assert. validator.ShouldNotHaveValidationErrorFor(m => m.Fullname, viewModel); validator.ShouldNotHaveValidationErrorFor(m => m.EmailAddress, viewModel); validator.ShouldNotHaveValidationErrorFor(m => m.PhoneNumber, viewModel); }
public ActionResult VerifyProviderUserEmail(ProviderUserViewModel viewModel) { var response = _adminMediator.VerifyProviderUserEmail(viewModel); ModelState.Clear(); SetUserMessage(response.Message); switch (response.Code) { case AdminMediatorCodes.VerifyProviderUserEmail.Error: return(RedirectToRoute(RecruitmentRouteNames.AdminViewProviderUser, new { viewModel.ProviderUserId })); case AdminMediatorCodes.VerifyProviderUserEmail.Ok: return(RedirectToRoute(RecruitmentRouteNames.AdminViewProviderUser, new { viewModel.ProviderUserId })); default: throw new InvalidMediatorCodeException(response.Code); } }
public ProviderUserViewModel SaveProviderUser( string username, string ukprn, ProviderUserViewModel providerUserViewModel) { var providerUser = _userProfileService.GetProviderUser(username); var isNewProviderUser = providerUser == null; if (isNewProviderUser) { var provider = _providerService.GetProvider(ukprn); providerUser = new ProviderUser { ProviderId = provider.ProviderId, ProviderUserGuid = Guid.NewGuid(), Status = ProviderUserStatus.Registered }; } var shouldSendEmailVerificationCode = isNewProviderUser || !string.Equals(providerUser.Email, providerUserViewModel.EmailAddress, StringComparison.CurrentCultureIgnoreCase); providerUser.Username = username; providerUser.Status = providerUser.Status; providerUser.Fullname = providerUserViewModel.Fullname; providerUser.Email = providerUserViewModel.EmailAddress; providerUser.PhoneNumber = providerUserViewModel.PhoneNumber; providerUser.PreferredProviderSiteId = providerUserViewModel.DefaultProviderSiteId; var savedProviderUser = isNewProviderUser ? _userProfileService.CreateProviderUser(providerUser) : _userProfileService.UpdateProviderUser(providerUser); if (shouldSendEmailVerificationCode) { _providerUserAccountService.SendEmailVerificationCode(username); } return(Convert(savedProviderUser)); }
public ActionResult SaveProviderUser(ProviderUserViewModel viewModel) { var response = _adminMediator.SaveProviderUser(viewModel); ModelState.Clear(); SetUserMessage(response.Message); switch (response.Code) { case AdminMediatorCodes.SaveProviderUser.FailedValidation: response.ValidationResult.AddToModelState(ModelState, "SearchViewModel"); return(View("ProviderUser", response.ViewModel)); case AdminMediatorCodes.SaveProviderUser.Error: return(RedirectToRoute(RecruitmentRouteNames.AdminViewProviderUser, new { viewModel.ProviderUserId })); case AdminMediatorCodes.SaveProviderUser.Ok: return(RedirectToRoute(RecruitmentRouteNames.AdminViewProviderUser, new { viewModel.ProviderUserId })); default: throw new InvalidMediatorCodeException(response.Code); } }
public MediatorResponse <SettingsViewModel> UpdateUser(string username, string ukprn, ProviderUserViewModel providerUserViewModel) { var result = _providerUserViewModelValidator.Validate(providerUserViewModel); var providerSites = GetProviderSites(ukprn); var viewModel = new SettingsViewModel { ProviderUserViewModel = providerUserViewModel, ProviderSites = providerSites }; if (!result.IsValid) { return(GetMediatorResponse(ProviderUserMediatorCodes.UpdateUser.FailedValidation, viewModel, result)); } var existingUser = _providerUserProvider.GetUserProfileViewModel(username); viewModel.ProviderUserViewModel = _providerUserProvider.SaveProviderUser(username, ukprn, providerUserViewModel); if (existingUser != null) { if (!string.Equals(existingUser.EmailAddress, viewModel.ProviderUserViewModel.EmailAddress, StringComparison.CurrentCultureIgnoreCase)) { return(GetMediatorResponse(ProviderUserMediatorCodes.UpdateUser.EmailUpdated, viewModel, ProviderUserViewModelMessages.EmailUpdated, UserMessageLevel.Success)); } return(GetMediatorResponse(ProviderUserMediatorCodes.UpdateUser.AccountUpdated, viewModel, ProviderUserViewModelMessages.AccountUpdated, UserMessageLevel.Success)); } return(GetMediatorResponse(ProviderUserMediatorCodes.UpdateUser.Ok, viewModel, ProviderUserViewModelMessages.AccountCreated, UserMessageLevel.Success)); }