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);
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }