public void Delete_Event_Success()
        {
            //Arrange
            var expectedDataModel = GetTestEventDataModel(1);
            var contoller = new EventController(RepositoryFactory, EventService, UserService, NotifyService);

            //Act
            A.CallTo(() => EventRepo.GetAll()).Returns(new List<Event>{expectedDataModel}.AsQueryable());
            var result = contoller.Delete(1) as RedirectToRouteResult;

            //Assert
            A.CallTo(() => EventRepo.Delete(A<Event>.That.Matches(x => x == expectedDataModel))).MustHaveHappened();
            A.CallTo(() => EventRepo.SubmitChanges()).MustHaveHappened();

            //That the route values are what we expect.
            Assert.AreEqual(result.RouteValues["action"], "Index");
            Assert.AreEqual(result.RouteValues["controller"], "Home");
            Assert.AreEqual(result.RouteValues["message"].ToString(), "DeleteSuccessful");
        }
        public void Delete_Event_Fail()
        {
            //Arrange
            var contoller = new EventController(RepositoryFactory, EventService, UserService, NotifyService);

            //Act
            A.CallTo(() => EventRepo.GetAll()).Throws(new Exception("Database error!"));
            var result = contoller.Delete(1) as RedirectToRouteResult;

            //Assert

            //That the route values are what we expect.
            Assert.AreEqual(result.RouteValues["action"], "Index");
            Assert.AreEqual(result.RouteValues["controller"], "Home");
            Assert.AreEqual(result.RouteValues["message"].ToString(), "DeleteFailed");
        }