public void Activate_PopulatesServicesFromServiceContainer()
        {
            // Arrange
            var urlHelper = Mock.Of <IUrlHelper>();
            var service   = new Mock <IServiceProvider>();

            service.Setup(s => s.GetService(typeof(IUrlHelper)))
            .Returns(urlHelper);

            var httpContext = new Mock <HttpContext>();

            httpContext.SetupGet(c => c.RequestServices)
            .Returns(service.Object);
            var routeContext = new RouteContext(httpContext.Object);
            var controller   = new TestController();
            var context      = new ActionContext(routeContext, new ActionDescriptor())
            {
                Controller = controller
            };
            var activator = new DefaultControllerActivator();

            // Act
            activator.Activate(controller, context);

            // Assert
            Assert.Same(urlHelper, controller.Helper);
        }
        public void Activate_SetsPropertiesFromActionContextHierarchy()
        {
            // Arrange
            var httpRequest = Mock.Of <HttpRequest>();
            var httpContext = new Mock <HttpContext>();

            httpContext.SetupGet(c => c.Request)
            .Returns(httpRequest);
            httpContext.SetupGet(c => c.RequestServices)
            .Returns(Mock.Of <IServiceProvider>());
            var routeContext = new RouteContext(httpContext.Object);
            var controller   = new TestController();
            var context      = new ActionContext(routeContext, new ActionDescriptor())
            {
                Controller = controller
            };
            var activator = new DefaultControllerActivator();

            // Act
            activator.Activate(controller, context);

            // Assert
            Assert.Same(context, controller.ActionContext);
            Assert.Same(httpContext.Object, controller.HttpContext);
            Assert.Same(httpRequest, controller.GetHttpRequest());
        }
        public void Activate_SetsViewDatDictionary()
        {
            // Arrange
            var service = new Mock <IServiceProvider>();

            service.Setup(s => s.GetService(typeof(IModelMetadataProvider)))
            .Returns(Mock.Of <IModelMetadataProvider>());

            var httpContext = new Mock <HttpContext>();

            httpContext.SetupGet(c => c.RequestServices)
            .Returns(service.Object);
            var routeContext = new RouteContext(httpContext.Object);
            var controller   = new TestController();
            var context      = new ActionContext(routeContext, new ActionDescriptor())
            {
                Controller = controller
            };
            var activator = new DefaultControllerActivator();

            // Act
            activator.Activate(controller, context);

            // Assert
            Assert.NotNull(controller.GetViewData());
        }
Example #4
0
        public void Activate_SetsBindingContext()
        {
            // Arrange
            var bindingContext = new ActionBindingContext();

            var services = GetServices();

            services.GetRequiredService <IScopedInstance <ActionBindingContext> >().Value = bindingContext;

            var httpContext = new Mock <HttpContext>();

            httpContext.SetupGet(c => c.RequestServices)
            .Returns(services);
            var routeContext = new RouteContext(httpContext.Object);

            var controller = new TestController();
            var context    = new ActionContext(routeContext, new ActionDescriptor());

            var activator = new DefaultControllerActivator();

            // Act
            activator.Activate(controller, context);

            // Assert
            Assert.Same(bindingContext, controller.BindingContext);
        }
        public void Activate_SetsPropertiesFromActionContextHierarchy()
        {
            // Arrange
            var httpRequest = Mock.Of<HttpRequest>();
            var httpContext = new Mock<HttpContext>();
            httpContext.SetupGet(c => c.Request)
                       .Returns(httpRequest);
            httpContext.SetupGet(c => c.RequestServices)
                       .Returns(Mock.Of<IServiceProvider>());
            var routeContext = new RouteContext(httpContext.Object);
            var controller = new TestController();
            var context = new ActionContext(routeContext, new ActionDescriptor())
            {
                Controller = controller
            };
            var activator = new DefaultControllerActivator();

            // Act
            activator.Activate(controller, context);

            // Assert
            Assert.Same(context, controller.ActionContext);
            Assert.Same(httpContext.Object, controller.HttpContext);
            Assert.Same(httpRequest, controller.GetHttpRequest());
        }
        public void Activate_IgnoresPropertiesThatAreNotDecoratedWithActivateAttribute()
        {
            // Arrange
            var services = new Mock <IServiceProvider>();

            services.Setup(s => s.GetService(typeof(IUrlHelper)))
            .Returns(Mock.Of <IUrlHelper>());
            services.Setup(s => s.GetService(typeof(IModelMetadataProvider)))
            .Returns(new EmptyModelMetadataProvider());

            var httpContext = new Mock <HttpContext>();

            httpContext.SetupGet(c => c.Response)
            .Returns(Mock.Of <HttpResponse>());
            httpContext.SetupGet(c => c.RequestServices)
            .Returns(services.Object);
            var routeContext = new RouteContext(httpContext.Object);
            var controller   = new TestController();
            var context      = new ActionContext(routeContext, new ActionDescriptor())
            {
                Controller = controller
            };
            var activator = new DefaultControllerActivator();

            // Act
            activator.Activate(controller, context);

            // Assert
            Assert.Null(controller.Response);
        }
Example #7
0
        public void Activate_SetsViewDatDictionary()
        {
            // Arrange
            var services = GetServices();

            var httpContext = new Mock <HttpContext>();

            httpContext.SetupGet(c => c.RequestServices)
            .Returns(services);
            var routeContext = new RouteContext(httpContext.Object);
            var controller   = new TestController();
            var context      = new ActionContext(routeContext, new ActionDescriptor());
            var activator    = new DefaultControllerActivator();

            // Act
            activator.Activate(controller, context);

            // Assert
            Assert.NotNull(controller.GetViewData());
        }
Example #8
0
        public void Activate_PopulatesServicesFromServiceContainer()
        {
            // Arrange
            var services  = GetServices();
            var urlHelper = services.GetRequiredService <IUrlHelper>();

            var httpContext = new Mock <HttpContext>();

            httpContext.SetupGet(c => c.RequestServices)
            .Returns(services);
            var routeContext = new RouteContext(httpContext.Object);
            var controller   = new TestController();
            var context      = new ActionContext(routeContext, new ActionDescriptor());
            var activator    = new DefaultControllerActivator();

            // Act
            activator.Activate(controller, context);

            // Assert
            Assert.Same(urlHelper, controller.Helper);
        }
Example #9
0
        public void Activate_IgnoresPropertiesThatAreNotDecoratedWithActivateAttribute()
        {
            // Arrange
            var services = GetServices();

            var httpContext = new Mock <HttpContext>();

            httpContext.SetupGet(c => c.Response)
            .Returns(Mock.Of <HttpResponse>());
            httpContext.SetupGet(c => c.RequestServices)
            .Returns(services);
            var routeContext = new RouteContext(httpContext.Object);
            var controller   = new TestController();
            var context      = new ActionContext(routeContext, new ActionDescriptor());
            var activator    = new DefaultControllerActivator();

            // Act
            activator.Activate(controller, context);

            // Assert
            Assert.Null(controller.Response);
        }
        public void Activate_SetsViewDatDictionary()
        {
            // Arrange
            var service = new Mock<IServiceProvider>();
            service.Setup(s => s.GetService(typeof(IModelMetadataProvider)))
                   .Returns(Mock.Of<IModelMetadataProvider>());

            var httpContext = new Mock<HttpContext>();
            httpContext.SetupGet(c => c.RequestServices)
                       .Returns(service.Object);
            var routeContext = new RouteContext(httpContext.Object);
            var controller = new TestController();
            var context = new ActionContext(routeContext, new ActionDescriptor())
            {
                Controller = controller
            };
            var activator = new DefaultControllerActivator();

            // Act
            activator.Activate(controller, context);

            // Assert
            Assert.NotNull(controller.GetViewData());
        }
        public void Activate_IgnoresPropertiesThatAreNotDecoratedWithActivateAttribute()
        {
            // Arrange
            var httpContext = new Mock<HttpContext>();
            httpContext.SetupGet(c => c.Response)
                       .Returns(Mock.Of<HttpResponse>());
            httpContext.SetupGet(c => c.RequestServices)
                       .Returns(Mock.Of<IServiceProvider>());
            var routeContext = new RouteContext(httpContext.Object);
            var controller = new TestController();
            var context = new ActionContext(routeContext, new ActionDescriptor())
            {
                Controller = controller
            };
            var activator = new DefaultControllerActivator();

            // Act
            activator.Activate(controller, context);

            // Assert
            Assert.Null(controller.Response);
        }
        public void Activate_PopulatesServicesFromServiceContainer()
        {
            // Arrange
            var urlHelper = Mock.Of<IUrlHelper>();
            var service = new Mock<IServiceProvider>();
            service.Setup(s => s.GetService(typeof(IUrlHelper)))
                   .Returns(urlHelper);

            var httpContext = new Mock<HttpContext>();
            httpContext.SetupGet(c => c.RequestServices)
                       .Returns(service.Object);
            var routeContext = new RouteContext(httpContext.Object);
            var controller = new TestController();
            var context = new ActionContext(routeContext, new ActionDescriptor())
            {
                Controller = controller
            };
            var activator = new DefaultControllerActivator();

            // Act
            activator.Activate(controller, context);

            // Assert
            Assert.Same(urlHelper, controller.Helper);
        }