public void when_calling_ReserveHolidayHome_with_model_error_returns_BookViewModel() { //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 }; HolidayHome hhome = new HolidayHome() { HolidayHomeId = 3, Price = 200, numberofGuests = 1, numberofBeds = 1, doubleBed = false, petsAllowed = true, Toilet = true, Kitchen = false, numberofTelevisions = 1, numberofFloors = 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)); ReverveHolidayHomeModel reservemodel = new ReverveHolidayHomeModel(); reservemodel.dateFrom = new DateTime(2019, 4, 6); reservemodel.dateTo = new DateTime(2019, 4, 5); reservemodel.holidayhomeId = 3; Mock <IHolidaysRepository> mock = new Mock <IHolidaysRepository>(); mock.Setup(r => r.GetHolidayHomeById(It.IsAny <int>())).Returns(hhome); mock.Setup(r => r.GetDaysBookedHolidayHome(It.IsAny <int>())).Returns(listDateTime); ClientController controller = new ClientController(mock.Object); ViewResult result = (ViewResult)(controller.ReserveHolidayHome(reservemodel)); Assert.AreEqual("~/Views/Client/BookHolidayHome.cshtml", result.ViewName); BookViewModel bookviewmodel = (BookViewModel)result.Model; Assert.AreEqual(hhome, bookviewmodel.holidayhome); }
public ActionResult ReserveHolidayHome(ReverveHolidayHomeModel 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.bookholidayhome(model.holidayhomeId, model.dateFrom, model.dateTo); ViewBag.checkbookingmodel = modelbook; return(RedirectToAction("ShowDetailsHolidayHome", "Home", new { Id = model.holidayhomeId })); } else { HolidayHome holidayhome = repository.GetHolidayHomeById(model.holidayhomeId); List <DateTime> list = repository.GetDaysBookedHolidayHome(model.holidayhomeId); List <string> liststring = new List <string>(); foreach (var item in list) { liststring.Add(item.ToShortDateString()); } BookViewModel viewmodel = new BookViewModel(); viewmodel.holidayhome = holidayhome; viewmodel.list = liststring; //return View("~/Views/Client/Book/HolidayHome.cshtml", viewmodel); return(View("~/Views/Client/BookHolidayHome.cshtml", viewmodel)); } }
public void when_calling_ReserveHolidayHome_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 }; ReverveHolidayHomeModel reservemodel = new ReverveHolidayHomeModel(); reservemodel.dateFrom = new DateTime(2019, 4, 2); reservemodel.dateTo = new DateTime(2019, 4, 5); reservemodel.holidayhomeId = 3; Mock <IHolidaysRepository> mock = new Mock <IHolidaysRepository>(); mock.Setup(r => r.bookholidayhome(It.IsAny <int>(), It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns(model); ClientController controller = new ClientController(mock.Object); RedirectToRouteResult result = (RedirectToRouteResult)(controller.ReserveHolidayHome(reservemodel)); Assert.AreEqual("ShowDetailsHolidayHome", result.RouteValues["action"]); Assert.AreEqual("Home", result.RouteValues["controller"]); Assert.AreEqual(3, result.RouteValues["Id"]); }