public void MVC_LecturerTests_EnrolledStudents() { Mock <IUserRepository> usrRepMock = new Mock <IUserRepository>(); Mock <ICourseRepository> corRepMock = new Mock <ICourseRepository>(); Mock <IScoreRepository> scrRepMock = new Mock <IScoreRepository>(); Mock <IComponentRepository> comRepMock = new Mock <IComponentRepository>(); usrRepMock.Setup(c => c.GetById(1)).Returns(lecturer); corRepMock.Setup(c => c.GetById(1)).Returns(course); IList <Component> components = new List <Component>(); comRepMock.Setup(c => c.GetAll()).Returns(components); IList <Score> scores = new List <Score>(); scrRepMock.Setup(c => c.GetAll()).Returns(scores); usrRepMock.Setup(c => c.GetByCourse(It.IsAny <Course>())).Returns(new List <Student>() { student }); var controller = new LecturerController(corRepMock.Object, scrRepMock.Object, usrRepMock.Object, comRepMock.Object); var controllerContext = new Mock <ControllerContext>(); controllerContext.SetupGet(p => p.HttpContext.Session["userId"]).Returns(1); controllerContext.SetupGet(p => p.HttpContext.Session["email"]).Returns("*****@*****.**"); controller.ControllerContext = controllerContext.Object; var result = controller.StudentsEnrolled(1, false) as ViewResult; var viewModel = (List <StudentEnrollementViewModel>)result.ViewData.Model; Assert.AreEqual(1, viewModel.Count); }