public void CreateVehicle_SuccessfullySendsNewVehicleToRepository() { var newVehicle = new CreateVehicleCommandParameter( "Test Vehicle", 50, 123.32, 23.4, 66, 54.67, 30); var newId = _createVehicleCommandHandler.CreateVehicle(newVehicle); _vehicleRepositoryMock.Verify(x => x.CreateVehicle(It.Is <Vehicle>(x => x.VehicleId == newId && x.Name == newVehicle.Name && x.Speed == newVehicle.Speed && x.Latitude == newVehicle.Latitude && x.Longitude == newVehicle.Longitude && x.EngineTemperature == newVehicle.EngineTemperature && x.RadiatorPressure == newVehicle.RadiatorPressure && x.FuelRemaining == newVehicle.FuelRemaining)), Times.Once()); newId.Should().NotBeNull(); newId.Should().NotBeEmpty(); }
public void CreateVehicle_ReturnsNullForInvalidFields() { var newVehicle = new CreateVehicleCommandParameter( null, 50, 123.32, 23.4, 66, 54.67, 30); var newId = _createVehicleCommandHandler.CreateVehicle(newVehicle); newId.Should().BeNull(); newVehicle = new CreateVehicleCommandParameter( "Test Vehicle", 50, 123.32, 23.4, -1, 54.67, 30); newId = _createVehicleCommandHandler.CreateVehicle(newVehicle); newId.Should().BeNull(); newVehicle = new CreateVehicleCommandParameter( "Test Vehicle", 50, 123.32, 23.4, 66, -54.67, 30); newId = _createVehicleCommandHandler.CreateVehicle(newVehicle); newId.Should().BeNull(); newVehicle = new CreateVehicleCommandParameter( "Test Vehicle", 50, 123.32, 23.4, 66, 54.67, -3); newId = _createVehicleCommandHandler.CreateVehicle(newVehicle); newId.Should().BeNull(); _vehicleRepositoryMock.Verify(x => x.CreateVehicle(It.IsAny <Vehicle>()), Times.Never()); }
public Guid?CreateVehicle(CreateVehicleCommandParameter createVehicleCommandParameter) { if (string.IsNullOrWhiteSpace(createVehicleCommandParameter.Name)) { return(null); } if (createVehicleCommandParameter.Speed < 0) { return(null); } if (createVehicleCommandParameter.EngineTemperature < 0) { return(null); } if (createVehicleCommandParameter.RadiatorPressure < 0) { return(null); } if (createVehicleCommandParameter.FuelRemaining < 0) { return(null); } var newVehicle = Vehicle.CreateNew( createVehicleCommandParameter.Name, createVehicleCommandParameter.Speed, createVehicleCommandParameter.Latitude, createVehicleCommandParameter.Longitude, createVehicleCommandParameter.EngineTemperature, createVehicleCommandParameter.RadiatorPressure, createVehicleCommandParameter.FuelRemaining); try { _vehicleRepository.CreateVehicle(newVehicle); } catch (Exception e) { return(null); } return(newVehicle.VehicleId); }
public IActionResult CreateVehicle([FromBody] CreateVehicleApiParameters createVehicleApiParameters) { var vehicle = new CreateVehicleCommandParameter( createVehicleApiParameters.Name, createVehicleApiParameters.Speed, createVehicleApiParameters.Latitude, createVehicleApiParameters.Longitude, createVehicleApiParameters.EngineTemperature, createVehicleApiParameters.RadiatorPressure, createVehicleApiParameters.FuelRemaining); var vehicleId = _createVehicleCommandHandler.CreateVehicle(vehicle); if (vehicleId == null) { return(BadRequest()); } return(Ok(vehicleId)); }