public override void Given()
        {
            mockresult = new TLevelDetailsViewModel
            {
                PageTitle               = "Tlevel Details",
                PathwayName             = "Education",
                ShowSomethingIsNotRight = true,
                RouteName               = "Digital Education",
                Specialisms             = new List <string> {
                    "Specialism1", "Specialism2"
                }
            };

            TlevelLoader.GetTlevelDetailsByPathwayIdAsync(ukPrn, id)
            .Returns(mockresult);
        }
        public override void Setup()
        {
            ApiClientResponse = new TlevelPathwayDetails {
                PathwayId = 1, PathwayName = PathwayName, RouteName = RouteName, PathwayStatusId = 2, Specialisms = Specialisms
            };
            ExpectedResult = new TLevelDetailsViewModel {
                PathwayId = 1, PathwayName = PathwayName, RouteName = RouteName, ShowSomethingIsNotRight = ShowSomethingIsNotRight, ShowQueriedInfo = ShowQueriedInfo, Specialisms = Specialisms
            };

            Mapper = Substitute.For <IMapper>();
            Mapper.Map <TLevelDetailsViewModel>(ApiClientResponse).Returns(ExpectedResult);

            InternalApiClient = Substitute.For <IResultsAndCertificationInternalApiClient>();
            InternalApiClient.GetTlevelDetailsByPathwayIdAsync(Ukprn, Id)
            .Returns(ApiClientResponse);
        }
        public async Task <IActionResult> TLevelDetails(string tlevelId, string tlevelLocationId, string currentSearchTerm, ParamValues paramValues)
        {
            logService.LogInformation($"{nameof(this.TLevelDetails)} has been called");

            if (paramValues == null)
            {
                logService.LogError($"paramValues is null for method: {nameof(TLevelDetails)} on controller {nameof(DetailsController)}");
                return(BadRequest());
            }

            var model = new TLevelDetailsViewModel();

            if (paramValues.SearchTerm == null && currentSearchTerm != null)
            {
                paramValues.SearchTerm = currentSearchTerm;
            }

            try
            {
                model.SearchTerm    = FormatSearchParameters(paramValues, currentSearchTerm);
                model.TlevelDetails = await findACourseService.GetTLevelDetails(tlevelId, tlevelLocationId).ConfigureAwait(false);

                if (model.TlevelDetails == null)
                {
                    logService.LogWarning($"Get TLevel details retrieved no data. The values passed were: tlevel id: {tlevelId} and run id: {tlevelLocationId}");
                    return(NotFound());
                }

                model.DetailsRightBarViewModel.Provider         = mapper.Map <ProviderViewModel>(model.TlevelDetails.ProviderDetails);
                model.DetailsRightBarViewModel.SpeakToAnAdviser = await staticContentDocumentService.GetByIdAsync(new Guid(cmsApiClientOptions.ContentIds)).ConfigureAwait(false);
            }
            catch (Exception ex)
            {
                logService.LogError($"Get TLevel details caused an error: {ex}. The values passed were: tlevel id: {tlevelId} and location id: {tlevelLocationId}");
                return(DetailsErrorReturnStatus(ex));
            }

            return(View("tlevelDetails", model));
        }
示例#4
0
        public async Task <IActionResult> TLevelDetails(string tlevelId, string tlevelLocationId, string currentSearchTerm, ParamValues paramValues)
        {
            logService.LogInformation($"{nameof(this.TLevelDetails)} has been called");

            if (paramValues == null)
            {
                throw new ArgumentNullException(nameof(paramValues));
            }

            var model = new TLevelDetailsViewModel();

            if (paramValues.SearchTerm == null && currentSearchTerm != null)
            {
                paramValues.SearchTerm = currentSearchTerm;
            }

            model.SearchTerm    = FormatSearchParameters(paramValues, currentSearchTerm);
            model.TlevelDetails = await findACourseService.GetTLevelDetails(tlevelId, tlevelLocationId).ConfigureAwait(false);

            model.DetailsRightBarViewModel.Provider         = mapper.Map <ProviderViewModel>(model.TlevelDetails.ProviderDetails);
            model.DetailsRightBarViewModel.SpeakToAnAdviser = await staticContentDocumentService.GetByIdAsync(new Guid(cmsApiClientOptions.ContentIds)).ConfigureAwait(false);

            return(View("tlevelDetails", model));
        }
 public async override Task When()
 {
     ActualResult = await Loader.GetTlevelDetailsByPathwayIdAsync(Ukprn, Id);
 }