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); }
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"); }
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."); }
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); }
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"); }
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"); }