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

            var newFlight = new CreateFlightArgs
            {
                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.CreateFlight(newFlight))
            .Throws <DuplicateFlightException>()
            .WithMessage(ErrorMessages.DUPLICATED_FLIGHT_NUMBER);
        }
Exemplo n.º 2
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);
        }
Exemplo n.º 3
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.º 4
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);
        }