Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }