示例#1
0
        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());
        }
示例#2
0
        // 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());
        }
示例#3
0
        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);
        }