示例#1
0
        public void MVC_ComponentTests_DisplayComponentStatistics()
        {
            Mock <IUserRepository>      usrRepMock = new Mock <IUserRepository>();
            Mock <ICourseRepository>    corRepMock = new Mock <ICourseRepository>();
            Mock <IScoreRepository>     scrRepMock = new Mock <IScoreRepository>();
            Mock <IComponentRepository> comRepMock = new Mock <IComponentRepository>();

            Course course = new Course()
            {
                Id   = 1,
                Name = "Kvantna računala",
                NaturalIdentifier = "KVARC-FER-2016",
                EctsCredits       = 5,
                StudentsEnrolled  = new List <Student>(),
                LecturersInCharge = new List <Lecturer>(),
                Components        = new List <Component>()
            };


            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);

            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.ComponentStatistics(1) as ViewResult;
            var viewModel = (IList <ComponentStatisticsViewModel>)result.ViewData.Model;

            Assert.AreEqual(0, viewModel.Count);
        }