public void GetFilters_IncludesAttributesOnControllerType() { // Arrange var context = new ControllerContext { Controller = new ControllerWithTypeAttribute() }; var controllerDescriptorMock = new Mock <ControllerDescriptor>(); controllerDescriptorMock.Setup(cd => cd.GetFilterAttributes(It.IsAny <bool>())) .Returns(new FilterAttribute[] { new MyFilterAttribute { Order = 2112 } }); var actionDescriptorMock = new Mock <ActionDescriptor>(); actionDescriptorMock.Setup(ad => ad.ControllerDescriptor).Returns(controllerDescriptorMock.Object); var provider = new FilterAttributeFilterProvider(); // Act Filter filter = provider.GetFilters(context, actionDescriptorMock.Object).Single(); // Assert MyFilterAttribute attrib = filter.Instance as MyFilterAttribute; Assert.NotNull(attrib); Assert.Equal(FilterScope.Controller, filter.Scope); Assert.Equal(2112, filter.Order); }
public void GetFilters_IncludesAttributesOnActionMethod() { // Arrange var context = new ControllerContext { Controller = new ControllerWithActionAttribute() }; var controllerDescriptor = new ReflectedControllerDescriptor( context.Controller.GetType() ); var action = context.Controller.GetType().GetMethod("MyActionMethod"); var actionDescriptor = new ReflectedActionDescriptor( action, "MyActionMethod", controllerDescriptor ); var provider = new FilterAttributeFilterProvider(); // Act Filter filter = provider.GetFilters(context, actionDescriptor).Single(); // Assert MyFilterAttribute attrib = filter.Instance as MyFilterAttribute; Assert.NotNull(attrib); Assert.Equal(FilterScope.Action, filter.Scope); Assert.Equal(1234, filter.Order); }
public void GetDescriptors_IncludesFilters() { // Arrange var globalFilter = new MyFilterAttribute(1); var provider = GetProvider(typeof(FiltersController).GetTypeInfo(), new IFilterMetadata[] { globalFilter, }); // Act var descriptors = provider.GetDescriptors(); var descriptor = Assert.Single(descriptors); // Assert Assert.Equal(3, descriptor.FilterDescriptors.Count); var filter1 = descriptor.FilterDescriptors[0]; Assert.Same(globalFilter, filter1.Filter); Assert.Equal(FilterScope.Global, filter1.Scope); var filter2 = descriptor.FilterDescriptors[1]; Assert.Equal(2, Assert.IsType<MyFilterAttribute>(filter2.Filter).Value); Assert.Equal(FilterScope.Controller, filter2.Scope); var filter3 = descriptor.FilterDescriptors[2]; Assert.Equal(3, Assert.IsType<MyFilterAttribute>(filter3.Filter).Value); ; Assert.Equal(FilterScope.Action, filter3.Scope); }
public void GetDescriptors_IncludesFilters() { // Arrange var globalFilter = new MyFilterAttribute(1); var provider = GetProvider(typeof(FiltersController).GetTypeInfo(), new IFilter[] { globalFilter, }); // Act var descriptors = provider.GetDescriptors(); var descriptor = Assert.Single(descriptors); // Assert Assert.Equal(3, descriptor.FilterDescriptors.Count); var filter1 = descriptor.FilterDescriptors[0]; Assert.Same(globalFilter, filter1.Filter); Assert.Equal(FilterScope.Global, filter1.Scope); var filter2 = descriptor.FilterDescriptors[1]; Assert.Equal(2, Assert.IsType <MyFilterAttribute>(filter2.Filter).Value); Assert.Equal(FilterScope.Controller, filter2.Scope); var filter3 = descriptor.FilterDescriptors[2]; Assert.Equal(3, Assert.IsType <MyFilterAttribute>(filter3.Filter).Value);; Assert.Equal(FilterScope.Action, filter3.Scope); }
public void BuildModel_IncludesGlobalFilters() { // Arrange var filter = new MyFilterAttribute(1); var provider = GetProvider(typeof(PersonController).GetTypeInfo(), new IFilter[] { filter, }); // Act var model = provider.BuildModel(); // Assert var filters = model.Filters; Assert.Same(filter, Assert.Single(filters)); }
public void BuildModel_IncludesGlobalFilters() { // Arrange var filter = new MyFilterAttribute(1); var provider = GetProvider(typeof(PersonController).GetTypeInfo(), new IFilterMetadata[] { filter, }); // Act var model = provider.BuildModel(); // Assert var filters = model.Filters; Assert.Same(filter, Assert.Single(filters)); }