public void ProcessPersona_ValidInputMasculinePersona_Returns0Values() { //Arrange var personaValidator = Substitute.For <IValidator>(); var personaFormatter = Substitute.For <IPersonaFormatter>(); var personasProcessor = new PersonasProcessor(personaValidator, personaFormatter); var persona = new Persona { Nombre = "Rosa", Apellido = "Benitez", Sexo = Sexo.M, Edad = 20 }; var personaRequest = new PersonaRequest { Personas = new List <Persona> { persona } }; var validationResult = new PersonasResult(); personaValidator.ValidateInputList(personaRequest).Returns(validationResult); //Act ProcessResult result = personasProcessor.Process(personaRequest); //Assert Assert.IsTrue(result.Success); Assert.AreEqual(0, result.PersonasMujeresMayoresDe18.Count()); }
public void ProcessPersona_NotValidInput_ReturnsErrorStatus() { //Arrange var personaValidator = Substitute.For <IValidator>(); var personaFormatter = Substitute.For <IPersonaFormatter>(); var personaProcessor = new PersonasProcessor(personaValidator, personaFormatter); var personaRequest = new PersonaRequest { Personas = null }; var personasResult = new PersonasResult { ErrorMessages = new List <string> { "Ingresar al menos 1 persona." } }; personaValidator.ValidateInputList(personaRequest).Returns(personasResult); //Act ProcessResult result = personaProcessor.Process(personaRequest); //Assert Assert.IsFalse(result.Success); Assert.AreEqual("El proceso no puede ser completado. Error: Ingresar al menos 1 persona.", result.ErrorMessage); }
public HttpResponseMessage Put([FromBody] IEnumerable <Persona> personas) { var validationProcess = new Validator(); var personaFormatter = new PersonaFormatter(); var personaProcessor = new PersonasProcessor(validationProcess, personaFormatter); var request = new PersonaRequest { Personas = (List <Persona>)personas }; var result = personaProcessor.Process(request); if (result.Success) { return(Request.CreateResponse(HttpStatusCode.OK, result.PersonasMujeresMayoresDe18)); } else { var error = new HttpError(result.ErrorMessage); return(Request.CreateResponse(HttpStatusCode.BadRequest, error)); } }
public void ProcessPersona_NullNameNullApellido_ReturnsErrors() { //Arrange var personaValidator = Substitute.For <IValidator>(); var personaFormatter = Substitute.For <IPersonaFormatter>(); var personaProcessor = new PersonasProcessor(personaValidator, personaFormatter); var personaRequest = new PersonaRequest { Personas = new List <Persona> { new Persona { Edad = 19, Sexo = Sexo.F } } }; var personasResult = new PersonasResult { ErrorMessages = new List <string> { "El nombre es requerido.", "El apellido es requerido." } }; personaValidator.ValidateInputList(personaRequest).Returns(personasResult); //Act ProcessResult result = personaProcessor.Process(personaRequest); //Assert Assert.IsFalse(result.Success); Assert.AreEqual("El proceso no puede ser completado. " + "Error: El nombre es requerido.\nEl apellido es requerido.", result.ErrorMessage); }