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; }
public void ToEntityCreatesBookingWithSameCheckInAsModel() { Assert.AreEqual(BookingModel.ToEntity().CheckIn, BookingModel.CheckIn); }