public async Task FindByPostCode_Returns_Empty_List_If_No_Restaurants_Found() { _mockHandler.Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.Is <HttpRequestMessage>(r => r.Method == HttpMethod.Get), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent("{'Restaurants':[]}"), }); var relUrl = new RelativeUrlsOptions { RestaurantsByPostCode = "testurl/" }; _mockOptions.Setup(x => x.Value).Returns(relUrl); using var client = new HttpClient(_mockHandler.Object); client.BaseAddress = new Uri("http://testbaseurl/"); var sut = new RestaurantFinder(client, _mockOptions.Object); var result = await sut.FindByPostCodeAsync("SE19"); Assert.IsTrue(!result.Any()); }
public async Task FindByPostCode_Returns_IEnumerable_Of_Type_Restaurant() { _mockHandler.Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.Is <HttpRequestMessage>(r => r.Method == HttpMethod.Get), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent("{'Restaurants':[{'Name': 'EZee Pizza','RatingStars': 5.0,'CuisineTypes': []}]}"), }); var relUrl = new RelativeUrlsOptions { RestaurantsByPostCode = "testurl/" }; _mockOptions.Setup(x => x.Value).Returns(relUrl); using var client = new HttpClient(_mockHandler.Object); client.BaseAddress = new Uri("http://testbaseurl/"); var sut = new RestaurantFinder(client, _mockOptions.Object); var result = await sut.FindByPostCodeAsync("SE19"); Assert.IsInstanceOfType(result, typeof(IEnumerable <Restaurant>)); }