public async Task AddVehicleAsync_WithVehicleRequest_ReturnVehicleResponse()
        {
            // Arrange
            var request = new VehicleRequest
            {
                VehicleId   = 2,
                Number      = "A-002",
                Model       = "Toyota Vios",
                Description = "Red Color"
            };

            var vehicle = new Vehicle
            {
                Id          = Guid.NewGuid(),
                VehicleId   = 2,
                Number      = "A-002",
                Model       = "Toyota Vios",
                Description = "Red Color"
            };

            vehiclesRepository.AddVehicleAsync(Arg.Any <Vehicle>()).Returns(Task.FromResult(vehicle));

            // Act
            var response = await vehiclesService.AddVehicleAsync(request);

            // Assert
            Assert.NotNull(response);
            Assert.IsType <VehicleResponse>(response);
            Assert.Equal(2, response.VehicleId);
            Assert.Equal("A-002", response.Number);
            Assert.Equal("Toyota Vios", response.Model);
            Assert.Equal("Red Color", response.Description);
        }
        public async Task <VehicleResponse> AddVehicleAsync(VehicleRequest request)
        {
            var vehicle = new Vehicle
            {
                VehicleId   = request.VehicleId,
                Number      = request.Number,
                Model       = request.Model,
                Description = request.Description
            };

            await vehiclesRepository.AddVehicleAsync(vehicle);

            return(MapVehicleResponse(vehicle));
        }