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>();
        }
Exemple #2
0
        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>();
        }