public void GetFiltersSortsFiltersByOrderFirstThenScope() { // Arrange var actionFilter = new JobFilter(new Object(), JobFilterScope.Method, null); var controllerFilter = new JobFilter(new Object(), JobFilterScope.Type, null); var globalFilter = new JobFilter(new Object(), JobFilterScope.Global, null); var earlyActionFilter = new JobFilter(new Object(), JobFilterScope.Method, -100); var lateGlobalFilter = new JobFilter(new Object(), JobFilterScope.Global, 100); var provider = new Mock <IJobFilterProvider>(MockBehavior.Strict); var collection = new JobFilterProviderCollection(new[] { provider.Object }); provider.Setup(p => p.GetFilters(_job)) .Returns(new[] { actionFilter, controllerFilter, globalFilter, earlyActionFilter, lateGlobalFilter }); // Act JobFilter[] result = collection.GetFilters(_job).ToArray(); // Assert Assert.Equal(5, result.Length); Assert.Same(earlyActionFilter, result[0]); Assert.Same(globalFilter, result[1]); Assert.Same(controllerFilter, result[2]); Assert.Same(actionFilter, result[3]); Assert.Same(lateGlobalFilter, result[4]); }
public void GetFilters_ReturnsNull_WhenJobIsNull() { var collection = new JobFilterProviderCollection(); var filters = collection.GetFilters(null); Assert.Empty(filters); }
public void GetFilters_ReturnsNull_WhenJobIsNull() { var collection = new JobFilterProviderCollection(); var filters = collection.GetFilters(null); Assert.Empty(filters); }
static JobFilterProviders() { // ReSharper disable once UseObjectOrCollectionInitializer Providers = new JobFilterProviderCollection(); Providers.Add(GlobalJobFilters.Filters); Providers.Add(new JobFilterAttributeFilterProvider()); }
public void GetFiltersUsesRegisteredProviders() { // Arrange var filter = new JobFilter(new Object(), JobFilterScope.Method, null); var provider = new Mock<IJobFilterProvider>(MockBehavior.Strict); var collection = new JobFilterProviderCollection(new[] { provider.Object }); provider.Setup(p => p.GetFilters(_job)).Returns(new[] { filter }); // Act IEnumerable<JobFilter> result = collection.GetFilters(_job); // Assert Assert.Same(filter, result.Single()); }
public void GetFiltersUsesRegisteredProviders() { // Arrange var filter = new JobFilter(new Object(), JobFilterScope.Method, null); var provider = new Mock <IJobFilterProvider>(MockBehavior.Strict); var collection = new JobFilterProviderCollection(new[] { provider.Object }); provider.Setup(p => p.GetFilters(_job)).Returns(new[] { filter }); // Act IEnumerable <JobFilter> result = collection.GetFilters(_job); // Assert Assert.Same(filter, result.Single()); }
public void GetFiltersIncludesLastFilterOnlyWithAttributeUsageAllowMultipleFalse() { // Arrange var globalFilter = new JobFilter(new AllowMultipleFalseAttribute(), JobFilterScope.Global, null); var controllerFilter = new JobFilter(new AllowMultipleFalseAttribute(), JobFilterScope.Type, null); var actionFilter = new JobFilter(new AllowMultipleFalseAttribute(), JobFilterScope.Method, null); var provider = new Mock<IJobFilterProvider>(MockBehavior.Strict); var collection = new JobFilterProviderCollection(new[] { provider.Object }); provider.Setup(p => p.GetFilters(_job)) .Returns(new[] { controllerFilter, actionFilter, globalFilter }); // Act IEnumerable<JobFilter> result = collection.GetFilters(_job); // Assert Assert.Same(actionFilter, result.Single()); }
public void GetFiltersIncludesLastFilterOnlyWithAttributeUsageAllowMultipleFalse() { // Arrange var globalFilter = new JobFilter(new AllowMultipleFalseAttribute(), JobFilterScope.Global, null); var controllerFilter = new JobFilter(new AllowMultipleFalseAttribute(), JobFilterScope.Type, null); var actionFilter = new JobFilter(new AllowMultipleFalseAttribute(), JobFilterScope.Method, null); var provider = new Mock <IJobFilterProvider>(MockBehavior.Strict); var collection = new JobFilterProviderCollection(new[] { provider.Object }); provider.Setup(p => p.GetFilters(_job)) .Returns(new[] { controllerFilter, actionFilter, globalFilter }); // Act IEnumerable <JobFilter> result = collection.GetFilters(_job); // Assert Assert.Same(actionFilter, result.Single()); }
public void GetFiltersIncludesAllFiltersWithCustomFilterAllowMultipleTrue() { // Arrange var globalFilter = new JobFilter(new AllowMultipleCustomFilter(true), JobFilterScope.Global, null); var controllerFilter = new JobFilter(new AllowMultipleCustomFilter(true), JobFilterScope.Type, null); var actionFilter = new JobFilter(new AllowMultipleCustomFilter(true), JobFilterScope.Method, null); var provider = new Mock <IJobFilterProvider>(MockBehavior.Strict); var collection = new JobFilterProviderCollection(new[] { provider.Object }); provider.Setup(p => p.GetFilters(_job)) .Returns(new[] { controllerFilter, actionFilter, globalFilter }); // Act List <JobFilter> result = collection.GetFilters(_job).ToList(); // Assert Assert.Same(globalFilter, result[0]); Assert.Same(controllerFilter, result[1]); Assert.Same(actionFilter, result[2]); }
public void GetFiltersSortsFiltersByOrderFirstThenScope() { // Arrange var actionFilter = new JobFilter(new Object(), JobFilterScope.Method, null); var controllerFilter = new JobFilter(new Object(), JobFilterScope.Type, null); var globalFilter = new JobFilter(new Object(), JobFilterScope.Global, null); var earlyActionFilter = new JobFilter(new Object(), JobFilterScope.Method, -100); var lateGlobalFilter = new JobFilter(new Object(), JobFilterScope.Global, 100); var provider = new Mock<IJobFilterProvider>(MockBehavior.Strict); var collection = new JobFilterProviderCollection(new[] { provider.Object }); provider.Setup(p => p.GetFilters(_job)) .Returns(new[] { actionFilter, controllerFilter, globalFilter, earlyActionFilter, lateGlobalFilter }); // Act JobFilter[] result = collection.GetFilters(_job).ToArray(); // Assert Assert.Equal(5, result.Length); Assert.Same(earlyActionFilter, result[0]); Assert.Same(globalFilter, result[1]); Assert.Same(controllerFilter, result[2]); Assert.Same(actionFilter, result[3]); Assert.Same(lateGlobalFilter, result[4]); }
static JobFilterProviders() { Providers = new JobFilterProviderCollection(); Providers.Add(GlobalJobFilters.Filters); Providers.Add(new JobFilterAttributeFilterProvider()); }
static JobFilterProviders() { Providers = new JobFilterProviderCollection(); Providers.Add(GlobalJobFilters.Filters); Providers.Add(new JobFilterAttributeFilterProvider()); }
public void GetFiltersIncludesAllFiltersWithAttributeUsageAllowMultipleTrue() { // Arrange var globalFilter = new JobFilter(new AllowMultipleTrueAttribute(), JobFilterScope.Global, null); var controllerFilter = new JobFilter(new AllowMultipleTrueAttribute(), JobFilterScope.Type, null); var actionFilter = new JobFilter(new AllowMultipleTrueAttribute(), JobFilterScope.Method, null); var provider = new Mock<IJobFilterProvider>(MockBehavior.Strict); var collection = new JobFilterProviderCollection(new[] { provider.Object }); provider.Setup(p => p.GetFilters(_job)) .Returns(new[] { controllerFilter, actionFilter, globalFilter }); // Act List<JobFilter> result = collection.GetFilters(_job).ToList(); // Assert Assert.Same(globalFilter, result[0]); Assert.Same(controllerFilter, result[1]); Assert.Same(actionFilter, result[2]); }