public async Task <ActionResult> ProviderDetail(long ukprn, string providerName = "", string pageNumber = "", string keyword = "")
        {
            int page;

            if (!int.TryParse(pageNumber, out page))
            {
                page = 1;
            }

            var response = await _mediator.Send(new ProviderDetailQuery { UkPrn = ukprn, Page = page });

            if (response.StatusCode == ProviderDetailResponse.ResponseCodes.ProviderNotFound)
            {
                var message = $"Cannot find provider: {ukprn}";
                _logger.Warn($"404 - {message}");
                return(new HttpNotFoundResult(message));
            }

            if (response.StatusCode == ProviderDetailResponse.ResponseCodes.HttpRequestException)
            {
                var message = $"Not able to call the apprenticeship service.";
                _logger.Warn($"{response.StatusCode} - {message}");

                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, message));
            }

            var viewModel = ProviderDetailViewModelMapper.GetProviderDetailViewModel(response.Provider, response.ApprenticeshipTrainingSummary, _settings.HideAboutProviderForUkprns, keyword);

            return(View(viewModel));
        }
Пример #2
0
        public void ShouldMapAllEmptyAliasValuesCorrectly()
        {
            var provider = GetProvider();

            var providerDetails = ProviderDetailViewModelMapper.GetProviderDetailViewModel(provider, GetApprenticeshipTrainingSummary());

            providerDetails.TradingNames.Should().Be(null);
        }
Пример #3
0
        public void ShouldMapNationalProviderFalseCorrectly()
        {
            var provider = GetProvider();

            provider.NationalProvider = false;
            var providerDetails = ProviderDetailViewModelMapper.GetProviderDetailViewModel(provider, GetApprenticeshipTrainingSummary());

            providerDetails.NationalProvider.Should().BeFalse();
        }
Пример #4
0
        public void ShouldMapIsHigherEducationInstituterFalseCorrectly()
        {
            var provider = GetProvider();

            provider.IsHigherEducationInstitute = false;
            var providerDetails = ProviderDetailViewModelMapper.GetProviderDetailViewModel(provider, GetApprenticeshipTrainingSummary());

            providerDetails.IsHigherEducationInstitute.Should().BeFalse();
        }
Пример #5
0
        public void ShouldMapIsEmployerProviderTrueCorrectly()
        {
            var provider = GetProvider();

            provider.IsEmployerProvider = true;
            var providerDetails = ProviderDetailViewModelMapper.GetProviderDetailViewModel(provider, GetApprenticeshipTrainingSummary());

            providerDetails.IsEmployerProvider.Should().BeTrue();
        }
Пример #6
0
        public void ShouldMapZeroLearnerSatisfactionValuesCorrectly()
        {
            var provider = GetProvider();

            provider.LearnerSatisfaction = 0;

            var providerDetails = ProviderDetailViewModelMapper.GetProviderDetailViewModel(provider, GetApprenticeshipTrainingSummary());

            providerDetails.LearnerSatisfaction.Should().Be(NoSatisfactionScore);
            providerDetails.LearnerSatisfactionMessage.Should().Be(NoSatisfactionScoreMessage);
        }
Пример #7
0
        public void ShouldMapNonZeroLearnerSatisfactionValuesCorrectly()
        {
            var          provider = GetProvider();
            const double providerLearnerSatisfaction = 53.3;

            provider.LearnerSatisfaction = providerLearnerSatisfaction;
            const string expectedLearnerSatisfactionMessage = "53.3%";

            var providerDetails = ProviderDetailViewModelMapper.GetProviderDetailViewModel(provider, GetApprenticeshipTrainingSummary());

            providerDetails.LearnerSatisfaction.Should().Be(providerLearnerSatisfaction);
            providerDetails.LearnerSatisfactionMessage.Should().Be(expectedLearnerSatisfactionMessage);
        }
Пример #8
0
        public void ShouldMapMultipleAliasValuesCorrectly()
        {
            var aliases = new List <string> {
                "alias 1", "alias 2", "alias 3"
            };
            const string tradingNames = "alias 1, alias 2, alias 3";

            var provider = GetProvider();

            provider.Aliases = aliases;

            var providerDetails = ProviderDetailViewModelMapper.GetProviderDetailViewModel(provider, GetApprenticeshipTrainingSummary());

            providerDetails.TradingNames.Should().Be(tradingNames);
        }
Пример #9
0
        public void ShouldMapAllSingleAliasValuesCorrectly()
        {
            var aliases = new List <string> {
                "alias 1"
            };
            const string tradingNames = "alias 1";

            var provider = GetProvider();

            provider.Aliases = aliases;

            var providerDetails = ProviderDetailViewModelMapper.GetProviderDetailViewModel(provider, GetApprenticeshipTrainingSummary());

            providerDetails.TradingNames.Should().Be(tradingNames);
            providerDetails.DisplayAboutThisProvider.Should().Be(true);
        }
Пример #10
0
        public void ShouldNotDisplayAboutThisProvider()
        {
            var aliases = new List <string> {
                "alias 1"
            };
            const string tradingNames = "alias 1";

            var provider = GetProvider();

            provider.Aliases = aliases;

            var providerDetails = ProviderDetailViewModelMapper.GetProviderDetailViewModel(provider, GetApprenticeshipTrainingSummary(), new List <long> {
                UkPrn
            });

            providerDetails.DisplayAboutThisProvider.Should().Be(false);
        }
Пример #11
0
        public void ShouldMapAllPassthroughValuesCorrectly()
        {
            var provider = GetProvider();
            var apprenticeshipTrainingSummary = GetApprenticeshipTrainingSummary();
            var providerDetails = ProviderDetailViewModelMapper.GetProviderDetailViewModel(provider, apprenticeshipTrainingSummary);

            providerDetails.Email.Should().Be(Email);
            providerDetails.IsEmployerProvider.Should().BeTrue();
            providerDetails.IsHigherEducationInstitute.Should().BeTrue();
            providerDetails.NationalProvider.Should().BeTrue();
            providerDetails.Phone.Should().Be(Phone);
            providerDetails.UkPrn.Should().Be(UkPrn);
            providerDetails.ProviderName.Should().Be(ProviderName);
            providerDetails.Website.Should().Be(Website);
            providerDetails.MarketingInfo.Should().Be(MarketingInfo);
            providerDetails.ApprenticeshipTrainingSummary.Should().Be(apprenticeshipTrainingSummary);
            providerDetails.DisplayAboutThisProvider.Should().Be(true);
        }