public void setup()
{
//Arrange
var mockHttpContext = new Mock<ControllerContext>();
mockHttpContext.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("creator 2");
mockHttpContext.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true);
mock = new Mock<IEventRepository>();
mock.Setup(m => m.Events).Returns(new Event[] {
new Event { EventId = 1, Name = "event 1", Created = DateTime.Now, Creator = "creator 1", AvailableSpots = 2, DeadLine = DateTime.Now, CategoryId = 1 },
new Event { EventId = 2, Name = "event 2", Created = DateTime.Now, Creator = "creator 2", AvailableSpots = 2, DeadLine = DateTime.Now, CategoryId = 2 },
new Event { EventId = 3, Name = "event 3", Created = DateTime.Now, Creator = "creator 3", AvailableSpots = 2, DeadLine = DateTime.Now, CategoryId = 3 },
new Event { EventId = 4, Name = "event 4", Created = DateTime.Now, Creator = "creator 4", AvailableSpots = 2, DeadLine = DateTime.Now, CategoryId = 4 },
new Event { EventId = 5, Name = "event 5", Created = DateTime.Now, Creator = "creator 5", AvailableSpots = 2, DeadLine = DateTime.Now, CategoryId = 5 }
}.AsQueryable());
mock.Setup(m => m.Categories).Returns(new Category[] {
new Category { CategoryId = 1, Name = "Category1", IsActive = true },
new Category { CategoryId = 2, Name = "Category2", IsActive = true },
new Category { CategoryId = 3, Name = "Category3", IsActive = true },
new Category { CategoryId = 4, Name = "Category4", IsActive = true },
new Category { CategoryId = 5, Name = "Category5", IsActive = true }
}.AsQueryable());
newevent = new Event
{
EventId = 10,
Name = "CanCreateNewEvents",
Created = DateTime.Now,
Creator = "CanCreateNewEventsTest",
AvailableSpots = 2,
DeadLine = DateTime.Now,
CategoryId = 10
};
IEnumerable<SelectListItem> categories = mock.Object.Categories.ToList().Select(x =>
new SelectListItem { Text = x.Name, Value = x.CategoryId.ToString() }
);
categories.FirstOrDefault().Selected = true;
selectedEvent = new EventViewModel { SelectedEvent = newevent, Categories = categories };
controller = new EventController(mock.Object);
controller.ControllerContext = new ControllerContext(mockHttpContext.Object.HttpContext, new RouteData(), controller);
}