[InlineData("88888")] // will match multiple providers
        public async Task PostSelectTrainingProviderAsync_TrainingProviderSearch_WhenNoSingleProviderFoundShouldNotReturnFoundProvider(string trainingProviderSearch)
        {
            var fixture = new TrainingProviderOrchestratorTestsFixture();

            fixture
            .WithVacacny(
                new Vacancy
            {
                Id = fixture.VacancyId,
                EmployerAccountId = TrainingProviderOrchestratorTestsFixture.EmployerAccountId,
                TrainingProvider  = new TrainingProvider(),
                Title             = "specified for route validation",
                ProgrammeId       = "specified for route validation"
            })
            .Setup();

            var selectTrainingProviderEditModel = new SelectTrainingProviderEditModel
            {
                EmployerAccountId      = TrainingProviderOrchestratorTestsFixture.EmployerAccountId,
                VacancyId              = fixture.Vacancy.Id,
                SelectionType          = TrainingProviderSelectionType.TrainingProviderSearch,
                TrainingProviderSearch = trainingProviderSearch
            };

            var result = await fixture.PostSelectTrainingProviderAsync(selectTrainingProviderEditModel);

            fixture.VerifyNotFoundTrainingProviderUkprn(result);
        }
        public async Task PostSelectTrainingProviderAsync_UKPRN_WhenSingleProviderFoundShouldReturnFoundProvider()
        {
            var fixture = new TrainingProviderOrchestratorTestsFixture();

            fixture
            .WithVacacny(
                new Vacancy
            {
                Id = fixture.VacancyId,
                EmployerAccountId = TrainingProviderOrchestratorTestsFixture.EmployerAccountId,
                TrainingProvider  = new TrainingProvider(),
                Title             = "specified for route validation",
                ProgrammeId       = "specified for route validation"
            })
            .Setup();

            var selectTrainingProviderEditModel = new SelectTrainingProviderEditModel
            {
                EmployerAccountId = TrainingProviderOrchestratorTestsFixture.EmployerAccountId,
                VacancyId         = fixture.Vacancy.Id,
                SelectionType     = TrainingProviderSelectionType.Ukprn,
                Ukprn             = fixture.TrainingProviderOne.Ukprn.ToString()
            };

            var result = await fixture.PostSelectTrainingProviderAsync(selectTrainingProviderEditModel);

            fixture.VerifyFoundTrainingProviderUkprn(result, fixture.TrainingProviderOne.Ukprn.Value);
        }
        public async Task PostConfirmEditModelAsync_ShouldFlagProviderFieldIndicator(long ukprn)
        {
            var fixture = new TrainingProviderOrchestratorTestsFixture();

            fixture
            .WithVacacny(
                new Vacancy
            {
                Id = fixture.VacancyId,
                EmployerAccountId = TrainingProviderOrchestratorTestsFixture.EmployerAccountId,
                TrainingProvider  = new TrainingProvider(),
                Title             = "specified for route validation",
                ProgrammeId       = "specified for route validation"
            })
            .Setup();

            var confirmTrainingProviderEditModel = new ConfirmTrainingProviderEditModel
            {
                EmployerAccountId = TrainingProviderOrchestratorTestsFixture.EmployerAccountId,
                VacancyId         = fixture.Vacancy.Id,
                Ukprn             = ukprn.ToString()
            };

            await fixture.PostConfirmEditModelAsync(confirmTrainingProviderEditModel);

            fixture.VerifyEmployerReviewFieldIndicators(FieldIdentifiers.Provider, true);
        }