public ActionResult ReserveRoom(ReverveRoomModel model) { if (model.dateTo <= model.dateFrom) { ModelState.AddModelError("dateTo", "Date should be later than above"); } if (model.dateFrom == null) { ModelState.AddModelError("dateFrom", "Pole nie moze być puste"); } if (ModelState.IsValid) { //repository.BookHolidayHome(model.holidayhomeId, model.dateFrom, model.dateTo); CheckBookingModel modelbook = repository.bookroom(model.roomId, model.dateFrom, model.dateTo); ViewBag.checkbookingmodel = modelbook; return(RedirectToAction("ShowDetailsRoom", "Home", new { Id = model.roomId })); } else { Room room = repository.GetRoomById(model.roomId); List <DateTime> list = repository.GetDaysBookedRoom(model.roomId); List <string> liststring = new List <string>(); foreach (var item in list) { liststring.Add(item.ToShortDateString()); } BookRoomViewModel viewmodel = new BookRoomViewModel(); viewmodel.room = room; viewmodel.list = liststring; return(View("~/Views/Client/BookRoom.cshtml", viewmodel)); //Room room = repository.GetRoomById(model.roomId); //return View("~/Views/Client/BookRoom.cshtml", room); } }
public void when_calling_ReserveRoom_with_model_error_returns_BookRoomViewModel() { Room room = new Room() { Price = 100, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = false, Toilet = true, Kitchen = false, numberofTelevisions = 1 }; List <DateTime> listDateTime = new List <DateTime>(); listDateTime.Add(new DateTime(2019, 4, 9)); listDateTime.Add(new DateTime(2019, 4, 10)); listDateTime.Add(new DateTime(2019, 4, 11)); listDateTime.Add(new DateTime(2019, 4, 12)); ReverveRoomModel reservemodel = new ReverveRoomModel(); reservemodel.dateFrom = new DateTime(2019, 4, 5); reservemodel.dateTo = new DateTime(2019, 4, 2); reservemodel.roomId = 3; Mock <IHolidaysRepository> mock = new Mock <IHolidaysRepository>(); mock.Setup(r => r.GetRoomById(It.IsAny <int>())).Returns(room); mock.Setup(r => r.GetDaysBookedRoom(It.IsAny <int>())).Returns(listDateTime); ClientController controller = new ClientController(mock.Object); ViewResult result = (ViewResult)(controller.ReserveRoom(reservemodel)); Assert.AreEqual("~/Views/Client/BookRoom.cshtml", result.ViewName); BookRoomViewModel bookviewmodel = (BookRoomViewModel)result.Model; Assert.AreEqual(room, bookviewmodel.room); }
public void when_calling_ReserveRoom_returns_model() { CheckBookingModel model = new CheckBookingModel(); model.Available = true; model.DaysAvailable = 3; model.FirstDateAvailable = new DateTime(2019, 4, 13); model.room = new Room() { Price = 100, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = false, Toilet = true, Kitchen = false, numberofTelevisions = 1 }; model.holidayHome = new HolidayHome() { HolidayHomeId = 3, Price = 200, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = true, Toilet = true, Kitchen = false, numberofTelevisions = 1, numberofFloors = 1 }; ReverveRoomModel reservemodel = new ReverveRoomModel(); reservemodel.dateFrom = new DateTime(2019, 4, 2); reservemodel.dateTo = new DateTime(2019, 4, 5); reservemodel.roomId = 3; Mock <IHolidaysRepository> mock = new Mock <IHolidaysRepository>(); mock.Setup(r => r.bookroom(It.IsAny <int>(), It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns(model); ClientController controller = new ClientController(mock.Object); RedirectToRouteResult result = (RedirectToRouteResult)(controller.ReserveRoom(reservemodel)); Assert.AreEqual("ShowDetailsRoom", result.RouteValues["action"]); Assert.AreEqual("Home", result.RouteValues["controller"]); Assert.AreEqual(3, result.RouteValues["Id"]); }