public void RouteScraper_should_ignore_route_params_if_constraints_are_empty() { // arrange var routeInformation = new RouteInformation { RouteTemplate = "/api/getAll" }; var description = new ControllerActionDescriptor(); // act RoutingScraper.CompleteRoutingInformation(routeInformation, description); // assert Assert.Empty(routeInformation.RouteParams); }
public void RouteScraper_should_take_route_constraints() { // arrange var routeInformation = new RouteInformation { RouteTemplate = "/api/{id}/test/{foo}" }; // act var constraints = RoutingScraper.GetRouteConstraints(routeInformation).ToList(); // assert Assert.Equal(2, constraints.Count); Assert.Equal("id", constraints[0]); Assert.Equal("foo", constraints[1]); }
public void RouteScraper_should_ignore_route_constraints_if_they_are_body_or_query_params() { // arrange var routeInformation = new RouteInformation { RouteTemplate = "query/{id}" }; // should avoid FromQueryAttribute or FromBodyAttribute var description = new ControllerActionDescriptor { MethodInfo = typeof(FakeController).GetMethod("FromQuery") }; // act RoutingScraper.CompleteRoutingInformation(routeInformation, description); // assert Assert.Empty(routeInformation.RouteParams); }
public void RouteScraper_should_resolve_descriptors_methods_with_route_constraints( string method, string name, Type type) { // arrange var routeInformation = new RouteInformation { RouteTemplate = "{id}" }; var description = new ControllerActionDescriptor { MethodInfo = typeof(FakeController).GetMethod(method) }; // act RoutingScraper.CompleteRoutingInformation(routeInformation, description); // assert Assert.Single(routeInformation.RouteParams); Assert.Equal(name, routeInformation.RouteParams.First().Key); Assert.Equal(type, routeInformation.RouteParams.First().Value); }