Ejemplo n.º 1
0
        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.");
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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.");
        }
Ejemplo n.º 4
0
        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);
        }