public void GetCountries_ValidRequest_ReturnsListOfCountries() { // Arrange _mockWeatherDataService .Setup(w => w.GetCountriesAsync()) .ReturnsAsync(new List <Country> { new Country { CountryName = "Afghanistan", CountryCode = "AF", ContinentName = "Asia" }, new Country { CountryName = "Andorra", CountryCode = "AD", ContinentName = "Europe" }, new Country { CountryName = "United Arab Emirates", CountryCode = "AE", ContinentName = "Asia" } }); // Act var response = _controller.GetCountries(); var httpResult = response.GetAwaiter().GetResult() as OkNegotiatedContentResult <IEnumerable <Country> >; // Assert Assert.IsNotNull(httpResult); Assert.IsInstanceOfType(httpResult, typeof(OkNegotiatedContentResult <IEnumerable <Country> >)); Assert.IsNotNull(httpResult.Content); var countries = httpResult.Content; Assert.AreEqual(3, countries.Count()); Assert.AreEqual("Afghanistan", countries.First().CountryName); Assert.AreEqual("United Arab Emirates", countries.Last().CountryName); }
public void GetCountries() { IWeatherRepository _iWeatherRepository = null; _iWeatherRepository = new WeatherRepository(); List <Country> expectedCountries = new List <Country>() { new Country(1, "Australia"), new Country(2, "America"), new Country(3, "England") }; List <Country> actualCountries = null; WeatherController wc = new WeatherController(_iWeatherRepository); wc.Request = new HttpRequestMessage() { Properties = { { HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration() } } }; HttpResponseMessage response = wc.GetCountries(); response.TryGetContentValue <List <Country> >(out actualCountries); Assert.AreEqual(expectedCountries, actualCountries); }