Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        public void GetFilters_ReturnsNull_WhenJobIsNull()
        {
            var collection = new JobFilterProviderCollection();
            var filters    = collection.GetFilters(null);

            Assert.Empty(filters);
        }
Exemplo n.º 4
0
 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());
        }
Exemplo n.º 6
0
        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());
        }
Exemplo n.º 8
0
        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());
        }
Exemplo n.º 9
0
        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]);
        }
Exemplo n.º 11
0
 static JobFilterProviders()
 {
     Providers = new JobFilterProviderCollection();
     Providers.Add(GlobalJobFilters.Filters);
     Providers.Add(new JobFilterAttributeFilterProvider());
 }
Exemplo n.º 12
0
 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]);
        }