public void Setup() { _trackedVehicleRepository = Substitute.For <ITrackedVehicleRepository>(); _customerService = Substitute.For <ICustomerService>(); _vehicleService = Substitute.For <IVehicleService>(); _busPublisher = Substitute.For <IBusPublisher>(); _logger = Substitute.For <ILogger <TrackVehicleHandler> >(); _trackVehicleHandler = new TrackVehicleHandler(_trackedVehicleRepository, _customerService, _vehicleService, _busPublisher, _logger); _vehicleId = Guid.NewGuid().ToString(); _ipAddress = "216.3.128.12"; _command = new TrackVehicleCommand(_vehicleId, _ipAddress); }
public async Task <IActionResult> TrackVehicle([FromBody] TrackVehicleCommand command) { if (command == null || string.IsNullOrEmpty(command.VehicleId) || string.IsNullOrEmpty(command.IPAddress)) { return(BadRequest()); } await _busPublisher.PublishAsync(command) .AnyContext(); return(Accepted()); }