public void GetLocations_ReturnsNotFoundResult_WhenUnknownTripIdentifier(string tripIdentifier)
        {
            var mockRepository = Substitute.For <ITripRepository>();

            mockRepository.FindTrip(tripIdentifier).Returns(x => null);
            var controller = new TripController(mockRepository);

            var result = controller.GetLocations(tripIdentifier);

            Assert.IsType <NotFoundResult>(result);
        }
        public void GetLocations_ReturnsLocations_WhenValidRequest()
        {
            const string tripIdentifier = "ab7d8df0-e952-4956-8c38-0351b90fd045";
            var          trip           = new Trip
            {
                TripIdentifier = tripIdentifier,
                Locations      = TestUtils.GetDummyLocations()
            };

            var mockRepository = Substitute.For <ITripRepository>();

            mockRepository.FindTrip(tripIdentifier).Returns(trip);

            var controller = new TripController(mockRepository);

            var result = controller.GetLocations(tripIdentifier);

            var okResult          = Assert.IsType <OkObjectResult>(result);
            var responseLocations = Assert.IsAssignableFrom <IEnumerable <LocationDto> >(okResult.Value);

            TestUtils.AssertEqual(trip.Locations, responseLocations.ToList());
        }