public void AddReservationGetMethodFail()
        {
            //arrange
            var buildingMockManager = new Mock <IBuildingManager>();
            var hallMockManager     = new Mock <IHallManager>();
            var manager             = new Mock <ISportEventManager>();


            var reservationModel = new ReservationModel
            {
                Reservation = new Reservation()
            };


            Mock <ITempDataDictionary> tempData = new Mock <ITempDataDictionary>();
            var reservationController           = new ReservationController(manager.Object, hallMockManager.Object, buildingMockManager.Object)
            {
                TempData = tempData.Object
            };

            reservationController.ModelState.AddModelError("Error", "test");

            //act
            var viewResult = reservationController.AddReservation(reservationModel) as ActionResult;


            //assert


            Assert.False(reservationController.ModelState.IsValid);
            Assert.IsType <ViewResult>(viewResult);
        }
        public void AddReservationGetMethodSuccess()
        {
            //arrange
            var buildingMockManager = new Mock <IBuildingManager>();
            var hallMockManager     = new Mock <IHallManager>();
            var manager             = new Mock <ISportEventManager>();

            var reservationModel = new ReservationModel
            {
                Reservation = new Reservation
                {
                    Definite      = true,
                    HallId        = 2,
                    StartTime     = DateTime.Now.AddDays(1).AddHours(1),
                    TimeFinish    = DateTime.Now.AddDays(1).AddHours(3),
                    SportEventId  = 3,
                    ReservationId = 15
                }
            };

            Mock <ITempDataDictionary> tempData = new Mock <ITempDataDictionary>();
            var reservationController           = new ReservationController(manager.Object, hallMockManager.Object, buildingMockManager.Object)
            {
                TempData = tempData.Object
            };


            manager.Setup(r => r.AddReservation(reservationModel.Reservation)).Returns(true);
            //act
            var viewResult = reservationController.AddReservation(reservationModel) as RedirectToActionResult;


            //assert


            Assert.IsType <RedirectToActionResult>(viewResult);
            Assert.Equal("SearchHall", (viewResult).ActionName);
            Assert.Equal("Building", (viewResult).ControllerName);

            Assert.True(reservationController.ModelState.IsValid);
        }
        public void AddReservationGetMethodReturnsModel()
        {
            //Arrange

            var buildingMockManager = new Mock <IBuildingManager>();
            var hallMockManager     = new Mock <IHallManager>();
            var mockManager         = new Mock <ISportEventManager>();

            var controller =
                new ReservationController(mockManager.Object, hallMockManager.Object, buildingMockManager.Object);


            //Act
            var result = controller.AddReservation() as ViewResult;


            //Assert
            Assert.IsType(typeof(ViewResult), result);

            Assert.IsAssignableFrom <ReservationModel>(
                result.ViewData.Model);
        }