public void Returns_all_consultants_when_no_filter_has_been_set() { //Arrange var consultants = GetSomeConsultants(); var controller = GetConsultantsController(consultants); //Act var search = new SearchConsultantModel { }; var result = controller.GetConsultants(search); //Assert Assert.True(result.Count() == consultants.Count()); }
// GET: api/Consultants public IEnumerable <ConsultantModel> GetConsultants([FromUri] SearchConsultantModel search) { IQueryable <Consultant> consultant = db.Consultants; //TODO 1.1 something must be wrong here ! if (!string.IsNullOrEmpty(search.Name)) { consultant.Where(c => c.Name.ToLower().Contains(search.Name.ToLower())); } if (!string.IsNullOrEmpty(search.FirstName)) { consultant.Where(c => c.FirstName.ToLower().Contains(search.FirstName.ToLower())); } //TODO 1.2 team criteria should be implemented here return(consultant.Select(Map.ToModel).ToList()); }
public void Returns_consultants_matching_provided_name() { //Arrange var consultants = GetSomeConsultants(); var controller = GetConsultantsController(consultants); //Act var search = new SearchConsultantModel { Name = "foo" }; var result = controller.GetConsultants(search); //Assert Assert.Contains(result, c => c.Id == 1); Assert.Contains(result, c => c.Id == 2); Assert.DoesNotContain(result, c => c.Id == 3); Assert.DoesNotContain(result, c => c.Id == 4); }