public async Task FlightControllerTests_Update_ShouldCallFlightService_WhenModelIsValid() { // Arrange var newFlight = new CreateFlightArgs { FlightNumber = "NewFlight", AircraftId = 1, DepartureAirportId = 1, DestinationAirportId = 2, FlightDate = DateTime.Now, FlightTime = DateTime.Now }; var flightController = new FlightsController(_flightCoreServicesMock.Object, _airportCoreServicesMock.Object, _aircraftCoreServicesMock.Object); // Act var result = await flightController.CreateFlightPost(newFlight); // Assert Check.That(result).IsInstanceOfType(typeof(RedirectToActionResult)); var viewResult = result as RedirectToActionResult; Check.That(viewResult).IsNotNull(); Check.That(flightController.ModelState.IsValid).IsTrue(); _flightCoreServicesMock.Verify(service => service.CreateFlight(It.IsAny <CreateFlightArgs>()), Times.Once); }
public async Task FlightControllerTests_Update_ShouldReturnBadRequest_WhenAircraftIdIsZero() { // Arrange var newFlight = new CreateFlightArgs { FlightNumber = string.Empty, AircraftId = 0, DepartureAirportId = 1, DestinationAirportId = 2, FlightDate = DateTime.Now, FlightTime = DateTime.Now }; var flightController = new FlightsController(_flightCoreServicesMock.Object, _airportCoreServicesMock.Object, _aircraftCoreServicesMock.Object); flightController.ModelState.AddModelError("AircraftId", "Aircraft Id is not Valid."); // Act var result = await flightController.CreateFlightPost(newFlight); // Assert Check.That(result).IsInstanceOfType(typeof(BadRequestObjectResult)); var viewResult = result as BadRequestObjectResult; Check.That(viewResult).IsNotNull(); Check.That(flightController.ModelState.IsValid).IsFalse(); Check.That(viewResult.StatusCode).IsEqualTo(400); _flightCoreServicesMock.Verify(service => service.CreateFlight(It.IsAny <CreateFlightArgs>()), Times.Never); }