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); }
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"); }