public async void failed_request_should_return_empty_CheckCapacitySummaryResult() { var fakeResponse = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("{CheckCapacitySummaryResult: [{}]}") }; var fakeDoSFilteredCase = new DosFilteredCase() { PostCode = "So30 2Un", Disposition = 1010 }; var fakeRequest = new HttpRequestMessage() { Content = new StringContent(JsonConvert.SerializeObject(fakeDoSFilteredCase)) }; _mockDosService.Setup(x => x.GetServices(It.IsAny<HttpRequestMessage>())).Returns(Task<HttpResponseMessage>.Factory.StartNew(() => fakeResponse)); _mockServiceAvailabilityProfileManager.Setup(c => c.FindServiceAvailability(fakeDoSFilteredCase)) .Returns(new ServiceAvailability(_mockServiceAvailabliityProfileResponse, fakeDoSFilteredCase.DispositionTime, fakeDoSFilteredCase.DispositionTimeFrameMinutes)); _mockFilterServicesFeature.Setup(c => c.IsEnabled).Returns(true); //var sut = new ServiceAvailablityManager(_mockConfiguration.Object); var sut = new ServiceAvailabilityFilterService(_mockDosService.Object, _mockConfiguration.Object, _mockServiceAvailabilityProfileManager.Object, _mockFilterServicesFeature.Object); //Act var result = await sut.GetFilteredServices(fakeRequest, true); //Assert _mockDosService.Verify(x => x.GetServices(It.IsAny<HttpRequestMessage>()), Times.Once); var JObj = GetJObjectFromResponse(result); var services = JObj["CheckCapacitySummaryResult"]; Assert.AreEqual("{CheckCapacitySummaryResult: [{}]}", result.Content.ReadAsStringAsync().Result); }
public IServiceAvailability FindServiceAvailability(DosFilteredCase dosFilteredCase) { if (IsDentalDispoition(dosFilteredCase.Disposition)) { return(new DentalServiceAvailability(FindServiceAvailabilityProfile(dosFilteredCase.Disposition), dosFilteredCase.DispositionTime, dosFilteredCase.DispositionTimeFrameMinutes)); } if (IsPrimaryCareDispoition(dosFilteredCase.Disposition)) { return(new PrimaryCareServiceAvailability(FindServiceAvailabilityProfile(dosFilteredCase.Disposition), dosFilteredCase.DispositionTime, dosFilteredCase.DispositionTimeFrameMinutes)); } return(new ServiceAvailability(FindServiceAvailabilityProfile(dosFilteredCase.Disposition), dosFilteredCase.DispositionTime, dosFilteredCase.DispositionTimeFrameMinutes)); }
public async void in_hours_should_return_filtered_CheckCapacitySummaryResult() { var jObj = (JObject)JsonConvert.DeserializeObject(CheckCapacitySummaryResults); var results = jObj["CheckCapacitySummaryResult"].ToObject<List<Models.Models.Web.FromExternalServices.DosService>>(); var fakeDoSFilteredCase = new DosFilteredCase() { PostCode = "So30 2Un", Disposition = 1008, DispositionTime = new DateTime(2016, 11, 23, 9, 30, 0), DispositionTimeFrameMinutes = 60 }; var sut = new ServiceAvailablityManager(_mockConfiguration.Object).FindServiceAvailability(fakeDoSFilteredCase); //Act var result = sut.Filter(results); Assert.AreEqual(1, result.Count()); }
public async void non_filtered_disposition_should_return_unfiltered_CheckCapacitySummaryResult() { var jObj = (JObject)JsonConvert.DeserializeObject(CheckCapacitySummaryResults); var results = jObj["CheckCapacitySummaryResult"].ToObject <List <Models.Models.Business.DosService> >(); var fakeDoSFilteredCase = new DosFilteredCase() { PostCode = "So30 2Un", Disposition = 1010 }; //Act var sut = new ServiceAvailablityManager(_mockConfiguration.Object).FindServiceAvailability(fakeDoSFilteredCase); //Act var result = sut.Filter(results); Assert.AreEqual(3, result.Count()); }
public async void Dental_out_of_hours_traversing_in_hours_should_return_filtered_CheckCapacitySummaryResult() { var jObj = (JObject)JsonConvert.DeserializeObject(CheckCapacitySummaryResults); var results = jObj["CheckCapacitySummaryResult"].ToObject <List <Models.Models.Business.DosService> >(); var fakeDoSFilteredCase = new DosFilteredCase() { PostCode = "So30 2Un", Disposition = 1017, DispositionTime = new DateTime(2016, 12, 1, 22, 1, 0), DispositionTimeFrameMinutes = 1440 }; var sut = new ServiceAvailablityManager(_mockConfiguration.Object).FindServiceAvailability(fakeDoSFilteredCase); //Act var result = sut.Filter(results); //Assert Assert.AreEqual(1, result.Count()); }
public async void Dental_No_Blacklited_Services_Returns_All_CheckCapacitySummaryResults() { _mockConfiguration.Setup(c => c.FilteredDentalDispositionCodes).Returns(""); var jObj = (JObject)JsonConvert.DeserializeObject(CheckCapacitySummaryResults); var results = jObj["CheckCapacitySummaryResult"].ToObject <List <Models.Models.Business.DosService> >(); var fakeDoSFilteredCase = new DosFilteredCase() { PostCode = "So30 2Un", Disposition = 1017, DispositionTime = new DateTime(2016, 11, 23, 7, 31, 0), DispositionTimeFrameMinutes = 720 }; var sut = new ServiceAvailablityManager(_mockConfiguration.Object).FindServiceAvailability(fakeDoSFilteredCase); //Act var result = sut.Filter(results); //Assert Assert.AreEqual(3, result.Count()); }
public HttpRequestMessage BuildRequestMessage(DosFilteredCase dosCase) { return(new HttpRequestMessage { Content = new StringContent(JsonConvert.SerializeObject(dosCase), Encoding.UTF8, "application/json") }); }