public void ShouldNotEditUserIfEmailNotValid() { var existingUser = SetupUsers(1).Single(); var updateModel = new EditUserModel { Email = "not-a-valid-email", UserId = existingUser.Id }; var validator = new EditUserModelValidator(); var validationResults = validator.Validate(updateModel); validationResults.IsValid.ShouldBe(false); validationResults.Errors.Select(x => x.ErrorMessage).ShouldContain("'Email' is not a valid email address."); }
public void ShouldNotEditUserIfRequiredFieldsEmpty() { var existingUser = SetupUsers(1).Single(); var updateModel = new EditUserModel { UserId = existingUser.Id }; var validator = new EditUserModelValidator(); var validationResults = validator.Validate(updateModel); validationResults.IsValid.ShouldBe(false); validationResults.Errors.Select(x => x.ErrorMessage).ShouldBe(new List <string> { "'Email' must not be empty." }, false); }
public void ShouldNotEditUserIfEmailNotUnique() { ResetUsers(); var existingUsers = SetupUsers(2).ToList(); var userToBeEdited = existingUsers[0]; var existingUser = existingUsers[1]; var updateModel = new EditUserModel { Email = existingUser.Email, UserId = userToBeEdited.Id }; var validator = new EditUserModelValidator(); var validationResults = validator.Validate(updateModel); validationResults.IsValid.ShouldBe(false); validationResults.Errors.Select(x => x.ErrorMessage).ShouldContain("A user with this email address already exists in the database."); }
public ResponseModel EditUserFromModel(EditUserModel model) { ResponseModel resp = new ResponseModel(); try { // validate user ValidationResult validateUser = new EditUserModelValidator().Validate(model); if (validateUser.IsValid) { User user = _userRepository.GetById(Guid.Parse(model.UsuarioId)); if (user != null) { if (model.Locations != null && model.Locations.Count > 0) { ResponseModel validLocations = _locationService.ValidateAddLocations(model.Locations); if (!validLocations.Success) { return(validLocations); } } if (model.PhoneNumbers != null && model.PhoneNumbers.Count > 0) { ResponseModel validPhoneNumbers = _phoneNumberService.ValidateAddPhoneNumbers(model.PhoneNumbers); if (!validPhoneNumbers.Success) { return(validPhoneNumbers); } } if (model.Imagem != null) { ResponseModel resultImg = DownloadImage(model.Imagem, user.UserId.ToString()).Result; if (resultImg.Success) { user.Image = resultImg.Result.ToString(); } } user.Name = model.Name; user.Locations = _locationService.CreateLocationsFromModel(model.Locations, user.UserId); user.PhoneNumbers = _phoneNumberService.CreatePhoneNumbersFromModel(model.PhoneNumbers, user.UserId); user.LastUpdatedAt = Domain.Utils.DateTimeUtil.UtcToBrasilia(); resp.Success = true; resp.Message = "Usuário adicionado com sucesso!"; resp.Result = user; } else { resp.Message = "Usuário não encontrado"; } } else { resp.Message = validateUser.Errors.FirstOrDefault().ErrorMessage; } return(resp); } catch (Exception e) { resp.Message = "Não foi possível editar o usuário"; } return(resp); }