public async Task <Country[]> GetCountries()
        {
            var data = await _calendarificClient.GetCountries();

            await data.EnsureSuccessStatusCodeAsync();

            data.Content.EnsureSuccessStatusCode();
            var countries = _mapper.Map <ApiCountry[], Country[]>(data.Content.response.countries);

            return(countries);
        }
示例#2
0
        public async Task GetCountries_Returns_ValidData()
        {
            var content = new CalendarificApiResponse <CountriesResponse>()
            {
                meta = new Meta()
                {
                    code = 200
                },
                response = new CountriesResponse()
                {
                    countries = new[]
                    {
                        new ApiCountry()
                        {
                            country_name        = "India",
                            iso3166             = "IN",
                            supported_languages = 2,
                            total_holidays      = 33,
                            uuid = "foo"
                        }
                    }
                }
            };

            _calendarificClient.GetCountries()
            .Returns(new ApiResponse <CalendarificApiResponse <CountriesResponse> >(Substitute.For <HttpResponseMessage>(), content));
            _subjectUnderTest = new CalendarificService(_mapper, _calendarificClient);
            var countries = await _subjectUnderTest.GetCountries();

            countries.Length.ShouldBe(1);
            countries.ElementAt(0).CountryName.ShouldBe("India");
            countries.ElementAt(0).Iso3166.ShouldBe("IN");
            countries.ElementAt(0).SupportedLanguages.ShouldBe(2);
            countries.ElementAt(0).TotalHolidays.ShouldBe(33);
            countries.ElementAt(0).Uuid.ShouldBe("foo");
        }