public void RedirectToRoute_WithNoArgs_ResultHasCorrectValues() { // Act var result = TypedResults.RedirectToRoute(); // Assert Assert.Null(result.RouteName); Assert.Null(result.RouteValues); }
public void RedirectToRoute_WithRouteNameAndRouteValuesAndFragment_ResultHasCorrectValues() { // Arrange var routeName = "routeName"; var routeValues = new { foo = 123 }; var fragment = "test"; // Act var result = TypedResults.RedirectToRoute(routeName, routeValues, true, true, fragment); // Assert Assert.Equal(routeName, result.RouteName); Assert.Equal(new RouteValueDictionary(routeValues), result.RouteValues); Assert.True(result.Permanent); Assert.True(result.PreserveMethod); Assert.Equal(fragment, result.Fragment); }
/// <summary> /// Redirects to the specified route. /// <list type="bullet"> /// <item>When <paramref name="permanent"/> and <paramref name="preserveMethod"/> are set, sets the <see cref="StatusCodes.Status308PermanentRedirect"/> status code.</item> /// <item>When <paramref name="preserveMethod"/> is set, sets the <see cref="StatusCodes.Status307TemporaryRedirect"/> status code.</item> /// <item>When <paramref name="permanent"/> is set, sets the <see cref="StatusCodes.Status301MovedPermanently"/> status code.</item> /// <item>Otherwise, configures <see cref="StatusCodes.Status302Found"/>.</item> /// </list> /// </summary> /// <param name="routeName">The name of the route.</param> /// <param name="routeValues">The parameters for a route.</param> /// <param name="permanent">Specifies whether the redirect should be permanent (301) or temporary (302).</param> /// <param name="preserveMethod">If set to true, make the temporary redirect (307) or permanent redirect (308) preserve the initial request method.</param> /// <param name="fragment">The fragment to add to the URL.</param> /// <returns>The created <see cref="IResult"/> for the response.</returns> public static IResult RedirectToRoute(string?routeName = null, object?routeValues = null, bool permanent = false, bool preserveMethod = false, string?fragment = null) => TypedResults.RedirectToRoute(routeName, routeValues, permanent, preserveMethod, fragment);