public void TestDeleteSportEventFailAndThrowsExceptionAndReturnsActionResult()
        {
            //Arrange
            var dummySportEvent = new SportEvent
            {
                Name           = "Voetbaltoernooi",
                Description    = "Potje voetballen voor de starters",
                MaxAttendees   = 5,
                MinAttendees   = 20,
                SportId        = 2,
                EventStartTime = DateTime.Today.AddHours(11),
                EventEndTime   = DateTime.Today.AddHours(13)
            };

            var mockSportManager      = new Mock <ISportManager>();
            var mockSportEventManager = new Mock <ISportEventManager>();
            var mockTempData          = new Mock <ITempDataDictionary>();
            var controller            = new SportEventController(mockSportEventManager.Object, mockSportManager.Object)
            {
                TempData = mockTempData.Object
            };

            mockSportEventManager.Setup(sm => sm.DeleteSportEvent(It.IsAny <int>())).Throws <Exception>();

            //Act
            var result = controller.Delete(dummySportEvent);

            //Assert
            Assert.IsType(typeof(RedirectToActionResult), result);
        }
        public void IndexMethodWithSearchStringReturnsCorrectPagedListOfSportEventViewModels()
        {
            //Arrange
            var sportEvents = new[]
            {
                new SportEvent {
                    Name = "Voetbal"
                },
                new SportEvent {
                    Name = "Basketbal"
                },
                new SportEvent {
                    Name = "Hockey"
                },
                new SportEvent {
                    Name = "Volleybal"
                }
            };
            var mockSportManager      = new Mock <ISportManager>();
            var mockSportEventManager = new Mock <ISportEventManager>();

            mockSportEventManager.Setup(x => x.ViewAllSportEvents()).Returns(sportEvents);
            var controller = new SportEventController(mockSportEventManager.Object, mockSportManager.Object);

            //Act
            var result = controller.Index(null, null, "bal", 1) as ViewResult;
            var model  = (IEnumerable <SportEventViewModel>)result?.Model;
            var countModelsInViewModels = model.Count();

            //Assert
            Assert.IsType(typeof(PagedList <SportEventViewModel>), result.ViewData.Model);
            Assert.Equal(3, countModelsInViewModels);
        }
        public void IndexMethodWithSortOrderDescendingReturnsCorrectCollectionOfSportEventsSortedDescending()
        {
            //Arrange
            var sportEvents = new[]
            {
                new SportEvent {
                    Name = "Voetbal"
                },
                new SportEvent {
                    Name = "Basketbal"
                },
                new SportEvent {
                    Name = "Hockey"
                },
                new SportEvent {
                    Name = "Volleybal"
                }
            };
            var mockSportManager      = new Mock <ISportManager>();
            var mockSportEventManager = new Mock <ISportEventManager>();
            var controller            = new SportEventController(mockSportEventManager.Object, mockSportManager.Object);


            mockSportEventManager.Setup(a => a.ViewAllSportEvents()).Returns(sportEvents);

            //Act
            var result   = controller.Index("name_desc", null, null, 1) as ViewResult;
            var pageList = (PagedList <SportEventViewModel>)result.ViewData.Model;

            //Assert
            Assert.IsType(typeof(PagedList <SportEventViewModel>), result.ViewData.Model);
            Assert.Same("Volleybal", pageList[0].Name);
        }
        public void AmountOfPagesOnIndexMethodIsCorrect()
        {
            //Arrange
            var sportEvents = new[]
            {
                new SportEvent {
                    Name = "Voetbal"
                },
                new SportEvent {
                    Name = "Basketbal"
                },
                new SportEvent {
                    Name = "Hockey"
                },
                new SportEvent {
                    Name = "Volleybal"
                },
                new SportEvent {
                    Name = "Trefbal"
                },
                new SportEvent {
                    Name = "Tennis"
                },
                new SportEvent {
                    Name = "Darten"
                },
                new SportEvent {
                    Name = "Karate"
                },
                new SportEvent {
                    Name = "Dansen"
                },
                new SportEvent {
                    Name = "Yoga"
                },
                new SportEvent {
                    Name = "Badminton"
                },
                new SportEvent {
                    Name = "Softbal"
                }
            };

            var mockSportManager      = new Mock <ISportManager>();
            var mockSportEventManager = new Mock <ISportEventManager>();
            var controller            = new SportEventController(mockSportEventManager.Object, mockSportManager.Object);

            mockSportEventManager.Setup(a => a.ViewAllSportEvents()).Returns(sportEvents);

            //Act
            var result   = controller.Index(null, null, null, 1) as ViewResult;
            var pageList = (PagedList <SportEventViewModel>)result.ViewData.Model;

            //Assert
            Assert.Equal(2, pageList.PageCount);
            Assert.Equal(12, pageList.TotalItemCount);
        }
Beispiel #5
0
        public void ViewAllDataTest()
        {
            //Arrange
            var sportEventBussinesLayer = NSubstitute.Substitute.For <ISportEventBussinesLayer>();
            var controller = new SportEventController(sportEventBussinesLayer);

            //Actual
            controller.ViewAllData();
            //Assert
            sportEventBussinesLayer.Received(1).GetActiveAllEvents();
        }
        public void TestUpdateSportEventGetRequestsReturnsViewWithSportEventModel()
        {
            //Arrange
            var dummySportEvent = new SportEvent
            {
                Name           = "Voetbaltoernooi",
                Description    = "Potje voetballen voor de starters",
                MaxAttendees   = 5,
                MinAttendees   = 20,
                SportId        = 2,
                EventStartTime = DateTime.Today.AddHours(11),
                EventEndTime   = DateTime.Today.AddHours(13)
            };
            var sports = new[]
            {
                new Sport {
                    Name = "Voetbal"
                },
                new Sport {
                    Name = "Basketbal"
                },
                new Sport {
                    Name = "Hockey"
                },
                new Sport {
                    Name = "Volleybal"
                },
            };

            var addSportEventViewModel = new AddSportEventViewModel
            {
                SportEvent = dummySportEvent,
                Sports     = sports
            };


            var mockSportManager      = new Mock <ISportManager>();
            var mockSportEventManager = new Mock <ISportEventManager>();
            var controller            = new SportEventController(mockSportEventManager.Object, mockSportManager.Object);

            mockSportManager.Setup(sm => sm.SportsList()).Returns(sports);
            mockSportEventManager.Setup(sm => sm.ViewSportEvent(It.IsAny <int>())).Returns(dummySportEvent);

            //Act
            var result    = controller.Update(1) as ViewResult;
            var viewModel = (AddSportEventViewModel)result.Model;

            //Assert
            Assert.IsType(typeof(ViewResult), result);
            Assert.Equal(4, viewModel.Sports.Count());
        }
Beispiel #7
0
        public void EditTest()
        {
            //Arrange
            var sportEventBussinesLayer = Substitute.For <ISportEventBussinesLayer>();
            var controller = new SportEventController(sportEventBussinesLayer);
            //Act
            var @event = new SportEventOutput();

            @event.Date = DateTime.Today.AddDays(1);
            controller.Edit("EVT-0001", @event);
            //Assert
            sportEventBussinesLayer.Received(1).UpdateUser(Arg.Any <String>(), Arg.Any <SportEventOutput>());
            //.Fail();
        }
        public void TestReadSportEventSuccesAndReturnsModelViewWithoutReservationData()
        {
            //Arrange
            var dummySportEvent = new SportEvent
            {
                Name           = "Voetbaltoernooi",
                Description    = "Potje voetballen voor de starters",
                MaxAttendees   = 5,
                MinAttendees   = 20,
                SportId        = 2,
                EventStartTime = DateTime.Today.AddHours(11),
                EventEndTime   = DateTime.Today.AddHours(13),
                Sport          = new Sport
                {
                    Name = "Sport"
                }
            };

            var viewModel = new ReadSportEventViewModel
            {
                SportEventId        = dummySportEvent.SportEventId,
                SportEventName      = dummySportEvent.Name,
                SportName           = dummySportEvent.Sport.Name,
                SportEventEventTime =
                    $"{dummySportEvent.EventStartTime.FormatTime()} - {dummySportEvent.EventEndTime.FormatTime()}",
                SportEventDate        = dummySportEvent.EventStartTime.FormatDate(),
                MinAttendees          = dummySportEvent.MinAttendees,
                MaxAttendees          = dummySportEvent.MaxAttendees,
                SportEventDescription = dummySportEvent.Description
            };

            var mockSportManager      = new Mock <ISportManager>();
            var mockSportEventManager = new Mock <ISportEventManager>();
            var controller            = new SportEventController(mockSportEventManager.Object, mockSportManager.Object);


            mockSportEventManager.Setup(sm => sm.ViewSportEvent(It.IsAny <int>())).Returns(dummySportEvent);

            //Act
            var result      = controller.Read(1) as ViewResult;
            var resultModel = (ReadSportEventViewModel)result.Model;

            //Assert
            Assert.IsType(typeof(ViewResult), result);
            Assert.Equal(viewModel.SportEventId, resultModel.SportEventId);
            Assert.Equal(0, resultModel.ReservationId);
        }
Beispiel #9
0
        public void CreateTestWhenEventDateLowerThanToday()
        {
            //Arrange
            var sportEventBussinesLayer = NSubstitute.Substitute.For <ISportEventBussinesLayer>();
            var controller = new SportEventController(sportEventBussinesLayer);
            //var dt = new SportEventOutput();
            //sportEventBussinesLayer.FindUser(Arg.Any<String>()).Returns(dt);

            //Actual
            var @event = new Event();

            @event.Date = DateTime.Now.AddDays(1);
            controller.Create(@event);

            // Assert
            sportEventBussinesLayer.Received(1).InsertUser(Arg.Any <Event>());
        }
        public void TestAddSportEventGetViewThatContainsListOfSports()
        {
            //Arrange
            var sports = new[]
            {
                new Sport {
                    Name = "Voetbal"
                },
                new Sport {
                    Name = "Basketbal"
                },
                new Sport {
                    Name = "Hockey"
                },
                new Sport {
                    Name = "Volleybal"
                }
            };

            var addSportEventViewModel = new AddSportEventViewModel
            {
                Sports         = sports,
                AddReservation = false
            };

            var mockSportManager      = new Mock <ISportManager>();
            var mockSportEventManager = new Mock <ISportEventManager>();

            var controller = new SportEventController(mockSportEventManager.Object, mockSportManager.Object);

            mockSportManager.Setup(sm => sm.SportsList()).Returns(sports);

            //Act
            var result    = controller.Add();
            var viewModel = (AddSportEventViewModel)result.Model;

            //Assert
            Assert.IsType(typeof(ViewResult), result);
            Assert.Equal(4, viewModel.Sports.Count());
        }
        public void TestUpdateSportEventPostRequestModelStateInvalidReturnsToIndex()
        {
            //Arrange
            var dummySportEvent = new SportEvent
            {
                Name           = "Voetbaltoernooi",
                Description    = "Potje voetballen voor de starters",
                MaxAttendees   = 5,
                MinAttendees   = 20,
                SportId        = 2,
                EventStartTime = DateTime.Today.AddHours(11),
                EventEndTime   = DateTime.Today.AddHours(13)
            };

            var addSportEventViewModel = new AddSportEventViewModel
            {
                SportEvent = dummySportEvent
            };

            var mockSportManager      = new Mock <ISportManager>();
            var mockSportEventManager = new Mock <ISportEventManager>();
            var mockTempData          = new Mock <ITempDataDictionary>();
            var controller            = new SportEventController(mockSportEventManager.Object, mockSportManager.Object)
            {
                TempData = mockTempData.Object
            };

            controller.ModelState.AddModelError("key", "error message");

            mockSportEventManager.Setup(sm => sm.EditSportEvent(It.IsAny <SportEvent>())).Returns(true);

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


            //Assert
            Assert.IsType(typeof(ViewResult), result);
            Assert.Same("Update", result.ViewName);
        }
        public void TestAddModelInvalidSportEventReturnsAddViewWithErrorMessage()
        {
            //Arrange
            var dummySportEvent = new SportEvent
            {
                Name           = "Voetbaltoernooi",
                Description    = "Potje voetballen voor de starters",
                MaxAttendees   = 5,
                MinAttendees   = 20,
                SportId        = 2,
                EventStartTime = DateTime.Today.AddHours(11),
                EventEndTime   = DateTime.Today.AddHours(13)
            };

            var addSportEventViewModel = new AddSportEventViewModel
            {
                SportEvent     = dummySportEvent,
                AddReservation = false
            };

            var mockSportManager      = new Mock <ISportManager>();
            var mockSportEventManager = new Mock <ISportEventManager>();
            var mockTempData          = new Mock <ITempDataDictionary>();
            var controller            = new SportEventController(mockSportEventManager.Object, mockSportManager.Object)
            {
                TempData = mockTempData.Object
            };

            controller.ModelState.AddModelError("key", "error message");


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

            //Assert
            Assert.IsType(typeof(ViewResult), result);
        }
        public void TestAddSportEventReturnsToAddMethodInReservationControllerAction()
        {
            //Arrange
            var dummySportEvent = new SportEvent
            {
                Name           = "Voetbaltoernooi",
                Description    = "Potje voetballen voor de starters",
                MaxAttendees   = 30,
                MinAttendees   = 22,
                SportId        = 2,
                EventStartTime = DateTime.Today.AddHours(11),
                EventEndTime   = DateTime.Today.AddHours(13)
            };

            var addSportEventViewModel = new AddSportEventViewModel
            {
                SportEvent     = dummySportEvent,
                AddReservation = true
            };

            var mockSportManager      = new Mock <ISportManager>();
            var mockSportEventManager = new Mock <ISportEventManager>();
            var mockTempData          = new Mock <ITempDataDictionary>();
            var controller            = new SportEventController(mockSportEventManager.Object, mockSportManager.Object)
            {
                TempData = mockTempData.Object
            };

            mockSportEventManager.Setup(x => x.AddSportEvent(It.IsAny <SportEvent>())).Returns(true);

            //Act
            var result = controller.Add(addSportEventViewModel) as RedirectToActionResult;

            //Assert
            Assert.IsType(typeof(RedirectToActionResult), result);
            Assert.Same("Index", result.ActionName);
        }