public async Task <IActionResult> ApplicationReview(ApplicationReviewEditModel applicationReviewEditModel) { if (!ModelState.IsValid) { var vm = await _orchestrator.GetApplicationReviewViewModelAsync(applicationReviewEditModel); return(View(vm)); } TempData[TempDataARModel] = JsonConvert.SerializeObject(applicationReviewEditModel); return(RedirectToRoute(RouteNames.ApplicationReviewConfirmation_Get)); }
public void ShouldBeInvalid() { var m = new ApplicationReviewEditModel { Outcome = ApplicationReviewStatus.Unsuccessful, CandidateFeedback = "?$@#()\"\'\\!,+-=_:;.&€£*%/[] \\A-Z \a-z \0-9 your comments will be sent to the candidate." }; var validator = new ApplicationReviewEditModelValidator(_mockProfanityListProvider.Object); var result = validator.Validate(m); result.IsValid.Should().BeFalse(); }
public async Task <IActionResult> ApplicationReview(ApplicationReviewEditModel m) { if (ModelState.IsValid == false) { var vm = await _orchestrator.GetApplicationReviewViewModelAsync(m); return(View(vm)); } await _orchestrator.PostApplicationReviewEditModelAsync(m, User.ToVacancyUser()); return(RedirectToRoute(RouteNames.VacancyManage_Get)); }
public void ShouldBeValid(ApplicationReviewStatus outcome, string feedback) { var m = new ApplicationReviewEditModel { Outcome = outcome, CandidateFeedback = feedback }; var validator = new ApplicationReviewEditModelValidator(_mockProfanityListProvider.Object); var result = validator.Validate(m); result.IsValid.Should().BeTrue(); }
public void ShouldVeValid(ApplicationReviewStatus outcome, string feedback) { var m = new ApplicationReviewEditModel { Outcome = outcome, CandidateFeedback = feedback }; var validator = new ApplicationReviewEditModelValidator(); var result = validator.Validate(m); result.IsValid.Should().BeTrue(); }
public Task PostApplicationReviewEditModelAsync(ApplicationReviewEditModel m, VacancyUser user) { switch (m.Outcome.Value) { case ApplicationReviewStatus.Successful: return(_client.SetApplicationReviewSuccessful(m.ApplicationReviewId, user)); case ApplicationReviewStatus.Unsuccessful: return(_client.SetApplicationReviewUnsuccessful(m.ApplicationReviewId, m.CandidateFeedback, user)); default: throw new ArgumentException("Unhandled ApplicationReviewStatus"); } }
public void ShouldRequireOutcome() { var m = new ApplicationReviewEditModel { Outcome = null }; var validator = new ApplicationReviewEditModelValidator(_mockProfanityListProvider.Object); var result = validator.Validate(m); result.IsValid.Should().BeFalse(); result.Errors.Count.Should().Be(1); result.Errors[0].ErrorMessage.Should().Be(ApplicationReviewValidator.OutcomeRequired); }
public void ShouldBeInvalid_ForProfanityWordsInFeedback(ApplicationReviewStatus outcome, string feedback) { var m = new ApplicationReviewEditModel { Outcome = outcome, CandidateFeedback = feedback }; var validator = new ApplicationReviewEditModelValidator(_mockProfanityListProvider.Object); var result = validator.Validate(m); result.IsValid.Should().BeFalse(); result.Errors.Count.Should().Be(1); result.Errors[0].ErrorCode.Should().Be("617"); }
public void ShouldRequireCandidateFeedbackIfUnsuccessful(string candidateFeedback, string expectedErrorMessage) { var m = new ApplicationReviewEditModel { Outcome = ApplicationReviewStatus.Unsuccessful, CandidateFeedback = candidateFeedback }; var validator = new ApplicationReviewEditModelValidator(_mockProfanityListProvider.Object); var result = validator.Validate(m); result.IsValid.Should().BeFalse(); result.Errors.Count.Should().Be(1); result.Errors[0].ErrorMessage.Should().Be(expectedErrorMessage); }
public async Task <ApplicationStatusConfirmationViewModel> GetApplicationStatusConfirmationViewModelAsync(ApplicationReviewEditModel rm) { var applicationReviewVm = await GetApplicationReviewViewModelAsync((ApplicationReviewRouteModel)rm); return(new ApplicationStatusConfirmationViewModel { CandidateFeedback = rm.CandidateFeedback, Outcome = rm.Outcome, ApplicationReviewId = rm.ApplicationReviewId, Name = applicationReviewVm.Name }); }
public async Task <ApplicationReviewViewModel> GetApplicationReviewViewModelAsync(ApplicationReviewEditModel m) { var vm = await GetApplicationReviewViewModelAsync((ApplicationReviewRouteModel)m); vm.Outcome = m.Outcome; vm.CandidateFeedback = m.CandidateFeedback; return(vm); }