Ejemplo n.º 1
0
        public void CreateInValidBookingAlreadyBooked()
        {
            // Arrange
            IAcmeRepository repo       = new AcmeRepository();
            var             mockLogger = new Mock <ILogger>();

            BookingsController controller = new BookingsController(repo, mockLogger.Object);

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            BookingModel bm = new BookingModel
            {
                PassengerName = "Karen Lom",
                Date          = new DateTime(2018, 3, 5),
                FlightNo      = 2
            };

            // Act
            var result = controller.Post(bm);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.StatusCode == System.Net.HttpStatusCode.BadRequest);
            HttpError err;

            Assert.IsTrue(result.TryGetContentValue <HttpError>(out err));
            Assert.IsTrue(err.Message.IndexOf("Booking already exists for this passenger for flight 2 on date") != -1);
        }
Ejemplo n.º 2
0
        public void GetBookingByPassenger()
        {
            List <BookingModel> expectedResult = new List <BookingModel>
            {
                new BookingModel {
                    BookingNo = 2, Date = new DateTime(2018, 3, 2), FlightNo = 1, PassengerName = "Max Haler"
                },
                new BookingModel  {
                    BookingNo = 8, Date = new DateTime(2018, 3, 5), FlightNo = 3, PassengerName = "Max Haler"
                }
            };

            // Arrange
            IAcmeRepository repo       = new AcmeRepository();
            var             mockLogger = new Mock <ILogger>();

            BookingsController controller = new BookingsController(repo, mockLogger.Object);

            // Act
            var result = controller.Get("Max Haler");

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(2, result.Count());
            Assert.IsTrue(result.SequenceEqual(expectedResult, new BookingModelComparer()), "Comparison of bookings failed");
        }
Ejemplo n.º 3
0
        public void CreateInValidBookingFlightNo()
        {
            // Arrange
            IAcmeRepository repo       = new AcmeRepository();
            var             mockLogger = new Mock <ILogger>();

            BookingsController controller = new BookingsController(repo, mockLogger.Object);

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            BookingModel bm = new BookingModel
            {
                PassengerName = "John SMith",
                Date          = new DateTime(2018, 3, 7),
                FlightNo      = 53
            };

            // Act
            var result = controller.Post(bm);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.StatusCode == System.Net.HttpStatusCode.BadRequest);
            HttpError err;

            Assert.IsTrue(result.TryGetContentValue <HttpError>(out err));
            Assert.IsTrue(err.Message == "Invalid flight number in booking.");
        }
Ejemplo n.º 4
0
        public void CreateValidBooking()
        {
            // Arrange
            IAcmeRepository repo       = new AcmeRepository();
            var             mockLogger = new Mock <ILogger>();

            BookingsController controller = new BookingsController(repo, mockLogger.Object);

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            BookingModel bm = new BookingModel
            {
                PassengerName = "James B",
                Date          = new DateTime(2018, 3, 7),
                FlightNo      = 5
            };

            // Act
            var result = controller.Post(bm);

            // Assert
            Assert.IsNotNull(result);
            BookingModel newBookingModel;

            Assert.IsTrue(result.StatusCode == System.Net.HttpStatusCode.Created);
            Assert.IsTrue(result.TryGetContentValue <BookingModel>(out newBookingModel));
            Assert.AreEqual("James B", newBookingModel.PassengerName);
            Assert.AreEqual(5, newBookingModel.FlightNo);
            Assert.AreEqual(10, newBookingModel.BookingNo);
        }
Ejemplo n.º 5
0
        public void GetBookingByFlightNo()
        {
            List <BookingModel> expectedResult = new List <BookingModel>
            {
                new BookingModel  {
                    BookingNo = 4, Date = new DateTime(2018, 3, 5), FlightNo = 2, PassengerName = "Karen Lom"
                },
                new BookingModel  {
                    BookingNo = 5, Date = new DateTime(2018, 3, 2), FlightNo = 2, PassengerName = "Mike Rom"
                },
                new BookingModel  {
                    BookingNo = 6, Date = new DateTime(2018, 3, 2), FlightNo = 2, PassengerName = "James B"
                },
                new BookingModel  {
                    BookingNo = 7, Date = new DateTime(2018, 3, 2), FlightNo = 2, PassengerName = "Linda A"
                }
            };

            // Arrange
            IAcmeRepository repo       = new AcmeRepository();
            var             mockLogger = new Mock <ILogger>();

            BookingsController controller = new BookingsController(repo, mockLogger.Object);

            // Act
            var result = controller.Get("", null, "", "", 2);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(4, result.Count());
            Assert.IsTrue(result.SequenceEqual(expectedResult, new BookingModelComparer()), "Comparison of bookings failed");
        }
Ejemplo n.º 6
0
        public void GetAllFlights()
        {
            List <FlightModel> expectedResult = new List <FlightModel>
            {
                new FlightModel {
                    FlightNo = 1, ArrivalCity = "CityB", DeparterCity = "CityA", StartTime = new TimeSpan(07, 00, 00), EndTime = new TimeSpan(08, 00, 00), PassengerCapacity = 5
                },
                new FlightModel {
                    FlightNo = 2, ArrivalCity = "CityC", DeparterCity = "CityA", StartTime = new TimeSpan(07, 30, 00), EndTime = new TimeSpan(09, 30, 00), PassengerCapacity = 3
                },

                new FlightModel {
                    FlightNo = 3, ArrivalCity = "CityA", DeparterCity = "CityB", StartTime = new TimeSpan(08, 30, 00), EndTime = new TimeSpan(09, 30, 00), PassengerCapacity = 5
                },
                new FlightModel {
                    FlightNo = 4, ArrivalCity = "CityA", DeparterCity = "CityC", StartTime = new TimeSpan(10, 00, 00), EndTime = new TimeSpan(12, 00, 00), PassengerCapacity = 3
                },

                new FlightModel {
                    FlightNo = 5, ArrivalCity = "CityB", DeparterCity = "CityA", StartTime = new TimeSpan(10, 30, 00), EndTime = new TimeSpan(11, 30, 00), PassengerCapacity = 5
                },
                new FlightModel {
                    FlightNo = 6, ArrivalCity = "CityC", DeparterCity = "CityA", StartTime = new TimeSpan(12, 30, 00), EndTime = new TimeSpan(14, 30, 00), PassengerCapacity = 3
                },
                new FlightModel {
                    FlightNo = 7, ArrivalCity = "CityA", DeparterCity = "CityB", StartTime = new TimeSpan(12, 00, 00), EndTime = new TimeSpan(13, 00, 00), PassengerCapacity = 5
                },
                new FlightModel {
                    FlightNo = 8, ArrivalCity = "CityA", DeparterCity = "CityC", StartTime = new TimeSpan(15, 00, 00), EndTime = new TimeSpan(17, 00, 00), PassengerCapacity = 3
                }
            };

            // Arrange
            IAcmeRepository repo       = new AcmeRepository();
            var             mockLogger = new Mock <ILogger>();

            FlightsController controller = new FlightsController(repo, mockLogger.Object);

            // Act
            var result = controller.Get();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(8, result.Count());
            Assert.IsTrue(result.SequenceEqual(expectedResult, new FlightModelComparer()), "Comparison of flights failed");
        }