Beispiel #1
0
        public void MapMvcAttributeRoutes_DoesNotTryToInferRouteNames()
        {
            var controllerDescriptor = new ReflectedAsyncControllerDescriptor(typeof(MyController));
            var mapper = new AttributeRoutingMapper(new RouteBuilder2());

            var routeEntries = mapper.MapAttributeRoutes(controllerDescriptor);

            var routeEntry = Assert.Single(routeEntries);

            Assert.Null(routeEntry.Name);
        }
Beispiel #2
0
        public void MapMvcAttributeRoutes_WithControllerRoute_AndNoReachableActions()
        {
            // Arrange
            var controllerDescriptor = new ReflectedAsyncControllerDescriptor(typeof(NoActionsController));
            var mapper = new AttributeRoutingMapper(new RouteBuilder2());

            // Act
            var entries = mapper.MapAttributeRoutes(controllerDescriptor);

            // Assert
            Assert.Empty(entries);
        }
Beispiel #3
0
        public void MapMvcAttributeRoutes_RespectsActionNameAttribute()
        {
            // Arrange
            var controllerDescriptor = new ReflectedAsyncControllerDescriptor(typeof(MyController));
            var mapper = new AttributeRoutingMapper(new RouteBuilder2());

            // Act
            var routeEntries = mapper.MapAttributeRoutes(controllerDescriptor);

            // Assert
            var routeEntry = Assert.Single(routeEntries);

            Assert.Equal("ActionName", routeEntry.Route.Defaults["action"]);
        }
Beispiel #4
0
        public void MapMvcAttributeRoutes_WithControllerRoute()
        {
            // Arrange
            var controllerDescriptor = new ReflectedAsyncControllerDescriptor(typeof(AnotherController));
            var mapper = new AttributeRoutingMapper(new RouteBuilder2());

            // Act
            var entries = mapper.MapAttributeRoutes(controllerDescriptor);

            // Assert
            var controllerEntry = Assert.Single(entries.Where(r => !r.Route.Defaults.ContainsKey("action")));

            Assert.Same(controllerDescriptor, controllerEntry.Route.GetTargetControllerDescriptor());

            var actionMethods = controllerEntry.Route.GetTargetActionDescriptors().ToArray();

            Assert.Equal(2, actionMethods.Length);
            Assert.Single(actionMethods, a => a.ActionName == "RegularAction");
            Assert.Single(actionMethods, a => a.ActionName == "AnotherAction");
        }