public void Should_get_route_descriptor_for_action() { var descriptors = _routeConvention.GetRouteDescriptors(new RouteContext( null, null, Type <Handler> .Expression(x => x.Post_UrlParam1_Segment_UrlParam2( null, null, null, null, null)).ToActionMethod())); descriptors.Count.ShouldEqual(1); var descriptor = descriptors.First(); var url = "Tests/Unit/Routing/{urlParam1}/Segment/{urlParam2}"; descriptor.Id.ShouldEqual($"POST:{url}"); descriptor.Method.ShouldEqual("POST"); descriptor.Url.ShouldEqual(url); descriptor.UrlParameters.Length.ShouldEqual(2); descriptor.UrlParameters.ShouldContain(x => x.Name == "urlParam1"); descriptor.UrlParameters.ShouldContain(x => x.Name == "urlParam2"); descriptor.QuerystringParameters.Length.ShouldEqual(2); descriptor.QuerystringParameters.ShouldContain(x => x.Name == "querystringParam1"); descriptor.QuerystringParameters.ShouldContain(x => x.Name == "querystringParam2"); descriptor.HasRequest.ShouldBeTrue(); descriptor.RequestParameter.ParameterType.Type.ShouldEqual <Request>(); descriptor.HasResponse.ShouldBeTrue(); descriptor.ResponseType.Type.ShouldEqual <Response>(); }
public void Should_get_route_descriptor_for_action() { var descriptors = _routeConvention.GetRouteDescriptors(new RouteContext( ActionMethod.From <Handler>(x => x.Post_UrlParam1_Segment_UrlParam2( null, null, null, null, null)))); descriptors.Count.ShouldEqual(1); var descriptor = descriptors.First(); var url = "Unit/Routing/{urlParam1}/Segment/{urlParam2}"; descriptor.Id.ShouldEqual($"POST:{url.RemoveParameterNames()}"); descriptor.Method.ShouldEqual("POST"); descriptor.Url.ShouldEqual(url); descriptor.UrlParameters.Count().ShouldEqual(2); descriptor.UrlParameters.ShouldContain(x => x.Name == "urlParam1"); descriptor.UrlParameters.ShouldContain(x => x.Name == "urlParam2"); descriptor.Parameters.Count().ShouldEqual(2); descriptor.Parameters.ShouldContain(x => x.Name == "param1"); descriptor.Parameters.ShouldContain(x => x.Name == "param2"); descriptor.HasRequest.ShouldBeTrue(); descriptor.RequestParameter.ParameterType.Type.ShouldEqual <Request>(); descriptor.HasResponse.ShouldBeTrue(); descriptor.ResponseType.Type.ShouldEqual <Response>(); }