/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.PartialViewResult"/> /// with the same deeply equal model as the provided one. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <typeparam name="TModel">Expected model type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="model">Expected deeply equal model object.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder PartialView <TActionResult, TModel>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, TModel model) => shouldReturnTestBuilder .PartialView(partialView => partialView .WithName(null) .WithModel(model));
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.FileContentResult"/> /// with the same file contents, content type, and download name as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="fileContents">Expected file contents.</param> /// <param name="contentType">Expected content type.</param> /// <param name="fileDownloadName">Expected file download name.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder File <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, byte[] fileContents, string contentType, string fileDownloadName) => shouldReturnTestBuilder .File(fileContents, contentType, fileDownloadName, false);
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.ViewResult"/> /// with the same deeply equal model as the provided one. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <typeparam name="TModel">Expected model type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="model">Expected deeply equal model object.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder View <TActionResult, TModel>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, TModel model) => shouldReturnTestBuilder .View(view => view .WithDefaultName() .WithModel(model));
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.PhysicalFileResult"/> /// with the same physical file path, content type, and download name as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="physicalPath">Expected physical file path.</param> /// <param name="contentType">Expected content type.</param> /// <param name="fileDownloadName">Expected file download name.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder PhysicalFile <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, string physicalPath, string contentType, string fileDownloadName) => shouldReturnTestBuilder .PhysicalFile(physicalPath, contentType, fileDownloadName, false);
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.PhysicalFileResult"/> /// with the same physical file path, content type, last modified value, and entity tag as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="physicalPath">Expected physical file path.</param> /// <param name="contentType">Expected content type.</param> /// <param name="lastModified">Expected last modified value.</param> /// <param name="entityTag">Expected entity tag.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder PhysicalFile <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, string physicalPath, string contentType, DateTimeOffset?lastModified, EntityTagHeaderValue entityTag) => shouldReturnTestBuilder .PhysicalFile(physicalPath, contentType, lastModified, entityTag, false);
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.FileStreamResult"/> /// with the same file stream, content type, last modified value, and entity tag as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="fileStream">Expected file stream.</param> /// <param name="contentType">Expected content type.</param> /// <param name="lastModified">Expected last modified value.</param> /// <param name="entityTag">Expected entity tag.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder File <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, Stream fileStream, string contentType, DateTimeOffset?lastModified, EntityTagHeaderValue entityTag) => shouldReturnTestBuilder .File(fileStream, contentType, lastModified, entityTag, false);
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.SignInResult"/> /// with the same claims principal and authentication scheme as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="principal">Expected claims principal.</param> /// <param name="authenticationScheme">Expected authentication scheme.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder SignIn <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, ClaimsPrincipal principal, string authenticationScheme) => shouldReturnTestBuilder .SignIn(result => result .WithPrincipal(principal) .WithAuthenticationScheme(authenticationScheme));
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.AcceptedResult"/> /// with the same URI and deeply equal model as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <typeparam name="TModel">Expected model type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="uri">Expected URI.</param> /// <param name="model">Expected deeply equal model object.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder Accepted <TActionResult, TModel>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, string uri, TModel model) => shouldReturnTestBuilder .Accepted(result => result .AtLocation(uri) .WithModel(model));
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.StatusCodeResult"/> /// or <see cref="Microsoft.AspNetCore.Mvc.ObjectResult"/> with the same status code /// and deeply equal model as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <typeparam name="TModel">Expected model type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="statusCode">Status code as integer.</param> /// <param name="model">Expected deeply equal model object.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder StatusCode <TActionResult, TModel>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, int statusCode, TModel model) => shouldReturnTestBuilder .StatusCode(result => result .WithStatusCode(statusCode) .WithModel(model));
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.AcceptedAtActionResult"/> /// with the same action and controller names as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="actionName">Expected action name.</param> /// <param name="controllerName">Expected controller name.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder AcceptedAtAction <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, string actionName, string controllerName) => shouldReturnTestBuilder .Accepted(result => result .AtAction(actionName) .AtController(controllerName));
/// <summary> /// Tests whether the action result is <see cref="JsonResult"/>. /// </summary> /// <typeparam name="TActionResult">Type of action result type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <returns>Test builder of <see cref="IJsonTestBuilder"/> type.</returns> public static IJsonTestBuilder Json <TActionResult>(this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder) { var actualShouldReturnTestBuilder = (ShouldReturnTestBuilder <TActionResult>)shouldReturnTestBuilder; InvocationResultValidator.ValidateInvocationResultType <JsonResult>(actualShouldReturnTestBuilder.TestContext); return(new JsonTestBuilder(actualShouldReturnTestBuilder.TestContext)); }
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.JsonResult"/> /// with the same deeply equal model and JSON serializer settings as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <typeparam name="TModel">Expected model type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="model">Expected deeply equal model object.</param> /// <param name="serializerSettings">Expected JSON serializer settings.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder Json <TActionResult, TModel>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, TModel model, JsonSerializerSettings serializerSettings) => shouldReturnTestBuilder .Json(view => view .WithJsonSerializerSettings(serializerSettings) .WithModel(model));
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.ContentResult"/> /// with the same content and content type as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="content">Expected content as string.</param> /// <param name="contentType">Expected content type as <see cref="MediaTypeHeaderValue"/>.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder Content <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, string content, MediaTypeHeaderValue contentType) => shouldReturnTestBuilder .Content(result => result .WithContent(content) .WithContentType(contentType));
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.CreatedAtActionResult"/> /// with the same action name and deeply equal model as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <typeparam name="TModel">Expected model type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="actionName">Expected action name.</param> /// <param name="model">Expected deeply equal model object.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder CreatedAtAction <TActionResult, TModel>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, string actionName, TModel model) => shouldReturnTestBuilder .Created(result => result .AtAction(actionName) .WithModel(model));
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.ViewComponentResult"/> /// with the same view component name and arguments as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="componentName">Expected view component name.</param> /// <param name="arguments">Expected view component arguments.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder ViewComponent <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, string componentName, object arguments) => shouldReturnTestBuilder .ViewComponent(viewComponent => viewComponent .WithName(componentName) .ContainingArguments(arguments));
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.CreatedAtRouteResult"/> /// with the same route values and deeply equal model as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <typeparam name="TModel">Expected model type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="routeValues">Expected route values.</param> /// <param name="model">Expected deeply equal model object.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder CreatedAtRoute <TActionResult, TModel>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, object routeValues, TModel model) => shouldReturnTestBuilder .Created(result => result .ContainingRouteValues(routeValues) .WithModel(model));
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.CreatedResult"/> /// with the same URI and deeply equal model as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <typeparam name="TModel">Expected model type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="uri">Expected URI.</param> /// <param name="model">Expected deeply equal model object.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder Created <TActionResult, TModel>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, Uri uri, TModel model) => shouldReturnTestBuilder .Created(result => result .AtLocation(uri) .WithModel(model));
/// <summary> /// Tests whether the action result is <see cref="ViewComponentResult"/>. /// </summary> /// <typeparam name="TActionResult">Type of action result type.</typeparam> /// <param name="builder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <returns>Test builder of <see cref="IAndViewComponentTestBuilder"/> type.</returns> public static IAndViewComponentTestBuilder ViewComponent <TActionResult>(this IShouldReturnTestBuilder <TActionResult> builder) { var actualShouldReturnTestBuilder = (ShouldReturnTestBuilder <TActionResult>)builder; InvocationResultValidator.ValidateInvocationResultType <ViewComponentResult>(actualShouldReturnTestBuilder.TestContext); return(new ViewComponentTestBuilder(actualShouldReturnTestBuilder.TestContext)); }
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.ChallengeResult"/> /// with the same authentication schemes and properties as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="properties">Expected authentication properties.</param> /// <param name="authenticationSchemes">Expected authentication schemes.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder Challenge <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, AuthenticationProperties properties, params string[] authenticationSchemes) => shouldReturnTestBuilder .Challenge(result => result .WithAuthenticationProperties(properties) .ContainingAuthenticationSchemes(authenticationSchemes));
/// <summary> /// Tests whether the action result is <see cref="JsonResult"/>. /// </summary> /// <typeparam name="TActionResult">Type of action result type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <returns>Test builder of <see cref="IJsonTestBuilder"/> type.</returns> public static IJsonTestBuilder Json <TActionResult>(this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder) { var actualShouldReturnTestBuilder = (ShouldReturnTestBuilder <TActionResult>)shouldReturnTestBuilder; actualShouldReturnTestBuilder.TestContext.ActionResult = actualShouldReturnTestBuilder.GetReturnObject <JsonResult>(); return(new JsonTestBuilder(actualShouldReturnTestBuilder.TestContext)); }
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.AcceptedAtRouteResult"/> /// with the same route name and route values as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="routeName">Expected route name.</param> /// <param name="routeValues">Expected route values.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder AcceptedAtRoute <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, string routeName, object routeValues) => shouldReturnTestBuilder .Accepted(result => result .AtRoute(routeName) .ContainingRouteValues(routeValues));
/// <summary> /// Tests whether the action result is <see cref="ViewComponentResult"/>. /// </summary> /// <typeparam name="TActionResult">Type of action result type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <returns>Test builder of <see cref="IViewComponentTestBuilder"/> type.</returns> public static IViewComponentTestBuilder ViewComponent <TActionResult>(this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder) { var actualShouldReturnTestBuilder = (ShouldReturnTestBuilder <TActionResult>)shouldReturnTestBuilder; actualShouldReturnTestBuilder.TestContext.ActionResult = actualShouldReturnTestBuilder.GetReturnObject <ViewComponentResult>(); return(new ViewComponentTestBuilder(actualShouldReturnTestBuilder.TestContext)); }
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.LocalRedirectResult"/> /// with a preserved method, permanent redirect, and the same local URL as the provided one. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="localUrl">Expected local redirect URL.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder LocalRedirectPermanentPreserveMethod <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, string localUrl) => shouldReturnTestBuilder .LocalRedirect(result => result .ToUrl(localUrl) .Permanent() .PreservingMethod());
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.ViewComponentResult"/> /// with the same view component type and arguments as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="componentType">Expected view component type.</param> /// <param name="arguments">Expected view component arguments.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder ViewComponent <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, Type componentType, object arguments) => shouldReturnTestBuilder .ViewComponent(viewComponent => viewComponent .OfType(componentType) .ContainingArguments(arguments));
/// <summary> /// Tests whether the action result is <see cref="PartialViewResult"/> with the provided partial view name and deeply equal model object. /// </summary> /// <typeparam name="TActionResult">Type of action result type.</typeparam> /// <typeparam name="TModel">Expected model type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="viewName">Expected partial view name.</param> /// <param name="model">Expected model object.</param> /// <returns>Test builder of <see cref="IViewTestBuilder"/> type.</returns> public static IViewTestBuilder PartialView <TActionResult, TModel>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, string viewName, TModel model) { var viewTestBuilder = shouldReturnTestBuilder.PartialView(viewName); viewTestBuilder.WithModel(model); return(viewTestBuilder); }
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.VirtualFileResult"/> /// with the same file virtual path, content type, download name, /// last modified value, and entity tag as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="virtualPath">Expected file virtual path.</param> /// <param name="contentType">Expected content type.</param> /// <param name="fileDownloadName">Expected file download name.</param> /// <param name="lastModified">Expected last modified value.</param> /// <param name="entityTag">Expected entity tag.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder File <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, string virtualPath, string contentType, string fileDownloadName, DateTimeOffset?lastModified, EntityTagHeaderValue entityTag) => shouldReturnTestBuilder .File(virtualPath, contentType, fileDownloadName, lastModified, entityTag, false);
/// <summary> /// Tests whether the action result is <see cref="ViewResult"/> with the provided view name and deeply equal model object. /// </summary> /// <typeparam name="TActionResult">Type of action result.</typeparam> /// <typeparam name="TModel">Expected model type.</typeparam> /// <param name="builder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="viewName">Expected view name.</param> /// <param name="model">Expected model object.</param> /// <returns>Test builder of <see cref="IAndViewTestBuilder"/> type.</returns> public static IAndViewTestBuilder View <TActionResult, TModel>( this IShouldReturnTestBuilder <TActionResult> builder, string viewName, TModel model) { var viewTestBuilder = builder.View(viewName); viewTestBuilder.WithModel(model); return(viewTestBuilder); }
/// <summary> /// Tests whether the action result is <see cref="JsonResult"/>. /// </summary> /// <typeparam name="TActionResult">Type of action result type.</typeparam> /// <param name="builder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="jsonTestBuilder">Builder for testing the JSON result.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder Json <TActionResult>( this IShouldReturnTestBuilder <TActionResult> builder, Action <IJsonTestBuilder> jsonTestBuilder) { var actualBuilder = (ShouldReturnTestBuilder <TActionResult>)builder; return(actualBuilder.ValidateActionResult <JsonResult, IJsonTestBuilder>( jsonTestBuilder, new JsonTestBuilder(actualBuilder.TestContext))); }
/// <summary> /// Tests whether the action result is <see cref="ViewComponentResult"/>. /// </summary> /// <typeparam name="TActionResult">Type of action result type.</typeparam> /// <param name="builder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="viewComponentTestBuilder">Builder for testing the view component result.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder ViewComponent <TActionResult>( this IShouldReturnTestBuilder <TActionResult> builder, Action <IViewComponentTestBuilder> viewComponentTestBuilder) { var actualBuilder = (ShouldReturnTestBuilder <TActionResult>)builder; return(actualBuilder.ValidateActionResult <ViewComponentResult, IViewComponentTestBuilder>( viewComponentTestBuilder, new ViewComponentTestBuilder(actualBuilder.TestContext))); }
/// <summary> /// Tests whether the action result is <see cref="Microsoft.AspNetCore.Mvc.AcceptedAtActionResult"/> /// with the same action name, route values, and deeply equal model as the provided ones. /// </summary> /// <typeparam name="TActionResult">Type of the action result.</typeparam> /// <typeparam name="TModel">Expected model type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="actionName">Expected action name.</param> /// <param name="routeValues">Expected route values.</param> /// <param name="model">Expected deeply equal model object.</param> /// <returns>Test builder of <see cref="IAndTestBuilder"/> type.</returns> public static IAndTestBuilder AcceptedAtAction <TActionResult, TModel>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, string actionName, object routeValues, TModel model) => shouldReturnTestBuilder .Accepted(result => result .AtAction(actionName) .ContainingRouteValues(routeValues) .WithModel(model));