public void UpdatesLiveStatusToClosed()
        {
            //Arrange
            var message     = new VacancyEligibleForClosure(42);
            var liveVacancy = new Fixture().Build <Vacancy>()
                              .With(x => x.Status, VacancyStatus.Live)
                              .With(x => x.VacancyId, message.VacancyId)
                              .Create();

            _apprenticeshipVacancyReadRepository.Setup(m => m.Get(message.VacancyId)).Returns(liveVacancy);

            //Act
            _processor.ProcessVacancyClosure(message);

            //Assert
            _apprenticeshipVacancyReadRepository.Verify(m => m.Get(message.VacancyId), Times.Once);
            _apprenticeshipVacancyWriteRepository.Verify(m => m.Update(It.Is <Vacancy>(av => av.VacancyId == message.VacancyId)), Times.Once);
            _apprenticeshipVacancyWriteRepository.Verify(m => m.Update(It.Is <Vacancy>(av => av.Status == VacancyStatus.Closed)), Times.Once);
            _apprenticeshipVacancyWriteRepository.Verify(m => m.Update(It.IsAny <Vacancy>()), Times.Once);
        }
        public ServiceBusMessageStates Consume(VacancyEligibleForClosure message)
        {
            _vacancyStatusProcessor.ProcessVacancyClosure(message);

            return(ServiceBusMessageStates.Complete);
        }