public void ValidationError() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = new ApprenticeshipCandidateViewModel { AboutYou = new AboutYouViewModel() }, VacancyDetail = new ApprenticeshipVacancyDetailViewModel() }; ApprenticeshipApplicationProvider.Setup(p => p.GetApplicationViewModel(It.IsAny <Guid>(), ValidVacancyId)) .Returns(new ApprenticeshipApplicationViewModel { Status = ApplicationStatuses.Draft, VacancyDetail = new ApprenticeshipVacancyDetailViewModel { VacancyStatus = VacancyStatuses.Live } }); ApprenticeshipApplicationProvider.Setup( p => p.PatchApplicationViewModel(It.IsAny <Guid>(), It.IsAny <ApprenticeshipApplicationViewModel>(), It.IsAny <ApprenticeshipApplicationViewModel>())) .Returns <Guid, ApprenticeshipApplicationViewModel, ApprenticeshipApplicationViewModel>( (cid, svm, vm) => vm); var response = Mediator.PreviewAndSubmit(Guid.NewGuid(), ValidVacancyId, viewModel); response.AssertValidationResult(ApprenticeshipApplicationMediatorCodes.PreviewAndSubmit.ValidationError); }
public void SaveApplication(Guid candidateId, int vacancyId, ApprenticeshipApplicationViewModel apprenticeshipApplicationViewModel) { _logger.Debug( "Calling ApprenticeshipApplicationProvider to save the Application View Model for candidate ID: {0}, vacancy ID: {1}.", candidateId, vacancyId); try { var application = _mapper.Map <ApprenticeshipApplicationViewModel, ApprenticeshipApplicationDetail>( apprenticeshipApplicationViewModel); _candidateService.SaveApplication(candidateId, vacancyId, application); _logger.Debug("Application View Model saved for candidate ID: {0}, vacancy ID: {1}.", candidateId, vacancyId); } catch (Exception e) { var message = string.Format( "Save application failed for user {0}.", candidateId); _logger.Error(message, e); throw; } }
public async Task <ActionResult> Apply(int id, ApprenticeshipApplicationViewModel model) { return(await Task.Run <ActionResult>(() => { var response = _apprenticeshipApplicationMediator.PreviewAndSubmit(UserContext.CandidateId, id, model); switch (response.Code) { case ApprenticeshipApplicationMediatorCodes.PreviewAndSubmit.OfflineVacancy: return RedirectToRoute(CandidateRouteNames.ApprenticeshipDetails, new { id }); case ApprenticeshipApplicationMediatorCodes.PreviewAndSubmit.VacancyNotFound: return new ApprenticeshipNotFoundResult(); case ApprenticeshipApplicationMediatorCodes.PreviewAndSubmit.IncorrectState: return RedirectToRoute(CandidateRouteNames.MyApplications); case ApprenticeshipApplicationMediatorCodes.PreviewAndSubmit.Error: ModelState.Clear(); SetUserMessage(response.Message.Text, response.Message.Level); return View(response.ViewModel); case ApprenticeshipApplicationMediatorCodes.PreviewAndSubmit.ValidationError: ModelState.Clear(); response.ValidationResult.AddToModelState(ModelState, string.Empty); return View(response.ViewModel); case ApprenticeshipApplicationMediatorCodes.PreviewAndSubmit.Ok: ModelState.Clear(); return RedirectToAction("Preview", response.Parameters); } throw new InvalidMediatorCodeException(response.Code); })); }
public void OfflineVacancy() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = new ApprenticeshipCandidateViewModel(), VacancyDetail = new ApprenticeshipVacancyDetailViewModel() }; ApprenticeshipApplicationProvider.Setup(p => p.GetApplicationViewModel(It.IsAny <Guid>(), ValidVacancyId)) .Returns(new ApprenticeshipApplicationViewModel { Status = ApplicationStatuses.Draft, VacancyDetail = new ApprenticeshipVacancyDetailViewModel { ApplyViaEmployerWebsite = true } }); ApprenticeshipApplicationProvider.Setup( p => p.PatchApplicationViewModel(It.IsAny <Guid>(), It.IsAny <ApprenticeshipApplicationViewModel>(), It.IsAny <ApprenticeshipApplicationViewModel>())) .Returns <Guid, ApprenticeshipApplicationViewModel, ApprenticeshipApplicationViewModel>( (cid, svm, vm) => vm); ApprenticeshipApplicationProvider.Setup(p => p.SubmitApplication(It.IsAny <Guid>(), It.IsAny <int>())) .Returns(viewModel); var response = Mediator.PreviewAndSubmit(Guid.NewGuid(), ValidVacancyId, viewModel); response.AssertCode(ApprenticeshipApplicationMediatorCodes.PreviewAndSubmit.OfflineVacancy, false); }
public async Task <JsonResult> AutoSave(int id, ApprenticeshipApplicationViewModel model) { return(await Task.Run(() => { var response = _apprenticeshipApplicationMediator.AutoSave(UserContext.CandidateId, id, model); switch (response.Code) { case ApprenticeshipApplicationMediatorCodes.AutoSave.VacancyNotFound: return new JsonResult { Data = response.ViewModel }; case ApprenticeshipApplicationMediatorCodes.AutoSave.HasError: ModelState.Clear(); return new JsonResult { Data = response.ViewModel }; case ApprenticeshipApplicationMediatorCodes.AutoSave.ValidationError: ModelState.Clear(); return new JsonResult { Data = response.ViewModel }; case ApprenticeshipApplicationMediatorCodes.AutoSave.Ok: ModelState.Clear(); return new JsonResult { Data = response.ViewModel }; } throw new InvalidMediatorCodeException(response.Code); })); }
public void ValidationError() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = new ApprenticeshipCandidateViewModel { Education = new EducationViewModel { NameOfMostRecentSchoolCollege = "A School", FromYear = "0", ToYear = "0" } }, VacancyDetail = new VacancyDetailViewModel { VacancyStatus = VacancyStatuses.Live }, ViewModelStatus = ApplicationViewModelStatus.Error }; ApprenticeshipApplicationProvider.Setup(p => p.GetApplicationViewModel(It.IsAny <Guid>(), It.IsAny <int>())).Returns(viewModel); ApprenticeshipApplicationProvider.Setup(p => p.SubmitApplication(It.IsAny <Guid>(), It.IsAny <int>())).Returns(viewModel); var response = Mediator.Submit(Guid.NewGuid(), ValidVacancyId); response.AssertValidationResult(ApprenticeshipApplicationMediatorCodes.Submit.ValidationError); }
public void ValidationError() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = new ApprenticeshipCandidateViewModel { Education = new EducationViewModel { FromYear = "1066" } }, VacancyDetail = new ApprenticeshipVacancyDetailViewModel() }; ApprenticeshipApplicationProvider.Setup(p => p.GetApplicationViewModel(It.IsAny <Guid>(), ValidVacancyId)) .Returns(new ApprenticeshipApplicationViewModel { Status = ApplicationStatuses.Draft, VacancyDetail = new ApprenticeshipVacancyDetailViewModel() }); ApprenticeshipApplicationProvider.Setup( p => p.PatchApplicationViewModel(It.IsAny <Guid>(), It.IsAny <ApprenticeshipApplicationViewModel>(), It.IsAny <ApprenticeshipApplicationViewModel>())) .Returns <Guid, ApprenticeshipApplicationViewModel, ApprenticeshipApplicationViewModel>( (cid, svm, vm) => vm); var response = Mediator.Save(Guid.NewGuid(), ValidVacancyId, viewModel); response.AssertValidationResult(ApprenticeshipApplicationMediatorCodes.Save.ValidationError); }
private ApprenticeshipApplicationViewModel PatchWithVacancyDetail( Guid candidateId, int vacancyId, ApprenticeshipApplicationViewModel apprenticeshipApplicationViewModel) { // TODO: why have a patch method like this? should be done in mapper. var vacancyDetailViewModel = _apprenticeshipVacancyDetailProvider.GetVacancyDetailViewModel(candidateId, vacancyId); if (vacancyDetailViewModel == null || vacancyDetailViewModel.VacancyStatus == VacancyStatuses.Unavailable) { apprenticeshipApplicationViewModel.ViewModelMessage = MyApplicationsPageMessages.ApprenticeshipNoLongerAvailable; apprenticeshipApplicationViewModel.Status = ApplicationStatuses.ExpiredOrWithdrawn; return(apprenticeshipApplicationViewModel); } if (vacancyDetailViewModel.HasError()) { apprenticeshipApplicationViewModel.ViewModelMessage = vacancyDetailViewModel.ViewModelMessage; return(apprenticeshipApplicationViewModel); } apprenticeshipApplicationViewModel.VacancyDetail = vacancyDetailViewModel; apprenticeshipApplicationViewModel.Candidate.EmployerQuestionAnswers.SupplementaryQuestion1 = vacancyDetailViewModel.SupplementaryQuestion1; apprenticeshipApplicationViewModel.Candidate.EmployerQuestionAnswers.SupplementaryQuestion2 = vacancyDetailViewModel.SupplementaryQuestion2; return(apprenticeshipApplicationViewModel); }
public void GetApplicationViewModelError() { var postedViewModel = new ApprenticeshipApplicationPreviewViewModel { AcceptSubmit = true }; var savedViewModel = new ApprenticeshipApplicationPreviewViewModel { Candidate = new ApprenticeshipCandidateViewModel(), VacancyDetail = new ApprenticeshipVacancyDetailViewModel { VacancyStatus = VacancyStatuses.Live } }; var submittedApplicationViewModel = new ApprenticeshipApplicationViewModel { Candidate = new ApprenticeshipCandidateViewModel(), VacancyDetail = new ApprenticeshipVacancyDetailViewModel(), ViewModelStatus = ApplicationViewModelStatus.Error, ViewModelMessage = "An error message" }; ApprenticeshipApplicationProvider.Setup( p => p.GetApplicationPreviewViewModel(It.IsAny <Guid>(), It.IsAny <int>())).Returns(savedViewModel); ApprenticeshipApplicationProvider.Setup(p => p.SubmitApplication(It.IsAny <Guid>(), It.IsAny <int>())) .Returns(submittedApplicationViewModel); var response = Mediator.Submit(Guid.NewGuid(), ValidVacancyId, postedViewModel); response.AssertMessage(ApprenticeshipApplicationMediatorCodes.Submit.Error, ApplicationPageMessages.SubmitApplicationFailed, UserMessageLevel.Warning, false, true); }
public ApprenticeshipApplicationViewModel Build() { var viewModel = new ApprenticeshipApplicationViewModel { Status = _status, ViewModelMessage = _viewModelMessage, Candidate = new ApprenticeshipCandidateViewModel { Education = new EducationViewModel(), AboutYou = new AboutYouViewModel { RequiresSupportForInterview = _requiresSupportForInterview, AnythingWeCanDoToSupportYourInterview = _anythingWeCanDoToSupportYourInterview }, Address = new AddressViewModel { GeoPoint = new GeoPointViewModel() } }, VacancyDetail = new VacancyDetailViewModel { VacancyAddress = new AddressViewModel { GeoPoint = new GeoPointViewModel() } } }; return(viewModel); }
private ActionResult ReviewRejectCandidate(ApprenticeshipApplicationViewModel apprenticeshipApplicationViewModel) { var response = _apprenticeshipApplicationMediator.ReviewRejectCandidate(apprenticeshipApplicationViewModel); var viewModel = response.ViewModel; ModelState.Clear(); if (response.Message != null) { SetUserMessage(response.Message); } switch (response.Code) { case ApprenticeshipApplicationMediatorCodes.ReviewRejectCandidate.Error: return(View("Review", response.ViewModel)); case ApprenticeshipApplicationMediatorCodes.ReviewRejectCandidate.FailedValidation: response.ValidationResult.AddToModelStateWithSeverity(ModelState, string.Empty); return(RedirectToRoute(RecruitmentRouteNames.ReviewApprenticeshipApplication, viewModel)); case ApprenticeshipApplicationMediatorCodes.ReviewRejectCandidate.Ok: return(RedirectToRoute(RecruitmentRouteNames.ConfirmUnsuccessfulApprenticeshipApplication, viewModel.ApplicationSelection.RouteValues)); default: throw new InvalidMediatorCodeException(response.Code); } }
public void DefaultShouldNotHaveAnyValidationErrors() { var viewModel = new ApprenticeshipApplicationViewModel(); var result = _validator.Validate(viewModel); result.IsValid.Should().BeTrue(); }
public ApprenticeshipApplicationViewModel SubmitApplication(Guid candidateId, int vacancyId) { _logger.Debug( "Calling ApprenticeshipApplicationProvider to submit the Application for candidate ID: {0}, vacancy ID: {1}.", candidateId, vacancyId); var model = new ApprenticeshipApplicationViewModel(); try { model = GetOrCreateApplicationViewModel(candidateId, vacancyId); if (model.HasError()) { return(model); } _candidateService.SubmitApplication(candidateId, vacancyId); _logger.Debug("Application submitted for candidate ID: {0}, vacancy ID: {1}.", candidateId, vacancyId); return(model); } catch (CustomException e) { if (e.Code == ApplicationErrorCodes.ApplicationInIncorrectStateError) { _logger.Info(e.Message, e); return (new ApprenticeshipApplicationViewModel(ApplicationViewModelStatus.ApplicationInIncorrectState) { Status = model.Status }); } var message = string.Format( "Unhandled custom exception while submitting the Application for candidate ID: {0}, vacancy ID: {1}.", candidateId, vacancyId); _logger.Error(message, e); return(FailedApplicationViewModel(vacancyId, candidateId, "Submission of application", ApplicationPageMessages.SubmitApplicationFailed, e)); } catch (Exception e) { var message = string.Format( "Submit Application failed for candidate ID: {0}, vacancy ID: {1}.", candidateId, vacancyId); _logger.Error(message, e); return(FailedApplicationViewModel(vacancyId, candidateId, "Submission of application", ApplicationPageMessages.SubmitApplicationFailed, e)); } }
public void GivenNullCandidateViewModel_ThenExceptionIsThrown() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = null }; Action patchApplicationViewModelAction = () => new ApprenticeshipApplicationProviderBuilder().Build().PatchApplicationViewModel(Guid.NewGuid(), null, viewModel); patchApplicationViewModelAction.ShouldThrow <Exception>(); }
public async Task <ActionResult> AddEmptyWorkExperienceRows(int id, ApprenticeshipApplicationViewModel model) { return(await Task.Run <ActionResult>(() => { var response = _apprenticeshipApplicationMediator.AddEmptyWorkExperienceRows(model); ModelState.Clear(); return View("Apply", response.ViewModel); })); }
public void Ok() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = new ApprenticeshipCandidateViewModel(), VacancyDetail = new ApprenticeshipVacancyDetailViewModel() }; var response = Mediator.AddEmptyQualificationRows(viewModel); response.AssertCode(ApprenticeshipApplicationMediatorCodes.AddEmptyQualificationRows.Ok, true); }
public async Task <JsonResult> AutoSave(int id, ApprenticeshipApplicationViewModel model) { return(await Task.Run(() => { MediatorResponse <AutoSaveResultViewModel> response; try { response = _apprenticeshipApplicationMediator.AutoSave(UserContext.CandidateId, id, model); } catch (Exception) { //TODO: Remove once the cause of the null candidate objects is fixed var requestDebugString = Request.ToDebugString(); _logService.Error("Error when auto saving apprenticeship application. Request: {0}", requestDebugString); throw; } switch (response.Code) { case ApprenticeshipApplicationMediatorCodes.AutoSave.VacancyNotFound: return new JsonResult { Data = response.ViewModel }; case ApprenticeshipApplicationMediatorCodes.AutoSave.HasError: ModelState.Clear(); return new JsonResult { Data = response.ViewModel }; case ApprenticeshipApplicationMediatorCodes.AutoSave.ValidationError: ModelState.Clear(); return new JsonResult { Data = response.ViewModel }; case ApprenticeshipApplicationMediatorCodes.AutoSave.IncorrectState: ModelState.Clear(); return new JsonResult { Data = response.ViewModel }; case ApprenticeshipApplicationMediatorCodes.AutoSave.Ok: ModelState.Clear(); return new JsonResult { Data = response.ViewModel }; } throw new InvalidMediatorCodeException(response.Code); })); }
public void Ok() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = new ApprenticeshipCandidateViewModel(), VacancyDetail = new ApprenticeshipVacancyDetailViewModel() }; var response = Mediator.AddEmptyTrainingCourseRows(viewModel); response.AssertCode(ApprenticeshipApplicationMediatorCodes.AddEmptyTrainingCourseRows.Ok, true); response.ViewModel.Candidate.HasTrainingCourses.Should().BeFalse(); }
public void WillRemoveEmptyQualficationRows() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = CreateCandidateWithOneQualificationAndTwoEmptyQualifications(), VacancyDetail = new ApprenticeshipVacancyDetailViewModel() }; var response = Mediator.AddEmptyQualificationRows(viewModel); response.AssertCode(ApprenticeshipApplicationMediatorCodes.AddEmptyQualificationRows.Ok, true); response.ViewModel.Candidate.Qualifications.Should().HaveCount(1); }
public void Error() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = new ApprenticeshipCandidateViewModel(), VacancyDetail = new ApprenticeshipVacancyDetailViewModel() }; ApprenticeshipApplicationProvider.Setup(p => p.GetApplicationViewModel(It.IsAny <Guid>(), ValidVacancyId)).Returns(new ApprenticeshipApplicationViewModel("Has Error")); var response = Mediator.Save(Guid.NewGuid(), ValidVacancyId, viewModel); response.AssertMessage(ApprenticeshipApplicationMediatorCodes.Save.Error, ApplicationPageMessages.SaveFailed, UserMessageLevel.Warning, true); }
public void HasError() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = new ApprenticeshipCandidateViewModel(), VacancyDetail = new VacancyDetailViewModel() }; ApprenticeshipApplicationProvider.Setup(p => p.GetOrCreateApplicationViewModel(It.IsAny <Guid>(), ValidVacancyId)).Returns(new ApprenticeshipApplicationViewModel("Has Error")); var response = Mediator.AutoSave(Guid.NewGuid(), ValidVacancyId, viewModel); response.AssertCode(ApprenticeshipApplicationMediatorCodes.AutoSave.HasError, true); }
public void SuccessTest() { var applicationView = new ApprenticeshipApplicationViewModel(); var apprenticeshipApplicationProviderMock = new Mock <IApprenticeshipApplicationProvider>(); apprenticeshipApplicationProviderMock.Setup(x => x.UnarchiveApplication(It.IsAny <Guid>(), It.IsAny <int>())).Returns(applicationView); var accountMediator = new AccountMediatorBuilder().With(apprenticeshipApplicationProviderMock).Build(); var response = accountMediator.Track(Guid.NewGuid(), 1); response.Code.Should().Be(AccountMediatorCodes.Track.SuccessfullyTracked); response.Message.Should().BeNull(); }
public async Task <ActionResult> Save(int id, ApprenticeshipApplicationViewModel model) { return(await Task.Run <ActionResult>(() => { MediatorResponse <ApprenticeshipApplicationViewModel> response; try { response = _apprenticeshipApplicationMediator.Save(UserContext.CandidateId, id, model); } catch (Exception) { //TODO: Remove once the cause of saving exceptions is fixed var requestDebugString = Request.ToDebugString(); _logService.Error("Error when saving apprenticeship application. Request: {0}", requestDebugString); throw; } switch (response.Code) { case ApprenticeshipApplicationMediatorCodes.Save.OfflineVacancy: return RedirectToRoute(CandidateRouteNames.ApprenticeshipDetails, new { id }); case ApprenticeshipApplicationMediatorCodes.Save.VacancyNotFound: return new ApprenticeshipNotFoundResult(); case ApprenticeshipApplicationMediatorCodes.Save.Error: ModelState.Clear(); SetUserMessage(response.Message.Text, response.Message.Level); return View("Apply", response.ViewModel); case ApprenticeshipApplicationMediatorCodes.Save.ValidationError: ModelState.Clear(); response.ValidationResult.AddToModelState(ModelState, string.Empty); return View("Apply", response.ViewModel); case ApprenticeshipApplicationMediatorCodes.Save.IncorrectState: SetUserMessage(response.Message.Text, response.Message.Level); return RedirectToRoute(CandidateRouteNames.MyApplications); case ApprenticeshipApplicationMediatorCodes.Save.Ok: ModelState.Clear(); return View("Apply", response.ViewModel); } throw new InvalidMediatorCodeException(response.Code); })); }
public ApprenticeshipApplicationViewModel PatchApplicationViewModel(Guid candidateId, ApprenticeshipApplicationViewModel savedModel, ApprenticeshipApplicationViewModel submittedModel) { _logger.Debug( "Calling ApprenticeshipApplicationProvider to patch the Application View Model for candidate ID: {0}.", candidateId); try { if (submittedModel.IsJavascript && !submittedModel.Candidate.MonitoringInformation.RequiresSupportForInterview) { submittedModel.Candidate.MonitoringInformation.AnythingWeCanDoToSupportYourInterview = string.Empty; } savedModel.Candidate.AboutYou = submittedModel.Candidate.AboutYou; savedModel.Candidate.MonitoringInformation = submittedModel.Candidate.MonitoringInformation; savedModel.Candidate.Education = submittedModel.Candidate.Education; savedModel.Candidate.HasQualifications = submittedModel.Candidate.HasQualifications; savedModel.Candidate.Qualifications = submittedModel.Candidate.Qualifications; savedModel.Candidate.HasWorkExperience = submittedModel.Candidate.HasWorkExperience; savedModel.Candidate.WorkExperience = submittedModel.Candidate.WorkExperience; savedModel.Candidate.HasTrainingCourses = submittedModel.Candidate.HasTrainingCourses; savedModel.Candidate.TrainingCourses = submittedModel.Candidate.TrainingCourses; savedModel.Candidate.EmployerQuestionAnswers = submittedModel.Candidate.EmployerQuestionAnswers; return(savedModel); } catch (Exception e) { var message = string.Format( "Patch application View Model failed for user {0}.", candidateId); if (submittedModel == null) { message += " submittedModel was null"; } else if (submittedModel.Candidate == null) { message += " submittedModel.Candidate was null"; } else if (submittedModel.Candidate.AboutYou == null) { message += " submittedModel.Candidate.AboutYou was null"; } _logger.Error(message, e); throw; } }
public void VacancyNotFound() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = new ApprenticeshipCandidateViewModel(), VacancyDetail = new VacancyDetailViewModel(), Status = ApplicationStatuses.ExpiredOrWithdrawn }; ApprenticeshipApplicationProvider.Setup(p => p.GetApplicationViewModel(It.IsAny <Guid>(), It.IsAny <int>())).Returns(viewModel); ApprenticeshipApplicationProvider.Setup(p => p.SubmitApplication(It.IsAny <Guid>(), It.IsAny <int>())).Returns(viewModel); var response = Mediator.Submit(Guid.NewGuid(), ValidVacancyId); response.AssertCode(ApprenticeshipApplicationMediatorCodes.Submit.VacancyNotFound, false); }
public void WillSetDefaultRowCounts() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = new ApprenticeshipCandidateViewModel(), VacancyDetail = new ApprenticeshipVacancyDetailViewModel() }; var response = Mediator.AddEmptyTrainingCourseRows(viewModel); response.AssertCode(ApprenticeshipApplicationMediatorCodes.AddEmptyTrainingCourseRows.Ok, true); response.ViewModel.DefaultQualificationRows.Should().Be(0); response.ViewModel.DefaultWorkExperienceRows.Should().Be(0); response.ViewModel.DefaultTrainingCourseRows.Should().Be(3); }
public void DeleteAlreadyDeleted() { var applicationView = new ApprenticeshipApplicationViewModel { ViewModelMessage = "Has error" }; var apprenticeshipApplicationProviderMock = new Mock <IApprenticeshipApplicationProvider>(); apprenticeshipApplicationProviderMock.Setup(x => x.GetApplicationViewModel(It.IsAny <Guid>(), It.IsAny <int>())).Returns(applicationView); var accountMediator = new AccountMediatorBuilder().With(apprenticeshipApplicationProviderMock).Build(); var response = accountMediator.Delete(Guid.NewGuid(), 1); response.Code.Should().Be(AccountMediatorCodes.Delete.AlreadyDeleted); response.Message.Text.Should().Be(MyApplicationsPageMessages.ApplicationDeleted); response.Message.Level.Should().Be(UserMessageLevel.Warning); }
public void VacancyNotFound() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = new ApprenticeshipCandidateViewModel(), VacancyDetail = new VacancyDetailViewModel() }; ApprenticeshipApplicationProvider.Setup(p => p.GetOrCreateApplicationViewModel(It.IsAny <Guid>(), ValidVacancyId)).Returns(new ApprenticeshipApplicationViewModel { Status = ApplicationStatuses.ExpiredOrWithdrawn }); var response = Mediator.AutoSave(Guid.NewGuid(), ValidVacancyId, viewModel); response.AssertCode(ApprenticeshipApplicationMediatorCodes.AutoSave.VacancyNotFound, true); }
public void ErrorTest() { var applicationView = new ApprenticeshipApplicationViewModel { ViewModelMessage = "Has error" }; var apprenticeshipApplicationProviderMock = new Mock <IApprenticeshipApplicationProvider>(); apprenticeshipApplicationProviderMock.Setup(x => x.UnarchiveApplication(It.IsAny <Guid>(), It.IsAny <int>())).Returns(applicationView); var accountMediator = new AccountMediatorBuilder().With(apprenticeshipApplicationProviderMock).Build(); var response = accountMediator.Track(Guid.NewGuid(), 1); response.Code.Should().Be(AccountMediatorCodes.Track.ErrorTracking); response.Message.Text.Should().Be(applicationView.ViewModelMessage); response.Message.Level.Should().Be(UserMessageLevel.Warning); }
public void ErrorGettingApplicationViewModel() { var viewModel = new ApprenticeshipApplicationViewModel { Candidate = new ApprenticeshipCandidateViewModel(), VacancyDetail = new VacancyDetailViewModel() }; ApprenticeshipApplicationProvider.Setup(p => p.GetApplicationViewModel(It.IsAny <Guid>(), It.IsAny <int>())).Returns(viewModel); ApprenticeshipApplicationProvider.Setup(p => p.GetOrCreateApplicationViewModel(It.IsAny <Guid>(), ValidVacancyId)).Returns(new ApprenticeshipApplicationViewModel(MyApplicationsPageMessages.ApplicationNotFound, ApplicationViewModelStatus.ApplicationNotFound)); ApprenticeshipApplicationProvider.Setup(p => p.PatchApplicationViewModel(It.IsAny <Guid>(), It.IsAny <ApprenticeshipApplicationViewModel>(), It.IsAny <ApprenticeshipApplicationViewModel>())).Returns <Guid, ApprenticeshipApplicationViewModel, ApprenticeshipApplicationViewModel>((cid, svm, vm) => vm); ApprenticeshipApplicationProvider.Setup(p => p.SubmitApplication(It.IsAny <Guid>(), It.IsAny <int>())).Returns(viewModel); var response = Mediator.Submit(Guid.NewGuid(), ValidVacancyId); response.AssertCode(ApprenticeshipApplicationMediatorCodes.Submit.VacancyNotFound, false); }