public IActionResult EditFlight(FlightViewModel model, string flightId) { if (!ModelState.IsValid) { return(View("EditFlight", CreateDefaultEditFlightViewModel(flightId))); } if (model.NewFlightDepartureAirport == model.NewFlightArrivalAirport) { ModelState.AddModelError("NewFlightArrivalAirport", "Departure and destination airports can't be the same !"); return(View("EditFlight", CreateDefaultEditFlightViewModel(flightId))); } try { _flightsManager.EditFlight(Guid.Parse(flightId), model.NewFlightDepartureAirport, model.NewFlightArrivalAirport, model.NewFuelConsumptionLitersPerKm, model.NewFuelConsumptionTakeoffEffortInLiters); } catch (Exception) { ModelState.AddModelError("NewFlightArrivalAirport", "An error occured"); return(View("EditFlight", CreateDefaultEditFlightViewModel(flightId))); } return(RedirectToAction(nameof(Index))); }
public void WhenEditingFlight_GivenFlightParameters_ShouldCallEditFlightCorrectly() { _databaseMock.Setup(d => d.EditFlight(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <double>(), It.IsAny <double>())).Verifiable(); _flightsManager.EditFlight( _testFlight.Id, _testFlight.Departure.InternalName, _testFlight.Destination.InternalName, _testFlight.AircraftFuelConsumptionLitersPerKm, _testFlight.AircraftFuelConsumptionTakeoffEffort); _databaseMock.Verify(d => d.EditFlight( _testFlight.Id, _testFlight.Departure.InternalName, _testFlight.Destination.InternalName, _testFlight.AircraftFuelConsumptionLitersPerKm, _testFlight.AircraftFuelConsumptionTakeoffEffort), Times.Once); }