Example #1
0
        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);
        }
Example #2
0
        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)));
        }