public async Task <IActionResult> Post([FromBody] PersonaViewModelNueva personaViewModel) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (personaViewModel == null) { return(BadRequest()); } DtoPersona personaGuardada = await PersonaDominio.InsertarPersonaAsync(Mapper.Map <Entidades.Persona>(personaViewModel)); return(CreatedAtRoute("PersonaById", new { id = personaGuardada.Id }, personaGuardada)); } catch (DatosInvalidosException ex) { return(BadRequest(Errores.GetModelStateErrores(ex.Data))); } catch { return(StatusCode(500)); } }
public void PersonaViewModelNueva_Validar_Datos() { // Inicializacion List <ValidationResult> validaciones = new List <ValidationResult>(); PersonaViewModelNueva personaVM = new PersonaViewModelNueva(); ValidationContext validacionContexto = new ValidationContext(personaVM, null, null); // Acto bool valido = Validator.TryValidateObject(personaVM, validacionContexto, validaciones, true); // Acierto Assert.False(valido); Assert.Contains(validaciones, p => p.ErrorMessage.Contains("Debe ingresar NumeroDocumento")); Assert.Contains(validaciones, p => p.ErrorMessage.Contains("Debe ingresar Nombre")); Assert.Contains(validaciones, p => p.ErrorMessage.Contains("Debe ingresar Apellido")); Assert.Contains(validaciones, p => p.ErrorMessage.Contains("Debe ingresar al menos un contacto")); Assert.Equal(4, validaciones.Count); }
public void PersonaViewModelNueva_Validar_Documento(string numeroDocumento) { // Inicializacion List <ValidationResult> validaciones = new List <ValidationResult>(); PersonaViewModelNueva personaVM = new PersonaViewModelNueva(); personaVM.Apellido = "Fernandez"; personaVM.Nombre = "Sebastian"; personaVM.Contactos = new List <string>() { "contacto" }; personaVM.FechaNacimiento = DateTime.Now.AddYears(-20); personaVM.NumeroDocumento = numeroDocumento; ValidationContext validacionContexto = new ValidationContext(personaVM, null, null); // Acto bool valido = Validator.TryValidateObject(personaVM, validacionContexto, validaciones, true); // Acierto Assert.False(valido); Assert.Single(validaciones); }