Пример #1
0
        public void FindsActionWithAssignableContentRouteType()
        {
            var action = new ControllerActionDescriptor {
                ControllerName = "lorem", MethodInfo = typeof(MyController).GetMethod(nameof(MyController.ActionWithIContentParameter))
            };

            var serviceProvider = Mock.Of <IServiceProvider>();
            var actions         = Mock.Of <IActionDescriptorCollectionProvider>();

            Mock.Get(serviceProvider).Setup(s => s.GetService(typeof(IActionDescriptorCollectionProvider))).Returns(actions);
            Mock.Get(actions).SetupGet(a => a.ActionDescriptors).Returns(new ActionDescriptorCollection(new List <ActionDescriptor> {
                action
            }.AsReadOnly(), 0));

            var result = new ContentRouteActionFinder(serviceProvider).Find("lorem", new MyContentA());

            Assert.Same(action, result);
        }
Пример #2
0
        public void RequiresContentRouteAttribute()
        {
            var action = new ControllerActionDescriptor {
                ControllerName = "lorem", MethodInfo = typeof(MyController).GetMethod(nameof(MyController.ActionWithNonAnnotatedTypeAParameter))
            };

            var serviceProvider = Mock.Of <IServiceProvider>();
            var actions         = Mock.Of <IActionDescriptorCollectionProvider>();

            Mock.Get(serviceProvider).Setup(s => s.GetService(typeof(IActionDescriptorCollectionProvider))).Returns(actions);
            Mock.Get(actions).SetupGet(a => a.ActionDescriptors).Returns(new ActionDescriptorCollection(new List <ActionDescriptor> {
                action
            }.AsReadOnly(), 0));

            var result = new ContentRouteActionFinder(serviceProvider).Find("ipsum", new MyContentA());

            Assert.Null(result);
        }