Exemplo n.º 1
0
        public void FlightServicesTests_UpdateFlight_ShouldThrowDuplicateFlightException()
        {
            // Arrange
            _flightRepositoryMock.Setup(repo => repo.Search(It.IsAny <Expression <Func <Flight, bool> > >()))
            .Returns(new List <Flight>
            {
                _flightsRecordsMock.First()
            }.AsQueryable());

            var flightToUpdate = new UpdateFlightArgs
            {
                Id                   = 2,
                FlightNumber         = "FakeFlight_1",
                DepartureAirportId   = 1,
                DestinationAirportId = 2,
                AircraftId           = 1,
                FlightDate           = DateTime.Now,
                FlightTime           = DateTime.Now
            };

            var flightServices = new FlightServices(_flightRepositoryMock.Object,
                                                    _airportRepositoryMock.Object,
                                                    _aircraftRepositoryMock.Object,
                                                    _mapperWrapper);

            // Act
            Check.ThatCode(async() => await flightServices.UpdateFlight(flightToUpdate))
            .Throws <DuplicateFlightException>()
            .WithMessage(ErrorMessages.DUPLICATED_FLIGHT_NUMBER);
        }
Exemplo n.º 2
0
        public async Task FlightServicesTests_UpdateFlight_ShouldUpdateSuccessfulyFlight()
        {
            // Arrange
            _flightRepositoryMock.Setup(repo => repo.Search(It.IsAny <Expression <Func <Flight, bool> > >()))
            .Returns(new List <Flight>().AsQueryable());

            var flightToUpdate = new UpdateFlightArgs
            {
                Id                   = 1,
                FlightNumber         = "Updated_FakeFlight_1",
                DepartureAirportId   = 3,
                DestinationAirportId = 4,
                AircraftId           = 1,
                FlightDate           = DateTime.Now,
                FlightTime           = DateTime.Now
            };

            var flightServices = new FlightServices(_flightRepositoryMock.Object,
                                                    _airportRepositoryMock.Object,
                                                    _aircraftRepositoryMock.Object,
                                                    _mapperWrapper);

            // Act
            var updatedFlight = await flightServices.UpdateFlight(flightToUpdate);

            // Assert
            Check.That(updatedFlight).IsNotNull();
            _flightRepositoryMock.Verify(repo => repo.UpdateAsync(It.IsAny <Flight>()), Times.Once);
        }
Exemplo n.º 3
0
        public async Task FlightServicesTests_CreateNewFlight_ShouldAddSuccessfulyNewFlight()
        {
            // Arrange
            _flightRepositoryMock.Setup(repo => repo.Search(It.IsAny <Expression <Func <Flight, bool> > >()))
            .Returns(new List <Flight>().AsQueryable());

            var newFlight = new CreateFlightArgs
            {
                FlightNumber         = "FakeFlight_" + 50,
                DepartureAirportId   = 1,
                DestinationAirportId = 2,
                AircraftId           = 1,
                FlightDate           = DateTime.Now,
                FlightTime           = DateTime.Now
            };

            var flightServices = new FlightServices(_flightRepositoryMock.Object,
                                                    _airportRepositoryMock.Object,
                                                    _aircraftRepositoryMock.Object,
                                                    _mapperWrapper);

            // Act
            var createdFlight = await flightServices.CreateFlight(newFlight);

            // Assert
            Check.That(createdFlight).IsNotNull();
            _flightRepositoryMock.Verify(repo => repo.AddAsync(It.IsAny <Flight>()), Times.Once);
        }
        public void FlightRepo()
        {
            IFlightRepository repo     = new FlightRepository();
            IFlightServices   Business = new FlightServices(repo);

            //var res = Business.GetFlightById("2");
            //Assert.AreEqual("Kigali", res.Destination);
        }
Exemplo n.º 5
0
        public void FlightServicesTests_Delete_ShouldThrowFlightNotFoundException()
        {
            // Arrange
            var flightId = 1134;

            var flightServices = new FlightServices(_flightRepositoryMock.Object,
                                                    _airportRepositoryMock.Object,
                                                    _aircraftRepositoryMock.Object,
                                                    _mapperWrapper);

            // Act && Assert
            Check.ThatCode(async() => await flightServices.DeleteFlight(flightId))
            .Throws <FlightNotFoundException>()
            .WithMessage(string.Format(ErrorMessages.FLIGHT_NOT_FOUND, flightId));
        }
Exemplo n.º 6
0
        public IController CreateController(RequestContext requestContext, string controllerName)
        {
            if (controllerName.ToLower().StartsWith("flight"))
            {
                var Flightrepository = new FlightRepository();
                var service          = new FlightServices(Flightrepository);
                var controller       = new FlightController(service);
                return(controller);
            }


            var defaultFactory = new DefaultControllerFactory();

            return(defaultFactory.CreateController(requestContext, controllerName));
        }
        public void GetCoordinateTest2()
        {
            IFlightRepository repo     = new FlightRepository();
            IFlightServices   Business = new FlightServices(repo);
            double            res      = 0;

            res = DistanceCalculService.CalculDistance(repo.GetAirportById(10).Latitude,
                                                       repo.GetAirportById(10).Longitude, repo.GetAirportById(11).Latitude,
                                                       repo.GetAirportById(11).Longitude);

            res = res / 1000;

            res = Math.Round(res, 4);

            Assert.AreEqual(9290, 7951, res);
        }
        public void DistanceCalculServicesTest1()
        {
            IFlightRepository repo     = new FlightRepository();
            IFlightServices   Business = new FlightServices(repo);
            double            res      = 0;

            res = DistanceCalculService.CalculDistance(repo.GetAirportById(1).Latitude,
                                                       repo.GetAirportById(1).Longitude, repo.GetAirportById(2).Latitude,
                                                       repo.GetAirportById(2).Longitude);

            res = res / 1000;

            res = Math.Round(res, 4);

            Assert.AreEqual(5900.0513, res);
        }
Exemplo n.º 9
0
        public async Task FlightServicesTests_Delete_ShouldCallRepositoryDelete()
        {
            // Arrange
            var flightId = 1;

            var flightServices = new FlightServices(_flightRepositoryMock.Object,
                                                    _airportRepositoryMock.Object,
                                                    _aircraftRepositoryMock.Object,
                                                    _mapperWrapper);

            // Act
            var deletedFlight = await flightServices.DeleteFlight(flightId);

            // Assert
            Check.That(deletedFlight).IsTrue();
            _flightRepositoryMock.Verify(repo => repo.DeleteAsync(It.IsAny <int>()), Times.Once);
        }
Exemplo n.º 10
0
        public void FlightServicesTests_Get_ShouldThrowFlightNotFoundExceptionWhenFlightDoesNotExist()
        {
            //Arrange
            var flightId       = 76767;
            var flightServices = new FlightServices(_flightRepositoryMock.Object,
                                                    _airportRepositoryMock.Object,
                                                    _aircraftRepositoryMock.Object,
                                                    _mapperWrapper);

            // Act && Assert
            Check.ThatCode(async() => await flightServices.GetFlight(new GetFlightArgs
            {
                FlightId = flightId
            }))
            .Throws <FlightNotFoundException>()
            .WithMessage(string.Format(ErrorMessages.FLIGHT_NOT_FOUND, flightId));
        }
Exemplo n.º 11
0
        public void FlightServicesTests_CreateNewFlight_ShouldThrowAircraftNotFoundException()
        {
            // Arrange
            var newFlight = new CreateFlightArgs
            {
                FlightNumber         = "FakeFlight_30",
                DepartureAirportId   = 1,
                DestinationAirportId = 2,
                AircraftId           = 134343,
                FlightDate           = DateTime.Now,
                FlightTime           = DateTime.Now
            };

            var flightServices = new FlightServices(_flightRepositoryMock.Object,
                                                    _airportRepositoryMock.Object,
                                                    _aircraftRepositoryMock.Object,
                                                    _mapperWrapper);

            // Act
            Check.ThatCode(async() => await flightServices.CreateFlight(newFlight))
            .Throws <AircraftNotFoundException>()
            .WithMessage(string.Format(ErrorMessages.AIRCRAFT_NOT_FOUND, newFlight.AircraftId));
        }
Exemplo n.º 12
0
        public void FlightServicesTests_CreateNewFlight_ShouldThrowSameDepartureAndDestinationAirportsException()
        {
            // Arrange
            var newFlight = new CreateFlightArgs
            {
                FlightNumber         = "FakeFlight_30",
                DepartureAirportId   = 1,
                DestinationAirportId = 1,
                AircraftId           = 1,
                FlightDate           = DateTime.Now,
                FlightTime           = DateTime.Now
            };

            var flightServices = new FlightServices(_flightRepositoryMock.Object,
                                                    _airportRepositoryMock.Object,
                                                    _aircraftRepositoryMock.Object,
                                                    _mapperWrapper);

            // Act
            Check.ThatCode(async() => await flightServices.CreateFlight(newFlight))
            .Throws <SameDepartureAndDestinationAirportsException>()
            .WithMessage(ErrorMessages.SAME_DEPARTURE_AND_DESTINATION);
        }
Exemplo n.º 13
0
        public async Task FlightServicesTests_GetAllFlights_ShouldReturnAllFlights()
        {
            // Arrange
            var flightServices = new FlightServices(_flightRepositoryMock.Object,
                                                    _airportRepositoryMock.Object,
                                                    _aircraftRepositoryMock.Object,
                                                    _mapperWrapper);

            // Expected
            var expectedFlights = _mapperWrapper.MapFromFlights(_flightsRecordsMock);

            // Act
            var currentFlights = await flightServices.GetAllFlights(new PaginationArgs
            {
                PageSize   = int.MaxValue,
                StartIndex = 0
            });

            // Assert
            Check.That(currentFlights).IsNotNull();
            Check.That(currentFlights.Total).IsEqualTo(expectedFlights.Count());
            _flightRepositoryMock.Verify(repo => repo.GetAllAsync(), Times.Once);
        }
Exemplo n.º 14
0
        public void FlightServicesTests_UpdateFlight_ShouldThrowDestinationAirportNotFoundException()
        {
            // Arrange
            var flightToUpdate = new UpdateFlightArgs
            {
                Id                   = 1,
                FlightNumber         = "FakeFlight_30",
                DepartureAirportId   = 1,
                DestinationAirportId = 232323,
                AircraftId           = 1,
                FlightDate           = DateTime.Now,
                FlightTime           = DateTime.Now
            };

            var flightServices = new FlightServices(_flightRepositoryMock.Object,
                                                    _airportRepositoryMock.Object,
                                                    _aircraftRepositoryMock.Object,
                                                    _mapperWrapper);

            // Act
            Check.ThatCode(async() => await flightServices.UpdateFlight(flightToUpdate))
            .Throws <AirportNotFoundException>()
            .WithMessage(string.Format(ErrorMessages.DESTINATION_AIRPORT_NOT_FOUND, flightToUpdate.DestinationAirportId));
        }
Exemplo n.º 15
0
        public async Task FlightServicesTests_Get_ShouldReturnAFlightById()
        {
            //Arrange
            var flightId       = _flightsRecordsMock.First().Id;
            var flightServices = new FlightServices(_flightRepositoryMock.Object,
                                                    _airportRepositoryMock.Object,
                                                    _aircraftRepositoryMock.Object,
                                                    _mapperWrapper);

            // Expected
            var expectFlight = _mapperWrapper.MapFromFlight(_flightsRecordsMock.First());

            // Act

            var currentFlight = await flightServices.GetFlight(new GetFlightArgs
            {
                FlightId = flightId
            });

            // Assert
            Check.That(currentFlight).IsNotNull();
            Check.That(currentFlight).HasFieldsWithSameValues(expectFlight);
            _flightRepositoryMock.Verify(repo => repo.GetAsync(It.IsAny <object>()), Times.Once);
        }