Пример #1
0
    public void RedirectToRoute_WithNoArgs_ResultHasCorrectValues()
    {
        // Act
        var result = TypedResults.RedirectToRoute();

        // Assert
        Assert.Null(result.RouteName);
        Assert.Null(result.RouteValues);
    }
Пример #2
0
    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);
    }
Пример #3
0
 /// <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);