public void Given_a_consultant_all_checklists_that_are_visited_by_consultant_are_returned()
        {
            //given
            var consultantToFind = "Mr H&S";
            var expectedIdOfFoundChecklist = Guid.NewGuid();
            var checklists = new List<Checklist>
                                 {
                                     new Checklist() {ClientId = 14145135, QaAdvisor = new QaAdvisor{Id = Guid.NewGuid(), Forename = "Test", Surname = "Test"}}
                                     , new Checklist() {Id= expectedIdOfFoundChecklist, ClientId = 14145135, VisitBy = consultantToFind, ChecklistCreatedBy = consultantToFind, QaAdvisor = new QaAdvisor{Id = Guid.NewGuid(), Forename = "Test", Surname = "Test"}}
                                     , new Checklist() {ClientId = 23452435, QaAdvisor = new QaAdvisor{Id = Guid.NewGuid(), Forename = "Test", Surname = "Test"}}
                                 };

           
            _queryableWrapper.Setup(x => x.Queryable())
                .Returns(() => checklists.AsQueryable());


            var target = new GetChecklistsQuery(_queryableWrapper.Object);

            //when
            var result = target.WithConsultantName(consultantToFind)
                .Execute();

            //then
            Assert.That(result.Count, Is.EqualTo(1));
            Assert.That(result.First().Id, Is.EqualTo(expectedIdOfFoundChecklist));
        }
        public void Given_a_visit_date_and_consultant_only_checklists_that_are_visited_by_consultant_at_date_entered_are_returned()
        {
            //given
            var visitDate = DateTime.Now;
            var expectedIdOfFoundChecklist = Guid.NewGuid();
            var consultant = "Mr H&S";
            var checklists = new List<Checklist>
                                 {
                                       new Checklist() {ClientId = 14145135, QaAdvisor = new QaAdvisor{Id = Guid.NewGuid(), Forename = "Test", Surname = "Test"}}
                                     , new Checklist() {Id = Guid.NewGuid(), ClientId = 14145135, VisitBy = consultant, VisitDate = visitDate.AddDays(1), ChecklistCreatedBy = consultant, QaAdvisor = new QaAdvisor{Id = Guid.NewGuid(), Forename = "Test", Surname = "Test"}}
                                     , new Checklist() {ClientId = 23452435, VisitDate = visitDate, VisitBy = "consultant", QaAdvisor = new QaAdvisor{Id = Guid.NewGuid(), Forename = "Test", Surname = "Test"}}
                                     , new Checklist() {Id = expectedIdOfFoundChecklist, ClientId = 23452435, VisitDate = visitDate, VisitBy = consultant, ChecklistCreatedBy = consultant, QaAdvisor = new QaAdvisor{Id = Guid.NewGuid(), Forename = "Test", Surname = "Test"}}
                                 };

            _queryableWrapper.Setup(x => x.Queryable())
                .Returns(() => checklists.AsQueryable());

            var target = new GetChecklistsQuery(_queryableWrapper.Object);
            
            //when
            var result = target
                .WithConsultantName(consultant)
                .WithVisitDate(visitDate)
                .Execute();

            //then
            
            Assert.That(result.Count, Is.EqualTo(1));
            Assert.That(result.First().VisitDate, Is.EqualTo(visitDate));
            Assert.That(result.First().Id, Is.EqualTo(expectedIdOfFoundChecklist));
        }