public async Task <IActionResult> GetProvidersByStandardId(int id, [FromQuery] GetProvidersByStandardRequest request) { try { var queryResult = await _mediator.Send(new GetCourseProvidersQuery { StandardId = id, Lat = request.Lat, Lon = request.Lon, SortOrder = (short)request.SortOrder, SectorSubjectArea = request.SectorSubjectArea, Level = (short)request.Level, ShortlistUserId = request.ShortlistUserId }); var getCourseProviderResponses = queryResult .Providers .Select(c => GetProviderDetailResponse.Map(c, (short)request.Age)) .ToList(); var response = new GetCourseProvidersListResponse { Providers = getCourseProviderResponses, TotalResults = queryResult.Providers.Count() }; return(Ok(response)); } catch (Exception e) { _logger.LogError(e, $"Unable to get providers by course id:{id}"); return(BadRequest()); } }
public void Then_Maps_Feedback_Ratings_And_Attributes(ProviderLocation providerLocation) { var actual = GetProviderDetailResponse.Map(providerLocation); actual.FeedbackRatings.Count.Should().Be(providerLocation.FeedbackRating.Count); actual.FeedbackAttributes.Count.Should().Be(providerLocation.FeedbackAttributes.Count); }
public void Then_Only_All_Ages_Are_Returned(ProviderLocation provider) { //Arrange provider.AchievementRates = new List <AchievementRate> { new AchievementRate { Age = Age.SixteenToEighteen, ApprenticeshipLevel = ApprenticeshipLevel.AllLevels }, new AchievementRate { Age = Age.AllAges, ApprenticeshipLevel = ApprenticeshipLevel.AllLevels }, new AchievementRate { Age = Age.AllAges, ApprenticeshipLevel = ApprenticeshipLevel.Three } }; //Act var actual = GetProviderDetailResponse.Map(provider, (short)Age.AllAges); //Assert actual.AchievementRates.Count.Should().Be(2); }
public void Then_The_Fields_Are_Correctly_Mapped(Shortlist source) { var actual = (GetShortlistItemResponse)source; actual.Id.Should().Be(source.Id); actual.ShortlistUserId.Should().Be(source.ShortlistUserId); actual.ProviderDetails.Should().BeEquivalentTo(GetProviderDetailResponse.Map(source.ProviderLocation)); actual.CourseId.Should().Be(source.StandardId); actual.LocationDescription.Should().Be(source.LocationDescription); actual.CreatedDate.Should().Be(source.CreatedDate); }
public void Then_Maps_Fields(Application.Provider.Queries.ProviderByCourse.GetCourseProviderQueryResponse source) { var actual = GetProviderDetailResponse.Map(source.ProviderStandardLocation); actual.Name.Should().Be(source.ProviderStandardLocation.Name); actual.TradingName.Should().Be(source.ProviderStandardLocation.TradingName); actual.Ukprn.Should().Be(source.ProviderStandardLocation.Ukprn); actual.ContactUrl.Should().Be(source.ProviderStandardLocation.ContactUrl); actual.Email.Should().Be(source.ProviderStandardLocation.Email); actual.Phone.Should().Be(source.ProviderStandardLocation.Phone); actual.AchievementRates.Should().NotBeEmpty(); }
public void Then_Maps_Fields(ProviderLocation provider) { var actual = GetProviderDetailResponse.Map(provider); actual.Ukprn.Should().Be(provider.Ukprn); actual.Name.Should().Be(provider.Name); actual.TradingName.Should().Be(provider.TradingName); actual.ProviderAddress.Should().BeEquivalentTo(provider.Address); actual.Email.Should().Be(provider.Email); actual.Phone.Should().Be(provider.Phone); actual.ContactUrl.Should().Be(provider.ContactUrl); actual.StandardInfoUrl.Should().Be(provider.StandardInfoUrl); actual.MarketingInfo.Should().Be(provider.MarketingInfo); }
public async Task <IActionResult> GetProviderByUkprn(int id, int ukprn, string sectorSubjectArea, double?lat = null, double?lon = null, Guid?shortlistUserId = null) { var queryResult = await _mediator.Send(new GetCourseProviderQuery { Ukprn = ukprn, StandardId = id, Lat = lat, Lon = lon, SectorSubjectArea = sectorSubjectArea, ShortlistUserId = shortlistUserId }); if (queryResult.ProviderStandardLocation == null) { return(NotFound()); } return(Ok(GetProviderDetailResponse.Map(queryResult.ProviderStandardLocation))); }
public void Then_The_Delivery_Modes_Are_Mapped_If_Available(ProviderLocation providerLocation) { var actual = GetProviderDetailResponse.Map(providerLocation); actual.DeliveryTypes.Count.Should().Be(providerLocation.DeliveryTypes.Count); }