public string FetchCountryCode(CountryCodeRequest request) { return(_countries.First(country => request.State.Length > 0 ? country.country == request.Country && country.state == request.State && country.name == request.City : country.country == request.Country && country.name == request.City).id.ToString()); }
private static string GetCountryCode(CountryCodeRequest request) { ICountryFetchCountryCodeUseCase usecase = new FetchCountryCodesUseCase(Codes); usecase.Execute(request, CodePresenter); return(CodePresenter.SuccessContent); }
public async Task <List <Domain.Classes.Weather> > Get(CountryCodeRequest request) { var codePresenter = new PropertyPresenter <string, ErrorOutput>(); var weatherPresenter = new PropertyPresenter <List <Domain.Classes.Weather>, ErrorOutput>(); _countryFetchCountryCodeUseCase.Execute(request, codePresenter); var code = codePresenter.SuccessContent; await _fetchWeatherByCityCodeUseCase.Execute(code, weatherPresenter); var result = weatherPresenter.SuccessContent; return(result); }
public async Task GetCountryByCode_ExceptionOccured_ReturnsServiceUnavailableError() { //Arrange var countryCodeRequest = new CountryCodeRequest() { CountryCode = "RO" }; _countryRepository.Setup(x => x.GetCountryByCode(countryCodeRequest.CountryCode)).Throws(new ApiException()); //Act var response = await _countriesController.GetByCountryCode(countryCodeRequest); Assert.AreEqual(HttpStatusCode.ServiceUnavailable, response.StatusCode); }
public async Task GetCountryByCode_NoMatchingCountry_ReturnsNotFound() { //Arrange var countryCodeRequest = new CountryCodeRequest() { CountryCode = "RO" }; _countryRepository.Setup(x => x.GetCountryByCode(countryCodeRequest.CountryCode)).Returns(Task.FromResult <CountryModelDto>(null)); //Act var response = await _countriesController.GetByCountryCode(countryCodeRequest); Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode); }
public void FetchCountryCode_StateUnderTest_ExpectedBehavior() { // Arrange var countryCodes = new CountryCodes(); CountryCodeRequest request = new CountryCodeRequest() { Country = "ZA", State = "", City = "Johannesburg" }; // Act var result = countryCodes.FetchCountryCode( request); // Assert Assert.True(false); }
public async Task GetCountryByCode_ValidCountryCode_ReturnsTheRightResponse(string countryCode) { //Arrange var countryCodeRequest = new CountryCodeRequest() { CountryCode = countryCode }; _countryRepository.Setup(x => x.GetCountryByCode(countryCodeRequest.CountryCode)).Returns(Task.FromResult(CountryModelDto)); //Act var response = await _countriesController.GetByCountryCode(countryCodeRequest); //Assert Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); var responseObject = GetDynamicObjectFromResponse(response); var expectedResponse = CountryModel; AssertCountryDetails(expectedResponse, responseObject); }
public async Task <HttpResponseMessage> GetByCountryCode(CountryCodeRequest requestModel) { if (ModelState.IsValid) { try { var country = await _countryService.GetCountryByCode(requestModel.CountryCode); if (country == null) { return(Request.CreateResponse(HttpStatusCode.NotFound, "Country not found")); } return(Request.CreateResponse(HttpStatusCode.OK, country)); } catch (ApiException e) { return(Request.CreateResponse(HttpStatusCode.ServiceUnavailable, e.Message)); } } return(Request.CreateResponse((HttpStatusCode)AdditionalHttpStatusCodes.UnprocessableEntity, "Invalid country code")); }
public void Execute(CountryCodeRequest inputTo, IRespondWithSuccessOrError <string, ErrorOutput> presenter) { presenter.Respond(_countryCodes.FetchCountryCode(inputTo)); }