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