/// <inheritdoc />
        public IAndRedirectTestBuilder ContainingRouteValueOfType <TRouteValue>()
        {
            RouteActionResultValidator.ValidateRouteValueOfType <TRouteValue>(
                this.ActionResult,
                this.ThrowNewRedirectResultAssertionException);

            return(this);
        }
        /// <inheritdoc />
        public IAndCreatedTestBuilder ContainingRouteValueOfType <TRouteValue>()
        {
            RouteActionResultValidator.ValidateRouteValueOfType <TRouteValue>(
                this.TestContext.MethodResult,
                this.ThrowNewCreatedResultAssertionException);

            return(this);
        }
        /// <inheritdoc />
        public IAndRedirectTestBuilder ContainingRouteKey(string key)
        {
            RouteActionResultValidator.ValidateRouteValue(
                this.ActionResult,
                key,
                this.ThrowNewRedirectResultAssertionException);

            return(this);
        }
        /// <inheritdoc />
        public IAndCreatedTestBuilder WithUrlHelperOfType <TUrlHelper>()
            where TUrlHelper : IUrlHelper
        {
            RouteActionResultValidator.ValidateUrlHelperOfType <TUrlHelper>(
                this.TestContext.MethodResult,
                this.ThrowNewCreatedResultAssertionException);

            return(this);
        }
        /// <inheritdoc />
        public IAndCreatedTestBuilder WithUrlHelper(IUrlHelper urlHelper)
        {
            RouteActionResultValidator.ValidateUrlHelper(
                this.TestContext.MethodResult,
                urlHelper,
                this.ThrowNewCreatedResultAssertionException);

            return(this);
        }
Пример #6
0
        /// <inheritdoc />
        public IAndCreatedTestBuilder ContainingRouteValueOfType <TRouteValue>(string key)
        {
            RouteActionResultValidator.ValidateRouteValueOfType <TRouteValue>(
                this.ActionResult,
                key,
                this.ThrowNewCreatedResultAssertionException);

            return(this);
        }
        /// <inheritdoc />
        public IAndCreatedTestBuilder ContainingRouteKey(string key)
        {
            RouteActionResultValidator.ValidateRouteValue(
                this.TestContext.MethodResult,
                key,
                this.ThrowNewCreatedResultAssertionException);

            return(this);
        }
        /// <inheritdoc />
        public IAndRedirectTestBuilder WithUrlHelper(IUrlHelper urlHelper)
        {
            RouteActionResultValidator.ValidateUrlHelper(
                this.ActionResult,
                urlHelper,
                this.ThrowNewRedirectResultAssertionException);

            return(this);
        }
        /// <inheritdoc />
        public IAndRedirectTestBuilder WithUrlHelperOfType <TUrlHelper>()
            where TUrlHelper : IUrlHelper
        {
            RouteActionResultValidator.ValidateUrlHelperOfType <TUrlHelper>(
                this.ActionResult,
                this.ThrowNewRedirectResultAssertionException);

            return(this);
        }
Пример #10
0
        /// <inheritdoc />
        public IAndCreatedTestBuilder ContainingRouteValue <TRouteValue>(TRouteValue value)
        {
            RouteActionResultValidator.ValidateRouteValue(
                this.ActionResult,
                value,
                this.ThrowNewCreatedResultAssertionException);

            return(this);
        }
Пример #11
0
        private IAndLocalRedirectTestBuilder ProcessRouteLambdaExpression <TController>(LambdaExpression actionCall)
        {
            RouteActionResultValidator.ValidateExpressionLink(
                this.TestContext,
                LinkGenerationTestContext.FromLocalRedirectResult(this.ActionResult),
                actionCall,
                this.ThrowNewRedirectResultAssertionException);

            return(this);
        }
        /// <inheritdoc />
        public IAndRedirectTestBuilder ContainingRouteValues(IDictionary <string, object> routeValues)
        {
            RouteActionResultValidator.ValidateRouteValues(
                this.ActionResult,
                routeValues,
                this.IncludeCountCheck,
                this.ThrowNewRedirectResultAssertionException);

            return(this);
        }
Пример #13
0
        /// <inheritdoc />
        public IAndCreatedTestBuilder AtController(string controllerName)
        {
            var createdAtActionResult = this.GetCreatedResult <CreatedAtActionResult>("controller name");

            RouteActionResultValidator.ValidateControllerName(
                createdAtActionResult,
                controllerName,
                this.ThrowNewCreatedResultAssertionException);

            return(this);
        }
Пример #14
0
        /// <inheritdoc />
        public IAndCreatedTestBuilder AtAction(string actionName)
        {
            var createdAtActionResult = this.GetCreatedResult <CreatedAtActionResult>("action name");

            RouteActionResultValidator.ValidateActionName(
                createdAtActionResult,
                actionName,
                this.ThrowNewCreatedResultAssertionException);

            return(this);
        }
        /// <inheritdoc />
        public IAndRedirectTestBuilder WithRouteName(string routeName)
        {
            var redirectAtRouteResult = this.GetRedirectResult <RedirectToRouteResult>("route name");

            RouteActionResultValidator.ValidateRouteName(
                redirectAtRouteResult,
                routeName,
                this.ThrowNewRedirectResultAssertionException);

            return(this);
        }
Пример #16
0
        /// <inheritdoc />
        public IAndCreatedTestBuilder WithRouteName(string routeName)
        {
            var createdAtRouteResult = this.GetCreatedResult <CreatedAtRouteResult>("route name");

            RouteActionResultValidator.ValidateRouteName(
                createdAtRouteResult,
                routeName,
                this.ThrowNewCreatedResultAssertionException);

            return(this);
        }
        /// <inheritdoc />
        public IAndRedirectTestBuilder ToController(string controllerName)
        {
            var redirectAtActionResult = this.GetRedirectResult <RedirectToActionResult>("controller name");

            RouteActionResultValidator.ValidateControllerName(
                redirectAtActionResult,
                controllerName,
                this.ThrowNewRedirectResultAssertionException);

            return(this);
        }
        /// <inheritdoc />
        public IAndRedirectTestBuilder ToAction(string actionName)
        {
            var redirectAtActionResult = this.GetRedirectResult <RedirectToActionResult>("action name");

            RouteActionResultValidator.ValidateActionName(
                redirectAtActionResult,
                actionName,
                this.ThrowNewRedirectResultAssertionException);

            return(this);
        }
Пример #19
0
        private IAndCreatedTestBuilder ProcessRouteLambdaExpression <TController>(LambdaExpression actionCall)
        {
            this.createdAtExpression = actionCall;

            RouteActionResultValidator.ValidateExpressionLink(
                this.TestContext,
                LinkGenerationTestContext.FromCreatedResult(this.ActionResult),
                actionCall,
                this.ThrowNewCreatedResultAssertionException);

            return(this);
        }
Пример #20
0
        /// <inheritdoc />
        public IAndCreatedTestBuilder ContainingRouteValues(IDictionary <string, object> routeValues)
        {
            var includeCountCheck = this.createdAtExpression == null;

            RouteActionResultValidator.ValidateRouteValues(
                this.ActionResult,
                routeValues,
                includeCountCheck,
                this.ThrowNewCreatedResultAssertionException);

            return(this);
        }
Пример #21
0
        /// <summary>
        /// Tests whether the <see cref="Microsoft.AspNetCore.Mvc.ActionResult"/>
        /// contains specific route value of the given type.
        /// </summary>
        /// <param name="baseTestBuilderWithRouteValuesResult">
        /// Instance of <see cref="IBaseTestBuilderWithRouteValuesResult{TRouteValuesResultTestBuilder}"/> type.
        /// </param>
        /// <returns>The same route values <see cref="Microsoft.AspNetCore.Mvc.ActionResult"/> test builder.</returns>
        public static TRouteValuesResultTestBuilder ContainingRouteValueOfType <TRouteValuesResultTestBuilder, TRouteValue>(
            this IBaseTestBuilderWithRouteValuesResult <TRouteValuesResultTestBuilder> baseTestBuilderWithRouteValuesResult)
            where TRouteValuesResultTestBuilder : IBaseTestBuilderWithActionResult
        {
            var actualBuilder = GetActualBuilder(baseTestBuilderWithRouteValuesResult);

            RouteActionResultValidator.ValidateRouteValueOfType <TRouteValue>(
                actualBuilder.TestContext.MethodResult,
                actualBuilder.ThrowNewFailedValidationException);

            return(actualBuilder.ResultTestBuilder);
        }
        /// <summary>
        /// Tests whether the <see cref="ActionResult"/>
        /// has the same <see cref="IUrlHelper"/> type as the provided one.
        /// </summary>
        /// <param name="baseTestBuilderWithUrlHelper">
        /// Instance of <see cref="IBaseTestBuilderWithUrlHelperResult{TUrlHelperResultTestBuilder}"/> type.
        /// </param>
        /// <returns>The same URL helper <see cref="ActionResult"/> test builder.</returns>
        public static TUrlHelperResultTestBuilder WithUrlHelperOfType <TUrlHelperResultTestBuilder, TUrlHelper>(
            this IBaseTestBuilderWithUrlHelperResult <TUrlHelperResultTestBuilder> baseTestBuilderWithUrlHelper)
            where TUrlHelper : IUrlHelper
            where TUrlHelperResultTestBuilder : IBaseTestBuilderWithActionResult
        {
            var actualBuilder = GetActualBuilder(baseTestBuilderWithUrlHelper);

            RouteActionResultValidator.ValidateUrlHelperOfType <TUrlHelper>(
                actualBuilder.TestContext.MethodResult,
                actualBuilder.ThrowNewFailedValidationException);

            return(actualBuilder.ResultTestBuilder);
        }
Пример #23
0
        /// <summary>
        /// Tests whether the <see cref="RedirectToActionResult"/>
        /// result has specific controller name.
        /// </summary>
        /// <param name="redirectTestBuilder">
        /// Instance of <see cref="IRedirectTestBuilder"/> type.
        /// </param>
        /// <param name="controllerName">Expected controller name.</param>
        /// <returns>The same <see cref="IAndRedirectTestBuilder"/>.</returns>
        public static IAndRedirectTestBuilder ToController(
            this IRedirectTestBuilder redirectTestBuilder,
            string controllerName)
        {
            var actualBuilder = GetRedirectTestBuilder <RedirectToActionResult>(redirectTestBuilder, "controller name");

            RouteActionResultValidator.ValidateControllerName(
                actualBuilder.ActionResult,
                controllerName,
                actualBuilder.ThrowNewFailedValidationException);

            return(actualBuilder);
        }
Пример #24
0
        /// <summary>
        /// Tests whether the <see cref="Microsoft.AspNetCore.Mvc.ActionResult"/> has specific route name.
        /// </summary>
        /// <param name="baseTestBuilderWithRouteValuesResult">
        /// Instance of <see cref="IBaseTestBuilderWithRouteValuesResult{TRouteValuesResultTestBuilder}"/> type.
        /// </param>
        /// <param name="routeName">Expected route name.</param>
        /// <returns>The same route values <see cref="Microsoft.AspNetCore.Mvc.ActionResult"/> test builder.</returns>
        public static TRouteValuesResultTestBuilder WithRouteName <TRouteValuesResultTestBuilder>(
            this IBaseTestBuilderWithRouteValuesResult <TRouteValuesResultTestBuilder> baseTestBuilderWithRouteValuesResult,
            string routeName)
            where TRouteValuesResultTestBuilder : IBaseTestBuilderWithActionResult
        {
            var actualBuilder = GetActualBuilder(baseTestBuilderWithRouteValuesResult);

            RouteActionResultValidator.ValidateRouteName(
                actualBuilder.TestContext.MethodResult,
                routeName,
                actualBuilder.ThrowNewFailedValidationException);

            return(actualBuilder.ResultTestBuilder);
        }
Пример #25
0
        /// <summary>
        /// Tests whether the <see cref="Microsoft.AspNetCore.Mvc.ActionResult"/>
        /// contains the provided route values.
        /// </summary>
        /// <param name="baseTestBuilderWithRouteValuesResult">
        /// Instance of <see cref="IBaseTestBuilderWithRouteValuesResult{TRouteValuesResultTestBuilder}"/> type.
        /// </param>
        /// <param name="routeValues">Expected route value dictionary.</param>
        /// <returns>The same route values <see cref="Microsoft.AspNetCore.Mvc.ActionResult"/> test builder.</returns>
        public static TRouteValuesResultTestBuilder ContainingRouteValues <TRouteValuesResultTestBuilder>(
            this IBaseTestBuilderWithRouteValuesResult <TRouteValuesResultTestBuilder> baseTestBuilderWithRouteValuesResult,
            IDictionary <string, object> routeValues)
            where TRouteValuesResultTestBuilder : IBaseTestBuilderWithActionResult
        {
            var actualBuilder = GetActualBuilder(baseTestBuilderWithRouteValuesResult);

            RouteActionResultValidator.ValidateRouteValues(
                actualBuilder.TestContext.MethodResult,
                routeValues,
                actualBuilder.IncludeCountCheck,
                actualBuilder.ThrowNewFailedValidationException);

            return(actualBuilder.ResultTestBuilder);
        }
        /// <summary>
        /// Tests whether the <see cref="AcceptedAtActionResult"/>
        /// has specific controller name.
        /// </summary>
        /// <param name="acceptedTestBuilder">
        /// Instance of <see cref="IAcceptedTestBuilder"/> type.
        /// </param>
        /// <param name="controllerName">Expected controller name.</param>
        /// <returns>The same <see cref="IAndAcceptedTestBuilder"/>.</returns>
        public static IAndAcceptedTestBuilder AtController(
            this IAcceptedTestBuilder acceptedTestBuilder,
            string controllerName)
        {
            var actualBuilder = GetAcceptedTestBuilder <AcceptedAtActionResult>(
                acceptedTestBuilder,
                "controller name");

            RouteActionResultValidator.ValidateControllerName(
                actualBuilder.ActionResult,
                controllerName,
                actualBuilder.ThrowNewFailedValidationException);

            return(actualBuilder);
        }
        /// <summary>
        /// Tests whether the <see cref="CreatedAtActionResult"/>
        /// has specific action name.
        /// </summary>
        /// <param name="createdTestBuilder">
        /// Instance of <see cref="ICreatedTestBuilder"/> type.
        /// </param>
        /// <param name="actionName">Expected action name.</param>
        /// <returns>The same <see cref="IAndCreatedTestBuilder"/>.</returns>
        public static IAndCreatedTestBuilder AtAction(
            this ICreatedTestBuilder createdTestBuilder,
            string actionName)
        {
            var actualBuilder = GetCreatedTestBuilder <CreatedAtActionResult>(
                createdTestBuilder,
                "action name");

            RouteActionResultValidator.ValidateActionName(
                actualBuilder.ActionResult,
                actionName,
                actualBuilder.ThrowNewFailedValidationException);

            return(actualBuilder);
        }