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();
        }
Exemple #3
0
        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();
        }
Exemple #5
0
        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);
        }
Exemple #10
0
        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
            });
        }
Exemple #11
0
        public async Task <ApplicationReviewViewModel> GetApplicationReviewViewModelAsync(ApplicationReviewEditModel m)
        {
            var vm = await GetApplicationReviewViewModelAsync((ApplicationReviewRouteModel)m);

            vm.Outcome           = m.Outcome;
            vm.CandidateFeedback = m.CandidateFeedback;

            return(vm);
        }