예제 #1
0
        public void PostBookingReturnsValidModel()
        {
            var bookingToReturn = BookingModel.ToEntity();

            bookingToReturn.Lodging = new Lodging()
            {
                Id          = 1,
                Name        = "Name",
                Description = "Description",
                Rating      = 3,
                IsFull      = true,
                Images      = new List <LodgingImage>()
                {
                    new LodgingImage()
                },
                PricePerNight       = 100,
                Address             = "Valid Address 123",
                Phone               = "+598 98 303 040",
                ConfirmationMessage = "Your reservation has been confirmed!",
                TouristSpot         = new TouristSpot()
            };

            BookingLogicMock.Setup(m => m.Create(It.IsAny <Booking>(), It.IsAny <List <Guest> >()))
            .Returns(bookingToReturn);
            var bookingController = new BookingController(BookingLogicMock.Object, BookingStateLogicMock.Object,
                                                          LodgingReviewLogicMock.Object);

            var result  = bookingController.Post(BookingModel) as CreatedResult;
            var content = result.Value as BookingBasicInfoModel;

            BookingLogicMock.VerifyAll();
            Assert.AreEqual(result.StatusCode, 201);
            Assert.IsTrue(content.Equals(new BookingBasicInfoModel(bookingToReturn)));
        }
        public IActionResult Post(BookingModel bookingModel)
        {
            IActionResult result;

            if (bookingModel.HasErrors())
            {
                result = BadRequest(new ErrorModel(bookingModel.Errors()));
            }
            else
            {
                var booking = BookingLogic.Create(bookingModel.ToEntity(), bookingModel.GetGuests());
                result = Created("GetBooking", new BookingBasicInfoModel(booking));
            }

            return result;
        }
예제 #3
0
 public void ToEntityCreatesBookingWithSameCheckInAsModel()
 {
     Assert.AreEqual(BookingModel.ToEntity().CheckIn, BookingModel.CheckIn);
 }