Пример #1
0
        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);
        }