public void Create_CreatesInstancesOfTypes(Type type) { // Arrange var activator = new DefaultControllerActivator(new TypeActivatorCache()); var serviceProvider = new Mock <IServiceProvider>(MockBehavior.Strict); var httpContext = new DefaultHttpContext { RequestServices = serviceProvider.Object }; var context = new ControllerContext( new ActionContext( httpContext, new RouteData(), new ControllerActionDescriptor { ControllerTypeInfo = type.GetTypeInfo() })); // Act var instance = activator.Create(context); // Assert Assert.IsType(type, instance); }
public void Create_TypeActivatesTypesWithServices() { // Arrange var activator = new DefaultControllerActivator(new TypeActivatorCache()); var serviceProvider = new Mock <IServiceProvider>(MockBehavior.Strict); var testService = new TestService(); serviceProvider.Setup(s => s.GetService(typeof(TestService))) .Returns(testService) .Verifiable(); var httpContext = new DefaultHttpContext { RequestServices = serviceProvider.Object }; var context = new ControllerContext( new ActionContext( httpContext, new RouteData(), new ControllerActionDescriptor { ControllerTypeInfo = typeof(TypeDerivingFromControllerWithServices).GetTypeInfo() })); // Act var instance = activator.Create(context); // Assert var controller = Assert.IsType <TypeDerivingFromControllerWithServices>(instance); Assert.Same(testService, controller.TestService); serviceProvider.Verify(); }
public void Create_TypeActivatesTypesWithServices() { // Arrange var activator = new DefaultControllerActivator(new TypeActivatorCache()); var serviceProvider = new Mock<IServiceProvider>(MockBehavior.Strict); var testService = new TestService(); serviceProvider.Setup(s => s.GetService(typeof(TestService))) .Returns(testService) .Verifiable(); var httpContext = new DefaultHttpContext { RequestServices = serviceProvider.Object }; var context = new ControllerContext( new ActionContext( httpContext, new RouteData(), new ControllerActionDescriptor { ControllerTypeInfo = typeof(TypeDerivingFromControllerWithServices).GetTypeInfo() })); // Act var instance = activator.Create(context); // Assert var controller = Assert.IsType<TypeDerivingFromControllerWithServices>(instance); Assert.Same(testService, controller.TestService); serviceProvider.Verify(); }
public void Create_CreatesInstancesOfTypes(Type type) { // Arrange var activator = new DefaultControllerActivator(new TypeActivatorCache()); var serviceProvider = new Mock<IServiceProvider>(MockBehavior.Strict); var httpContext = new DefaultHttpContext { RequestServices = serviceProvider.Object }; var context = new ControllerContext( new ActionContext( httpContext, new RouteData(), new ControllerActionDescriptor { ControllerTypeInfo = type.GetTypeInfo() })); // Act var instance = activator.Create(context); // Assert Assert.IsType(type, instance); }
public object Create(ControllerContext context) { var type = context.ActionDescriptor.ControllerTypeInfo; if (type.AsType().Equals(typeof(TransfersController))) { return(ConfigureTransferOnsController(context.HttpContext.RequestServices)); } return(defaultActivator.Create(context)); }
public object Create(ControllerContext context) { //throw new NotImplementedException(); var type = context.ActionDescriptor.ControllerTypeInfo; var option = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder <SimpleInventoryContext>(); option.UseSqlServer(Configuration["ConnectionString"]); if (type.AsType().Equals(typeof(InventoryController))) { return(ConfigureDependency(context.HttpContext.RequestServices, new SimpleInventoryContext(option.Options))); } return(DefaultActivator.Create(context)); }