コード例 #1
0
        public async Task <IEnumerable <DriverDto> > GetDrivers(DriversResourceParameters driversResourceParameters)
        {
            try
            {
                _logger.LogInformation(LoggingEvents.ListItems, "Get all Drivers with filter", null);

                if (driversResourceParameters == null)
                {
                    throw new ArgumentNullException(nameof(driversResourceParameters));
                }

                if (string.IsNullOrWhiteSpace(driversResourceParameters.Name))
                {
                    return(await GetDrivers());
                }

                _logger.LogInformation(LoggingEvents.ListItems, "Get all Drivers with name filter", null);

                var nameFilter = driversResourceParameters.Name.Trim().ToLower();
                var drivers    = await _driversRepository.GetByName(NameToTitleCase(nameFilter));

                if (drivers.Count() == 0)
                {
                    _logger.LogInformation(LoggingEvents.GetItem, "No Drivers found", null);
                    return(Enumerable.Empty <DriverDto>());
                }

                return(drivers.Select(d => d.Map()));
            }
            catch (Exception ex)
            {
                _logger.LogError(LoggingEvents.ListItems, ex, ex.Message, null);
                throw;
            }
        }
コード例 #2
0
        public async Task <IActionResult> Get([FromQuery] DriversResourceParameters driversResourceParameters)
        {
            _logger.LogInformation("API ENTRY: Inside get all drivers API call.");
            var drivers = await _driversService.GetDrivers(driversResourceParameters);

            return(Ok(drivers));
        }
コード例 #3
0
        public async void DriversController_GetAll_Valid()
        {
            // Arrange
            var mockDriver = MockDriverData.GetAllModelListAsync();
            DriversResourceParameters parameters = new DriversResourceParameters {
            };
            var mockDriverService = new MockDriverService().MockGetAll(mockDriver);
            var mockLogging       = new Mock <ILogger <DriversController> >();
            var controller        = new DriversController(mockDriverService.Object, mockLogging.Object);

            // Act
            var result = await controller.Get(parameters);

            // Assert
            Assert.IsAssignableFrom <IActionResult>(result);
            mockDriverService.VerifyGetAll(Times.Once());
        }
コード例 #4
0
        public async void DriversService_GetAllFilter_NoDrivers()
        {
            // Arrange
            var mockDriver = MockDriverData.GetEmptyEntityListAsync();
            DriversResourceParameters parameters = new DriversResourceParameters {
                Name = "Vettel"
            };
            var mockDriverRepo       = new MockDriverRepository().MockGetByName(mockDriver);
            var mockDriverLoggerRepo = new MockLoggerRepository <DriversService>();
            var mockDriversService   = new DriversService(mockDriverRepo.Object, mockDriverLoggerRepo.Object);

            // Act
            var drivers = await mockDriversService.GetDrivers(parameters);

            //Assert
            Assert.Empty(drivers);
            mockDriverRepo.VerifyGetByNameForDriver(Times.Once());
        }
コード例 #5
0
        public async void DriversController_GetAll_Empty()
        {
            // Arrange
            var mockDriver = MockDriverData.GetEmptyModelListAsync();
            DriversResourceParameters parameters = new DriversResourceParameters {
            };
            var mockDriverService = new MockDriverService().MockGetAll(mockDriver);
            var mockLogging       = new Mock <ILogger <DriversController> >();
            var controller        = new DriversController(mockDriverService.Object, mockLogging.Object);

            // Act
            var result = await controller.Get(parameters);

            // Assert
            var okResult = result.Should().BeOfType <OkObjectResult>().Subject;
            var Driver   = okResult.Value.Should().BeAssignableTo <IEnumerable <DriverDto> >().Subject;

            Driver.Count().Should().Be(0);
            mockDriverService.VerifyGetAll(Times.Once());
        }