public async Task <FlightListDto> GetAllFlights(PaginationArgs pagination)
        {
            var flights = await _flightsRepository.GetAllAsync();

            var flightsDto = _mapper.MapFromFlights(flights.ToList()
                                                    .OrderByDescending(e => e.CreationDate)
                                                    .Skip(pagination.StartIndex.Value)
                                                    .Take(pagination.PageSize.Value));

            int total = _flightsRepository.GetTotal();

            return(new FlightListDto
            {
                Items = flightsDto,
                Total = total
            });
        }
Exemple #2
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);
        }