예제 #1
0
        public void MVC_ComponentTests_DisplayCourseComponents()
        {
            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);

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

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