public void Given_consultant_exists_when_Delete_then_consultant_deleted()
        {
            Consultant savedConsultant = null;

            // Given
            var consultant = new Consultant() { Id = Guid.NewGuid() };
            var model = new ConsultantViewModel() { Id = consultant.Id, Forename = "Stansa", Surname = "Stark", Blacklisted= true, Email="*****@*****.**", QaAdvisorAssigned = Guid.NewGuid()};
            var target = new ConsultantController(_dependencyFactory.Object);

            _consultantRepository.Setup(x => x.GetById(consultant.Id))
                .Returns(() => consultant);

            _consultantRepository.Setup(x => x.SaveOrUpdate(It.IsAny<Consultant>()))
                .Callback<Consultant>(x => savedConsultant = x);

            // When
            target.Delete(consultant.Id);

            // Then
            Assert.That(savedConsultant.Id, Is.EqualTo(model.Id));
            Assert.That(savedConsultant.Deleted, Is.EqualTo(true));
        }
        public void Given_consultants_when_Get_then_returns_the_correct_view_model()
        {
            // Given
            var consultant = new Consultant() { Id = Guid.NewGuid(), Forename = "Ayra", Surname = "Stark", Deleted = false,
                Email = "*****@*****.**", PercentageOfChecklistsToSendToQualityControl = 100, QaAdvisorAssigned = Guid.NewGuid() };
            _consultantRepository
                .Setup(x => x.GetAll())
                .Returns(() => new List<Consultant>() { consultant });

            var target = new ConsultantController(_dependencyFactory.Object);

            // When
            var result = target.Get();

            // Then
            Assert.That(result[0].Id, Is.EqualTo(consultant.Id));
            Assert.That(result[0].Forename, Is.EqualTo(consultant.Forename));
            Assert.That(result[0].Surname, Is.EqualTo(consultant.Surname));
            Assert.That(result[0].Fullname , Is.EqualTo(consultant.FullName));
            Assert.That(result[0].Email , Is.EqualTo(consultant.Email));
            Assert.That(result[0].QaAdvisorAssigned, Is.EqualTo(consultant.QaAdvisorAssigned));
            Assert.That(result[0].Blacklisted, Is.True);
        }
 public ConsultantController GetTarget()
 {
     var target = new ConsultantController(_dependencyFactory.Object);
     target.Request = new HttpRequestMessage();
     return target;
 }