public void ShouldPatchTrainingCourseChanges()
        {
            var candidateId = Guid.NewGuid();
            var traineeshipApplicationProvider = new ApprenticeshipApplicationProviderBuilder().Build();
            var savedTraineeshipViewModel      = new ApprenticeshipApplicationViewModelBuilder().Build();

            var trainingCourses = new[]
            {
                new TrainingCourseViewModelBuilder()
                .WithProvider("Provider")
                .Build()
            };

            var traineeshipViewModel = new ApprenticeshipApplicationViewModelBuilder()
                                       .WithTrainingCourses(trainingCourses)
                                       .Build();

            var viewModel = traineeshipApplicationProvider
                            .PatchApplicationViewModel(candidateId, savedTraineeshipViewModel, traineeshipViewModel);

            viewModel.Should().NotBeNull();
            viewModel.ViewModelMessage.Should().BeNull();
            viewModel.HasError().Should().BeFalse();
            viewModel.Candidate.HasTrainingCourses.Should().BeTrue();
            viewModel.Candidate.TrainingCourses.Should().Equal(trainingCourses);
        }
Пример #2
0
        public void GivenValidViewModel_ThenSaveIsCalled()
        {
            var candidateId      = Guid.NewGuid();
            var candidateService = new Mock <ICandidateService>();
            var viewModel        = new ApprenticeshipApplicationViewModelBuilder().Build();

            new ApprenticeshipApplicationProviderBuilder().With(candidateService).Build().SaveApplication(candidateId, ValidVacancyId, viewModel);

            candidateService.Verify(cs => cs.SaveApplication(candidateId, ValidVacancyId, It.IsAny <ApprenticeshipApplicationDetail>()), Times.Once);
        }
Пример #3
0
        public void GivenCandidateDoesNotRequireSupportForInterview_ThenSupportMessageIsBlanked()
        {
            var savedModel     = new ApprenticeshipApplicationViewModelBuilder().Build();
            var submittedModel = new ApprenticeshipApplicationViewModelBuilder()
                                 .DoesNotRequireSupportForInterview()
                                 .CanBeSupportedAtInterviewBy("Should be blanked")
                                 .Build();

            var patchedViewModel = new ApprenticeshipApplicationProviderBuilder().Build().PatchApplicationViewModel(Guid.NewGuid(), savedModel, submittedModel);

            patchedViewModel.Candidate.AboutYou.AnythingWeCanDoToSupportYourInterview.Should().BeNullOrEmpty();
        }
        public void GivenRequiresSupportForInterview_ThenSupportMessageIsRetained()
        {
            var          savedModel = new ApprenticeshipApplicationViewModelBuilder().Build();
            const string anythingWeCanDoToSupportYourInterview = "Should be retained";
            var          submittedModel = new ApprenticeshipApplicationViewModelBuilder()
                                          .RequiresSupportForInterview()
                                          .CanBeSupportedAtInterviewBy(anythingWeCanDoToSupportYourInterview)
                                          .Build();

            var patchedViewModel = new ApprenticeshipApplicationProviderBuilder().Build().PatchApplicationViewModel(Guid.NewGuid(), savedModel, submittedModel);

            patchedViewModel.Candidate.MonitoringInformation.AnythingWeCanDoToSupportYourInterview.Should().Be(anythingWeCanDoToSupportYourInterview);
        }
Пример #5
0
        public void ErrorTest()
        {
            var applicationView = new ApprenticeshipApplicationViewModelBuilder().HasError("Has error").Build();

            var apprenticeshipApplicationProviderMock = new Mock<IApprenticeshipApplicationProvider>();
            apprenticeshipApplicationProviderMock.Setup(x => x.ArchiveApplication(It.IsAny<Guid>(), It.IsAny<int>())).Returns(applicationView);

            var accountMediator = new AccountMediatorBuilder().With(apprenticeshipApplicationProviderMock).Build();
            var response = accountMediator.Archive(Guid.NewGuid(), 1);
            response.Code.Should().Be(AccountMediatorCodes.Archive.ErrorArchiving);
            response.Message.Text.Should().Be("Has error");
            response.Message.Level.Should().Be(UserMessageLevel.Warning);
        }
Пример #6
0
        public void SuccessTest()
        {
            var applicationView = new ApprenticeshipApplicationViewModelBuilder().Build();

            var apprenticeshipApplicationProviderMock = new Mock<IApprenticeshipApplicationProvider>();
            apprenticeshipApplicationProviderMock.Setup(x => x.ArchiveApplication(It.IsAny<Guid>(), It.IsAny<int>())).Returns(applicationView);

            var accountMediator = new AccountMediatorBuilder().With(apprenticeshipApplicationProviderMock).Build();
            var response = accountMediator.Archive(Guid.NewGuid(), 1);
            response.Code.Should().Be(AccountMediatorCodes.Archive.SuccessfullyArchived);
            response.Message.Text.Should().Be(MyApplicationsPageMessages.ApplicationArchived);
            response.Message.Level.Should().Be(UserMessageLevel.Success);
        }
Пример #7
0
        public void VacancyNotFound()
        {
            var viewModel =
                new ApprenticeshipApplicationViewModelBuilder().WithStatus(ApplicationStatuses.ExpiredOrWithdrawn)
                .Build();
            var apprenticeshipApplicationProvider = new Mock <IApprenticeshipApplicationProvider>();

            apprenticeshipApplicationProvider.Setup(p => p.GetApplicationViewModel(It.IsAny <Guid>(), It.IsAny <int>()))
            .Returns(viewModel);
            var mediator =
                new ApprenticeshipApplicationMediatorBuilder().With(apprenticeshipApplicationProvider).Build();

            var response = mediator.View(Guid.NewGuid(), ValidVacancyId);

            //Should still be able to view the application even if the vacancy is not available
            response.AssertCode(ApprenticeshipApplicationMediatorCodes.View.Ok, true);
        }
Пример #8
0
        public void ApplicationNotFound()
        {
            var viewModel =
                new ApprenticeshipApplicationViewModelBuilder().HasError(
                    ApplicationViewModelStatus.ApplicationNotFound, MyApplicationsPageMessages.ApplicationNotFound)
                .Build();
            var apprenticeshipApplicationProvider = new Mock <IApprenticeshipApplicationProvider>();

            apprenticeshipApplicationProvider.Setup(p => p.GetApplicationViewModel(It.IsAny <Guid>(), It.IsAny <int>()))
            .Returns(viewModel);
            var mediator =
                new ApprenticeshipApplicationMediatorBuilder().With(apprenticeshipApplicationProvider).Build();

            var response = mediator.View(Guid.NewGuid(), ValidVacancyId);

            //Should still be able to view the application even if the vacancy is not available
            response.AssertMessage(ApprenticeshipApplicationMediatorCodes.View.ApplicationNotFound,
                                   ApplicationPageMessages.ViewApplicationFailed, UserMessageLevel.Warning, true);
        }
        public void ShouldPatchWorkExperienceChanges()
        {
            var candidateId = Guid.NewGuid();
            var apprenticeshipApplicationProvider = new ApprenticeshipApplicationProviderBuilder().Build();
            var savedViewModel = new ApprenticeshipApplicationViewModelBuilder().Build();

            var workExperience = new[]
            {
                new WorkExperienceViewModelBuilder()
                .WithDescription("Work")
                .WithEmployer("Employer")
                .Build()
            };

            var newViewModel     = new ApprenticeshipApplicationViewModelBuilder().WithWorkExperience(workExperience).Build();
            var patchedViewModel = apprenticeshipApplicationProvider.PatchApplicationViewModel(candidateId, savedViewModel, newViewModel);

            patchedViewModel.Should().NotBeNull();
            patchedViewModel.ViewModelMessage.Should().BeNull();
            patchedViewModel.HasError().Should().BeFalse();
            patchedViewModel.Candidate.HasWorkExperience.Should().BeTrue();
            patchedViewModel.Candidate.WorkExperience.Should().Equal(workExperience);
        }