Skip to content

Commit bfead15

Browse files
committed
Added OfType method to BaseTestBuilderWithViewResultExtensions (#148)
1 parent fd6e7ff commit bfead15

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

src/MyTested.AspNetCore.Mvc.Controllers.Views.ActionResults/BaseTestBuilderWithViewResultExtensions.cs

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace MyTested.AspNetCore.Mvc
22
{
3+
using System;
34
using Builders.Base;
45
using Builders.Contracts.ActionResults.Base;
56
using Builders.Contracts.Base;
@@ -108,19 +109,34 @@ public static TViewResultTestBuilder WithViewEngine<TViewResultTestBuilder>(
108109
/// <returns>The same <see cref="Microsoft.AspNetCore.Mvc.ActionResult"/> test builder.</returns>
109110
public static TViewResultTestBuilder WithViewEngineOfType<TViewResultTestBuilder, TViewEngine>(
110111
this IBaseTestBuilderWithViewResult<TViewResultTestBuilder> baseTestBuilderWithViewResult)
111-
where TViewEngine : IViewEngine
112+
where TViewEngine : IViewEngine
113+
where TViewResultTestBuilder : IBaseTestBuilderWithActionResult
114+
=> WithViewEngineOfType<TViewResultTestBuilder>(baseTestBuilderWithViewResult, typeof(TViewEngine));
115+
116+
/// <summary>
117+
/// Tests whether the <see cref="Microsoft.AspNetCore.Mvc.ViewResult"/> or
118+
/// the <see cref="Microsoft.AspNetCore.Mvc.PartialViewResult"/>
119+
/// has the same <see cref="IViewEngine"/> type as the provided one.
120+
/// </summary>
121+
/// <param name="baseTestBuilderWithViewResult">
122+
/// Instance of <see cref="IBaseTestBuilderWithViewResult{TViewResultTestBuilder}"/> type.
123+
/// </param>
124+
/// <param name="viewEngineType"></param>
125+
/// <returns>The same <see cref="Microsoft.AspNetCore.Mvc.ActionResult"/> test builder.</returns>
126+
public static TViewResultTestBuilder WithViewEngineOfType<TViewResultTestBuilder>(
127+
this IBaseTestBuilderWithViewResult<TViewResultTestBuilder> baseTestBuilderWithViewResult,Type viewEngineType)
112128
where TViewResultTestBuilder : IBaseTestBuilderWithActionResult
113129
{
114130
var actualBuilder = GetActualBuilder(baseTestBuilderWithViewResult);
115131

116132
var actualViewEngine = GetViewEngine(baseTestBuilderWithViewResult);
117133

118134
if (actualViewEngine == null
119-
|| Reflection.AreDifferentTypes(typeof(TViewEngine), actualViewEngine.GetType()))
135+
|| Reflection.AreDifferentTypes(viewEngineType, actualViewEngine.GetType()))
120136
{
121137
actualBuilder.ThrowNewFailedValidationException(
122138
"engine",
123-
$"to be of {typeof(TViewEngine).Name} type",
139+
$"to be of {viewEngineType.Name} type",
124140
$"instead received {actualViewEngine.GetName()}");
125141
}
126142

0 commit comments

Comments
 (0)