public void Then_Maps_Feedback_Rating_To_A_Score(GetProvidersListItem source, string sectorSubjectArea) { source.FeedbackRatings = new List <GetFeedbackRatingItem> { new GetFeedbackRatingItem { FeedbackName = "Good", FeedbackCount = 92, }, new GetFeedbackRatingItem { FeedbackName = "Excellent", FeedbackCount = 29, }, new GetFeedbackRatingItem { FeedbackName = "Poor", FeedbackCount = 7, }, new GetFeedbackRatingItem { FeedbackName = "Very Poor", FeedbackCount = 1, } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.Feedback.TotalEmployerResponses.Should().Be(129); response.Feedback.TotalFeedbackRating.Should().Be(3); }
public void Then_Returns_Empty_Feedback_Attribute_Lists_If_Totals_Are_Zero(GetProvidersListItem source, string sectorSubjectArea) { source.FeedbackAttributes = new List <GetFeedbackAttributeItem> { new GetFeedbackAttributeItem { AttributeName = "First Attribute", Strength = 10, Weakness = 10 }, new GetFeedbackAttributeItem { AttributeName = "Second Attribute", Strength = 12, Weakness = 12 }, new GetFeedbackAttributeItem { AttributeName = "Third Attribute", Strength = 13, Weakness = 13 } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.Feedback.FeedbackAttributes.Strengths.Should().BeEmpty(); response.Feedback.FeedbackAttributes.Weaknesses.Should().BeEmpty(); }
public void Then_Returns_Feedback_Of_Four_If_Max(GetProvidersListItem source, string sectorSubjectArea) { source.EmployerFeedback.FeedbackRatings = new List <GetEmployerFeedbackRatingItem> { new GetEmployerFeedbackRatingItem { FeedbackName = "Excellent", FeedbackCount = 6, } }; source.ApprenticeFeedback.ProviderRating = new List <GetApprenticeFeedbackRatingItem> { new GetApprenticeFeedbackRatingItem { Rating = "Excellent", Count = 6, } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), new List <FeedbackRatingType>(), true); response.EmployerFeedback.TotalEmployerResponses.Should().Be(6); response.EmployerFeedback.TotalFeedbackRating.Should().Be(4); response.ApprenticeFeedback.TotalApprenticeResponses.Should().Be(6); response.ApprenticeFeedback.TotalFeedbackRating.Should().Be(4); }
public void Then_Maps_FeedbackDetail(GetProvidersListItem source, string sectorSubjectArea) { source.FeedbackRatings = new List <GetFeedbackRatingItem> { new GetFeedbackRatingItem { FeedbackName = "Good", FeedbackCount = 92, }, new GetFeedbackRatingItem { FeedbackName = "Excellent", FeedbackCount = 29, }, new GetFeedbackRatingItem { FeedbackName = "Poor", FeedbackCount = 7, }, new GetFeedbackRatingItem { FeedbackName = "Very Poor", FeedbackCount = 1, } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.Feedback.FeedbackDetail.Should().BeEquivalentTo(source.FeedbackRatings); }
public void Then_No_Weaknesses_Returns_Empty_List(GetProvidersListItem source, string sectorSubjectArea) { source.FeedbackAttributes = new List <GetFeedbackAttributeItem> { new GetFeedbackAttributeItem { AttributeName = "First Attribute", Strength = 12, Weakness = 10 }, new GetFeedbackAttributeItem { AttributeName = "Second Attribute", Strength = 13, Weakness = 12 }, new GetFeedbackAttributeItem { AttributeName = "Third Attribute", Strength = 14, Weakness = 13 } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.Feedback.FeedbackAttributes.Strengths.Should().NotBeEmpty(); response.Feedback.FeedbackAttributes.Strengths.Should().Contain(source.FeedbackAttributes.Select(c => c.AttributeName).ToList()); response.Feedback.FeedbackAttributes.Weaknesses.Should().BeEmpty(); }
public void Then_Maps_Fields_Appropriately( GetProvidersListItem source) { var response = (GetTrainingCourseProviderListItem)source; response.Name.Should().Be(source.Name); response.ProviderId.Should().Be(source.Ukprn); }
public void Then_The_Fields_Are_Correctly_Mapped(GetProvidersListItem source) { //Arrange var actual = (GetProviderResponse)source; //Assert actual.Should().BeEquivalentTo(source); }
public void Then_Maps_The_Fields_Correctly(GetProvidersListItem source) { //Act var actual = (GetProvidersResponse)source; //Assert actual.Should().BeEquivalentTo(source); }
public void Then_Maps_Zero_If_No_Feedback(GetProvidersListItem source, string sectorSubjectArea) { source.FeedbackRatings = null; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.Feedback.TotalEmployerResponses.Should().Be(0); response.Feedback.TotalFeedbackRating.Should().Be(0); }
public GetTrainingCourseProviderListItem Map(GetProvidersListItem source, string sectorSubjectArea, int level, List <DeliveryModeType> deliveryModes, List <FeedbackRatingType> employerFeedbackRatings, List <FeedbackRatingType> apprenticeFeedbackRatings, bool hasLocation) { var achievementRate = GetAchievementRateItem(source.AchievementRates, sectorSubjectArea, level); var getDeliveryTypes = FilterDeliveryModes(source.DeliveryTypes); var getEmployerFeedbackResponse = EmployerFeedbackResponse(source.EmployerFeedback); var getApprenticeFeedbackResponse = ApprenticeFeedbackResponse(source.ApprenticeFeedback); if (deliveryModes != null && deliveryModes.Any()) { if (!deliveryModes.Exists(c => getDeliveryTypes.Select(x => x.DeliveryModeType).Contains(c))) { return(null); } if (deliveryModes.Contains(DeliveryModeType.National)) { if (getDeliveryTypes.FirstOrDefault(x => x.National && x.DeliveryModeType == DeliveryModeType.Workplace) == null) { return(null); } } } if (employerFeedbackRatings != null && employerFeedbackRatings.Any() && !employerFeedbackRatings.Contains((FeedbackRatingType)getEmployerFeedbackResponse.TotalFeedbackRating)) { return(null); } if (apprenticeFeedbackRatings != null && apprenticeFeedbackRatings.Any() && !apprenticeFeedbackRatings.Contains((FeedbackRatingType)getApprenticeFeedbackResponse.TotalFeedbackRating)) { return(null); } return(new GetTrainingCourseProviderListItem { Name = source.Name, TradingName = source.TradingName, ProviderId = source.Ukprn, ShortlistId = source.ShortlistId, OverallCohort = achievementRate?.OverallCohort, OverallAchievementRate = achievementRate?.OverallAchievementRate, DeliveryModes = getDeliveryTypes, EmployerFeedback = getEmployerFeedbackResponse, ApprenticeFeedback = getApprenticeFeedbackResponse, HasLocation = hasLocation }); }
public async Task Then_The_Api_Is_Called_With_The_Request_And_Providers_Returned( GetProviderQuery query, GetProvidersListItem apiResponse, [Frozen] Mock <ICourseDeliveryApiClient <CourseDeliveryApiConfiguration> > apiClient, GetProviderQueryHandler handler ) { apiClient.Setup(x => x.Get <GetProvidersListItem>( It.Is <GetProviderRequest>(c => c.GetUrl.Equals($"api/providers/{query.Id}")))) .ReturnsAsync(apiResponse); var actual = await handler.Handle(query, CancellationToken.None); actual.Provider.Should().BeEquivalentTo(apiResponse); }
public async Task Then_Nulls_Are_Filtered_Out_From_The_Providers_List_And_The_Filtered_Count_Returned( int id, GetCourseProvidersRequest request, GetProvidersListItem provider1, GetProvidersListItem provider2, ProviderCourseSortOrder.SortOrder sortOrder, GetTrainingCourseProvidersResult mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] TrainingCoursesController controller) { request.DeliveryModes = new List <DeliveryModeType> { DeliveryModeType.Workplace }; provider1.DeliveryTypes = provider1.DeliveryTypes.Select(c => { c.DeliveryModes = "100PercentEmployer"; return(c); }).ToList(); provider2.DeliveryTypes = provider2.DeliveryTypes.Select(c => { c.DeliveryModes = "DayRelease"; return(c); }).ToList(); mediatorResult.Providers = new List <GetProvidersListItem> { provider1, provider2 }; mockMediator .Setup(mediator => mediator.Send( It.Is <GetTrainingCourseProvidersQuery>(c => c.Id.Equals(id)), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); var controllerResult = await controller.GetProviders(id, request) as ObjectResult; Assert.IsNotNull(controllerResult); controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK); var model = controllerResult.Value as GetTrainingCourseProvidersResponse; Assert.IsNotNull(model); model.TrainingCourseProviders.Count().Should().Be(1); model.Total.Should().Be(mediatorResult.Total); model.TotalFiltered.Should().Be(model.TrainingCourseProviders.Count()); }
public void Then_Maps_Not_Found_Delivery_Mode(string sectorSubjectArea, GetProvidersListItem source) { var deliveryTypeItem = new GetDeliveryTypeItem { DeliveryModes = "NotFound" }; source.DeliveryTypes = new List <GetDeliveryTypeItem> { deliveryTypeItem }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.DeliveryModes.First().DeliveryModeType.Should().Be(DeliveryModeType.NotFound); response.DeliveryModes.First().Address1.Should().BeNullOrEmpty(); response.DeliveryModes.First().Address2.Should().BeNullOrEmpty(); response.DeliveryModes.First().County.Should().BeNullOrEmpty(); response.DeliveryModes.First().Postcode.Should().BeNullOrEmpty(); response.DeliveryModes.First().Town.Should().BeNullOrEmpty(); response.DeliveryModes.First().DistanceInMiles.Should().Be(0); }
public void Then_Maps_Fields_Appropriately_Matching_AchievementRate( string sectorSubjectArea, GetProvidersListItem source, GetAchievementRateItem item, GetAchievementRateItem item2) { item.SectorSubjectArea = sectorSubjectArea; item.Level = "Two"; source.AchievementRates = new List <GetAchievementRateItem> { item, item2 }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 2, null, null, true); response.Name.Should().Be(source.Name); response.ProviderId.Should().Be(source.Ukprn); response.OverallCohort.Should().Be(item.OverallCohort); response.HasLocation.Should().BeTrue(); response.OverallAchievementRate.Should().Be(item.OverallAchievementRate); }
public void Then_Returns_Feedback_Of_Four_If_Between_Boundary(GetProvidersListItem source, string sectorSubjectArea) { source.FeedbackRatings = new List <GetFeedbackRatingItem> { new GetFeedbackRatingItem { FeedbackName = "Good", FeedbackCount = 1, }, new GetFeedbackRatingItem { FeedbackName = "Excellent", FeedbackCount = 1, } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.Feedback.TotalEmployerResponses.Should().Be(2); response.Feedback.TotalFeedbackRating.Should().Be(4); }
public void Then_Returns_Feedback_Of_Three_If_Between_Boundary(GetProvidersListItem source, string sectorSubjectArea) { source.EmployerFeedback.FeedbackRatings = new List <GetEmployerFeedbackRatingItem> { new GetEmployerFeedbackRatingItem { FeedbackName = "Poor", FeedbackCount = 4, }, new GetEmployerFeedbackRatingItem { FeedbackName = "Good", FeedbackCount = 4, } }; source.ApprenticeFeedback.ProviderRating = new List <GetApprenticeFeedbackRatingItem> { new GetApprenticeFeedbackRatingItem { Rating = "Poor", Count = 4, }, new GetApprenticeFeedbackRatingItem { Rating = "Good", Count = 4, } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), new List <FeedbackRatingType>(), true); response.EmployerFeedback.TotalEmployerResponses.Should().Be(8); response.EmployerFeedback.TotalFeedbackRating.Should().Be(3); response.ApprenticeFeedback.TotalApprenticeResponses.Should().Be(8); response.ApprenticeFeedback.TotalFeedbackRating.Should().Be(3); }
public void Then_If_Delivery_Modes_Are_Passed_The_Results_Are_Filtered(string sectorSubjectArea, GetProvidersListItem source) { source.AchievementRates = null; source.DeliveryTypes = new List <GetDeliveryTypeItem> { new GetDeliveryTypeItem { DeliveryModes = "100PercentEmployer|DayRelease", DistanceInMiles = 2.5m }, new GetDeliveryTypeItem { DeliveryModes = "100PercentEmployer|DayRelease|BlockRelease", DistanceInMiles = 3.1m }, new GetDeliveryTypeItem { DeliveryModes = "BlockRelease", DistanceInMiles = 5.5m } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType> { DeliveryModeType.DayRelease }, new List <FeedbackRatingType>(), true); response.DeliveryModes.Count.Should().Be(3); response.DeliveryModes.Should().Contain(c => c.DeliveryModeType == DeliveryModeType.DayRelease); }
public async Task Then_FeedbackRating_Filter_Is_Applied( int id, GetCourseProvidersRequest request, string location, GetProvidersListItem provider1, GetProvidersListItem provider2, GetProvidersListItem provider3, GetTrainingCourseProvidersResult mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] TrainingCoursesController controller) { request.ProviderRatings = new List <FeedbackRatingType> { FeedbackRatingType.Excellent, FeedbackRatingType.Good }; request.DeliveryModes = null; provider1.FeedbackRatings = new List <GetFeedbackRatingItem> { new GetFeedbackRatingItem { FeedbackName = "Excellent", FeedbackCount = 1, } }; provider2.FeedbackRatings = new List <GetFeedbackRatingItem> { new GetFeedbackRatingItem { FeedbackName = "Poor", FeedbackCount = 1, } }; provider3.FeedbackRatings = new List <GetFeedbackRatingItem> { new GetFeedbackRatingItem { FeedbackName = "Good", FeedbackCount = 1, } }; mediatorResult.Providers = new List <GetProvidersListItem> { provider1, provider2, provider3 }; mockMediator .Setup(mediator => mediator.Send( It.Is <GetTrainingCourseProvidersQuery>(c => c.Id.Equals(id)), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); var controllerResult = await controller.GetProviders(id, request) as ObjectResult; Assert.IsNotNull(controllerResult); controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK); var model = controllerResult.Value as GetTrainingCourseProvidersResponse; Assert.IsNotNull(model); model.TrainingCourseProviders.Count().Should().Be(2); model.Total.Should().Be(mediatorResult.Total); model.TotalFiltered.Should().Be(model.TrainingCourseProviders.Count()); }
public void Then_Maps_Delivery_Types_Returning_The_Smallest_Distance_Only_For_One_Type(string deliveryModeString, DeliveryModeType deliveryModeType, string sectorSubjectArea, GetProvidersListItem source) { source.AchievementRates = null; source.DeliveryTypes = new List <GetDeliveryTypeItem> { new GetDeliveryTypeItem { DeliveryModes = deliveryModeString, DistanceInMiles = 2.5m }, new GetDeliveryTypeItem { DeliveryModes = deliveryModeString, DistanceInMiles = 3.1m }, new GetDeliveryTypeItem { DeliveryModes = deliveryModeString, DistanceInMiles = 5.5m } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.DeliveryModes.Count.Should().Be(1); response.DeliveryModes.FirstOrDefault(c => c.DeliveryModeType == deliveryModeType)?.DistanceInMiles.Should().Be(2.5m); response.DeliveryModes.FirstOrDefault().National.Should().BeFalse(); }
public void Then_Returns_The_Top_Three_Feedback_Attribute_Strengths_And_Weaknesses(GetProvidersListItem source, string sectorSubjectArea) { source.FeedbackAttributes = new List <GetFeedbackAttributeItem> { new GetFeedbackAttributeItem { AttributeName = "First Attribute", Strength = 11, Weakness = 10 }, new GetFeedbackAttributeItem { AttributeName = "Second Attribute", Strength = 11, Weakness = 10 }, new GetFeedbackAttributeItem { AttributeName = "Third Attribute", Strength = 13, Weakness = 10 }, new GetFeedbackAttributeItem { AttributeName = "Fourth Attribute", Strength = 14, Weakness = 10 }, new GetFeedbackAttributeItem { AttributeName = "Fifth Attribute", Strength = 11, Weakness = 11 }, new GetFeedbackAttributeItem { AttributeName = "Sixth Attribute", Strength = 13, Weakness = 14 }, new GetFeedbackAttributeItem { AttributeName = "Seventh Attribute", Strength = 14, Weakness = 15 }, new GetFeedbackAttributeItem { AttributeName = "Eighth Attribute", Strength = 14, Weakness = 20 }, new GetFeedbackAttributeItem { AttributeName = "Ninth Attribute", Strength = 140, Weakness = 144 }, new GetFeedbackAttributeItem { AttributeName = "Tenth Attribute", Strength = 10, Weakness = 14 } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.Feedback.FeedbackAttributes.Strengths.Should().ContainInOrder(new List <string> { "Fourth Attribute", "Third Attribute", "First Attribute" }); response.Feedback.FeedbackAttributes.Weaknesses.Should().ContainInOrder(new List <string> { "Eighth Attribute", "Ninth Attribute", "Tenth Attribute" }); }
public void Then_Maps_All_DeliveryType_Fields_And_Sets_At_WorkPlace_Distance_To_Zero(string sectorSubjectArea, GetProvidersListItem source, GetDeliveryTypeItem item) { source.AchievementRates = null; item.DeliveryModes = "100PercentEmployer"; source.DeliveryTypes = new List <GetDeliveryTypeItem> { item }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.DeliveryModes.First().Should().BeEquivalentTo(item, options => options.Excluding(c => c.DeliveryModes).Excluding(c => c.DistanceInMiles)); response.DeliveryModes.First().DeliveryModeType.Should().Be(DeliveryModeType.Workplace); response.DeliveryModes.First().DistanceInMiles.Should().Be(0m); }
public void Then_Maps_Fields_Appropriately_Returning_Null_For_AchievementRate_Data_If_No_Matching_No_AchievementRate(string sectorSubjectArea, GetProvidersListItem source, GetAchievementRateItem item, GetAchievementRateItem item2) { source.AchievementRates = new List <GetAchievementRateItem> { item, item2 }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, null, null, true); response.Name.Should().Be(source.Name); response.ProviderId.Should().Be(source.Ukprn); response.OverallCohort.Should().BeNull(); response.OverallAchievementRate.Should().BeNull(); }
public void Then_If_Same_Feedback_Attribute_Score_And_Same_Responses_Then_The_Attribute_Is_Returned_In_Alphabetical_Order(GetProvidersListItem source, string sectorSubjectArea) { source.FeedbackAttributes = new List <GetFeedbackAttributeItem> { new GetFeedbackAttributeItem { AttributeName = "Sixth Attribute", Strength = 14, Weakness = 13 }, new GetFeedbackAttributeItem { AttributeName = "Seventh Attribute", Strength = 15, Weakness = 14 } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.Feedback.FeedbackAttributes.Strengths.Should().ContainInOrder(new List <string> { "Seventh Attribute" }); }
public void Then_Maps_Delivery_Types_Returning_The_Smallest_Distance_Only(string sectorSubjectArea, GetProvidersListItem source) { source.AchievementRates = null; source.DeliveryTypes = new List <GetDeliveryTypeItem> { new GetDeliveryTypeItem { DeliveryModes = "100PercentEmployer|DayRelease", DistanceInMiles = 2.5m, National = true }, new GetDeliveryTypeItem { DeliveryModes = "100PercentEmployer|DayRelease|BlockRelease", DistanceInMiles = 3.1m }, new GetDeliveryTypeItem { DeliveryModes = "BlockRelease", DistanceInMiles = 5.5m } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.DeliveryModes.Count.Should().Be(3); response.DeliveryModes.FirstOrDefault(c => c.DeliveryModeType == DeliveryModeType.BlockRelease)?.DistanceInMiles.Should().Be(3.1m); response.DeliveryModes.FirstOrDefault(c => c.DeliveryModeType == DeliveryModeType.DayRelease)?.DistanceInMiles.Should().Be(2.5m); response.DeliveryModes.FirstOrDefault(c => c.DeliveryModeType == DeliveryModeType.Workplace)?.DistanceInMiles.Should().Be(0m); response.DeliveryModes.FirstOrDefault().National.Should().BeTrue(); }
public void Then_If_Same_Feedback_Attribute_Score_Then_The_Attribute_With_Most_Response_Is_First(GetProvidersListItem source, string sectorSubjectArea) { source.FeedbackAttributes = new List <GetFeedbackAttributeItem> { new GetFeedbackAttributeItem { AttributeName = "Zattribute", Strength = 140, Weakness = 144 }, new GetFeedbackAttributeItem { AttributeName = "Yattribute", Strength = 1040, Weakness = 1044 }, new GetFeedbackAttributeItem { AttributeName = "Attribute", Strength = 10, Weakness = 14 } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.Feedback.FeedbackAttributes.Weaknesses.Should().ContainInOrder(new List <string> { "Yattribute", "Zattribute", "Attribute" }); }
public void Then_Maps_Fields_Appropriately_Returning_Null_For_AchievementRate_Data_If_No_AchievementRates_And_Empty_List_For_DeliveryModes_If_No_Delivery_Modes(string sectorSubjectArea, GetProvidersListItem source) { source.AchievementRates = null; source.DeliveryTypes = new List <GetDeliveryTypeItem>(); var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType>(), true); response.Name.Should().Be(source.Name); response.ProviderId.Should().Be(source.Ukprn); response.OverallCohort.Should().BeNull(); response.OverallAchievementRate.Should().BeNull(); response.DeliveryModes.Should().BeEmpty(); }
public void Then_If_There_Are_Multiple_Ratings_To_Filter_Then_Matches_On_Values(string sectorSubjectArea, GetProvidersListItem source) { source.FeedbackRatings = new List <GetFeedbackRatingItem> { new GetFeedbackRatingItem { FeedbackName = "Good", FeedbackCount = 1, }, new GetFeedbackRatingItem { FeedbackName = "Excellent", FeedbackCount = 1, } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType>(), new List <FeedbackRatingType> { FeedbackRatingType.Poor, FeedbackRatingType.Excellent }, true); response.Should().NotBeNull(); response.Should().BeEquivalentTo(source, options => options.ExcludingMissingMembers()); }
public void Then_If_National_At_Workplace_Is_Selected_As_Delivery_Mode_Filter_Then_Not_Null_Returned_If_National_At_Workplace(string sectorSubjectArea, GetProvidersListItem source) { source.AchievementRates = null; source.DeliveryTypes = new List <GetDeliveryTypeItem> { new GetDeliveryTypeItem { DeliveryModes = "100PercentEmployer", DistanceInMiles = 2.5m, National = true } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType> { DeliveryModeType.Workplace, DeliveryModeType.National }, new List <FeedbackRatingType>(), true); response.Should().NotBeNull(); }
public void The_If_There_Are_Delivery_Modes_To_Filter_And_Returns_No_Delivery_Modes_After_Filter_Then_Null_Returned(string sectorSubjectArea, GetProvidersListItem source) { source.AchievementRates = null; source.DeliveryTypes = new List <GetDeliveryTypeItem> { new GetDeliveryTypeItem { DeliveryModes = "BlockRelease", DistanceInMiles = 5.5m } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType> { DeliveryModeType.DayRelease }, new List <FeedbackRatingType>(), true); response.Should().BeNull(); }
public void Then_If_There_Are_Multiple_Delivery_Modes_Filtered_And_Match_Then_It_Is_Returned_Correctly(string sectorSubjectArea, GetProvidersListItem source) { source.AchievementRates = null; source.DeliveryTypes = new List <GetDeliveryTypeItem> { new GetDeliveryTypeItem { DeliveryModes = "100PercentEmployer|DayRelease", DistanceInMiles = 2.5m } }; var response = new GetTrainingCourseProviderListItem().Map(source, sectorSubjectArea, 1, new List <DeliveryModeType> { DeliveryModeType.DayRelease, DeliveryModeType.Workplace }, new List <FeedbackRatingType>(), true); response.DeliveryModes.Count.Should().Be(2); }