public void create_url_for_a_route_with_two_parameters() { var url = new RouteDefinition<SampleViewModel>("my/sample/{InPath}/{AlsoInPath}"); url.AddRouteInput(x => x.InPath); url.AddRouteInput(x => x.AlsoInPath); url.ToRoute().Url.ShouldEqual("my/sample/{InPath}/{AlsoInPath}"); }
public void add_constraint_to_route_with_model() { var url = new RouteDefinition<SampleViewModel>("my/sample"); var constraintToAdd = new HttpMethodConstraint("POST"); url.AddRouteConstraint("httpMethod", constraintToAdd); Route route = url.ToRoute(); route.Constraints["httpMethod"].ShouldEqual(constraintToAdd); }
public void create_default_value_for_a_route() { var url = new RouteDefinition<SampleViewModel>("my/sample"); url.AddRouteInput(x => x.InPath); url.RouteInputFor("InPath").DefaultValue = "something"; Route route = url.ToRoute(); route.Defaults["InPath"].ShouldEqual("something"); }
public void add_constraint_to_route_with_model() { var parent = new RouteDefinition("my/sample"); parent.Input = new RouteInput<SampleViewModel>(parent); var constraintToAdd = new HttpMethodConstraint("POST"); parent.AddRouteConstraint("httpMethod", constraintToAdd); Route route = parent.ToRoute(); route.Constraints["httpMethod"].ShouldEqual(constraintToAdd); }
public void create_two_default_values_for_a_route() { var url = new RouteDefinition<SampleViewModel>("my/sample"); url.AddRouteInput(x => x.InPath); url.AddRouteInput(x => x.AlsoInPath); url.RouteInputFor("InPath").DefaultValue = "something"; url.RouteInputFor("AlsoInPath").DefaultValue = "something else"; Route route = url.ToRoute(); route.Defaults.Count().ShouldEqual(2); }
public void should_not_have_constraints_by_default() { var url = new RouteDefinition("my/sample"); Route route = url.ToRoute(); route.Constraints.ShouldBeNull(); }
public void should_have_one_default_value_for_route() { var url = new RouteDefinition<SampleViewModel>("my/sample"); url.AddRouteInput(x => x.InPath); url.AddRouteInput(x => x.AlsoInPath); url.RouteInputFor("InPath").DefaultValue = "something"; Route route = url.ToRoute(); route.Defaults.Count().ShouldEqual(1); }
public void should_have_one_default_value_for_a_route_and_does_not_include_querystring_in_route() { var url = new RouteDefinition<SampleViewModel>("my/sample"); url.AddRouteInput(x => x.InPath); url.AddQueryInput(x => x.InQueryString); url.RouteInputFor("InPath").DefaultValue = "something"; url.QueryInputFor("InQueryString").DefaultValue = "querysomething"; Route route = url.ToRoute(); route.Defaults.Count().ShouldEqual(1); }
public void does_not_create_default_for_a_simple_parameter() { var url = new RouteDefinition<SampleViewModel>("my/sample"); url.AddRouteInput(x => x.InPath); Route route = url.ToRoute(); route.Defaults.Count().ShouldEqual(0); }
public void create_route_with_http_constraints() { var route = new RouteDefinition("something"); route.AddHttpMethodConstraint("Get"); route.AddHttpMethodConstraint("POST"); route.ToRoute().Constraints.Single().Value.ShouldBeOfType<HttpMethodConstraint>() .AllowedMethods.ShouldHaveTheSameElementsAs("GET", "POST"); }
public void default_value_syntax_for_urlpattern_produces_correct_route() { var parent = new RouteDefinition("my/sample/{InPath:hello}/{AlsoInPath:world}"); parent.Input = new RouteInput<SampleViewModel>(parent); var route = parent.ToRoute(); Assert.IsFalse(Regex.Match(route.Url, @":\w+").Success); }