public void ShouldGetVacancyApplicationState(int applicationCount, VacancyApplicationsState expectedState) { // Arrange. const int vacancyId = 1; const int vacancyReferenceNumber = 2; var closingDate = DateTime.Today.AddDays(20); var possibleStartDate = DateTime.Today.AddDays(30); var viewModel = new FurtherVacancyDetailsViewModel { Wage = new WageViewModel(), VacancyDatesViewModel = new VacancyDatesViewModel { ClosingDate = new DateViewModel(closingDate), PossibleStartDate = new DateViewModel(possibleStartDate) }, VacancyReferenceNumber = vacancyReferenceNumber }; var vacancy = new Vacancy { VacancyId = vacancyId, VacancyReferenceNumber = vacancyReferenceNumber, Wage = new Wage(WageType.NationalMinimum, null, null, null, null, WageUnit.Weekly, 30, null) }; MockVacancyPostingService.Setup(mock => mock .GetVacancyByReferenceNumber(vacancyReferenceNumber)) .Returns(vacancy); MockMapper.Setup(m => m.Map <Vacancy, FurtherVacancyDetailsViewModel>(vacancy)) .Returns(viewModel); MockApprenticeshipApplicationService.Setup(mock => mock. GetApplicationCount(vacancyId)) .Returns(applicationCount); var provider = GetVacancyPostingProvider(); // Act. var result = provider.GetVacancySummaryViewModel(vacancyReferenceNumber); // Assert. result.VacancyApplicationsState.Should().Be(expectedState); }
public void ShouldUpdateTheVacancyIfWeAcceptTheWarningsAndTheyAreEqualFromThePreviousOnes(VacancyApplicationsState state, string expectedCode) { const int vacancyReferenceNumber = 1; const int oldWarningHash = 128335101; var closingDate = new DateViewModel(DateTime.Now.AddDays(20)); var possibleStartDate = new DateViewModel(DateTime.Now.AddDays(21)); var viewModel = new VacancyViewModelBuilder().With(new VacancyDatesViewModel { ClosingDate = closingDate, PossibleStartDate = possibleStartDate }).BuildValid(VacancyStatus.Live, VacancyType.Apprenticeship).FurtherVacancyDetailsViewModel; viewModel.VacancyReferenceNumber = vacancyReferenceNumber; viewModel.WarningsHash = oldWarningHash; viewModel.VacancyApplicationsState = state; var mediator = GetMediator(); VacancyPostingProvider.Setup(p => p.UpdateVacancyDates(It.IsAny <FurtherVacancyDetailsViewModel>())).Returns(viewModel); var result = mediator.UpdateVacancyDates(viewModel, true); result.Code.Should().Be(expectedCode); VacancyPostingProvider.Verify( p => p.UpdateVacancyDates( It.Is <FurtherVacancyDetailsViewModel>( v => v.VacancyReferenceNumber == vacancyReferenceNumber && v.VacancyDatesViewModel.ClosingDate == closingDate && v.VacancyDatesViewModel.PossibleStartDate == possibleStartDate))); }