public void GetRoadsStatusAsync_WhenHttpStatusIsNot200Or404_ReturnsEmptyListOfRoads() { var expectedCount = 0; var urlPath = "roads/A13"; var mockHttp = new MockHttpMessageHandler(); mockHttp.When("https://appapi/roads/A13") .Respond(req => new HttpResponseMessage(HttpStatusCode.BadRequest)); var apiClient = mockHttp.ToHttpClient(); apiClient.BaseAddress = new Uri("https://appapi/"); roadRepository = new RoadRepository(apiClient); var result = roadRepository.GetAllAsync(urlPath).GetAwaiter().GetResult(); Assert.That(result, Is.TypeOf <List <Road> >()); Assert.That(result, Has.Count.EqualTo(expectedCount)); }
public void GetRoadsStatusAsync_WhenHttpStatusIs200_ReturnsNonEmptyListOfRoads() { var roads = new List <Road>(); roads.Add(new Road { Type = "Tfl.Api.Presentation.Entities.RoadCorridor, Tfl.Api.Presentation.Entities", Id = "a13", DisplayName = "A13", StatusSeverity = "Good", StatusSeverityDescription = "No Exceptional Delays", Url = "/Road/a13" }); var expectedCount = roads.Count; var urlPath = "roads/A13"; var mockHttp = new MockHttpMessageHandler(); mockHttp.When("https://appapi/roads/A13") .Respond("application/json", GetRoadStatusJson(roads)); var apiClient = mockHttp.ToHttpClient(); apiClient.BaseAddress = new Uri("https://appapi/"); roadRepository = new RoadRepository(apiClient); var result = roadRepository.GetAllAsync(urlPath).GetAwaiter().GetResult(); Assert.That(result, Is.TypeOf <List <Road> >()); Assert.That(result, Has.Count.EqualTo(expectedCount)); Assert.That(result[0].Id, Is.EquivalentTo(roads[0].Id)); Assert.That(result[0].Type, Is.EquivalentTo(roads[0].Type)); Assert.That(result[0].DisplayName, Is.EquivalentTo(roads[0].DisplayName)); Assert.That(result[0].StatusSeverity, Is.EquivalentTo(roads[0].StatusSeverity)); Assert.That(result[0].StatusSeverityDescription, Is.EquivalentTo(roads[0].StatusSeverityDescription)); Assert.That(result[0].Url, Is.EquivalentTo(roads[0].Url)); }