public async Task <IActionResult> EmployerContactDetails(EmployerContactDetailsEditModel m)
        {
            var response = await _orchestrator.PostEmployerContactDetailsEditModelAsync(m, User.ToVacancyUser());

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

            var vm = await _orchestrator.GetEmployerContactDetailsViewModelAsync(m);

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

            if (_feature.IsFeatureEnabled(FeatureNames.EmployerTaskList))
            {
                if (vm.IsTaskListCompleted)
                {
                    return(RedirectToRoute(RouteNames.EmployerCheckYourAnswersGet));
                }
                return(RedirectToRoute(RouteNames.ApplicationProcess_Get));
            }

            return(RedirectToRoute(RouteNames.Vacancy_Preview_Get));
        }
        public async Task <IActionResult> EmployerContactDetails(EmployerContactDetailsEditModel m)
        {
            var response = await _orchestrator.PostEmployerContactDetailsEditModelAsync(m, User.ToVacancyUser());

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

            if (!ModelState.IsValid)
            {
                var vm = await _orchestrator.GetEmployerContactDetailsViewModelAsync(m);

                return(View(vm));
            }

            return(RedirectToRoute(RouteNames.Vacancy_Preview_Get));
        }
        public async Task WhenEmployerContactNameIsUpdated_ShouldFlagEmployerContactFieldIndicator(string employerContactName, string employerContactEmail, string employerContactPhone)
        {
            _fixture
            .WithEmployerContactName("has a value")
            .WithEmployerContactEmail("has a value")
            .WithEmployerContactPhone("has a value")
            .Setup();

            var employerContactDetailsEditModel = new EmployerContactDetailsEditModel
            {
                EmployerAccountId    = _fixture.Vacancy.EmployerAccountId,
                VacancyId            = _fixture.Vacancy.Id,
                EmployerContactName  = employerContactName,
                EmployerContactEmail = employerContactEmail,
                EmployerContactPhone = employerContactPhone
            };

            await _fixture.PostEmployerContactDetailsEditModelAsync(employerContactDetailsEditModel);

            _fixture.VerifyEmployerReviewFieldIndicators(FieldIdentifiers.EmployerContact, true);
        }
        public async Task WhenEmployerContactNameIsUpdated__ShouldCallUpdateDraftVacancy(string employerContactName, string employerContactEmail, string employerContactPhone)
        {
            _fixture
            .WithEmployerContactName("has a value")
            .WithEmployerContactEmail("has a value")
            .WithEmployerContactPhone("has a value")
            .Setup();

            var employerContactDetailsEditModel = new EmployerContactDetailsEditModel
            {
                EmployerAccountId    = _fixture.Vacancy.EmployerAccountId,
                VacancyId            = _fixture.Vacancy.Id,
                EmployerContactName  = employerContactName,
                EmployerContactEmail = employerContactEmail,
                EmployerContactPhone = employerContactPhone
            };

            await _fixture.PostEmployerContactDetailsEditModelAsync(employerContactDetailsEditModel);

            _fixture.VerifyUpdateDraftVacancyAsyncIsCalled();
        }
 public async Task PostEmployerContactDetailsEditModelAsync(EmployerContactDetailsEditModel model)
 {
     await Sut.PostEmployerContactDetailsEditModelAsync(model, User);
 }