public void GetNextAvailableVacancyShouldReturnTheNextVacancyIfThereIsAnyAvailable() { const int vacancyReferenceNumber = 1; var vacancyPostingService = new Mock <IVacancyPostingService>(); var vacancyLockingService = new Mock <IVacancyLockingService>(); var providerService = new Mock <IProviderService>(); var vacancySummary = new VacancySummary { VacancyReferenceNumber = vacancyReferenceNumber }; int total; vacancyPostingService.Setup( avr => avr.GetWithStatus(It.IsAny <VacancySummaryByStatusQuery>(), out total)) .Returns(new List <VacancySummary>()); vacancyLockingService.Setup( vls => vls.GetNextAvailableVacancy(It.IsAny <string>(), It.IsAny <List <VacancySummary> >())) .Returns(vacancySummary); providerService.Setup(ps => ps.GetProvider(It.IsAny <int>())).Returns(new Provider()); var vacancyProvider = new VacancyProviderBuilder() .With(vacancyPostingService) .With(vacancyLockingService) .With(providerService) .Build(); var result = vacancyProvider.GetNextAvailableVacancy(); result.VacancyReferenceNumber.Should().Be(vacancyReferenceNumber); }
public void GetNextAvailableVacancyShouldReturnNullIfThereIsntAnyMoreVacancies() { var vacancyPostingService = new Mock <IVacancyPostingService>(); var vacancyLockingService = new Mock <IVacancyLockingService>(); var providerService = new Mock <IProviderService>(); VacancySummary vacancySummary = null; int total; vacancyPostingService.Setup( avr => avr.GetWithStatus(It.IsAny <VacancySummaryByStatusQuery>(), out total)) .Returns(new List <VacancySummary>()); vacancyLockingService.Setup( vls => vls.GetNextAvailableVacancy(It.IsAny <string>(), It.IsAny <List <VacancySummary> >())) .Returns(vacancySummary); providerService.Setup(ps => ps.GetProvider(It.IsAny <int>())).Returns(new Provider()); var vacancyProvider = new VacancyProviderBuilder() .With(vacancyPostingService) .With(vacancyLockingService) .With(providerService) .Build(); var result = vacancyProvider.GetNextAvailableVacancy(); result.Should().BeNull(); }