public Models.Booking CheckAndInsertIfBookingIsAvailable(Models.Booking booking) { var queryBookingModel = new Queries.Models.Booking() { Name = booking.Name, Email = booking.Email, Address = booking.Address, SeatId = booking.SeatId, MeetingWeek = booking.MeetingWeek }; var result = _bookingService.CheckBookingExists(queryBookingModel); if (result == false) { var insertedBookingModel = new Repository.Booking() { Name = queryBookingModel.Name, Email = queryBookingModel.Email, Address = queryBookingModel.Address, SeatId = queryBookingModel.SeatId, MeetingWeek = queryBookingModel.MeetingWeek }; var insertBooking = _bookingService.InsertBooking(insertedBookingModel); return(booking); } else { //More than 4 seats or Booking already exists for seat! return(null); } }
public void InsertExistingBooking() { var booking = new Models.Booking() { Name = "James Blackburn", Email = "*****@*****.**", Address = "108 Cranbourne Park", SeatId = "A1", MeetingWeek = "1" }; var bookingQueryModel = new Queries.Models.Booking() { Name = "James Blackburn", Email = "*****@*****.**", Address = "108 Cranbourne Park", SeatId = "A1", MeetingWeek = "1" }; var bookingRepositoryModel = new Repository.Booking() { Name = "James Blackburn", Email = "*****@*****.**", Address = "108 Cranbourne Park", SeatId = "J10", MeetingWeek = "1" }; //TODO Mock result is not being passed correctly still receiving 'false' bookingService.Setup(check => check.CheckBookingExists(bookingQueryModel)).Returns(true); bookingService.Setup(insert => insert.InsertBooking(bookingRepositoryModel)).Returns(bookingRepositoryModel); var controller = new BookingController(bookingService.Object); var result = controller.CheckAndInsertIfBookingIsAvailable(booking); Assert.IsNull(result); }
public void InsertNonExistingBooking() { var booking = new Models.Booking() { Name = "James Blackburn", Email = "*****@*****.**", Address = "108 Cranbourne Park", SeatId = "J10", MeetingWeek = "8" }; var bookingQueryModel = new Queries.Models.Booking() { Name = "James Blackburn", Email = "*****@*****.**", Address = "108 Cranbourne Park", SeatId = "J10", MeetingWeek = "8" }; var bookingRepositoryModel = new Repository.Booking() { Name = "James Blackburn", Email = "*****@*****.**", Address = "108 Cranbourne Park", SeatId = "J10", MeetingWeek = "8" }; bookingService.Setup(check => check.CheckBookingExists(bookingQueryModel)).Returns(false); bookingService.Setup(insert => insert.InsertBooking(bookingRepositoryModel)).Returns(bookingRepositoryModel); var controller = new BookingController(bookingService.Object); var result = controller.CheckAndInsertIfBookingIsAvailable(booking); Assert.AreEqual(result.Name, booking.Name); }
public Repository.Booking InsertBooking(Repository.Booking booking) { var bookingRecord = _bookingCRUDRepository.InsertBooking(booking); return(bookingRecord); }