public void ShouldGetWeatherForCities() { // Arrange var cities = new List <string> { "Kiev", "Vilnius", "Riga" }; var weather = new CityWeather { City = "Kiev", Precipitation = 2, Temperature = 2, Weather = "Test" }; var httpMessageHandler = new FakeHttpMessageHandler(SetupResponseMessage(System.Net.HttpStatusCode.OK, weather)); var client = new HttpClient(httpMessageHandler); // Sut var sut = new WeatherHttpClientBuilder().WithHttpClient(client).Build(); // Act var result = sut.GetWeatherFor(cities).Result; // Assert var cityList = result.ToList(); Assert.IsTrue(cityList.Count == 3); }
public void ShouldReturnNothingWhenStatusCodeNot200() { // Arrange var httpMessageHandler = new FakeHttpMessageHandler(SetupResponseMessage(System.Net.HttpStatusCode.BadRequest, null)); var client = new HttpClient(httpMessageHandler); // Sut var sut = new WeatherHttpClientBuilder().WithHttpClient(client).Build(); // Act var result = sut.GetWeatherFor(new List <string>() { "city" }).Result; // Assert Assert.IsTrue(result.ToList().Count == 0); }
public void ShouldReturnNothingWhenExceptionThrown() { // Arrange var exception = new HttpRequestException("Test"); var httpMessageHandler = new ThrowingExceptionMessageHandler(exception); var client = new HttpClient(httpMessageHandler); // Sut var sut = new WeatherHttpClientBuilder().WithHttpClient(client).Build(); // Act var result = sut.GetWeatherFor(new List <string>() { "test" }).Result; // Assert Assert.IsTrue(result.ToList().Count == 0); }