/// <summary> /// Tests whether the <see cref="Microsoft.AspNetCore.Mvc.ViewComponentResult"/> /// is of the same type as the provided one. /// </summary> /// <param name="viewComponentTestBuilder"> /// Instance of <see cref="IViewComponentTestBuilder"/> type. /// </param> /// <param name="viewComponentType">Expected view component type.</param> /// <returns>The same <see cref="IAndViewComponentTestBuilder"/>.</returns> public static IAndViewComponentTestBuilder OfType( this IViewComponentTestBuilder viewComponentTestBuilder, Type viewComponentType) { var actualBuilder = GetActualBuilder(viewComponentTestBuilder); var actualViewComponentType = actualBuilder .ActionResult .ViewComponentType; if (viewComponentType != actualViewComponentType) { throw ViewResultAssertionException.ForNameEquality( actualBuilder.TestContext.ExceptionMessagePrefix, "view component", viewComponentType.ToFriendlyTypeName(), actualViewComponentType.ToFriendlyTypeName()); } return(actualBuilder); }
/// <summary> /// Tests whether the <see cref="Microsoft.AspNetCore.Mvc.ViewComponentResult"/> /// has the same name as the provided one. /// </summary> /// <param name="viewComponentTestBuilder"> /// Instance of <see cref="IViewComponentTestBuilder"/> type. /// </param> /// <param name="viewComponentName">Expected view component name.</param> /// <returns>The same <see cref="IAndViewComponentTestBuilder"/>.</returns> public static IAndViewComponentTestBuilder WithName( this IViewComponentTestBuilder viewComponentTestBuilder, string viewComponentName) { var actualBuilder = GetActualBuilder(viewComponentTestBuilder); var actualViewComponentName = actualBuilder .ActionResult .ViewComponentName; if (viewComponentName != actualViewComponentName) { throw ViewResultAssertionException.ForNameEquality( actualBuilder.TestContext.ExceptionMessagePrefix, "view component", viewComponentName, actualViewComponentName); } return(actualBuilder); }
/// <summary> /// Tests whether the action result is <see cref="ViewComponentResult"/> with the provided view component type. /// </summary> /// <typeparam name="TActionResult">Type of action result type.</typeparam> /// <param name="builder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="viewComponentType">Expected view component type.</param> /// <returns>Test builder of <see cref="IAndViewComponentTestBuilder"/> type.</returns> public static IAndViewComponentTestBuilder ViewComponent <TActionResult>( this IShouldReturnTestBuilder <TActionResult> builder, Type viewComponentType) { var actualShouldReturnTestBuilder = (ShouldReturnTestBuilder <TActionResult>)builder; var viewComponentResult = InvocationResultValidator .GetInvocationResult <ViewComponentResult>(actualShouldReturnTestBuilder.TestContext); var actualViewComponentType = viewComponentResult.ViewComponentType; if (viewComponentType != actualViewComponentType) { throw ViewResultAssertionException.ForNameEquality( actualShouldReturnTestBuilder.TestContext.ExceptionMessagePrefix, "view component", viewComponentType.ToFriendlyTypeName(), actualViewComponentType.ToFriendlyTypeName()); } return(new ViewComponentTestBuilder(actualShouldReturnTestBuilder.TestContext)); }
/// <summary> /// Tests whether the action result is <see cref="ViewComponentResult"/> with the provided view component name. /// </summary> /// <typeparam name="TActionResult">Type of action result type.</typeparam> /// <param name="shouldReturnTestBuilder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="viewComponentName">Expected view component name.</param> /// <returns>Test builder of <see cref="IViewComponentTestBuilder"/> type.</returns> public static IViewComponentTestBuilder ViewComponent <TActionResult>( this IShouldReturnTestBuilder <TActionResult> shouldReturnTestBuilder, string viewComponentName) { var actualShouldReturnTestBuilder = (ShouldReturnTestBuilder <TActionResult>)shouldReturnTestBuilder; var viewComponentResult = InvocationResultValidator .GetInvocationResult <ViewComponentResult>(actualShouldReturnTestBuilder.TestContext); var actualViewComponentName = viewComponentResult.ViewComponentName; if (viewComponentName != actualViewComponentName) { throw ViewResultAssertionException.ForNameEquality( actualShouldReturnTestBuilder.TestContext.ExceptionMessagePrefix, "view component", viewComponentName, actualViewComponentName); } return(new ViewComponentTestBuilder(actualShouldReturnTestBuilder.TestContext)); }
/// <summary> /// Tests whether the action result is <see cref="ViewResult"/> with the provided view name. /// </summary> /// <typeparam name="TActionResult">Type of action result type.</typeparam> /// <param name="builder">Instance of <see cref="IShouldReturnTestBuilder{TActionResult}"/> type.</param> /// <param name="viewName">Expected view name.</param> /// <returns>Test builder of <see cref="IAndViewTestBuilder"/> type.</returns> public static IAndViewTestBuilder View <TActionResult>( this IShouldReturnTestBuilder <TActionResult> builder, string viewName) { var actualShouldReturnTestBuilder = (ShouldReturnTestBuilder <TActionResult>)builder; var viewType = "view"; var viewResult = InvocationResultValidator .GetInvocationResult <ViewResult>(actualShouldReturnTestBuilder.TestContext); var actualViewName = viewResult.ViewName; if (viewName != actualViewName) { throw ViewResultAssertionException.ForNameEquality( actualShouldReturnTestBuilder.TestContext.ExceptionMessagePrefix, viewType, viewName, actualViewName); } return(new ViewTestBuilder <ViewResult>(actualShouldReturnTestBuilder.TestContext, viewType)); }
/// <summary> /// Tests whether the <see cref="Microsoft.AspNetCore.Mvc.ViewComponentResult"/> /// is of the same type as the provided one. /// </summary> /// <param name="viewComponentTestBuilder"> /// Instance of <see cref="IViewComponentTestBuilder"/> type. /// </param> /// <param name="viewComponentType">Expected view component type.</param> /// <returns>The same <see cref="IAndViewComponentTestBuilder"/>.</returns> public static IAndViewComponentTestBuilder OfType( this IViewComponentTestBuilder viewComponentTestBuilder, Type viewComponentType) { var actualBuilder = GetActualBuilder(viewComponentTestBuilder); var actualViewComponentType = actualBuilder .ActionResult .ViewComponentType; if (viewComponentType != actualViewComponentType) { var(expectedViewComponentName, actualViewComponentName) = (viewComponentType, actualViewComponentType).GetTypeComparisonNames(); throw ViewResultAssertionException.ForNameEquality( actualBuilder.TestContext.ExceptionMessagePrefix, "view component", expectedViewComponentName, actualViewComponentName); } return(actualBuilder); }