示例#1
0
        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);
        }
示例#2
0
        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);
        }