public async Task <IActionResult> Skills(VacancyRouteModel vrm, SkillsEditModel m)
        {
            var response = await _orchestrator.PostSkillsEditModelAsync(vrm, m, User.ToVacancyUser());

            if (!response.Success)
            {
                response.AddErrorsToModelState(ModelState);
            }

            var vm = await _orchestrator.GetSkillsViewModelAsync(vrm);

            if (!ModelState.IsValid)
            {
                return(View(vm));
            }

            if (!string.IsNullOrEmpty(m.AddCustomSkillAction))
            {
                TempData[TempDataKeys.Skills] = m.Skills;
                return(RedirectToRoute(RouteNames.Skills_Get));
            }

            if (_feature.IsFeatureEnabled(FeatureNames.EmployerTaskList))
            {
                if (vm.IsTaskListCompleted)
                {
                    return(RedirectToRoute(RouteNames.EmployerCheckYourAnswersGet));
                }
                return(RedirectToRoute(RouteNames.Qualifications_Get));
            }
            return(RedirectToRoute(RouteNames.Vacancy_Preview_Get));
        }
        public async Task WhenSkillsAreUpdated_ShouldCallUpdateDraftVacancyAsync(string[] currentlySelectedSkills, string[] newSelectedSkills)
        {
            var fixture = new SkillsOrchestratorTestsFixture();

            fixture
            .WithSelectedSkills(currentlySelectedSkills)
            .Setup();

            var vacancyRouteModel = new VacancyRouteModel
            {
                EmployerAccountId = fixture.Vacancy.EmployerAccountId,
                VacancyId         = fixture.Vacancy.Id
            };

            var skillsEditModel = new SkillsEditModel
            {
                Skills = newSelectedSkills.ToList(),
                AddCustomSkillAction = null,
                AddCustomSkillName   = null
            };

            await fixture.PostSkillsEditModelAsync(vacancyRouteModel, skillsEditModel);

            fixture.VerifyUpdateDraftVacancyAsyncIsCalled();
        }
        public async Task WhenSkillsAreUpdated_ShouldFlagSkillsFieldIndicator(string[] currentlySelectedSkills, string[] newSelectedSkills, bool fieldIndicatorSet)
        {
            var fixture = new SkillsOrchestratorTestsFixture();

            fixture
            .WithSelectedSkills(currentlySelectedSkills)
            .Setup();

            var vacancyRouteModel = new VacancyRouteModel
            {
                EmployerAccountId = fixture.Vacancy.EmployerAccountId,
                VacancyId         = fixture.Vacancy.Id
            };

            var skillsEditModel = new SkillsEditModel
            {
                Skills = newSelectedSkills.ToList(),
                AddCustomSkillAction = null,
                AddCustomSkillName   = null
            };

            await fixture.PostSkillsEditModelAsync(vacancyRouteModel, skillsEditModel);

            fixture.VerifyEmployerReviewFieldIndicators(FieldIdentifiers.Skills, fieldIndicatorSet);
        }
Пример #4
0
        public async Task <IActionResult> Edit(int id, [FromBody] SkillsEditModel model)
        {
            bool isUpdated = await this.skillsService.UpdateAsync(id, model.ComputerSkills, model.Skills,
                                                                  model.HasManagedPeople, model.HasDrivingLicense);

            if (!isUpdated)
            {
                return(this.BadRequest(new { Title = "Skills are not updated!" }));
            }

            return(this.Ok(new { Message = "Skills successfully updated!" }));
        }
        public async Task <IActionResult> Skills(VacancyRouteModel vrm, SkillsEditModel m)
        {
            var response = await _orchestrator.PostSkillsEditModelAsync(vrm, m, User.ToVacancyUser());

            if (!response.Success)
            {
                response.AddErrorsToModelState(ModelState);
            }

            if (!ModelState.IsValid)
            {
                var vm = await _orchestrator.GetSkillsViewModelAsync(vrm);

                return(View(vm));
            }

            if (!string.IsNullOrEmpty(m.AddCustomSkillAction))
            {
                TempData[TempDataKeys.Skills] = m.Skills;
                return(RedirectToRoute(RouteNames.Skills_Get));
            }

            return(RedirectToRoute(RouteNames.Vacancy_Preview_Get));
        }
 public async Task PostSkillsEditModelAsync(VacancyRouteModel vacancyRouteModel, SkillsEditModel model)
 {
     await Sut.PostSkillsEditModelAsync(vacancyRouteModel, model, User);
 }