예제 #1
0
        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);
        }