public void WhenGetsANonOkResponseShouldThrowsAnException() { _responseHandler.AddResponse(FIND_ROUTES_URL, new HttpResponseMessage(HttpStatusCode.BadRequest)); _responseHandler.AddResponse(FIND_STOPS_URL, new HttpResponseMessage(HttpStatusCode.BadRequest)); _responseHandler.AddResponse(FIND_DEPARTURES_URL, new HttpResponseMessage(HttpStatusCode.BadRequest)); var client = new HttpClient (_responseHandler); var repository = new RouteRepository (client); Assert.Throws<Exception> (async () => await repository.FindRoutesByStopNameAsync (string.Empty)); Assert.Throws<Exception> (async () => await repository.FindStopsByRouteIdAsync (0)); Assert.Throws<Exception> (async () => await repository.FindDeparturesByRouteIdAsync (0)); }
public async void GivenOneRouteFromServiceThenReturnsThisRouteWithItsData() { var responseContent = "{ \"rows\": [ { \"id\": 32, \"shortName\": \"133\", \"longName\": \"AGRONÔMICA VIA MAURO RAMOS\", \"lastModifiedDate\": \"2012-07-23T03:00:00+0000\", \"agencyId\": 9 } ], \"rowsAffected\": 0 }"; var response = new HttpResponseMessage(HttpStatusCode.OK); response.Content = new StringContent (responseContent); _responseHandler.AddResponse(FIND_ROUTES_URL, response); var client = new HttpClient (_responseHandler); var repository = new RouteRepository (client); var routes = await repository.FindRoutesByStopNameAsync (string.Empty); Assert.AreEqual (1, routes.Count); Assert.AreEqual (32, routes [0].Id); Assert.AreEqual ("133", routes [0].ShortName); Assert.AreEqual ("AGRONÔMICA VIA MAURO RAMOS", routes [0].LongName); }